From bac7755aa3aea1705caf870c4318803186484e9c Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期一, 05 十二月 2022 14:26:45 +0800
Subject: [PATCH] 流程卡及SOP更新

---
 src/main/java/com/whyc/service/WorksheetMainService.java |   83 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/whyc/service/WorksheetMainService.java b/src/main/java/com/whyc/service/WorksheetMainService.java
index 51b4873..ed0b7de 100644
--- a/src/main/java/com/whyc/service/WorksheetMainService.java
+++ b/src/main/java/com/whyc/service/WorksheetMainService.java
@@ -5,6 +5,7 @@
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.whyc.config.EnumWorksheetType;
+import com.whyc.dto.MailDTO;
 import com.whyc.dto.Response;
 import com.whyc.dto.WorksheetMainDTO;
 import com.whyc.dto.WorksheetMainDTO2;
@@ -15,6 +16,7 @@
 import com.whyc.util.CommonUtil;
 import com.whyc.util.Zip4jUtil;
 import org.aspectj.util.FileUtil;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -22,6 +24,7 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import javax.mail.MessagingException;
 import java.io.File;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
@@ -77,6 +80,12 @@
 
     @Autowired
     private ProductHistoryService productHistoryService;
+
+    @Autowired
+    private MailService mailService;
+
+    @Autowired
+    private ProcedureDocApprovingService procedureDocApprovingService;
 
     @Transactional
     public boolean submit(WorksheetMain main, DocUser user) throws IOException {
@@ -725,4 +734,78 @@
 
     }
 
+    public Response addProductProcedureAndSOP(ProcedureDocApproving approving, DocUser user) throws IOException, MessagingException {
+        WorksheetMain main = new WorksheetMain();
+         //瀛樺偍涓婁紶淇℃伅鍒颁富琛�,鑺傜偣琛�
+        //鏂囦欢淇濆瓨鍦�/doc_file/procedure_approving/xxx.doc
+        MultipartFile multipartFile = approving.getMultipartFile();
+        String originalFilename = multipartFile.getOriginalFilename();
+        String rootFile = CommonUtil.getRootFile();
+        Date date = new Date();
+        String suffixFilePath = "procedure_approving" + File.separator + date.getTime() + "_" + originalFilename;
+        String outFilePath = rootFile + suffixFilePath;
+        File outFile = new File(outFilePath);
+        multipartFile.transferTo(outFile);
+
+        main.setTitle(approving.getName());
+        main.setDescription(approving.getDescription());
+        main.setCreateUserId(user.getId());
+        main.setBeginTime(date);
+        main.setStatus(1);
+        if(approving.getType()==1){
+            main.setType(EnumWorksheetType.ProductProcedure.getType());
+        }else{
+            main.setType(EnumWorksheetType.SOP.getType());
+        }
+        mainMapper.insert(main);
+
+        List<WorksheetLink> links = new LinkedList<>();
+        WorksheetLink baseLink = new WorksheetLink();
+        WorksheetLink linkFzr = new WorksheetLink();
+        WorksheetLink linkBz = new WorksheetLink();
+        WorksheetLink linkZz = new WorksheetLink();
+        WorksheetLink linkPb = new WorksheetLink();
+
+        baseLink.setMainId(main.getId());
+        baseLink.setLinkStatus(0);
+        baseLink.setCreateTime(date);
+
+        BeanUtils.copyProperties(baseLink,linkFzr);
+        BeanUtils.copyProperties(baseLink,linkBz);
+        BeanUtils.copyProperties(baseLink,linkZz);
+        BeanUtils.copyProperties(baseLink,linkPb);
+
+        linkFzr.setDealUserId(approving.getFzr());
+        linkBz.setDealUserId(approving.getBz());
+        linkZz.setDealUserId(approving.getZz());
+        linkPb.setDealUserId(approving.getPb());
+        links.add(linkFzr);
+        links.add(linkBz);
+        links.add(linkZz);
+        links.add(linkPb);
+        linkMapper.insertBatchSomeColumn(links);
+
+        //娴佺▼鏂囨。瀹℃壒瀛愯〃瀛樺叆
+        approving.setFile("doc_file"+ File.separator + suffixFilePath);
+        approving.setMainId(main.getId());
+        procedureDocApprovingService.insert(approving);
+        //鍙戦�侀偖浠剁粰鍥涗釜纭浜�
+        QueryWrapper<DocUser> query = Wrappers.query();
+        query.select("mail").in("id",approving.getFzr(),approving.getBz(),approving.getZz(),approving.getPb());
+        List<DocUser> docUsers = userMapper.selectList(query);
+        List<String> userMailList = docUsers.stream().map(DocUser::getMail).collect(Collectors.toList());
+
+        MailDTO mailDTO = new MailDTO();
+        mailDTO.setMailList(userMailList);
+        if(approving.getType()==1){
+            mailDTO.setTitle("銆愭祦绋嬪崱纭銆�"+main.getTitle());
+            mailDTO.setContent(user.getName()+"鍦ㄦ枃妗g鐞嗗钩鍙颁笂浼犱簡浜у搧娴佺▼鍗�,璇峰強鏃剁‘璁�");
+        }else{
+            mailDTO.setTitle("銆怱OP纭銆�"+main.getTitle());
+            mailDTO.setContent(user.getName()+"鍦ㄦ枃妗g鐞嗗钩鍙颁笂浼犱簡SOP,璇峰強鏃剁‘璁�");
+        }
+        mailService.sendMail(mailDTO);
+
+        return new Response().setII(1,"涓婁紶瀹屾垚");
+    }
 }

--
Gitblit v1.9.1