| 
					
				 | 
			
			
				@@ -1,16 +1,23 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package org.jeecg.modules.documents.costLossReview.service.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.metadata.IPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.common.exception.JeecgBootException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.costLossReview.entity.CostAllocationReview; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.costLossReview.entity.FabricLossReview; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.modules.documents.costLossReview.entity.SyApprovalHistory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.costLossReview.entity.SyCostLossReview; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.costLossReview.mapper.SyCostLossReviewMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.costLossReview.service.ISyCostLossReviewService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.modules.report.entity.SyFabricLossReport; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.modules.report.service.impl.SyFabricLossReportServiceImpl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.modules.system.util.oConvertUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20,11 +27,14 @@ import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @Date:   2023-03-06 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @Version: V1.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class SyCostLossReviewServiceImpl extends ServiceImpl<SyCostLossReviewMapper, SyCostLossReview> implements ISyCostLossReviewService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private SyCostLossReviewMapper syCostLossReviewMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private SyFabricLossReportServiceImpl syFabricLossReportService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public IPage<SyCostLossReview> querylist(SyCostLossReview syCostLossReview,List<String> list, Page<SyCostLossReview> page) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -75,4 +85,102 @@ public class SyCostLossReviewServiceImpl extends ServiceImpl<SyCostLossReviewMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public List<String> queryCodeByPlanTable(String remarks, String planMan) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return syCostLossReviewMapper.queryCodeByPlanTable(remarks, planMan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 面损表列表修改审批状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int cancelSubmission(String code,String stuta,String currentState,SyApprovalHistory syApprovalHistory) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //判断状态是否为提交状态状态,如果是才可以取消提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(currentState.equals("取消提交")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(stuta.equals("提交")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                i = syCostLossReviewMapper.cancelSubmission(code,"保存",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.addSyApprovalHistory(syApprovalHistory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                throw new JeecgBootException("取消提交失败,只允许'提交'状态下才能取消提交!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(currentState.equals("提交")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //查询面损表是否含有第一次提交日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            QueryWrapper<SyFabricLossReport> queryWrapper = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            queryWrapper.eq("plan_code",code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<SyFabricLossReport> list = syFabricLossReportService.list(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(oConvertUtils.isEmpty(list.get(0).getSubmitDate())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                i = syCostLossReviewMapper.submitDateUpdate(code,"提交",syApprovalHistory.getProcessingTime(),syApprovalHistory.getProcessedBy()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.addSyApprovalHistory(syApprovalHistory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                i = syCostLossReviewMapper.cancelSubmission(code, "提交", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.addSyApprovalHistory(syApprovalHistory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //查询审批历史是否有指派,如果有提交状态改成已指派 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String name = syCostLossReviewMapper.querySyApprovalAssignedBy(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(oConvertUtils.isNotEmpty(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                i = syCostLossReviewMapper.cancelSubmission(code, "已指派", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(currentState.equals("指派")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            i = syCostLossReviewMapper.cancelSubmission(code,"已指派",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.addSyApprovalHistory(syApprovalHistory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(currentState.equals("审批通过")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //查询面损表是否含有第一次审批日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            QueryWrapper<SyFabricLossReport> queryWrapper = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            queryWrapper.eq("plan_code",code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<SyFabricLossReport> list = syFabricLossReportService.list(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(oConvertUtils.isEmpty(list.get(0).getFirstApproveDate())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                i = syCostLossReviewMapper.firstApproveDateUpdate(code,"完成",syApprovalHistory.getProcessingTime(),syApprovalHistory.getProcessedBy()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.addSyApprovalHistory(syApprovalHistory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                i = syCostLossReviewMapper.cancelSubmission(code, "完成", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.addSyApprovalHistory(syApprovalHistory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(currentState.equals("驳回")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //查询面损表是否含有第一次驳回日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            QueryWrapper<SyFabricLossReport> queryWrapper = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            queryWrapper.eq("plan_code",code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<SyFabricLossReport> list = syFabricLossReportService.list(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(oConvertUtils.isEmpty(list.get(0).getRejectDate())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                i = syCostLossReviewMapper.rejectionDateUpdate(code,"返单",syApprovalHistory.getProcessingTime(),syApprovalHistory.getProcessedBy()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.addSyApprovalHistory(syApprovalHistory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                i = syCostLossReviewMapper.cancelSubmission(code, "返单", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.addSyApprovalHistory(syApprovalHistory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(currentState.equals("撤销审批")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            i = syCostLossReviewMapper.cancelSubmission(code,"保存",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.addSyApprovalHistory(syApprovalHistory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       if(i>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 新增审批历史 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param syApprovalHistory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int addSyApprovalHistory(SyApprovalHistory syApprovalHistory) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //设置ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        syApprovalHistory.setId(oConvertUtils.id()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int i = syCostLossReviewMapper.addSyApprovalHistory(syApprovalHistory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(i>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |