| 
					
				 | 
			
			
				@@ -746,6 +746,17 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (TWarehousebillsitems wbItem : warehousebillsitemsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 boolean warehouseStatus = "SJRK".equals(billsType) || "SJCK".equals(billsType) || WarehouseTypeEnum.CKDB.getType().equals(billsType) || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         WarehouseTypeEnum.HWTG.getType().equals(billsType) || "CDZZ".equals(billsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 判断出库明细审批参数是否开启 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (CKDetailsSwitch()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 实际出库时判断 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if ("SJCK".equals(billsType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // 不装载前端传的数据,而是后端已改的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        TWarehousebillsitems tbis = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(wbItem.getfId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (StringUtils.isNotNull(tbis)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            wbItem.setfItemstatus(tbis.getfItemstatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 仓储计费日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 wbItem.setfBilltype(billsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if ("SJRK".equals(billsType) && warehouseBills.getfId() != null && "0".equals(warehouseBills.getfChargetype())) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -875,6 +886,16 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return AjaxResult.success("成功", map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 出库明细审批参数是否开启 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 开启为 true 未开启为 false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public boolean CKDetailsSwitch() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 出库明细是否开启审批流 key 值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String key = "warehouse.outStockItem.ApprovalFlow"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return AuditItemsAbout.sysConfigKeyTrue(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public int insertTWarehousebills(TWarehouseBills tWarehousebills) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return tWarehouseBillsMapper.insertTWarehousebills(tWarehousebills); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3811,16 +3832,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (StringUtils.isEmpty(warehousebillsitemsList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return AjaxResult.error("未找到仓储库存明细信息,请确认是否存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (tWarehouseBills.getfItemstatus().longValue() == 4L 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                || tWarehouseBills.getfItemstatus().longValue() == 5L 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                || tWarehouseBills.getfItemstatus().longValue() == 6L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return AjaxResult.error("该单明细已提交审核,请勿重复提交"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (TWarehousebillsitems item : warehousebillsitemsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (item.getfBillstatus() != 40L || item.getfBillstatus() == 50L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return AjaxResult.error("库存明细中存在审核中数据,无法再次提交请核"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         boolean isApprove; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         long itemStatus = 6L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Long actId = 0L; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3829,6 +3840,18 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             actId = 170L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else if (billsType.equals("SJCKITEM")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             actId = 180L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (CKDetailsSwitch()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (tWarehouseBills.getfItemstatus().longValue() == 4L 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        || tWarehouseBills.getfItemstatus().longValue() == 5L 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        || tWarehouseBills.getfItemstatus().longValue() == 6L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return AjaxResult.error("该单明细已提交过审核,请勿重复提交"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                /*for (TWarehousebillsitems item : warehousebillsitemsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (item.getfBillstatus() != 40L || item.getfBillstatus() == 50L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return AjaxResult.error("库存明细中存在审核中数据,无法再次提交请核"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SysConfig sysConfig = queryWarehouseConfig(billsType); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3848,7 +3871,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             tWarehouseBills.setUpdateBy(SecurityUtils.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> fsrcBillno = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (TWarehousebillsitems item : warehousebillsitemsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fsrcBillno.add(item.getfBillno()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             item.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             item.setUpdateBy(SecurityUtils.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             item.setfItemstatus(itemStatus); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3877,6 +3902,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             auditItems.setAuditStatus("O"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             auditItems.setFidStatus("f_itemstatus"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             auditItems.setTimes(tWarehouseBills.getfTimes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            auditItems.setfSrcBillnos(fsrcBillno);// 装载一下业务编号数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            Long code = Long.valueOf(String.valueOf(approvalFlow.get("code"))).longValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String code = approvalFlow.get("code").toString(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3959,6 +3985,19 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (StringUtils.isNull(tWarehouseBills.getfCorpid())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     throw new WarehouseException("库存明细第" + i + "行请检查客户信息,操作终止"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 判断出库明细审批参数是否开启 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (CKDetailsSwitch()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    TWarehousebillsitems tbs = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(wbItem.getfId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (tbs.getfItemstatus() == 2L) { // 判断仓库明细从表数据明细审批状态是否为 2 ,则是未发起明细请核过 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        throw new WarehouseException("存在出库明细数据,请发起明细请核并通过后重试"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else if (tbs.getfItemstatus() == 3L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        throw new WarehouseException("明细请核被驳回,请重新提交请核"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else if (tbs.getfItemstatus() == 4L || tWarehousebillsitems.getfItemstatus() == 5L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        throw new WarehouseException("明细请核还在审批中,耐心等待"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 将被更改的明细请核状态装进传递 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    wbItem.setfItemstatus(tbs.getfItemstatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //校验计费日期是等于库存总帐计费日,如果不相等则报错 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 checkWhgenleg(wbItem, tWhgenle); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //  1、  库存 <  调拨件数  提示库存不足 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -6464,6 +6503,15 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (Objects.nonNull(item.getfStorageFeeDeadline())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         throw new WarehouseException("明细信息已计算仓储费不允许撤销"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 判断出库明细审批参数是否开启 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (CKDetailsSwitch()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (item.getfItemstatus() == 6L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            throw new WarehouseException("请先将明细请核撤销,再进行撤销出库操作"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (StringUtils.isNotNull(item.getfItemstatus())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            wb.setfItemstatus(item.getfItemstatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     // 查询库存总账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     TWhgenleg tWhgenle = queryWhgenlegService.stockWhgenleg(tWarehousebills, wb, goods.getIfCntrno(), WarehouseTypeEnum.UNDO_OPERATION.getType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (StringUtils.isNotNull(tWhgenle)) { // 非空 
			 |