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