From cf9a5039e6db9d1d5963e3fe1a37d00169ec2ef7 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期三, 25 六月 2025 11:18:22 +0800 Subject: [PATCH] 验收报告修改 --- src/main/java/com/whyc/service/TechnicalSpecificationService.java | 154 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 144 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/whyc/service/TechnicalSpecificationService.java b/src/main/java/com/whyc/service/TechnicalSpecificationService.java index 4d24ae3..f248d27 100644 --- a/src/main/java/com/whyc/service/TechnicalSpecificationService.java +++ b/src/main/java/com/whyc/service/TechnicalSpecificationService.java @@ -3,9 +3,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.whyc.dto.Response; import com.whyc.mapper.TechnicalSpecificationMapper; import com.whyc.pojo.TechnicalSpecification; +import com.whyc.pojo.TechnicalSpecificationLockLog; import com.whyc.util.ActionUtil; import com.whyc.util.CommonUtil; import com.whyc.util.DateUtil; @@ -26,6 +29,7 @@ import java.io.InputStream; import java.text.ParseException; import java.util.Date; +import java.util.List; @Service public class TechnicalSpecificationService { @@ -39,7 +43,7 @@ private ProductHistoryService productHistoryService; @Autowired - private DocLogService logService; + private TechnicalSpecificationLockLogService lockLogService; public Response<Object> excelParse(InputStream inputStream) throws IOException, InvalidFormatException, ParseException { TechnicalSpecification specification = new TechnicalSpecification(); @@ -124,11 +128,11 @@ return new Response().set(1,false,"鏂囦欢鍚�,鏂囦欢绫诲瀷,鐗堟湰,璐熻矗浜�,褰掓。鏃ユ湡,鐗╂枡缂栫爜,瑙勬牸鍨嬪彿 涓嚦灏戞湁涓�椤逛负绌�"); } - //鏍¢獙瑙勬牸涔︽枃浠跺悕绉�=璇存槑涔︿腑鐨勬枃浠跺悕绉�+鐗堟湰鍙� + //鏍¢獙瑙勬牸涔﹂檮浠跺悕绉�=璇存槑涔︿腑鐨勬枃浠跺悕绉�+鐗堟湰鍙� String fileNameUnion = specification.getFileName() + specification.getVersion(); - String excelName = file2Name.substring(0,file2Name.lastIndexOf(".")); - if(!(fileNameUnion).equals(excelName)){ - return new Response().set(1,false,"鎶�鏈鏍间功excel鐨勫懡鍚嶄笌excel鍐呯殑鏂囦欢鍚�+鐗堟湰鍙风О涓嶄竴鑷�"); + String attachmentName = file1Name.substring(0,file1Name.lastIndexOf(".")); + if(!(fileNameUnion).equals(attachmentName)){ + return new Response().set(1,false,"闄勪欢鐨勫懡鍚嶄笌鎶�鏈鏍间功excel鍐呯殑鏂囦欢鍚�+鐗堟湰鍙风О涓嶄竴鑷�"); } //鏍¢獙璐熻矗浜烘槸鍚﹀瓨鍦� boolean checkExists = userService.checkExists(specification.getOwner()); @@ -162,29 +166,60 @@ specification.setFileUrl(specificationHttpUrl+File.separator+file1Name); specification.setExcelUrl(specificationHttpUrl+File.separator+file2Name); specification.setCreateTime(date); + specification.setUploadUser(ActionUtil.getUser().getName()); //閿佸畾-璐熻矗浜烘墠鑳借В閿� specification.setLockFlag(1); - specification.setLockReason("绯荤粺榛樿閿佸畾,鏂扮増鏈妧鏈鍒欎功涓婁紶"); mapper.insert(specification); //閿佸畾閫傜敤鏈哄瀷鐨勭敓鏁堢増鏈� lockOtherByAppliedProduct(specification); + //閿佸畾鏃ュ織 + TechnicalSpecificationLockLog lockLog = new TechnicalSpecificationLockLog(); + lockLog.setUserName("绯荤粺"); + lockLog.setTechnicalSpecificationId(specification.getId()); + lockLog.setReason("绯荤粺榛樿閿佸畾,鏂扮増鏈妧鏈鍒欎功涓婁紶"); + lockLog.setCreateTime(date); + lockLog.setStatus(0); + lockLogService.add(lockLog); return new Response().set(1,true,"涓婁紶瀹屾垚"); } private void lockOtherByAppliedProduct(TechnicalSpecification specification) { + //鍏堟煡璇� + QueryWrapper<TechnicalSpecification> query = Wrappers.query(); + query.eq("apply_material_code",specification.getApplyMaterialCode()); + query.eq("apply_custom_code", specification.getApplyCustomCode()); + query.eq("lock_flag",0); + query.last(" limit 1"); + TechnicalSpecification specificationToBeLocked = mapper.selectOne(query); + if(specificationToBeLocked !=null){ //瀛樺湪鐢熸晥鐨�,闇�瑕佽閿佸畾 + specificationToBeLocked.setLockFlag(1); + mapper.updateById(specificationToBeLocked); + //閿佸畾鏃ュ織 + TechnicalSpecificationLockLog lockLog = new TechnicalSpecificationLockLog(); + lockLog.setUserName("绯荤粺"); + lockLog.setTechnicalSpecificationId(specificationToBeLocked.getId()); + lockLog.setReason("绯荤粺榛樿閿佸畾,鏂扮増鏈妧鏈鍒欎功涓婁紶,鏃х増鏈攣瀹�"); + lockLog.setCreateTime(new Date()); + lockLog.setStatus(0); + lockLogService.add(lockLog); + } + + UpdateWrapper<TechnicalSpecification> update = Wrappers.update(); update.set("lock_flag",1); - update.set("lock_reason","绯荤粺榛樿閿佸畾,鏂扮増鏈妧鏈鍒欎功涓婁紶,鏃х増鏈攣瀹�"); + //update.set("lock_reason","绯荤粺榛樿閿佸畾,鏂扮増鏈妧鏈鍒欎功涓婁紶,鏃х増鏈攣瀹�"); update.eq("apply_material_code",specification.getApplyMaterialCode()); update.eq("apply_custom_code", specification.getApplyCustomCode()); update.eq("lock_flag",0); update.last(" limit 1"); + mapper.update(null,update); } @Transactional - public Response updateLock(int id, int lockFlag) { + public Response updateLock(int id, int lockFlag, String reason) { + Date date = new Date(); String userName = ActionUtil.getUser().getName(); TechnicalSpecification specificationInDB = get(id); if(!userName.equals(specificationInDB.getOwner())){ @@ -199,14 +234,28 @@ }else{ //閿佸畾鐩墠鐢熸晥鐗堟湰 availableVersion.setLockFlag(1); - availableVersion.setLockReason("鏂扮増鏈В閿�,姝ゆ棫鐗堟湰閿佸畾"); mapper.updateById(availableVersion); + //閿佸畾鏃ュ織 + TechnicalSpecificationLockLog lockLog = new TechnicalSpecificationLockLog(); + lockLog.setUserName(userName); + lockLog.setTechnicalSpecificationId(id); + lockLog.setReason("鏂扮増鏈В閿�,姝ゆ棫鐗堟湰閿佸畾"); + lockLog.setCreateTime(date); + lockLog.setStatus(0); + lockLogService.add(lockLog); } } } specificationInDB.setLockFlag(lockFlag); mapper.updateById(specificationInDB); - + //閿佸畾/瑙i攣鏃ュ織 + TechnicalSpecificationLockLog lockLog = new TechnicalSpecificationLockLog(); + lockLog.setUserName(userName); + lockLog.setTechnicalSpecificationId(id); + lockLog.setReason(reason); + lockLog.setCreateTime(date); + lockLog.setStatus(lockFlag==1?0:1); + lockLogService.add(lockLog); return new Response().set(1, true, "鏇存柊瀹屾垚"); } @@ -222,4 +271,89 @@ private TechnicalSpecification get(int id){ return mapper.selectById(id); } + + //鏌ヨ鎶�鏈鏍间功 + public Response getInfo(String applyMaterialCode, String applyModel, String applyCustomCode, String owner, Integer lockFlag + ,int pageNum, int pageSize) { + PageHelper.startPage(pageNum,pageSize); + QueryWrapper<TechnicalSpecification> query = Wrappers.query(); + if(applyMaterialCode!=null&&!applyMaterialCode.isEmpty()){ + query.like("apply_material_code",applyMaterialCode); + } + if(applyModel!=null&&!applyModel.isEmpty()){ + query.like("apply_model",applyModel); + } + if(applyCustomCode!=null){ + if(applyCustomCode.equals("")){ + query.eq("apply_custom_code",applyCustomCode); + }else{ + query.like("apply_custom_code",applyCustomCode); + } + } + if(owner!=null&&!owner.isEmpty()){ + query.like("owner",owner); + } + if(lockFlag!=null){ + query.eq("lock_flag",lockFlag); + } + List<TechnicalSpecification> list=mapper.selectList(query); + //鏍囪瘑姣忔潯璁板綍閫傜敤鏈哄瀷鍙敤鐨勭増鏈殑璐熻矗浜烘槸涓嶆槸杩欐潯璁板綍鐨勮礋璐d汉 + if(list!=null&&list.size()>0){ + for (TechnicalSpecification t:list) { + TechnicalSpecification enableTe=getEnableVersion(t); + if(enableTe!=null){ + if(enableTe.getOwner().equals(t.getOwner())){ + t.setFlag(1); + }else{ + t.setFlag(0); + } + }else { + t.setFlag(1); + } + } + } + PageInfo pageInfo=new PageInfo(list); + return new Response().setII(1,list!=null,pageInfo,"鏌ヨ鎶�鏈鏍间功"); + } + //鏌ヨ姣忔潯璁板綍閫傜敤鏈哄瀷鍙敤鐨勭増鏈� + public TechnicalSpecification getEnableVersion(TechnicalSpecification t){ + QueryWrapper wrapper=new QueryWrapper(); + wrapper.eq("apply_material_code",t.getApplyMaterialCode()); + wrapper.eq("apply_model",t.getApplyModel()); + wrapper.eq("apply_custom_code",t.getApplyCustomCode()); + wrapper.last("limit 1"); + TechnicalSpecification enableTe=mapper.selectOne(wrapper); + return enableTe; + } + + //鏌ヨ鎸囧畾鎶�鏈鏍间功鐨勬墍鏈夌増鏈� + public Response getVersionByInfo(String applyMaterialCode, String applyModel, String applyCustomCode) { + QueryWrapper<TechnicalSpecification> query = Wrappers.query(); + if(applyMaterialCode!=null&&!applyMaterialCode.isEmpty()){ + query.eq("apply_material_code",applyMaterialCode); + } + if(applyModel!=null&&!applyModel.isEmpty()){ + query.eq("apply_model",applyModel); + } + if(applyCustomCode!=null){ + query.eq("apply_custom_code",applyCustomCode); + } + List<TechnicalSpecification> list=mapper.selectList(query); + //鏍囪瘑姣忔潯璁板綍閫傜敤鏈哄瀷鍙敤鐨勭増鏈殑璐熻矗浜烘槸涓嶆槸杩欐潯璁板綍鐨勮礋璐d汉 + if(list!=null&&list.size()>0){ + for (TechnicalSpecification t:list) { + TechnicalSpecification enableTe=getEnableVersion(t); + if(enableTe!=null){ + if(enableTe.getOwner().equals(t.getOwner())){ + t.setFlag(1); + }else{ + t.setFlag(0); + } + }else { + t.setFlag(1); + } + } + } + return new Response().setII(1,list!=null,list,"鏌ヨ鎸囧畾鎶�鏈鏍间功鐨勬墍鏈夌増鏈�"); + } } -- Gitblit v1.9.1