zhangyuewww %!s(int64=2) %!d(string=hai) anos
pai
achega
d2786c5d1f

+ 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);
+    }
 
 
     /**
     /**
      * 付款
      * 付款

+ 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);
     /**
     /**
      * 费用编号下拉
      * 费用编号下拉
      *
      *

+ 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(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>()