浏览代码

Merge branch 'master' of http://47.100.3.209:3000/gdc/yiliangyiyun

ccj 2 年之前
父节点
当前提交
94cab434f6

+ 12 - 5
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/CommonUserController.java

@@ -22,7 +22,9 @@ import com.winsea.svc.base.security.vo.command.AuthUserCommand;
 import com.winsea.svc.base.workflow.entity.Workflow;
 import com.winsea.svc.base.workflow.entity.Workflow;
 import com.winsea.svc.base.workflow.entity.WorkflowHistoricTask;
 import com.winsea.svc.base.workflow.entity.WorkflowHistoricTask;
 import com.winsea.svc.base.workflow.entity.WorkflowStep;
 import com.winsea.svc.base.workflow.entity.WorkflowStep;
+import com.winsea.svc.notice.entity.NoticeNewsInfo;
 import com.winsea.svc.notice.entity.NoticeTaskInfo;
 import com.winsea.svc.notice.entity.NoticeTaskInfo;
+import com.winsea.svc.notice.service.INoticeNewsService;
 import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.common.support.util.StringUtils;
 import com.yh.saas.common.support.util.StringUtils;
 import com.yh.saas.plugin.yiliangyiyun.constant.ImageCensorConsts;
 import com.yh.saas.plugin.yiliangyiyun.constant.ImageCensorConsts;
@@ -82,11 +84,6 @@ public class CommonUserController {
     private INewWorkflowService workflowService;
     private INewWorkflowService workflowService;
     @Autowired
     @Autowired
     private ICommonCompanyService companyService;
     private ICommonCompanyService companyService;
-    @Autowired
-    private WebSocket webSocket;
-    @Autowired
-    private GeTuiUtils geTuiUtils;
-
 
 
     /**
     /**
      * 图像审核识别Demo
      * 图像审核识别Demo
@@ -631,6 +628,16 @@ public class CommonUserController {
         return commonUserService.findHisPageNoticeTasksMy(noticeTask);
         return commonUserService.findHisPageNoticeTasksMy(noticeTask);
     }
     }
 
 
+    /**
+     * 查询PC通知
+     *
+     * @param noticeNewsInfo 查询条件
+     * @return 返回分页查询结果
+     */
+    @GetMapping("/query/noticeNewsInfoList")
+    public Page<NoticeNewsInfo> noticeNewsInfoList(NoticeNewsInfo noticeNewsInfo) {
+        return commonUserService.noticeNewsInfoList(noticeNewsInfo);
+    }
     /**
     /**
      * 查验app 账号
      * 查验app 账号
      *
      *

+ 7 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ExpenseInfoController.java

@@ -83,6 +83,13 @@ public class ExpenseInfoController {
     public String editInfo(@RequestBody ExpenseInfo expenseInfo) {
     public String editInfo(@RequestBody ExpenseInfo expenseInfo) {
         return expenseInfoService.editInfo(expenseInfo);
         return expenseInfoService.editInfo(expenseInfo);
     }
     }
+    /**
+     * 上传附件
+     */
+    @PostMapping("/uploadAttachments")
+    public String uploadAttachments(@RequestBody ExpenseInfo expenseInfo) {
+        return expenseInfoService.uploadAttachments(expenseInfo);
+    }
 
 
     /**
     /**
      * 付款
      * 付款

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ExpenseInfo.java

@@ -394,6 +394,11 @@ public class ExpenseInfo extends BaseModel<ExpenseInfo> {
      */
      */
     @TableField(exist = false)
     @TableField(exist = false)
     private String toExamineType;
     private String toExamineType;
+    /**
+     *操作人ID
+     */
+    @TableField(exist = false)
+    private String operatorId;
 
 
     @Override
     @Override
     protected Serializable pkVal() {
     protected Serializable pkVal() {

+ 2 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ICommonUserService.java

@@ -5,6 +5,7 @@ import com.winsea.svc.base.base.entity.CommonCompany;
 import com.winsea.svc.base.base.entity.CommonStaff;
 import com.winsea.svc.base.base.entity.CommonStaff;
 import com.winsea.svc.base.base.entity.CommonStaffRole;
 import com.winsea.svc.base.base.entity.CommonStaffRole;
 import com.winsea.svc.base.security.entity.Account;
 import com.winsea.svc.base.security.entity.Account;
+import com.winsea.svc.notice.entity.NoticeNewsInfo;
 import com.winsea.svc.notice.entity.NoticeTaskInfo;
 import com.winsea.svc.notice.entity.NoticeTaskInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.CommonUser;
 import com.yh.saas.plugin.yiliangyiyun.entity.CommonUser;
 import com.baomidou.mybatisplus.service.IService;
 import com.baomidou.mybatisplus.service.IService;
@@ -95,7 +96,7 @@ public interface ICommonUserService extends IService<CommonUser> {
     Page<NoticeTaskInfo> findHisPageNoticeTasks(NoticeTaskInfo noticeTask);
     Page<NoticeTaskInfo> findHisPageNoticeTasks(NoticeTaskInfo noticeTask);
     Page<NoticeTaskInfo> findHisPageNoticeTasksMy(NoticeTaskInfo noticeTask);
     Page<NoticeTaskInfo> findHisPageNoticeTasksMy(NoticeTaskInfo noticeTask);
 
 
-
+    Page<NoticeNewsInfo> noticeNewsInfoList(NoticeNewsInfo noticeNewsInfo);
     String checkApp(CommonUser commonUser) throws ServiceException;
     String checkApp(CommonUser commonUser) throws ServiceException;
     String checkSession() throws ServiceException;
     String checkSession() throws ServiceException;
 
 

+ 6 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IExpenseInfoService.java

@@ -61,6 +61,12 @@ public interface IExpenseInfoService extends IService<ExpenseInfo> {
      * @param expenseInfo
      * @param expenseInfo
      */
      */
     String editInfo(ExpenseInfo expenseInfo);
     String editInfo(ExpenseInfo expenseInfo);
+    /**
+     * 上传附件
+     *
+     * @param expenseInfo
+     */
+    String uploadAttachments(ExpenseInfo expenseInfo);
     /**
     /**
      * 费用编号下拉
      * 费用编号下拉
      *
      *

+ 29 - 5
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CommonUserServiceImpl.java

@@ -6,7 +6,10 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
 import com.sun.org.apache.xerces.internal.xs.StringList;
 import com.sun.org.apache.xerces.internal.xs.StringList;
+import com.winsea.svc.notice.entity.NoticeNewsInfo;
+import com.winsea.svc.notice.service.*;
 import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
 import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.exception.*;
 import com.yh.saas.plugin.yiliangyiyun.exception.*;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.CollectionUtils;
 import com.google.common.collect.Sets;
 import com.google.common.collect.Sets;
@@ -25,10 +28,6 @@ import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.winsea.svc.notice.entity.NoticeBusinessConstantInfo;
 import com.winsea.svc.notice.entity.NoticeBusinessConstantInfo;
 import com.winsea.svc.notice.entity.NoticeTaskInfo;
 import com.winsea.svc.notice.entity.NoticeTaskInfo;
 import com.winsea.svc.notice.entity.base.BaseNotice;
 import com.winsea.svc.notice.entity.base.BaseNotice;
-import com.winsea.svc.notice.service.INoticeBusinessConstantService;
-import com.winsea.svc.notice.service.INoticeBusinessResourceService;
-import com.winsea.svc.notice.service.INoticeTaskService;
-import com.winsea.svc.notice.service.INoticeUtilService;
 import com.yh.saas.common.support.entity.BaseModel;
 import com.yh.saas.common.support.entity.BaseModel;
 import com.yh.saas.common.support.event.SupportEventBus;
 import com.yh.saas.common.support.event.SupportEventBus;
 import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.common.support.util.IdGenerator;
@@ -117,7 +116,7 @@ public class CommonUserServiceImpl extends ServiceImpl<CommonUserMapper, CommonU
     private INoticeUtilService noticeUtilService;
     private INoticeUtilService noticeUtilService;
 
 
     @Autowired
     @Autowired
-    private INoticeTaskService noticeTaskService;
+    private INoticeNewsService noticeNewsService;
     @Autowired
     @Autowired
     private CommonStaffMapper staffMapper;
     private CommonStaffMapper staffMapper;
 
 
@@ -901,6 +900,31 @@ public class CommonUserServiceImpl extends ServiceImpl<CommonUserMapper, CommonU
         return page;
         return page;
     }
     }
 
 
+    @Override
+    public Page<NoticeNewsInfo> noticeNewsInfoList(NoticeNewsInfo noticeNewsInfo) {
+        if (null == noticeNewsInfo.getPageSize()) {
+            noticeNewsInfo.setPageSize(10);
+        }
+        if (null == noticeNewsInfo.getCurrentPage()) {
+            noticeNewsInfo.setCurrentPage(1);
+        }
+        Wrapper<NoticeNewsInfo> noticeNewsWrapper = new EntityWrapper<>();
+        if (!StringUtils.isEmpty(noticeNewsInfo.getCreateDateStart())) {
+            noticeNewsWrapper.gt("create_date", noticeNewsInfo.getCreateDateStart());
+        }
+        if (!StringUtils.isEmpty(noticeNewsInfo.getCreateDateEnd())) {
+            noticeNewsWrapper.lt("create_date", noticeNewsInfo.getCreateDateEnd());
+        }
+        noticeNewsWrapper.eq("accept_id", AuthSecurityUtils.getCurrentUserId()).orderBy("message_status");
+        Page<NoticeNewsInfo> noticeNewsInfoPage = noticeNewsService.selectPage(noticeNewsInfo.getQueryPage(), noticeNewsWrapper);
+        List<NoticeNewsInfo> noticeNewsInfos = noticeNewsInfoPage.getRecords();
+        noticeNewsInfoPage.setRecords(noticeNewsInfos);
+        Integer count = noticeNewsService.selectCount(new EntityWrapper<NoticeNewsInfo>()
+                .eq("accept_id", AuthSecurityUtils.getCurrentUserId()));
+        noticeNewsInfoPage.setSize(count);
+        return noticeNewsInfoPage;
+    }
+
     /**
     /**
      * 过滤没有这个权限的任务
      * 过滤没有这个权限的任务
      *
      *

+ 39 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ExpenseInfoServiceImpl.java

@@ -10,16 +10,20 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.winsea.svc.base.base.entity.CommonDepartment;
 import com.winsea.svc.base.base.entity.CommonRoleResource;
 import com.winsea.svc.base.base.entity.CommonRoleResource;
 import com.winsea.svc.base.base.entity.CommonStaff;
 import com.winsea.svc.base.base.entity.CommonStaff;
+import com.winsea.svc.base.base.service.ICommonDepartmentService;
 import com.winsea.svc.base.base.service.ICommonRoleResourceService;
 import com.winsea.svc.base.base.service.ICommonRoleResourceService;
 import com.winsea.svc.base.base.service.ICommonStaffService;
 import com.winsea.svc.base.base.service.ICommonStaffService;
 import com.winsea.svc.base.base.util.DateUtils;
 import com.winsea.svc.base.base.util.DateUtils;
 import com.winsea.svc.base.security.entity.User;
 import com.winsea.svc.base.security.entity.User;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.winsea.svc.base.workflow.entity.Workflow;
 import com.winsea.svc.base.workflow.entity.Workflow;
+import com.winsea.svc.notice.entity.NoticeNewsInfo;
 import com.winsea.svc.notice.entity.NoticeTaskInfo;
 import com.winsea.svc.notice.entity.NoticeTaskInfo;
 import com.winsea.svc.notice.entity.base.BaseNotice;
 import com.winsea.svc.notice.entity.base.BaseNotice;
+import com.winsea.svc.notice.service.INoticeNewsService;
 import com.winsea.svc.notice.service.INoticeService;
 import com.winsea.svc.notice.service.INoticeService;
 import com.winsea.svc.notice.service.INoticeTaskService;
 import com.winsea.svc.notice.service.INoticeTaskService;
 import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.common.support.util.IdGenerator;
@@ -28,7 +32,6 @@ import com.yh.saas.plugin.base.service.ICommonBillOperateHisService;
 import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
 import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
-import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
 import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ExpenseInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ExpenseInfoMapper;
@@ -57,6 +60,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.io.*;
 import java.net.URLDecoder;
 import java.net.URLDecoder;
 import java.nio.charset.StandardCharsets;
 import java.nio.charset.StandardCharsets;
+import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
@@ -101,6 +105,8 @@ public class ExpenseInfoServiceImpl extends ServiceImpl<ExpenseInfoMapper, Expen
     @Autowired
     @Autowired
     private ICommonStaffService staffService;
     private ICommonStaffService staffService;
     @Autowired
     @Autowired
+    private ICommonDepartmentService commonDepartmentService;
+    @Autowired
     private ICommonUserService commonUserService;
     private ICommonUserService commonUserService;
     @Value("${file-root-path}")
     @Value("${file-root-path}")
     private String localPath;
     private String localPath;
@@ -114,6 +120,8 @@ public class ExpenseInfoServiceImpl extends ServiceImpl<ExpenseInfoMapper, Expen
 
 
     @Autowired
     @Autowired
     private CacheComponent cacheComponent;
     private CacheComponent cacheComponent;
+    @Autowired
+    private INoticeNewsService noticeNewsService;
     /**
     /**
      * 费用详情列表(流向,费用名称去重集合)
      * 费用详情列表(流向,费用名称去重集合)
      *
      *
@@ -961,6 +969,36 @@ public class ExpenseInfoServiceImpl extends ServiceImpl<ExpenseInfoMapper, Expen
         return "OK";
         return "OK";
     }
     }
 
 
+    @Override
+    public String uploadAttachments(ExpenseInfo expenseInfo) {
+        this.updateById(expenseInfo);
+        ExpenseInfo expenseInfo1=this.selectById(expenseInfo.getId());
+        CommonStaff commitUserInfo = staffService.getInfo(expenseInfo.getOperatorId()!=null?expenseInfo.getOperatorId():AuthSecurityUtils.getCurrentUserId());
+        CommonDepartment commonDepartment=commonDepartmentService.selectOne(new EntityWrapper<CommonDepartment>()
+                .eq("dept_name", "财务部")
+                .eq("comp_id", commitUserInfo.getCompId())
+                .eq("delete_flag", "0"));
+        if (commonDepartment!=null){
+            String taskContent = "【"+commitUserInfo.getStaffName()+"】上传费用附件,业务编号【"+expenseInfo1.getCostNo() + "】";
+            //查询财务和出纳
+            List<CommonStaff> commonStaffList = staffService.selectList(new EntityWrapper<CommonStaff>()
+                    .eq("dept_id", commonDepartment.getDeptId())
+                    .eq("delete_flag", "0"));
+            for (CommonStaff commonStaff:commonStaffList){
+                NoticeNewsInfo noticeNews = new NoticeNewsInfo();
+                noticeNews.setCompId(commonStaff.getCompId());
+                noticeNews.setBusinessId(expenseInfo1.getId());
+                noticeNews.setBusinessType("WAREHOUSE");
+                noticeNews.setMessageContent(taskContent);
+                noticeNews.setBusinessCode("FEIYONGGUANLI-APPROVE");
+                noticeNews.setAcceptType(BaseNotice.AcceptStatus.STAFF);
+                //创建任务通知
+                noticeNewsService.createNoticeNews(Arrays.asList(commonStaff.getStaffId()), null, noticeNews);
+            }
+        }
+        return "OK";
+    }
+
     @Override
     @Override
     public List<ExpenseInfo> costNoList(String compId) {
     public List<ExpenseInfo> costNoList(String compId) {
         List<ExpenseInfo> expenseInfoList=this.selectList(new EntityWrapper<ExpenseInfo>()
         List<ExpenseInfo> expenseInfoList=this.selectList(new EntityWrapper<ExpenseInfo>()

+ 2 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/CommonUserMapper.xml

@@ -334,6 +334,8 @@
 	ACT_HI_PROCINST
 	ACT_HI_PROCINST
 	where
 	where
 	BUSINESS_KEY_ = #{businessId}
 	BUSINESS_KEY_ = #{businessId}
+	and
+	END_TIME_ is null
 	)
 	)
 	</delete>
 	</delete>