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/ProductHistoryService.java | 161 +++++++++++++++++++++++++++++++---------------------- 1 files changed, 94 insertions(+), 67 deletions(-) diff --git a/src/main/java/com/whyc/service/ProductHistoryService.java b/src/main/java/com/whyc/service/ProductHistoryService.java index fe88546..34c60d0 100644 --- a/src/main/java/com/whyc/service/ProductHistoryService.java +++ b/src/main/java/com/whyc/service/ProductHistoryService.java @@ -13,11 +13,14 @@ import com.whyc.pojo.ProductHistory; import com.whyc.pojo.ProductLockLog; import com.whyc.util.ActionUtil; +import com.whyc.util.DateUtil; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; +import java.util.LinkedList; import java.util.List; @Service @@ -48,10 +51,38 @@ } /**鏂板杩藉姞鐨勭増鏈苟灏嗗師鍏堢殑鐗堟湰鐨勫惎鐢ㄨ缃负鏈惎鐢�*/ + @Transactional public void insertAndUpdateEnabled(ProductHistory productHistory) { + QueryWrapper<ProductHistory> query = Wrappers.query(); + query.eq("parent_code",productHistory.getParentCode()) + .eq("custom_code",productHistory.getCustomCode()).ne("enabled",0); + List<ProductHistory> productNoZeroList = mapper.selectList(query); + //娣诲姞鏂板鏃ュ織鍒皌b_product_lock_log琛� + List<ProductLockLog> lockLogs = new LinkedList<>(); + for (ProductHistory historyNoZero : productNoZeroList) { + ProductLockLog lockLog = new ProductLockLog(); + lockLog.setParentCode(historyNoZero.getParentCode()); + lockLog.setCustomCode(historyNoZero.getCustomCode()); + lockLog.setVersion(historyNoZero.getVersion()); + lockLog.setVersionTime(DateUtil.YYYY_MM_DD_HH_MM_SS.format(historyNoZero.getVersionTime())); + if(historyNoZero.getEnabled() == 1) { + lockLog.setReason("浜у搧bom涓婁紶,鍘熺敓鏁堢増鏈攣瀹�"); + }else{ + lockLog.setReason("浜у搧bom涓婁紶,鍘熷緟瀹℃牳鐗堟湰閿佸畾"); + } + lockLog.setOwner(ActionUtil.getUser().getName()); + lockLog.setCreateTime(new Date()); + //1浠h〃鏃ュ織绫诲瀷涓�:閿佸畾 + lockLog.setLockFlag(1); + + lockLogs.add(lockLog); + } + if(lockLogs.size()>0) { + lockLogService.insertBatch(lockLogs); + } UpdateWrapper<ProductHistory> update = Wrappers.update(); update.set("enabled",0).eq("parent_code",productHistory.getParentCode()) - .eq("custom_code",productHistory.getCustomCode()).eq("enabled",1); + .eq("custom_code",productHistory.getCustomCode()).ne("enabled",0); mapper.update(null,update); mapper.insert(productHistory); @@ -82,42 +113,41 @@ query.eq("parent_code",parentCode).eq("custom_code",customCode).orderByDesc("version").last(" limit 1"); return mapper.selectOne(query); } - //鍘嗗彶鐗堟湰鍙敤鎬ц瀹� + //鍘嗗彶鐗堟湰鍙敤鎬ц瀹�<浜у搧涓寘鍚挘閲戜欢锛�0120锛夊鏋滃寘鍚渶瑕佹妸褰撴垚浜у搧鐨勯挘閲戜欢閿佹帀 @Transactional public Response setpHistoryEnable(String parentCode, String customCode, int version, int enabled, String reason, String versionTime) { - UpdateWrapper wrapper=new UpdateWrapper(); - wrapper.eq("parent_code",parentCode); - wrapper.eq("custom_code",customCode); int flag=0; - //鏌ュ嚭鏈�鏂颁笂浼犵殑鐗堟湰 - QueryWrapper qhisWrapper=new QueryWrapper(); - qhisWrapper.eq("parent_code",parentCode); - qhisWrapper.eq("custom_code",customCode); - qhisWrapper.eq("enabled",-1); - ProductHistory pHistory=mapper.selectOne(qhisWrapper); - if(enabled==1){ + QueryWrapper qWrapper=new QueryWrapper(); + qWrapper.eq("parent_code",parentCode); + qWrapper.eq("custom_code",customCode); + //1.鏌ヨ褰撳墠product涓殑淇℃伅 + Product product=productMapper.selectOne(qWrapper); + if(enabled==1){//瑙i攣 //鍏堝皢鎵�鏈夌殑閿佸畾 + UpdateWrapper wrapper=new UpdateWrapper(); + wrapper.eq("parent_code",parentCode); + wrapper.eq("custom_code",customCode); wrapper.set("enabled",0); - flag=mapper.update(null,wrapper); - //鍐嶅皢閫変腑鐨勮涓哄彲鐢�(鏈�鏂颁笂浼犵殑鎵緀nabled=-1) - if(version==-1){ - wrapper.eq("enabled",-1); - }else{ - wrapper.eq("version",version); - } - wrapper.set("enabled",1); - flag=mapper.update(null,wrapper); + mapper.update(null,wrapper); + //鍐嶅皢閫変腑鐨勮涓哄彲鐢�(鏌ュ嚭瑕佷娇鐢ㄧ増鏈�) + QueryWrapper hisWrapper=new QueryWrapper(); + hisWrapper.eq("parent_code",parentCode); + hisWrapper.eq("custom_code",customCode); + hisWrapper.eq("version",version); + ProductHistory his=mapper.selectOne(hisWrapper); + UpdateWrapper wrapper1=new UpdateWrapper(); + wrapper1.eq("parent_code",parentCode); + wrapper1.eq("custom_code",customCode); + wrapper1.eq("id",his.getId()); + wrapper1.set("enabled",1); + flag=mapper.update(null,wrapper1); if(flag>0){ - QueryWrapper qWrapper=new QueryWrapper(); - qWrapper.eq("parent_code",parentCode); - qWrapper.eq("custom_code",customCode); - //1.鏌ヨ褰撳墠product涓殑淇℃伅 - Product product=productMapper.selectOne(qWrapper); //2.灏嗛�変腑鐨勭増鏈殑鍘嗗彶淇℃伅鏌ヨ鍑烘潵 + /*qWrapper.eq("id",his.getId()); + ProductHistory pHistory=mapper.selectOne(qWrapper);*/ //3:prodcut涓垹闄ゆ棫鐨勪骇鍝佷俊鎭� UpdateWrapper deleteWrapper=new UpdateWrapper(); - deleteWrapper.eq("parent_code",parentCode); - deleteWrapper.eq("custom_code",customCode); + deleteWrapper.eq("id",product.getId()); productMapper.delete(deleteWrapper); //4.productBom涓垹闄ゆ棫鐨勪俊鎭� if(product!=null){ @@ -125,14 +155,17 @@ bomWrapper.eq("product_id",product.getId()); productBomMapper.delete(bomWrapper); } - if(pHistory!=null){ + if(his!=null){ // 5.鍦╬roduct涓彃鍏ヨ瀹氬彲鐢ㄧ殑pHistory - productMapper.insertPselectPH(pHistory.getId()); + productMapper.insertPselectPH(his.getId()); //6.鍦╬roductBom涓彃鍏HsitoryBom鏌ヨ鍑虹殑鏁版嵁 - productBomMapper.insertBomSelectBomH(pHistory.getId(),pHistory.getSubVersionMax()); + productBomMapper.insertBomSelectBomH(his.getId(),his.getSubVersionMax()); } } }else{ + UpdateWrapper wrapper=new UpdateWrapper(); + wrapper.eq("parent_code",parentCode); + wrapper.eq("custom_code",customCode); wrapper.eq("version",version); wrapper.set("enabled",0); flag=mapper.update(null,wrapper); @@ -146,44 +179,23 @@ productMapper.update(null,uWrapper); //4.鏌ヨ浜у搧鏄惁瀛樺湪鐗╂枡鏃堕挘閲戜欢鐨勪骇鍝� - Material material_0120=productMapper.selectMaterial_0120(parentCode,customCode); + List<Material> list=productMapper.selectMaterial_0120(parentCode,customCode); //濡傛灉瀛樺湪鍒欓攣瀹� - if(material_0120!=null){ - //鍏堥攣瀹氬巻鍙� - UpdateWrapper wrapperHistory_0120=new UpdateWrapper(); - wrapperHistory_0120.eq("parent_code",material_0120.getSubCode()); - wrapperHistory_0120.set("enabled",0); - mapper.update(null,wrapperHistory_0120); - //鍐嶈缃疄鏃朵负-1 - UpdateWrapper wrapper_0120=new UpdateWrapper(); - wrapper_0120.eq("parent_code",material_0120.getSubCode()); - //璁句负涓嶅彲鐢ㄧ増鏈负-1 - wrapper_0120.set("version",-1); - productMapper.update(null,wrapper_0120); - } - /*if(flag>0){ - // - QueryWrapper qWrapper=new QueryWrapper(); - qWrapper.eq("parent_code",parentCode); - qWrapper.eq("custom_code",customCode); - - //1.鏌ヨ褰撳墠product涓殑淇℃伅 - Product product=productMapper.selectOne(qWrapper); - - //2.prodcut涓垹闄ゆ棫鐨勪骇鍝佷俊鎭� - UpdateWrapper deleteWrapper=new UpdateWrapper(); - deleteWrapper.eq("parent_code",parentCode); - deleteWrapper.eq("custom_code",customCode); - productMapper.delete(deleteWrapper); - - //3.鍒犻櫎productBom - if(product!=null){ - UpdateWrapper bomWrapper=new UpdateWrapper(); - bomWrapper.eq("product_id",product.getId()); - productBomMapper.delete(bomWrapper); + if(list!=null&&list.size()>0){ + for (Material material_0120:list) { + //鍏堥攣瀹氬巻鍙� + UpdateWrapper wrapperHistory_0120=new UpdateWrapper(); + wrapperHistory_0120.eq("parent_code",material_0120.getSubCode()); + wrapperHistory_0120.set("enabled",0); + mapper.update(null,wrapperHistory_0120); + //鍐嶈缃疄鏃朵负-1 + UpdateWrapper wrapper_0120=new UpdateWrapper(); + wrapper_0120.eq("parent_code",material_0120.getSubCode()); + //璁句负涓嶅彲鐢ㄧ増鏈负-1 + wrapper_0120.set("version",-1); + productMapper.update(null,wrapper_0120); } - - }*/ + } } //閿佸畾鍜岃В閿佽褰曟坊鍔� @@ -227,4 +239,19 @@ } return null; } + + public boolean checkExists(String parentCode, String customCode) { + QueryWrapper<ProductHistory> query = Wrappers.query(); + query.eq("parent_code",parentCode); + if(!StringUtils.isBlank(customCode)){ //鏍囧噯浜у搧 + query.eq("custom_code",customCode); + } + query.last(" limit 1"); + ProductHistory productHistory = mapper.selectOne(query); + return productHistory!=null; + } + + public ProductHistory getById(Integer id) { + return mapper.selectById(id); + } } -- Gitblit v1.9.1