| 
					
				 | 
			
			
				@@ -4,6 +4,8 @@ package com.ruoyi.warehouseBusiness.service.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hutool.core.collection.CollUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.approvalFlow.domain.AuditItems; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.approvalFlow.service.impl.AuditItemsServiceImpl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.basicData.domain.TCorps; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.basicData.domain.TFees; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.basicData.domain.TGoods; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15,6 +17,8 @@ import com.ruoyi.common.core.domain.entity.SysUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.core.domain.model.LoginUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.utils.DateUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.utils.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.system.domain.SysConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.system.mapper.SysConfigMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.system.mapper.SysDeptMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.warehouseBusiness.domain.BillnoDel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.warehouseBusiness.domain.TWarehouseAgreement; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -25,6 +29,8 @@ import com.ruoyi.warehouseBusiness.mapper.TWarehouseAgreementitemsMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.warehouseBusiness.service.ITWarehouseAgreementService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.transaction.interceptor.TransactionAspectSupport; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -61,6 +67,12 @@ public class TWarehouseAgreementServiceImpl implements ITWarehouseAgreementServi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private SysDeptMapper sysDeptMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private SysConfigMapper sysConfigMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private AuditItemsServiceImpl auditItemsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 查询仓储费 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -187,7 +199,7 @@ public class TWarehouseAgreementServiceImpl implements ITWarehouseAgreementServi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             tWarehouseAgreementitemsMapper.deleteByFPid(fPid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //  从表添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (StringUtils.isNotNull(agreementitems)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isNotNull(agreementitems) && !"[]".equals(agreementitems)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             JSONArray jsonDrArray = JSONArray.parseArray(agreementitems); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<TWarehouseAgreementitems> tWarehouseAgreementitemsList = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehouseAgreementitems.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (TWarehouseAgreementitems tWarehouseAgreementitems : tWarehouseAgreementitemsList) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -201,6 +213,93 @@ public class TWarehouseAgreementServiceImpl implements ITWarehouseAgreementServi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     *   仓储费请核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param agreement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param agreementitems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param loginUser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param fFeetypeid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult tWarehouseAgreementSubmit(String agreement, String agreementitems, LoginUser loginUser, int fFeetypeid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Long fPid = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        TWarehouseAgreement tWarehouseAgreement = JSONArray.parseObject(agreement, TWarehouseAgreement.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(StringUtils.isNull(tWarehouseAgreement.getfId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 如果是新数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseAgreement.setCreateBy(loginUser.getUser().getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 业务编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String billNo = billnoSerialServiceImpl.getBillNo("WA", new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseAgreement.setfBillno(billNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseAgreement.setCreateBy(loginUser.getUser().getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseAgreement.setfDeptid(loginUser.getUser().getDeptId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseAgreement.setfFeetypeid((long) fFeetypeid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseAgreementMapper.insertTWarehouseAgreement(tWarehouseAgreement); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fPid = tWarehouseAgreement.getfId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fPid = tWarehouseAgreement.getfId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseAgreement.setUpdateBy(loginUser.getUser().getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseAgreement.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseAgreementMapper.updateTWarehouseAgreement(tWarehouseAgreement); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseAgreementitemsMapper.deleteByFPid(fPid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //  从表添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isNotNull(agreementitems) && !"[]".equals(agreementitems)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            JSONArray jsonDrArray = JSONArray.parseArray(agreementitems); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<TWarehouseAgreementitems> tWarehouseAgreementitemsList = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehouseAgreementitems.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (TWarehouseAgreementitems tWarehouseAgreementitems : tWarehouseAgreementitemsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tWarehouseAgreementitems.setfPid(fPid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tWarehouseAgreementitems.setCreateBy(loginUser.getUser().getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tWarehouseAgreementitems.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tWarehouseAgreementitemsMapper.insertTWarehouseAgreementitems(tWarehouseAgreementitems); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 这里加个判断取系统参数来确定是否需要启用审批流 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String key = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        boolean isApprove = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        long actId = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (fFeetypeid==0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            actId = 310L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            key = "warehouse.storage.ApprovalFlow"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (fFeetypeid==1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            actId = 320L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            key = "warehouse.task.ApprovalFlow"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isNull(sysConfig)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return AjaxResult.error("系统参数异常,未找到开启审批流参数"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ("0".equals(sysConfig.getConfigValue())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            isApprove = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (isApprove) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            AuditItems auditItems = new AuditItems(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setLevelId(0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setBillId(fPid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setActId(actId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setIffinalItem("F"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setBillNo(tWarehouseAgreement.getfBillno()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 存储业务类型(业务类型) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setRefno2(String.valueOf(tWarehouseAgreement.getfFeetypeid())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setSendUserId(loginUser.getUser().getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setSendName(loginUser.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setSendTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setAuditUserId(loginUser.getUser().getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setAuditItem(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setAuditMsg("提交"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setAuditStatus("O"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Long code = Long.valueOf(String.valueOf(approvalFlow.get("code"))).longValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (code.equals(500L)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return approvalFlow; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 修改仓储费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param tWarehouseAgreement 仓储费 
			 |