| 
					
				 | 
			
			
				@@ -881,6 +881,20 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             tWarehousebillsitemsMapper.updatefStorageFeeDeadlinefPid(fPid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         calculationWarehouseService.calculationBillStatus(warehouseBills); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ("HQZY".equals(warehouseBills.getfBilltype())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 根据父级 id,以及父级单据类型,获取从表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<TWarehousebillsitems> tb = tWarehousebillsitemsMapper.selectTWarehousebillsitemsListByPidToType(warehouseBills.getfId(), warehouseBills.getfBilltype()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<Long> status = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (TWarehousebillsitems tbs : tb) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (tbs.getfBillstatus() != 6L) { // 库存状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    status.add(tbs.getfBillstatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int bStatus = status.size(); // 还有多少在计划,为 0 则全部完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (bStatus != 0) {// 还有未完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                warehouseBills.setfItemsStatus(2L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehouseBillsMapper.updateTWarehousebills(warehouseBills); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TWarehousebillsitems warehousebillsitems = new TWarehousebillsitems(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         warehousebillsitems.setfPid(fPid); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -891,6 +905,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 出库明细审批参数是否开启 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 开启为 true 未开启为 false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public boolean CKDetailsSwitch() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1160,16 +1175,16 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //获取订舱单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TCorps tCorps = tCorpsMapper.selectTCorpsById(warehouseBills.getfCorpid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //应收费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<TWarehousebillsfees> fd =  tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TWarehousebillsfees> fd = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //应付费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<TWarehousebillsfees> fc = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "C"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        warehouseBills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        warehouseBills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (tCorps == null || tCorps.getfCname().equals("青岛凯和志诚物流有限公司")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warehouseBills.setfReceivable(fd.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warehouseBills.setfDue(fc.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (tCorps == null || tCorps.getfCname().equals("青岛凯和志诚物流有限公司")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             warehouseBills.setfCaregoStatus("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else if (CollectionUtils.isNotEmpty(fd) && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (CollectionUtils.isNotEmpty(fd) && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             warehouseBills.setfCaregoStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             warehouseBills.setfCaregoStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehouseBillsMapper.updateTWarehousebills(warehouseBills); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2662,7 +2677,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 创建业务编号 list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<String> fSrcBillno = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (StringUtils.isNotNull(warehouseBills.getfBillno())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isNotNull(warehouseBills.getfBillno())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             fSrcBillno.add(warehouseBills.getfBillno()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 这里加个判断取系统参数来确定是否需要启用审批流 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3004,18 +3019,18 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //获取订舱单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TCorps tCorps = tCorpsMapper.selectTCorpsById(warehouseBills.getfCorpid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //应收费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<TWarehousebillsfees> fd =  tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TWarehousebillsfees> fd = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //应付费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<TWarehousebillsfees> fc = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "C"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //查询订单最新信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TWarehouseBills warehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        warehousebills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        warehousebills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warehousebills.setfReceivable(fd.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warehousebills.setfDue(fc.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             warehousebills.setfCaregoStatus("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             warehousebills.setfCaregoStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             warehousebills.setfCaregoStatus("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehouseBillsMapper.updateTWarehousebills(warehousebills); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3330,7 +3345,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (StringUtils.isNull(warehouseBills.getfCorpid())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return AjaxResult.error("库存明细请检查客户信息,操作终止"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        warehouseBills.setfItemsStatus(4L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         warehouseBills.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         warehouseBills.setUpdateBy(SecurityUtils.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Long timestamp = DateUtils.getTimestamp(new Date()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3477,6 +3491,22 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 tEnclosureMapper.insertTEnclosure(enclosure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 根据父级 id,以及父级单据类型,获取从表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TWarehousebillsitems> tb = tWarehousebillsitemsMapper.selectTWarehousebillsitemsListByPidToType(warehouseBills.getfId(), warehouseBills.getfBilltype()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Long> status = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (TWarehousebillsitems tbs : tb) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (tbs.getfBillstatus() != 40L) { // 是否都不在完成状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                status.add(tbs.getfBillstatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int bStatus = status.size(); // 还有多少未完成状态,为 0 则全部已完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (bStatus != 0) { // 还有未计划未完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 更改状态为 某某中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            warehouseBills.setfItemsStatus(3L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { // 全部完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //最后更新仓库主表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            warehouseBills.setfItemsStatus(4L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(warehouseBills.getfId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         warehouseBills.setfQty(itemInFo.getfQty()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         warehouseBills.setfNetweight(itemInFo.getfNetweight()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3816,8 +3846,22 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //最后更新仓库主表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tWarehouseBills.setfItemsStatus(4L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 根据父级 id,以及父级单据类型,获取从表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TWarehousebillsitems> tb = tWarehousebillsitemsMapper.selectTWarehousebillsitemsListByPidToType(tWarehouseBills.getfId(), tWarehouseBills.getfBilltype()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Long> status = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (TWarehousebillsitems tbs : tb) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (tbs.getfBillstatus() != 40L) { // 是否都不在完成状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                status.add(tbs.getfBillstatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int bStatus = status.size(); // 还有多少未完成状态,为 0 则全部已完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (bStatus != 0) { // 还有未计划未完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 更改状态为 某某中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseBills.setfItemsStatus(3L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { // 全部完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //最后更新仓库主表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseBills.setfItemsStatus(4L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehouseBills.setfBilltype(billsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehouseBills.setUpdateTime(new Date()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3949,7 +3993,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Long fPid = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TWarehouseBills tWarehouseBills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tWarehouseBills.setfItemsStatus(4L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Long timestamp = DateUtils.getTimestamp(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4136,6 +4179,28 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 根据父级 id,以及父级单据类型,获取从表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TWarehousebillsitems> tb = tWarehousebillsitemsMapper.selectTWarehousebillsitemsListByPidToType(tWarehouseBills.getfId(), tWarehouseBills.getfBilltype()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Long> status = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (TWarehousebillsitems tbs : tb) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!"HQZY".equals(tWarehouseBills.getfBilltype())) { // 非转货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (tbs.getfBillstatus() != 40L) { // 库存状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    status.add(tbs.getfBillstatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (tbs.getfBillstatus() != 6L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    status.add(tbs.getfBillstatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int bStatus = status.size(); // 还有多少在计划,为 0 则全部完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (bStatus != 0) { // 还有未完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 更改状态为 xx中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseBills.setfItemsStatus(3L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { // 全部完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //最后更新仓库主表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseBills.setfItemsStatus(4L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //从表更新完再查从表信息更新主表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehouseBills.getfId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehouseBills.setfQty(itemInFo.getfQty()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -6480,7 +6545,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return AjaxResult.error("未找到入账信息"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TWarehouseBills tWarehousebills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tWarehousebills.setfItemsStatus(1L); //撤销状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehousebills.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehousebills.setUpdateBy(loginUser.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Long timestamp = DateUtils.getTimestamp(new Date()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -6674,6 +6738,27 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 根据父级 id,以及父级单据类型,获取从表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TWarehousebillsitems> tb = tWarehousebillsitemsMapper.selectTWarehousebillsitemsListByPidToType(tWarehousebills.getfId(), tWarehousebills.getfBilltype()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Long> status = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (TWarehousebillsitems tbs : tb) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!"HQZY".equals(tWarehousebills.getfBilltype())) { // 非货转 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (tbs.getfBillstatus() != 10L) { // 明细从表数据还有多少不在计划中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    status.add(tbs.getfBillstatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { // 货转时 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (tbs.getfBillstatus() != 1L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    status.add(tbs.getfBillstatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int bStatus = status.size(); // 还有多少不在计划中,为 0 则全部都在计划中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System.err.println("bStatus:" + bStatus); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (bStatus != 0) { // 有数据不在计划中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehousebills.setfItemsStatus(3L); //处理中状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { // 数据都在计划中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehousebills.setfItemsStatus(2L); // 改为待xx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //从表更新完再查询主表信息修改入库件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehousebills.getfId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehousebills.setfQty(itemInFo.getfQty()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -7252,20 +7337,20 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     tWarehousebillsfeesMapper.insertTWarehousebillsfees(tWarehousebillsfees); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //应收费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                List<TWarehousebillsfees> fd =  tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<TWarehousebillsfees> fd = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //应付费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 List<TWarehousebillsfees> fc = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "C"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //查询订单最新信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 TWarehouseBills warehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //获取订舱单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 TCorps tCorps = tCorpsMapper.selectTCorpsById(warehousebills.getfCorpid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                warehousebills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                warehousebills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                warehousebills.setfReceivable(fd.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                warehousebills.setfDue(fc.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     warehousebills.setfCaregoStatus("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     warehousebills.setfCaregoStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     warehousebills.setfCaregoStatus("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 tWarehouseBillsMapper.updateTWarehousebills(warehousebills); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -7319,20 +7404,20 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //应收费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<TWarehousebillsfees> fd =  tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<TWarehousebillsfees> fd = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //应付费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<TWarehousebillsfees> fc = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBills.getfId(), "C"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //查询订单最新信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TWarehouseBills warehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //获取订舱单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TCorps tCorps = tCorpsMapper.selectTCorpsById(warehousebills.getfCorpid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            warehousebills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            warehousebills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            warehousebills.setfReceivable(fd.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            warehousebills.setfDue(fc.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 warehousebills.setfCaregoStatus("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 warehousebills.setfCaregoStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 warehousebills.setfCaregoStatus("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             tWarehouseBillsMapper.updateTWarehousebills(warehousebills); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -7438,20 +7523,20 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 tWarehousebillsfeesMapper.updateTWarehousebillsfees(tWarehousebillsfees); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //应收费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<TWarehousebillsfees> fd =  tWarehousebillsfeesMapper.selectFeesByPId(selectOne.getfId(), "D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<TWarehousebillsfees> fd = tWarehousebillsfeesMapper.selectFeesByPId(selectOne.getfId(), "D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //应付费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<TWarehousebillsfees> fc = tWarehousebillsfeesMapper.selectFeesByPId(selectOne.getfId(), "C"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //查询订单最新信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TWarehouseBills warehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(selectOne.getfId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //获取订舱单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TCorps tCorps = tCorpsMapper.selectTCorpsById(selectOne.getfCorpid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            warehousebills.setfReceivable(fd.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            warehousebills.setfDue(fc.stream().filter(ei->ei.getfAmount()!=null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO,BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            warehousebills.setfReceivable(fd.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            warehousebills.setfDue(fc.stream().filter(ei -> ei.getfAmount() != null).map(TWarehousebillsfees::getfAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (tCorps == null || (tCorps.getfCname().equals("青岛凯和志诚物流有限公司") && !warehousebills.getfCaregoStatus().equals("3"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 warehousebills.setfCaregoStatus("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 warehousebills.setfCaregoStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (!warehousebills.getfCaregoStatus().equals("3") && warehousebills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehousebills.getfReceivable().compareTo(warehousebills.getfRecycle()) <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 warehousebills.setfCaregoStatus("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             tWarehouseBillsMapper.updateTWarehousebills(warehousebills); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -8402,6 +8487,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 扣货  fCaregoStatus 传 3 为要改为状态扣货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 取消扣货  fCaregoStatus 传 2 为要改为状态放货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param tWarehouseBills 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param loginUser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -8409,8 +8495,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult detention(TWarehouseBills tWarehouseBills, LoginUser loginUser) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<String> stringList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (CollectionUtils.isNotEmpty(tWarehouseBills.getOrderList())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tWarehouseBills.getOrderList().stream().forEach(item ->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isNotEmpty(tWarehouseBills.getOrderList())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tWarehouseBills.getOrderList().stream().forEach(item -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 TWarehouseBills bills = new TWarehouseBills(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 bills.setfId(item); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -8418,21 +8504,20 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //2 取消扣货 3 扣货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //获取订舱单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 TCorps tCorps = tCorpsMapper.selectTCorpsById(warehouseBills.getfCorpid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (tWarehouseBills.getfCaregoStatus().equals("2") && warehouseBills.getfCaregoStatus().equals("3")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                   tWarehouseBillsMapper.updateTWarehousebills(bills); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else if (tWarehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfCaregoStatus().equals("2")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (tWarehouseBills.getfCaregoStatus().equals("2") && warehouseBills.getfCaregoStatus().equals("3")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    tWarehouseBillsMapper.updateTWarehousebills(bills); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (tWarehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfCaregoStatus().equals("2")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     tWarehouseBillsMapper.updateTWarehousebills(bills); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     stringList.add(warehouseBills.getfMblno()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (CollectionUtils.isNotEmpty(stringList) && tWarehouseBills.getfCaregoStatus().equals("2")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return AjaxResult.error("部分取消扣货失败,订单状态不为扣货的有:"+ org.apache.commons.lang.StringUtils.join(stringList.toArray(), ",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else if (CollectionUtils.isNotEmpty(stringList) && tWarehouseBills.getfCaregoStatus().equals("3")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return AjaxResult.error("部分扣货失败,订单状态不为放货的有:"+ org.apache.commons.lang.StringUtils.join(stringList.toArray(), ",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isNotEmpty(stringList) && tWarehouseBills.getfCaregoStatus().equals("2")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return AjaxResult.error("部分取消扣货失败,订单状态不为扣货的有:" + org.apache.commons.lang.StringUtils.join(stringList.toArray(), ",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (CollectionUtils.isNotEmpty(stringList) && tWarehouseBills.getfCaregoStatus().equals("3")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return AjaxResult.error("部分扣货失败,订单状态不为放货的有:" + org.apache.commons.lang.StringUtils.join(stringList.toArray(), ",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return AjaxResult.success("操作成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -8440,9 +8525,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void updateMessage(Long fid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<TFeeDo> list = tFeeDoMapper.selectTFeeDoByfPid(fid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (CollectionUtils.isNotEmpty(list)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isNotEmpty(list)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<Long> collect = list.stream().map(TFeeDo::getfSrcpid).collect(toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            collect.stream().forEach(item ->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            collect.stream().forEach(item -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //获取订舱单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 TCorps tCorps = tCorpsMapper.selectTCorpsById(warehouseBills.getfCorpid()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -8452,16 +8537,16 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 List<TWarehousebillsfees> tWarehousebillsfees = tWarehousebillsfeesMapper.selectFeesByPId(item, "C"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 TWarehouseBills tWarehouseBills = new TWarehouseBills(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 tWarehouseBills.setfId(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                tWarehouseBills.setfRecycle(warehousebillsfees.stream().filter(ei->ei.getfStlamount()!=null && ei.getfBillstatus().longValue() == 6L).map(TWarehousebillsfees::getfStlamount).reduce(BigDecimal.ZERO,BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                tWarehouseBills.setfPay(tWarehousebillsfees.stream().filter(ei->ei.getfStlamount()!=null && ei.getfBillstatus().longValue() == 6L).map(TWarehousebillsfees::getfStlamount).reduce(BigDecimal.ZERO,BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tWarehouseBills.setfRecycle(warehousebillsfees.stream().filter(ei -> ei.getfStlamount() != null && ei.getfBillstatus().longValue() == 6L).map(TWarehousebillsfees::getfStlamount).reduce(BigDecimal.ZERO, BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tWarehouseBills.setfPay(tWarehousebillsfees.stream().filter(ei -> ei.getfStlamount() != null && ei.getfBillstatus().longValue() == 6L).map(TWarehousebillsfees::getfStlamount).reduce(BigDecimal.ZERO, BigDecimal::add)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //如果订舱单位是凯和 应收尾0 也是放货状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //1:  未放货   应收>0  应收>实收 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //2:放货      应收>0  应收=实收 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if ((tCorps == null || tCorps.getfCname().equals("青岛凯和志诚物流有限公司")) && !warehouseBills.getfCaregoStatus().equals("3") ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if ((tCorps == null || tCorps.getfCname().equals("青岛凯和志诚物流有限公司")) && !warehouseBills.getfCaregoStatus().equals("3")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     tWarehouseBills.setfCaregoStatus("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else if (!warehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehouseBills.getfReceivable().compareTo(tWarehouseBills.getfRecycle()) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (!warehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehouseBills.getfReceivable().compareTo(tWarehouseBills.getfRecycle()) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     tWarehouseBills.setfCaregoStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else if (!warehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehouseBills.getfReceivable().compareTo(tWarehouseBills.getfRecycle()) <= 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (!warehouseBills.getfCaregoStatus().equals("3") && warehouseBills.getfReceivable().compareTo(BigDecimal.ZERO) > 0 && warehouseBills.getfReceivable().compareTo(tWarehouseBills.getfRecycle()) <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     tWarehouseBills.setfCaregoStatus("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -8534,17 +8619,17 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 1.查询原订单信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 2.判断原订单是否卸船 否不能转船 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(aLong); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (warehouseBills.getfArrivalStatus().longValue() != 2L){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (warehouseBills.getfArrivalStatus().longValue() != 2L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                throw  new RuntimeException("提单号"+warehouseBills.getfMblno()+"的订单状态未到港卸货不能转船"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                throw new RuntimeException("提单号" + warehouseBills.getfMblno() + "的订单状态未到港卸货不能转船"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 3.复制原订单数据生成新的订单 系统编号重新生成 新订单提单号为转配船+原提单号 船名航次为选择转船的船名航次 配船状态回复默认值 未配船 离港出运状态回复默认值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TWarehouseBills bills = new TWarehouseBills(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            BeanUtils.copyProperties(warehouseBills,bills); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BeanUtils.copyProperties(warehouseBills, bills); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String billNo = billnoSerialServiceImpl.getBillNo("SE", DateUtils.getNowDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             bills.setfBillno(billNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             bills.setfId(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            bills.setfMblno("转配船"+ bills.getfMblno()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            bills.setfMblno("转配船" + bills.getfMblno()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             bills.setCreateBy(loginUser.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             bills.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             bills.setUpdateBy(null); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -8603,7 +8688,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             tWarehousebillsfees.setfDc("C"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             tWarehousebillsfees.setfAddress(warehouseBills.getfDestportid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<TWarehousebillsfees> warehousebillsfeesList = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(tWarehousebillsfees); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (CollectionUtils.isNotEmpty(warehousebillsfeesList)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (CollectionUtils.isNotEmpty(warehousebillsfeesList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (TWarehousebillsfees warehousebillsfees : warehousebillsfeesList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     warehousebillsfees.setfId(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     warehousebillsfees.setfPid(bills.getfId()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -8634,7 +8719,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             tWarehouseBillsMapper.updateKaHeOrder(warehouseBills); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 7.获取原订单的应付费用中目的港的费用将单价和金额转为负数然后保存到原订单的应付费用上 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<TWarehousebillsfees> warehousebillsfees = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(tWarehousebillsfees); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (CollectionUtils.isNotEmpty(warehousebillsfees)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (CollectionUtils.isNotEmpty(warehousebillsfees)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (TWarehousebillsfees warehousebillsfee : warehousebillsfees) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     warehousebillsfee.setfId(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     warehousebillsfee.setfUnitprice(warehousebillsfee.getfUnitprice().subtract(warehousebillsfee.getfUnitprice().multiply(new BigDecimal(2)))); 
			 |