فهرست منبع

森语近期调整

huxy 3 ماه پیش
والد
کامیت
924a1b4c50
49فایلهای تغییر یافته به همراه1771 افزوده شده و 628 حذف شده
  1. 6 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/SyCostAllocationFabricMapper.java
  2. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/SyCostAllocationIngredientMapper.java
  3. 68 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationCostpayMapper.xml
  4. 220 14
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationFabricMapper.xml
  5. 126 21
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationIngredientMapper.xml
  6. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationMapper.xml
  7. 50 55
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/service/impl/SyCostAllocationServiceImpl.java
  8. 13 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/controller/SyCostLossReviewController.java
  9. 3 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/entity/SyCostLossReview.java
  10. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/mapper/SyCostLossReviewMapper.java
  11. 65 29
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/mapper/xml/SyCostLossReviewMapper.xml
  12. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/service/ISyCostLossReviewService.java
  13. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/service/impl/SyCostLossReviewServiceImpl.java
  14. 7 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/controller/SyLetterDepositController.java
  15. 4 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/mapper/SyLetterDepositMapper.java
  16. 81 13
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/mapper/xml/SyLetterDepositMapper.xml
  17. 12 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/service/impl/SyLetterDepositServiceImpl.java
  18. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/controller/SyOrderDataController.java
  19. 11 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/service/impl/SyOrderDataServiceImpl.java
  20. 6 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/seclarationElements/service/impl/SyDeclarationElementsServiceImpl.java
  21. 7 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/controller/SyShippingDetailsController.java
  22. 4 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/SyShippingDetailsItem.java
  23. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/VO/SyShippingDetailsVo.java
  24. 363 104
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/controller/SyShippingOrderController.java
  25. 21 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/SyShippingOrder.java
  26. 28 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/SyShippingOrderItem.java
  27. 6 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/SyShippingOrderMapper.java
  28. 78 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/xml/SyShippingOrderMapper.xml
  29. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/service/impl/PurchaseWarehousingServiceImpl.java
  30. 15 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/controller/SyPreAssembledPackingListController.java
  31. 4 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SyPreAssembledPackingList.java
  32. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SyPreAssembledPackingListItem.java
  33. 4 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/SyPreAssembledPackingListItemMapper.java
  34. 7 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/SyPreAssembledPackingListMapper.java
  35. 12 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/xml/SyPreAssembledPackingListItemMapper.xml
  36. 102 72
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/xml/SyPreAssembledPackingListMapper.xml
  37. 4 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/ISyPreAssembledPackingListService.java
  38. 53 9
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/impl/SyPreAssembledPackingListServiceImpl.java
  39. 36 36
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/controller/SyPackingListFabricController.java
  40. 3 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricItemMapper.xml
  41. 1 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricMapper.xml
  42. 55 54
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/impl/SyPackingListFabricServiceImpl.java
  43. 80 43
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/controller/SyPackingListTailoringController.java
  44. 7 7
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/entity/PushJob.java
  45. 4 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/SyPackingListTailoringMapper.java
  46. 8 8
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/xml/syPackingListTailoringItemMapper.xml
  47. 51 25
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/xml/syPackingListTailoringMapper.xml
  48. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/ISyPackingListTailoringService.java
  49. 123 80
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/impl/SyPackingListTailoringServiceImpl.java

+ 6 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/SyCostAllocationFabricMapper.java

@@ -1,11 +1,13 @@
 package org.jeecg.modules.cost.mapper;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.cost.entity.SyCostAllocationFabric;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.cost.entity.SyCostAllocationIngredient;
 import org.jeecg.modules.cost.entity.SyRemaining;
 import org.jeecg.modules.cost.entity.SyTransfer;
 
@@ -29,8 +31,12 @@ public interface SyCostAllocationFabricMapper extends BaseMapper<SyCostAllocatio
 	@DS("multi-three")
 	List<SyCostAllocationFabric> queryByCostFabric2(@Param("code") String code);
 	@DS("multi-three")
+	List<SyCostAllocationFabric> queryByCostFabric3(@Param("code") String code, @Param("planQuantity") int planQuantity);
+	@DS("multi-three")
 	List<SyTransfer> queryTransferByFabric(@Param("code") String code,@Param("goodName") String goodName);
 	@DS("multi-three")
+	List<SyTransfer> queryTransferByFabric2(@Param("code") String code,@Param("goodName") String goodName);
+	@DS("multi-three")
 	List<SyRemaining> queryRemainingByFabric(@Param("code") String code, @Param("goodName") String goodName);
 	@DS("multi-three")
 	List<SyRemaining> queryRemainingByFabric2(@Param("code") String code, @Param("goodName") String goodName);

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/SyCostAllocationIngredientMapper.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.cost.mapper;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
@@ -28,6 +29,10 @@ public interface SyCostAllocationIngredientMapper extends BaseMapper<SyCostAlloc
 	@DS("multi-three")
 	List<SyCostAllocationIngredient> queryByCostIngredient2(@Param("code") String code);
 	@DS("multi-three")
+	List<SyCostAllocationIngredient> queryByCostIngredient3(@Param("code") String code);
+	@DS("multi-three")
+	List<SyCostAllocationIngredient> queryByCostIngredient4(@Param("code") String code,@Param("nflat") BigDecimal nflat);
+	@DS("multi-three")
 	List<SyTransfer> queryTransferByIngredient(@Param("code") String code, @Param("goodName") String goodName);
 	@DS("multi-three")
 	List<SyRemaining> queryRemainingByIngredient(@Param("code") String code);

+ 68 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationCostpayMapper.xml

@@ -30,12 +30,12 @@
 		case when sps.cExpCode!='00011' and sp.Cexch_Name ='美元' then sps.iMoney end as disbursedOriginalmoney
 		FROM  UFDATA_101_2021.dbo.SalePayVouch sp
 		INNER JOIN UFDATA_101_2021.dbo.SalePayVouchs sps ON sp.id = sps.id
-		--费用支出对应销售订单号改动 取值通过关联销售取值
+		-- 费用支出对应销售订单号改动 取值通过关联销售取值
 		INNER JOIN UFDATA_101_2021.dbo.SO_SOMain soso on soso.id=sp.iSourceId
 		INNER JOIN UFDATA_101_2021.dbo.ExpenseItem ex on sps.cExpCode=ex.cExpCode
 		LEFT JOIN UFDATA_101_2021.dbo.Vendor v ON sp.cvencode= v.cVenCode
 		where soso.cSOCode IN
-		--销售订单号取值范围改动
+		-- 销售订单号取值范围改动
 		(select cSOCode from UFDATA_101_2021.dbo.so_somain  where cSOCode like CONCAT('%',#{code},'%')
 		union all
 		select SOSOS.cSOCode
@@ -57,11 +57,11 @@
 		case when sps.cExpCode!='00011' and sp.Cexch_Name ='美元' then sps.iMoney end as disbursedOriginalmoney
 		FROM  UFDATA_102_2021.dbo.SalePayVouch sp
 		INNER JOIN UFDATA_102_2021.dbo.SalePayVouchs sps ON sp.id = sps.id
-		--费用支出对应销售订单号改动 取值通过关联销售取值
+		-- 费用支出对应销售订单号改动 取值通过关联销售取值
 		INNER JOIN UFDATA_102_2021.dbo.SO_SOMain soso on soso.id=sp.iSourceId
 		INNER JOIN UFDATA_102_2021.dbo.ExpenseItem ex on sps.cExpCode=ex.cExpCode
 		LEFT JOIN UFDATA_102_2021.dbo.Vendor v ON sp.cvencode= v.cVenCode
-		--销售订单号取值范围改动
+		-- 销售订单号取值范围改动
 		where soso.cSOCode IN
 		(select cSOCode from UFDATA_102_2021.dbo.so_somain  where cSOCode like CONCAT('%',#{code},'%')
 		union all
@@ -90,11 +90,11 @@
 		case when sps.cExpCode!='00011' and sp.Cexch_Name ='美元' then sps.iMoney end as disbursedOriginalmoney
 		FROM  UFDATA_103_2021.dbo.SalePayVouch sp
 		INNER JOIN UFDATA_103_2021.dbo.SalePayVouchs sps ON sp.id = sps.id
-		--费用支出对应销售订单号改动 取值通过关联销售取值
+		-- 费用支出对应销售订单号改动 取值通过关联销售取值
 		INNER JOIN UFDATA_103_2021.dbo.SO_SOMain soso on soso.id=sp.iSourceId
 		INNER JOIN UFDATA_103_2021.dbo.ExpenseItem ex on sps.cExpCode=ex.cExpCode
 		LEFT JOIN UFDATA_103_2021.dbo.Vendor v ON sp.cvencode= v.cVenCode
-		--销售订单号取值范围改动
+		-- 销售订单号取值范围改动
 		where soso.cSOCode IN
 		(select cSOCode from UFDATA_103_2021.dbo.so_somain  where cSOCode like CONCAT('%',#{code},'%')
 		union all
@@ -110,4 +110,66 @@
 		left join UFDATA_103_2021.dbo.SO_SODetails sosos on sosos.iSOsID=POPOS.iorderdid AND SOSOS.cInvCode=POPOS.cInvCode
 		WHERE POPO.cPOID LIKE  CONCAT('%',#{code},'%'))
 	</select>
+
+	<!--<select id="queryByCostPay" resultType="org.jeecg.modules.cost.entity.SyCostAllocationCostpay">
+	SELECT 101 as setNo,
+				 sp.cSPVCode as disbursementSlipNo,
+				 sp.cDefine10 as invoicenum,
+				 sp.cMaker as preparedBy,
+				 ex.cExpName as expenseItem,
+				 v.cVenName as processUnit,
+				case when sps.cExpCode='00011' and sp.Cexch_Name='美元' then  sps.iMoney*sp.iexchrate
+					when sps.cExpCode='00011' and sp.Cexch_Name='人民币' then sps.iMoney end as shuiemoney,
+		case when sps.cExpCode!='00011' and sp.Cexch_Name='美元' then  ROUND(sps.iMoney*sp.iexchrate,2)
+		when sps.cExpCode!='00011' and sp.Cexch_Name='人民币'	then  ROUND(sps.iMoney,2)  end as disbursedLocalmoney,
+		case when sps.cExpCode!='00011' and sp.Cexch_Name ='美元' then sps.iMoney end as disbursedOriginalmoney
+		FROM  UFDATA_101_2021.dbo.SalePayVouch sp
+		INNER JOIN UFDATA_101_2021.dbo.SalePayVouchs sps ON sp.id = sps.id
+		&#45;&#45;费用支出对应销售订单号改动 取值通过关联销售取值
+		INNER JOIN UFDATA_101_2021.dbo.SO_SOMain soso on soso.id=sp.iSourceId
+		INNER JOIN UFDATA_101_2021.dbo.ExpenseItem ex on sps.cExpCode=ex.cExpCode
+		LEFT JOIN UFDATA_101_2021.dbo.Vendor v ON sp.cvencode= v.cVenCode
+		where soso.cSOCode LIKE  CONCAT('%',#{code},'%')
+		union all
+		SELECT 102 as setNo,
+				 sp.cSPVCode as disbursementSlipNo,
+				 sp.cDefine10 as invoicenum,
+				 sp.cMaker as preparedBy,
+				 ex.cExpName as expenseItem,
+				 v.cVenName as processUnit,
+				case when sps.cExpCode='00011' and sp.Cexch_Name='美元' then  sps.iMoney*sp.iexchrate
+					when sps.cExpCode='00011' and sp.Cexch_Name='人民币' then sps.iMoney end as shuiemoney,
+		case when sps.cExpCode!='00011' and sp.Cexch_Name='美元' then  ROUND(sps.iMoney*sp.iexchrate,2)
+		when sps.cExpCode!='00011' and sp.Cexch_Name='人民币'	then  ROUND(sps.iMoney,2)  end as disbursedLocalmoney,
+		case when sps.cExpCode!='00011' and sp.Cexch_Name ='美元' then sps.iMoney end as disbursedOriginalmoney
+		FROM  UFDATA_102_2021.dbo.SalePayVouch sp
+		INNER JOIN UFDATA_102_2021.dbo.SalePayVouchs sps ON sp.id = sps.id
+		&#45;&#45;费用支出对应销售订单号改动 取值通过关联销售取值
+		INNER JOIN UFDATA_102_2021.dbo.SO_SOMain soso on soso.id=sp.iSourceId
+		INNER JOIN UFDATA_102_2021.dbo.ExpenseItem ex on sps.cExpCode=ex.cExpCode
+		LEFT JOIN UFDATA_102_2021.dbo.Vendor v ON sp.cvencode= v.cVenCode
+		&#45;&#45;销售订单号取值范围改动
+		where soso.cSOCode  LIKE  CONCAT('%',#{code},'%')
+
+		UNION ALL
+		SELECT 103 as setNo,
+				 sp.cSPVCode as disbursementSlipNo,
+				 sp.cDefine10 as invoicenum,
+				 sp.cMaker as preparedBy,
+				 ex.cExpName as expenseItem,
+				 v.cVenName as processUnit,
+				case when sps.cExpCode='00011' and sp.Cexch_Name='美元' then  sps.iMoney*sp.iexchrate
+					when sps.cExpCode='00011' and sp.Cexch_Name='人民币' then sps.iMoney end as shuiemoney,
+		case when sps.cExpCode!='00011' and sp.Cexch_Name='美元' then  ROUND(sps.iMoney*sp.iexchrate,2)
+		when sps.cExpCode!='00011' and sp.Cexch_Name='人民币'	then  ROUND(sps.iMoney,2)  end as disbursedLocalmoney,
+		case when sps.cExpCode!='00011' and sp.Cexch_Name ='美元' then sps.iMoney end as disbursedOriginalmoney
+		FROM  UFDATA_103_2021.dbo.SalePayVouch sp
+		INNER JOIN UFDATA_103_2021.dbo.SalePayVouchs sps ON sp.id = sps.id
+		&#45;&#45;费用支出对应销售订单号改动 取值通过关联销售取值
+		INNER JOIN UFDATA_103_2021.dbo.SO_SOMain soso on soso.id=sp.iSourceId
+		INNER JOIN UFDATA_103_2021.dbo.ExpenseItem ex on sps.cExpCode=ex.cExpCode
+		LEFT JOIN UFDATA_103_2021.dbo.Vendor v ON sp.cvencode= v.cVenCode
+		&#45;&#45;销售订单号取值范围改动
+		where soso.cSOCode LIKE  CONCAT('%',#{code},'%')
+	</select>-->
 </mapper>

+ 220 - 14
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationFabricMapper.xml

@@ -22,6 +22,10 @@
 		where trim(cSOCode) like CONCAT('%',#{code},'%') and cSOCode not like '%样%'
 
 	</select>
+
+	<select id="queryByCostFabric3" resultType="org.jeecg.modules.cost.entity.SyCostAllocationFabric" >
+		EXEC dbo.fenpei_mianliao  @plan = #{code}, @quantity = #{planQuantity}
+	</select>
 	<!--	通过视图查询-->
 	<select id="queryByCostFabric1" parameterType="java.lang.String" resultType="org.jeecg.modules.cost.entity.SyCostAllocationFabric">
 		select
@@ -31,13 +35,12 @@
 		case when tab3.jian-isnull(tab3.purchaseQuantity,0) <![CDATA[<=]]> 0 then isnull(tab3.purchaseQuantity,0)-tab.usageQuantity
 		else (tab3.jian-isnull(tab3.purchaseQuantity,0))+isnull(tab3.purchaseQuantity,0)-tab.usageQuantity end
 		as 	fabricremainingQuantity,
-		isnull((
-		case when tab3.jian-isnull(tab3.purchaseQuantity,0) <![CDATA[<=]]> 0
+		case when tab3.purchaseQuantity > 0
+		then	(case when tab3.jian-isnull(tab3.purchaseQuantity,0) <![CDATA[<=]]> 0
 		then isnull(tab3.purchaseQuantity,0)-tab.usageQuantity
-		else (tab3.jian-isnull(tab3.purchaseQuantity,0))+isnull(tab3.purchaseQuantity,0)-tab.usageQuantity end
-		)/tab3.purchaseQuantity,0) as loss
-		from
-		(
+		else (tab3.jian-isnull(tab3.purchaseQuantity,0))+isnull(tab3.purchaseQuantity,0)-tab.usageQuantity end)
+		else 0 end as loss
+		from (
 		select vim.cInvCode, max(vim.goodsName) as goodsName,sum(vim.unitConsumption) as unitConsumption,sum(vim.planQuantity) as planQuantity,
 		sum(vim.usageQuantity) as usageQuantity from
 		(select max(cInvCode) cInvCode,count(1) a from UFDATA_103_2021.dbo.cost_allocation_fabric_view2
@@ -104,9 +107,7 @@
 		)tab2 on tab2.cInvCode=tab1.cInvCode
 		GROUP BY tab2.cInvCode
 		) tab3 on tab3.cInvCode=tab.cInvCode
-
 		union all
-
 		select
 		tab.*,isnull(tab3.purchaseQuantity,0) as purchaseQuantity,
 		case when tab3.jian-isnull(tab3.purchaseQuantity,0) <![CDATA[<=]]> 0 then 0
@@ -114,11 +115,11 @@
 		case when tab3.jian-isnull(tab3.purchaseQuantity,0) <![CDATA[<=]]> 0 then isnull(tab3.purchaseQuantity,0)-tab.usageQuantity
 		else (tab3.jian-isnull(tab3.purchaseQuantity,0))+isnull(tab3.purchaseQuantity,0)-tab.usageQuantity end
 		as 	fabricremainingQuantity,
-		isnull((
-		case when tab3.jian-isnull(tab3.purchaseQuantity,0) <![CDATA[<=]]> 0
+		case when tab3.purchaseQuantity > 0
+		then	(case when tab3.jian-isnull(tab3.purchaseQuantity,0) <![CDATA[<=]]> 0
 		then isnull(tab3.purchaseQuantity,0)-tab.usageQuantity
-		else (tab3.jian-isnull(tab3.purchaseQuantity,0))+isnull(tab3.purchaseQuantity,0)-tab.usageQuantity end
-		)/tab3.purchaseQuantity,0) as loss
+		else (tab3.jian-isnull(tab3.purchaseQuantity,0))+isnull(tab3.purchaseQuantity,0)-tab.usageQuantity end)
+		else 0 end as loss
 		from
 		(
 		select vif.cInvCode, max(vim.goodsName) as goodsName,sum(vim.unitConsumption) as unitConsumption,sum(vim.planQuantity) as planQuantity,
@@ -187,7 +188,6 @@
 		)tab2 on tab2.cInvCode=tab1.cInvCode
 		GROUP BY tab2.cInvCode
 		) tab3 on tab3.cInvCode=tab.cInvCode
-
 	</select>
 
 
@@ -296,8 +296,214 @@
     </select>
 
 
+	<select id="queryTransferByFabric2" resultType="org.jeecg.modules.cost.entity.SyTransfer">
+
+		select
+		tab2.cinvName as goodsName,tab2.cFree1 as color,tab2.cBatch as planCode,
+		case when tab2.jian <![CDATA[<=]]> 0 then 0
+		else tab2.jian end as number
+		<!--case when tab2.jian-isnull(tab1.purchaseQuantity,0) <![CDATA[<=]]> 0 then 0
+		else tab2.jian-isnull(tab1.purchaseQuantity,0) end as number -->
+		from
+		(
+		select i.cInvName,sum(rs.iQuantity) as purchaseQuantity,rs.cBatch,rs.cFree1 from UFDATA_101_2021.dbo.rdrecords01 rs
+		join UFDATA_101_2021.dbo.Inventory i on rs.cInvCode=i.cInvCode
+		where cPOID in (
+		select distinct om.cPOID
+		from UFDATA_101_2021.dbo.PO_POmain om
+		join UFDATA_101_2021.dbo.PO_PODetails od on om.poid=od.poid
+		join UFDATA_101_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+		WHERE om.cVerifier is not null  and (om.cCloser is null or om.cCloser!='asuser')
+		and om.cPOID like CONCAT('%',#{code},'%')
+		)
+		GROUP BY i.cInvName,rs.cBatch,rs.cFree1
+		union all
+		select i.cInvName,sum(rs.iQuantity) as purchaseQuantity,rs.cBatch,rs.cFree1 from UFDATA_101_2021.dbo.rdrecords01 rs
+		join UFDATA_101_2021.dbo.Inventory i on rs.cInvCode=i.cInvCode
+		where cPOID in (
+		select distinct om.cCode
+		from UFDATA_101_2021.dbo.om_momain om
+		join UFDATA_101_2021.dbo.OM_MODetails od on om.moid=od.moid
+		join UFDATA_101_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+		WHERE om.cVerifier is not null  and omi.cInvCcode like '19%'
+		and om.cCode like CONCAT('%',#{code},'%')
+		)
+		GROUP BY i.cInvName,rs.cBatch,rs.cFree1
+		)tab1
+		right join
+		(
+		select i.cInvName,sum(rs.iQuantity) as jian,rs.cBatch,rs.cFree1 from UFDATA_101_2021.dbo.rdrecords11 rs
+		join UFDATA_101_2021.dbo.Inventory i on rs.cInvCode=i.cInvCode
+		where comcode in (
+		select distinct om.ccode
+		from UFDATA_101_2021.dbo.om_momain om
+		join UFDATA_101_2021.dbo.OM_MODetails od on om.moid=od.moid
+		join UFDATA_101_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+		WHERE om.iVerifyStateNew = 2
+		and omi.cInvCcode like '19%' and om.cCode like CONCAT('%',#{code},'%')
+		)
+		GROUP BY i.cInvName,rs.cBatch,rs.cFree1
+		)tab2 on tab2.cInvName=tab1.cInvName and tab2.cBatch=tab1.cBatch
+		and (tab1.cfree1=tab2.cfree1 or tab1.cfree1 is null and tab2.cfree1 is null )
+		where <!-- tab2.jian-isnull(tab1.purchaseQuantity,0) > 0 and  --> tab2.cinvName = #{goodName}
+		and	(tab2.cBatch  not like CONCAT('%',#{code},'%') or tab2.cBatch is null)
+
+		union all
+
+		select
+		tab2.cinvName as goodsName,tab2.cFree1 as color,tab2.cBatch as planCode,
+		case when tab2.jian <![CDATA[<=]]> 0 then 0
+		else tab2.jian end as number
+		<!--case when tab2.jian-isnull(tab1.purchaseQuantity,0) <![CDATA[<=]]> 0 then 0
+		else tab2.jian-isnull(tab1.purchaseQuantity,0) end as number-->
+		from
+		(
+
+		select i.cInvName,sum(rs.iQuantity) as purchaseQuantity,rs.cBatch,rs.cFree1 from UFDATA_103_2021.dbo.rdrecords01 rs
+		join UFDATA_103_2021.dbo.Inventory i on rs.cInvCode=i.cInvCode
+		where cPOID in (
+		select distinct om.cPOID
+		from UFDATA_103_2021.dbo.PO_POmain om
+		join UFDATA_103_2021.dbo.PO_PODetails od on om.poid=od.poid
+		join UFDATA_103_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+		WHERE om.cVerifier is not null and (om.cCloser is null or om.cCloser!='asuser')
+		and om.cPOID like CONCAT('%',#{code},'%')
+		)
+		GROUP BY i.cInvName,rs.cBatch,rs.cFree1
+		union all
+		select i.cInvName,sum(rs.iQuantity) as purchaseQuantity,rs.cBatch,rs.cFree1 from UFDATA_103_2021.dbo.rdrecords01 rs
+		join UFDATA_103_2021.dbo.Inventory i on rs.cInvCode=i.cInvCode
+		where cPOID in (
+		select distinct om.cCode
+		from UFDATA_103_2021.dbo.om_momain om
+		join UFDATA_103_2021.dbo.OM_MODetails od on om.moid=od.moid
+		join UFDATA_103_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+		WHERE om.cVerifier is not null  and omi.cInvCcode like '19%'
+		and om.cCode like CONCAT('%',#{code},'%')
+		)
+		GROUP BY i.cInvName,rs.cBatch,rs.cFree1
+		)tab1
+		right join
+		(
+		select i.cInvName,sum(rs.iQuantity) as jian,rs.cBatch,rs.cFree1 from UFDATA_103_2021.dbo.rdrecords11 rs
+		join UFDATA_103_2021.dbo.Inventory i on rs.cInvCode=i.cInvCode
+		where comcode in (
+		select distinct om.ccode
+		from UFDATA_103_2021.dbo.om_momain om
+		join UFDATA_103_2021.dbo.OM_MODetails od on om.moid=od.moid
+		join UFDATA_103_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+		WHERE om.iVerifyStateNew = 2
+		and omi.cInvCcode like '19%' and om.cCode like CONCAT('%',#{code},'%')
+		)
+		GROUP BY i.cInvName,rs.cBatch,rs.cFree1
+		)tab2 on tab2.cInvName=tab1.cInvName and tab2.cBatch=tab1.cBatch
+		and (tab1.cfree1=tab2.cfree1 or tab1.cfree1 is null and tab2.cfree1 is null )
+		where <!--tab2.jian-isnull(tab1.purchaseQuantity,0) > 0  and--> tab2.cinvName = #{goodName}
+		and	(tab2.cBatch  not like CONCAT('%',#{code},'%') or tab2.cBatch is null)
+
+	</select>
+
 
-	<!--	面料转入数量链接方法-->
+<!--<select id="queryTransferByFabric3" resultType="org.jeecg.modules.cost.entity.SyTransfer">
+
+
+    select
+    tab2.cinvName as goodsName,tab2.cFree1 as color,tab2.cBatch as planCode,
+    case when tab2.jian-isnull(tab1.purchaseQuantity,0) <![CDATA[<=]]> 0 then 0
+    else tab2.jian-isnull(tab1.purchaseQuantity,0) end as number
+    from
+    (
+    select i.cInvName,sum(rs.iQuantity) as purchaseQuantity,rs.cBatch,rs.cFree1 from UFDATA_101_2021.dbo.rdrecords01 rs
+    join UFDATA_101_2021.dbo.Inventory i on rs.cInvCode=i.cInvCode
+    where cPOID in (
+    select distinct om.cPOID
+    from UFDATA_101_2021.dbo.PO_POmain om
+    join UFDATA_101_2021.dbo.PO_PODetails od on om.poid=od.poid
+    join UFDATA_101_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+    WHERE om.cVerifier is not null  and omi.cInvCcode like '19%'
+    and om.cPOID like CONCAT(#{code},'%')
+    )
+    GROUP BY i.cInvName,rs.cBatch,rs.cFree1
+    union all
+    select i.cInvName,sum(rs.iQuantity) as purchaseQuantity,rs.cBatch,rs.cFree1 from UFDATA_101_2021.dbo.rdrecords01 rs
+    join UFDATA_101_2021.dbo.Inventory i on rs.cInvCode=i.cInvCode
+    where cPOID in (
+    select distinct om.cCode
+    from UFDATA_101_2021.dbo.om_momain om
+    join UFDATA_101_2021.dbo.OM_MODetails od on om.moid=od.moid
+    join UFDATA_101_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+    WHERE om.cVerifier is not null  and omi.cInvCcode like '19%'
+    and om.cCode like CONCAT(#{code},'%')
+    )
+    GROUP BY i.cInvName,rs.cBatch,rs.cFree1
+    )tab1
+    right join
+    (
+    select i.cInvName,sum(rs.iQuantity) as jian,rs.cBatch,rs.cFree1 from UFDATA_101_2021.dbo.rdrecords11 rs
+    join UFDATA_101_2021.dbo.Inventory i on rs.cInvCode=i.cInvCode
+    where comcode in (
+    select distinct om.ccode
+    from UFDATA_101_2021.dbo.om_momain om
+    join UFDATA_101_2021.dbo.OM_MODetails od on om.moid=od.moid
+    join UFDATA_101_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+    WHERE om.iVerifyStateNew = 2
+    and omi.cInvCcode like '19%' and om.cCode like CONCAT(#{code},'%')
+    )
+    GROUP BY i.cInvName,rs.cBatch,rs.cFree1
+    )tab2 on tab2.cInvName=tab1.cInvName and tab2.cBatch=tab1.cBatch and tab1.cfree1=tab2.cfree1
+    where tab2.jian-isnull(tab1.purchaseQuantity,0) > 0 and tab2.cinvName = #{goodName}
+
+    union all
+
+    select
+    tab2.cinvName as goodsName,tab2.cFree1 as color,tab2.cBatch as planCode,
+    case when tab2.jian-isnull(tab1.purchaseQuantity,0) <![CDATA[<=]]> 0 then 0
+    else tab2.jian-isnull(tab1.purchaseQuantity,0) end as number
+    from
+    (
+
+    select i.cInvName,sum(rs.iQuantity) as purchaseQuantity,rs.cBatch,rs.cFree1 from UFDATA_103_2021.dbo.rdrecords01 rs
+    join UFDATA_103_2021.dbo.Inventory i on rs.cInvCode=i.cInvCode
+    where cPOID in (
+    select distinct om.cPOID
+    from UFDATA_103_2021.dbo.PO_POmain om
+    join UFDATA_103_2021.dbo.PO_PODetails od on om.poid=od.poid
+    join UFDATA_103_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+    WHERE om.cVerifier is not null and (om.cCloser is null or om.cCloser!='asuser') and omi.cInvCcode like '19%'
+    and om.cPOID like CONCAT(#{code},'%')
+    )
+    GROUP BY i.cInvName,rs.cBatch,rs.cFree1
+    union all
+    select i.cInvName,sum(rs.iQuantity) as purchaseQuantity,rs.cBatch,rs.cFree1 from UFDATA_103_2021.dbo.rdrecords01 rs
+    join UFDATA_103_2021.dbo.Inventory i on rs.cInvCode=i.cInvCode
+    where cPOID in (
+    select distinct om.cCode
+    from UFDATA_103_2021.dbo.om_momain om
+    join UFDATA_103_2021.dbo.OM_MODetails od on om.moid=od.moid
+    join UFDATA_103_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+    WHERE om.cVerifier is not null  and omi.cInvCcode like '19%'
+    and om.cCode like CONCAT(#{code},'%')
+    )
+    GROUP BY i.cInvName,rs.cBatch,rs.cFree1
+    )tab1
+    right join
+    (
+    select i.cInvName,sum(rs.iQuantity) as jian,rs.cBatch,rs.cFree1 from UFDATA_103_2021.dbo.rdrecords11 rs
+    join UFDATA_103_2021.dbo.Inventory i on rs.cInvCode=i.cInvCode
+    where comcode in (
+    select distinct om.ccode
+    from UFDATA_103_2021.dbo.om_momain om
+    join UFDATA_103_2021.dbo.OM_MODetails od on om.moid=od.moid
+    join UFDATA_103_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+    WHERE om.iVerifyStateNew = 2
+    and omi.cInvCcode like '19%' and om.cCode like CONCAT(#{code},'%')
+    )
+    GROUP BY i.cInvName,rs.cBatch,rs.cFree1
+    )tab2 on tab2.cInvName=tab1.cInvName and tab2.cBatch=tab1.cBatch and tab1.cfree1=tab2.cfree1
+    where tab2.jian-isnull(tab1.purchaseQuantity,0) > 0 and tab2.cinvName = #{goodName}
+</select>-->
+
+	<!--	面料转入数量链接方法 -->
 	<!--<select id="queryTransferByFabric" resultType="org.jeecg.modules.cost.entity.SyTransfer">
 
 		select

+ 126 - 21
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationIngredientMapper.xml

@@ -3,10 +3,8 @@
 <mapper namespace="org.jeecg.modules.cost.mapper.SyCostAllocationIngredientMapper">
 
 	<delete id="deleteByMainId" parameterType="java.lang.String">
-		DELETE 
-		FROM  sy_cost_allocation_ingredient 
-		WHERE
-			 sy_cost_allocation_id = #{id} 		
+		DELETE FROM sy_cost_allocation_ingredient
+		WHERE sy_cost_allocation_id = #{id}
 	</delete>
 	
 	<select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.cost.entity.SyCostAllocationIngredient">
@@ -138,7 +136,121 @@ SELECT   	case when (a.iQuantityIn-b.usageQuantity)/a.iQuantityIn   <![CDATA[<=]
             WHERE cPoid LIKE CONCAT('%',#{code},'%') AND (cVenAbbName != '宁波森语' AND cVenAbbName != '马菲羊') and a.iQuantityIn>0
         </select>
 
+	<select id="queryByCostIngredient4" resultType="org.jeecg.modules.cost.entity.SyCostAllocationIngredient" statementType="CALLABLE" >
+		EXEC dbo.fenpei_fuliao @plan = #{code}, @nflat = #{nflat}
+	</select>
 
+	<select id="queryByCostIngredient3" resultType="org.jeecg.modules.cost.entity.SyCostAllocationIngredient">
+		select OMMO.计划单号 ,ommo.cVenAbbName,OMMO.cInvCode goodsCode,cInvCCode,OMMO.goodsName,OMMO.dosage,OMMO.usageQuantity,入库数量,
+		POPO1.cVenAbbName AS supper,popo1.iOriSum as usdAmount,POPO1.iSum as rmbAmount,popo1.iNoTaxMoney as priceExcludingtax,
+		popo1.原币单价,POPO1.本币单价 cost,POPO1.iQuantityIn AS purchaseQuantity,POPO1.iQuantityInvoice AS 发票数量,
+		case when isnull(iQuantityIn,0)-isnull(usageQuantity,0)   <![CDATA[<=]]> 0 then 0
+		else isnull(iQuantityIn,0)-isnull(usageQuantity,0) end as ingredientsRemainingQuantity,
+		case when isnull(usageQuantity,0)-isnull(iQuantityIn,0)  <![CDATA[<=]]> 0 then 0
+		else isnull(usageQuantity,0)-isnull(iQuantityIn,0) end as ingredientsTransferQuantity,
+		case when  isnull(usageQuantity,0)-isnull(iQuantityIn,0)  <![CDATA[<=]]> 0 then 0
+		else  (isnull(usageQuantity,0)-isnull(iQuantityIn,0))*isnull(POPO1.本币单价,0) end as transferCost,
+		case when  iQuantityIn  = 0 then '0'
+		when (iQuantityIn-usageQuantity)/iQuantityIn   <![CDATA[<=]]> 0 then '0'
+		else (iQuantityIn-usageQuantity)/iQuantityIn end as loss,
+		popo1.iQuantitySettle as 结算数量
+		from(SELECT OMMO.计划单号,OMMO.cVenAbbName,OMMO.cInvCode,cInvCCode,OMMO.goodsName,OMMO.dosage,OMMO.usageQuantity,ISNULL(入库数量,0) AS 入库数量
+		FROM(
+		select #{code} AS 计划单号,'101' AS 账套,Vendor.cVenAbbName,inv_z.cInvCode,inv_z.cInvCCode,
+		inv_z.cInvName as goodsName,avg(ommoms.iUnitQuantity) as dosage,sum(ommoms.iSendQTY) as usageQuantity
+		from UFDATA_101_2021.dbo.OM_MOMaterials ommoms inner join UFDATA_101_2021.dbo.OM_MODetails ommos on ommos.MODetailsID=ommoms.MoDetailsID
+		inner join UFDATA_101_2021.dbo.om_momain ommo on ommo.MOID=ommos.MOID
+		inner join UFDATA_101_2021.dbo.Inventory inv_c on inv_c.cInvCode=ommos.cInvCode
+		inner join UFDATA_101_2021.dbo.Inventory inv_z on inv_z.cInvCode=ommoms.cInvCode
+		inner join UFDATA_101_2021.dbo.Vendor on vendor.cVenCode=ommo.cVenCode
+		where left(inv_c.cInvCCode,2)='19' and (left(inv_z.cInvCCode,2) not in ('02','03','04') or inv_z.cInvCCode in ('0299','0399','0499'))
+		and ommo.ccode like CONCAT('%',#{code},'%') and isnull(ommos.cbCloser,'asuser')='asuser'
+		group by Vendor.cVenAbbName,inv_z.cInvCode,inv_z.cInvName,inv_z.cInvCCode
+		union all
+		select #{code} AS 计划单号,'102' AS 账套,Vendor.cVenAbbName,inv_z.cInvCode,inv_z.cInvCCode,
+		inv_z.cInvName as goodsName,avg(ommoms.iUnitQuantity) as dosage,sum(ommoms.iSendQTY) as usageQuantity
+		from UFDATA_102_2021.dbo.OM_MOMaterials ommoms inner join UFDATA_102_2021.dbo.OM_MODetails ommos on ommos.MODetailsID=ommoms.MoDetailsID
+		inner join UFDATA_102_2021.dbo.om_momain ommo on ommo.MOID=ommos.MOID
+		inner join UFDATA_102_2021.dbo.Inventory inv_c on inv_c.cInvCode=ommos.cInvCode
+		inner join UFDATA_102_2021.dbo.Inventory inv_z on inv_z.cInvCode=ommoms.cInvCode
+		inner join UFDATA_102_2021.dbo.Vendor on vendor.cVenCode=ommo.cVenCode
+		where left(inv_c.cInvCCode,2)='19' and (left(inv_z.cInvCCode,2) not in ('02','03','04') or inv_z.cInvCCode in ('0299','0399','0499'))
+		and ommo.ccode like CONCAT('%',#{code},'%') and isnull(ommos.cbCloser,'asuser')='asuser'
+		group by Vendor.cVenAbbName,inv_z.cInvCode,inv_z.cInvName,inv_z.cInvCCode
+		union all
+		select #{code} AS 计划单号,'103' AS 账套,Vendor.cVenAbbName,inv_z.cInvCode,inv_z.cInvCCode,
+		inv_z.cInvName as goodsName,avg(ommoms.iUnitQuantity) as dosage,sum(ommoms.iSendQTY) as usageQuantity
+		from UFDATA_103_2021.dbo.OM_MOMaterials ommoms inner join UFDATA_103_2021.dbo.OM_MODetails ommos on ommos.MODetailsID=ommoms.MoDetailsID
+		inner join UFDATA_103_2021.dbo.om_momain ommo on ommo.MOID=ommos.MOID
+		inner join UFDATA_103_2021.dbo.Inventory inv_c on inv_c.cInvCode=ommos.cInvCode
+		inner join UFDATA_103_2021.dbo.Inventory inv_z on inv_z.cInvCode=ommoms.cInvCode
+		inner join UFDATA_103_2021.dbo.Vendor on vendor.cVenCode=ommo.cVenCode
+		where left(inv_c.cInvCCode,2)='19' and (left(inv_z.cInvCCode,2) not in ('02','03','04') or inv_z.cInvCCode in ('0299','0399','0499'))
+		and ommo.ccode like CONCAT('%',#{code},'%') and isnull(ommos.cbCloser,'asuser')='asuser'
+		group by Vendor.cVenAbbName,inv_z.cInvCode,inv_z.cInvName,inv_z.cInvCCode ) as ommo left join
+		(select #{code} AS 计划单号,'101' AS 账套,inv.cInvCode,inv.cInvName,popo.cVenCode,
+		sum(isnull(popos.iReceivedQTY,0)+isnull(popos.iArrQTY,0))AS 入库数量
+		from UFDATA_101_2021.dbo.po_pomain popo
+		inner join UFDATA_101_2021.dbo.PO_Podetails popos on popo.POID=popos.POID
+		inner join UFDATA_101_2021.dbo.Inventory inv on inv.cInvCode=popos.cInvCode
+		where popo.cPOID like CONCAT('%',#{code},'%') and (left(inv.cInvCCode,2) not in ('02','03','04')
+		or inv.cInvCCode in ('0299','0399','0499'))
+		and isnull(popos.cbCloser,'asuser')='asuser'
+		group by inv.cInvCode,inv.cInvName,popo.cVenCode
+		union all
+		select #{code} AS 计划单号,'103' AS 账套,inv.cInvCode,inv.cInvName,popo.cVenCode,
+		sum(isnull(popos.iReceivedQTY,0)+isnull(popos.iArrQTY,0))AS 入库数量
+		from UFDATA_102_2021.dbo.po_pomain popo
+		inner join UFDATA_102_2021.dbo.PO_Podetails popos on popo.POID=popos.POID
+		inner join UFDATA_102_2021.dbo.Inventory inv on inv.cInvCode=popos.cInvCode
+		where popo.cPOID like CONCAT('%',#{code},'%') and (left(inv.cInvCCode,2) not in ('02','03','04')
+		or inv.cInvCCode in ('0299','0399','0499'))
+		and isnull(popos.cbCloser,'asuser')='asuser'
+		group by inv.cInvCode,inv.cInvName,popo.cVenCode
+		union all
+		select #{code} AS 计划单号,'103' AS 账套,inv.cInvCode,inv.cInvName,popo.cVenCode,
+		sum(isnull(popos.iReceivedQTY,0)+isnull(popos.iArrQTY,0))AS 入库数量
+		from UFDATA_103_2021.dbo.po_pomain popo
+		inner join UFDATA_103_2021.dbo.PO_Podetails popos on popo.POID=popos.POID
+		inner join UFDATA_103_2021.dbo.Inventory inv on inv.cInvCode=popos.cInvCode
+		where popo.cPOID like CONCAT('%',#{code},'%') and (left(inv.cInvCCode,2) not in ('02','03','04')
+		or inv.cInvCCode in ('0299','0399','0499'))
+		and isnull(popos.cbCloser,'asuser')='asuser'
+		group by inv.cInvCode,inv.cInvName,popo.cVenCode
+
+		) as popo on
+		popo.计划单号=ommo.计划单号 and popo.cInvCode=ommo.cInvCode
+		WHERE  (OMMO.cInvCCode not in ('0299','0399','0499') or ISNULL(popo.cVenCode,0)!='T020001'  or 入库数量=0)
+		UNION ALL
+		SELECT OMMO.计划单号,OMMO.CCODE,OMMO.cInvCode,cInvCCode,OMMO.goodsName,OMMO.dosage,OMMO.usageQuantity,NULL AS 入库数量
+		FROM (select #{code} AS 计划单号,ommo.ccode,inv_z.cInvCode,inv_z.cInvCCode,inv_z.cInvName as goodsName,
+		avg(ommoms.iUnitQuantity) as dosage,sum(ommoms.iSendQTY) as usageQuantity
+		from UFDATA_103_2021.dbo.OM_MOMaterials ommoms
+		inner join UFDATA_103_2021.dbo.OM_MODetails ommos on ommos.MODetailsID=ommoms.MoDetailsID
+		inner join UFDATA_103_2021.dbo.om_momain ommo on ommo.MOID=ommos.MOID
+		inner join UFDATA_103_2021.dbo.Inventory inv_c on inv_c.cInvCode=ommos.cInvCode
+		inner join UFDATA_103_2021.dbo.Inventory inv_z on inv_z.cInvCode=ommoms.cInvCode
+		inner join UFDATA_103_2021.dbo.Vendor on vendor.cVenCode=ommo.cVenCode
+		where left(inv_c.cInvCCode,2)='19' and (left(inv_z.cInvCCode,2) not in ('02','03','04') -- or inv_z.cInvCCode in ('0299','0399','0499')
+		)and ommo.ccode like CONCAT('%',#{code},'%') and isnull(ommos.cbCloser,'asuser')='asuser'
+		group by ommo.ccode,inv_z.cInvCode,inv_z.cInvName,inv_z.cInvCCode) AS OMMO
+		LEFT JOIN (SELECT #{code} AS 计划单号,OMMO.cVenCode,OMMO.CCODE FROM UFDATA_103_2021.dbo.om_momain ommo inner join UFDATA_103_2021.dbo.OM_MODetails ommos on ommo.MOID=ommos.MOID
+		inner join UFDATA_103_2021.dbo.Inventory inv on inv.cInvCode=ommos.cInvCode WHERE INV.cInvCCode IN ('0299','0399','0499')
+		and ommo.ccode like CONCAT('%',#{code},'%') and isnull(ommos.cbCloser,'asuser')='asuser') AS POPO
+		ON POPO.cVenCode=OMMO.cInvCode AND POPO.计划单号=OMMO.计划单号
+		WHERE POPO.cCode IS NULL
+		) AS OMMO
+		left join (select #{code} as 计划单号, cVenAbbName,cInvCode,sum(iOriSum) as iOriSum,sum(iSum) as iSum,
+		sum(iNoTaxMoney) as iNoTaxMoney,sum(iQuantityIn) as iQuantityIn,sum(iQuantityInvoice) as iQuantityInvoice
+		,sum(iQuantitySettle) as iQuantitySettle
+		,(CASE WHEN sum(iQuantityIn)!=0 THEN round(sum(iOriSum)/sum(iQuantityIn),5) ELSE 0 END) AS  原币单价
+		,(CASE WHEN sum(iQuantityIn)!=0 THEN round(sum(iSum)/sum(iQuantityIn),5) ELSE 0 END) AS  本币单价
+		from  VIEW_FabricLoss_Cost_Assist
+		where cPoid like  CONCAT('%',#{code},'%') -- and cVenAbbName!='宁波森语'  and cVenAbbName!='马菲羊'
+		group by cVenAbbName,cInvCode)
+		AS POPO1 ON POPO1.cInvCode=OMMO.cInvCode
+		where  (POPO1.cVenAbbName!='宁波森语' and POPO1.cVenAbbName!='马菲羊') or POPO1.cVenAbbName is null
+	</select>
 
 	<select id="queryByCostIngredient2" resultType="org.jeecg.modules.cost.entity.SyCostAllocationIngredient">
 		select OMMO.计划单号 ,ommo.cVenAbbName,OMMO.cInvCode goodsCode,cInvCCode,OMMO.goodsName,OMMO.dosage,OMMO.usageQuantity,入库数量,
@@ -154,24 +266,19 @@ SELECT   	case when (a.iQuantityIn-b.usageQuantity)/a.iQuantityIn   <![CDATA[<=]
 		when (iQuantityIn-usageQuantity)/iQuantityIn   <![CDATA[<=]]> 0 then '0'
 		else (iQuantityIn-usageQuantity)/iQuantityIn end as loss,
 		popo1.iQuantitySettle as 结算数量
-		from
-		(
-		SELECT OMMO.计划单号,OMMO.cVenAbbName,OMMO.cInvCode,cInvCCode,OMMO.goodsName,OMMO.dosage,OMMO.usageQuantity,ISNULL(入库数量,0) AS 入库数量
-		FROM
-		(select #{code} AS 计划单号,'101' AS 账套,Vendor.cVenAbbName,inv_z.cInvCode,inv_z.cInvCCode,
+		from(SELECT OMMO.计划单号,OMMO.cVenAbbName,OMMO.cInvCode,cInvCCode,OMMO.goodsName,OMMO.dosage,OMMO.usageQuantity,ISNULL(入库数量,0) AS 入库数量
+		FROM( select #{code} AS 计划单号,'101' AS 账套,Vendor.cVenAbbName,inv_z.cInvCode,inv_z.cInvCCode,
 		inv_z.cInvName as goodsName,avg(ommoms.iUnitQuantity) as dosage,sum(ommoms.iSendQTY) as usageQuantity
-		from
-		UFDATA_101_2021.dbo.OM_MOMaterials ommoms inner join UFDATA_101_2021.dbo.OM_MODetails ommos on ommos.MODetailsID=ommoms.MoDetailsID
+		from UFDATA_101_2021.dbo.OM_MOMaterials ommoms inner join UFDATA_101_2021.dbo.OM_MODetails ommos on ommos.MODetailsID=ommoms.MoDetailsID
 		inner join UFDATA_101_2021.dbo.om_momain ommo on ommo.MOID=ommos.MOID
 		inner join UFDATA_101_2021.dbo.Inventory inv_c on inv_c.cInvCode=ommos.cInvCode
 		inner join UFDATA_101_2021.dbo.Inventory inv_z on inv_z.cInvCode=ommoms.cInvCode
 		inner join UFDATA_101_2021.dbo.Vendor on vendor.cVenCode=ommo.cVenCode
 		where left(inv_c.cInvCCode,2)='19' and (left(inv_z.cInvCCode,2) not in ('02','03','04') or inv_z.cInvCCode in ('0299','0399','0499'))
 		and ommo.ccode like CONCAT('%',#{code},'%') and isnull(ommos.cbCloser,'asuser')='asuser'
-		group by Vendor.cVenAbbName,inv_z.cInvCode,inv_z.cInvName,inv_z.cInvCCode) as ommo left join
+		group by Vendor.cVenAbbName,inv_z.cInvCode,inv_z.cInvName,inv_z.cInvCCode ) as ommo left join
 		(select #{code} AS 计划单号,'101' AS 账套,inv.cInvCode,inv.cInvName,popo.cVenCode,sum(isnull(popos.iReceivedQTY,0)+isnull(popos.iArrQTY,0))AS 入库数量
-		from
-		UFDATA_101_2021.dbo.po_pomain popo inner join UFDATA_101_2021.dbo.PO_Podetails popos on popo.POID=popos.POID
+		from UFDATA_101_2021.dbo.po_pomain popo inner join UFDATA_101_2021.dbo.PO_Podetails popos on popo.POID=popos.POID
 		inner join UFDATA_101_2021.dbo.Inventory inv on inv.cInvCode=popos.cInvCode
 		where popo.cPOID like CONCAT('%',#{code},'%') and (left(inv.cInvCCode,2) not in ('02','03','04') or inv.cInvCCode in ('0299','0399','0499'))
 		and isnull(popos.cbCloser,'asuser')='asuser'
@@ -180,17 +287,15 @@ SELECT   	case when (a.iQuantityIn-b.usageQuantity)/a.iQuantityIn   <![CDATA[<=]
  		WHERE  (OMMO.cInvCCode not in ('0299','0399','0499') or ISNULL(popo.cVenCode,0)!='T020001'  or 入库数量=0)
 		UNION ALL
 		SELECT OMMO.计划单号,OMMO.CCODE,OMMO.cInvCode,cInvCCode,OMMO.goodsName,OMMO.dosage,OMMO.usageQuantity,NULL AS 入库数量
-		FROM
-		(select #{code} AS 计划单号,ommo.ccode,inv_z.cInvCode,inv_z.cInvCCode,inv_z.cInvName as goodsName,
+		FROM (select #{code} AS 计划单号,ommo.ccode,inv_z.cInvCode,inv_z.cInvCCode,inv_z.cInvName as goodsName,
 		avg(ommoms.iUnitQuantity) as dosage,sum(ommoms.iSendQTY) as usageQuantity
-		from
-		UFDATA_103_2021.dbo.OM_MOMaterials ommoms inner join UFDATA_103_2021.dbo.OM_MODetails ommos on ommos.MODetailsID=ommoms.MoDetailsID
+		from UFDATA_103_2021.dbo.OM_MOMaterials ommoms
+		inner join UFDATA_103_2021.dbo.OM_MODetails ommos on ommos.MODetailsID=ommoms.MoDetailsID
 		inner join UFDATA_103_2021.dbo.om_momain ommo on ommo.MOID=ommos.MOID
 		inner join UFDATA_103_2021.dbo.Inventory inv_c on inv_c.cInvCode=ommos.cInvCode
 		inner join UFDATA_103_2021.dbo.Inventory inv_z on inv_z.cInvCode=ommoms.cInvCode
 		inner join UFDATA_103_2021.dbo.Vendor on vendor.cVenCode=ommo.cVenCode
 		where left(inv_c.cInvCCode,2)='19' and (left(inv_z.cInvCCode,2) not in ('02','03','04') -- or inv_z.cInvCCode in ('0299','0399','0499')
-
 		)and ommo.ccode like CONCAT('%',#{code},'%') and isnull(ommos.cbCloser,'asuser')='asuser'
 		group by ommo.ccode,inv_z.cInvCode,inv_z.cInvName,inv_z.cInvCCode) AS OMMO
 		LEFT JOIN (SELECT #{code} AS 计划单号,OMMO.cVenCode,OMMO.CCODE FROM UFDATA_103_2021.dbo.om_momain ommo inner join UFDATA_103_2021.dbo.OM_MODetails ommos on ommo.MOID=ommos.MOID
@@ -205,12 +310,12 @@ SELECT   	case when (a.iQuantityIn-b.usageQuantity)/a.iQuantityIn   <![CDATA[<=]
 		,(CASE WHEN sum(iQuantityIn)!=0 THEN round(sum(iOriSum)/sum(iQuantityIn),5) ELSE 0 END) AS  原币单价
 		,(CASE WHEN sum(iQuantityIn)!=0 THEN round(sum(iSum)/sum(iQuantityIn),5) ELSE 0 END) AS  本币单价
 		from  VIEW_FabricLoss_Cost_Assist
-		where cPoid like  CONCAT('%',#{code},'%')  and cVenAbbName!='宁波森语'
+		where cPoid like  CONCAT('%',#{code},'%') and cVenAbbName!='宁波森语' -- and cVenAbbName!='马菲羊'
 		group by cVenAbbName,cInvCode)
 		AS POPO1 ON POPO1.cInvCode=OMMO.cInvCode
+-- 		where  (POPO1.cVenAbbName!='宁波森语' and POPO1.cVenAbbName!='马菲羊') or POPO1.cVenAbbName is null
 	</select>
 
-
     <!--	<select id="queryByCostIngredient1" resultType="org.jeecg.modules.cost.entity.SyCostAllocationIngredient">-->
 <!--		select tab.*,isnull(tab1.purchaseQuantity,0) as purchaseQuantity,-->
 <!--		case when isnull(tab2.jian,0)-isnull(tab1.purchaseQuantity,0) <![CDATA[<=]]> 0 then 0-->

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationMapper.xml

@@ -127,7 +127,7 @@
             max(ss1.cSOCode) as garmentContractno,max(de.cDepName) as department,
             max(cu.cCusAbbName) as customerShortame,v.cVenAbbName as processUnit,
             max(ss1.iTaxRate) as taxrate,max(ss1.cMaker) as preparedBy,sum(s1.iNatSum) as salesordersLocaltotal,
-            sum(s.iSum) as salesrrdersOriginaltotal,sum(o.iQuantity) as planQuantity
+            sum(s1.iSum) as salesrrdersOriginaltotal,sum(o.iQuantity) as planQuantity
         FROM  UFDATA_103_2021.dbo.SO_SODetails a
         inner JOIN UFDATA_103_2021.dbo.SO_SOMain b on b.ID= a.ID
         inner JOIN (

+ 50 - 55
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/service/impl/SyCostAllocationServiceImpl.java

@@ -191,10 +191,8 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
             return null;
         }
         syCostAllocation = list.get(0);
-//        System.out.println("Arrays.asList(syCostAllocation.getGarmentContractno().split(\",\"))\t"+Arrays.asList(syCostAllocation.getGarmentContractno().split(",")));
         List<String> strs3=Arrays.asList(syCostAllocation.getGarmentContractno().split(",")).stream().distinct().collect(Collectors.toList());
         List<String> strs= syCostAllocationMapper.queryByCostHead2(plannum);
-//        System.out.println("获取成衣strs.size\t"+strs.size());
         syCostAllocation.setGarmentContractno(strs.toString().substring(1,strs.toString().length()-1));
         // 销售订单附件
         List<AccessorItem> accessorItemList = new ArrayList<>();
@@ -235,17 +233,11 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
             }
 //            syCostAllocation.setFabriccostIncludestax(new BigDecimal(fabricLoss1.getActualMoney()));// 实际总金额
             syCostAllocation.setFabriccostIncludestax(fabariccostIncludestax);// 实际总金额
-            System.out.println("fabricCostInvoiceList\t"+fabricLoss1.getFabricCostInvoiceList());
-            System.out.println("fabricCostInvoiceList.SIZE\t"+fabricLoss1.getFabricCostInvoiceList().size());
-            System.out.println("面辅料人名币含税成本\t"+fabricLoss1.getActualMoney());
+//            System.out.println("实际总金额1\t"+fabariccostIncludestax);
             syCostAllocation.setFabriccostNotincludestax(syCostAllocation.getFabriccostIncludestax().divide(new BigDecimal(1.13),2,BigDecimal.ROUND_HALF_UP));
-//            System.out.println("面辅料人名币含税成本\t"+syCostAllocation.getFabriccostInc ludestax());
-//            System.out.println("面辅料人名币不含税成本\t"+syCostAllocation.getFabriccostNotincludestax());
             //美元面料含税成本和不含税成本
             syCostAllocation.setFabriccostIncludestaxUsd(syCostAllocation.getFabriccostIncludestax().divide(syCostAllocation.getExchangeRate(),2,BigDecimal.ROUND_HALF_UP));
             syCostAllocation.setFabriccostNotincludestaxUsd(syCostAllocation.getFabriccostIncludestaxUsd().divide(new BigDecimal(1.13),2,BigDecimal.ROUND_HALF_UP));
-//            System.out.println("面辅料美元含税成本\t"+syCostAllocation.getFabriccostInc ludestaxUsd());
-//            System.out.println("面辅料美元不含税成本\t"+syCostAllocation.getFabriccostNotincludestaxUsd());
         }
 
         /*如果出现多供应商的情况拼接 供应商*/
@@ -265,8 +257,10 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
             syCostAllocation.setSupperAccidentUsdamount(BigDecimal.ZERO);
         }
 
+        int planQuantity=syCostAllocation.getPlanQuantity().intValue();
+
         /*查询U8数据 面料*/
-        List<SyCostAllocationFabric> list3 = syCostAllocationFabricMapper.queryByCostFabric1(plannum);
+        List<SyCostAllocationFabric> list3 = syCostAllocationFabricMapper.queryByCostFabric3(plannum,planQuantity);
 
         for (int i=0;i<list3.size();i++) {
 
@@ -284,9 +278,11 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
             if(oConvertUtils.isEmpty(Fabric.getFabrictransferQuantity())){
                 Fabric.setFabrictransferQuantity(BigDecimal.ZERO);
             }
+            if(oConvertUtils.isEmpty(Fabric.getFabricremainingQuantity())){
+                Fabric.setFabricremainingQuantity(BigDecimal.ZERO);
+            }
             //转入数量、余下数量
             if(0!=Fabric.getFabrictransferQuantity().compareTo(BigDecimal.ZERO) || 0!=Fabric.getFabricremainingQuantity().compareTo(BigDecimal.ZERO)){
-                System.out.println("goodsName\t"+Fabric.getGoodsName()+"Fabric.getFabrictransferQuantity()\t"+Fabric.getFabrictransferQuantity());
                 List<SyTransfer> transferlist  = syCostAllocationFabricMapper.queryTransferByFabric(plannum,Fabric.getGoodsName());
                 BigDecimal cost = new BigDecimal(BigInteger.ZERO);
                 BigDecimal quantity = new BigDecimal(BigInteger.ZERO);
@@ -311,7 +307,6 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
                                 BigDecimal unitCost1=syTransfer.getUnitCost();
                                 BigDecimal number2=new BigDecimal(syTransfer.getNumber()).setScale(4, RoundingMode.HALF_UP);
                                 syTransfer.setCost(unitCost1.multiply(number2).setScale(2, RoundingMode.HALF_UP));
-//                                System.out.println("GoodsName\t"+syTransfer.getGoodsName()+"UnitCost\t"+syTransfer.getUnitCost());
 //                                syTransfer.setCost(syTransfer.getUnitCost().multiply(new BigDecimal(syTransfer.getNumber())));
                                 cost=cost.add(syTransfer.getCost());
                             }
@@ -335,12 +330,8 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
                 long startTime = System.currentTimeMillis();
                 List<SyRemaining> syRemaining  = syCostAllocationFabricMapper.queryRemainingByFabric(plannum,Fabric.getGoodsName());
                 long endTime2 = System.currentTimeMillis();
-                System.out.println("查询面料余下数量所耗时:" + (endTime2 - startTime) + "ms");
                 BigDecimal cost = new BigDecimal(BigInteger.ZERO);
                 for (SyRemaining syRemain:syRemaining) {
-//                    System.out.println("Fabric.fabricremainingQuantity\t"+Fabric.getFabricremainingQuantity());
-//                    System.out.println("syRemain.number\t"+syRemain.getNumber());
-//                    System.out.println("syRemainList\n"+syRemain);
 //                    syRemain.setNumber(Fabric.getFabricremainingQuantity().toString());
                     //查询单证面损数据
                     SyFabricLossReport syFabricLossReport = null;
@@ -356,7 +347,6 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
                     if (syFabricLossReport != null){
                         fabricLoss = JSON.parseObject(JSON.toJSONString(syFabricLossReport.getContent()), FabricLoss.class);
                         for (FabricOMOrder fabricOMOrder:fabricLoss.getFabricOMOrderList2()) {
-//                            System.out.println("fabricOMOrder.cColor\t"+fabricOMOrder.getCColor()+"\tsyRemain.color\t"+syRemain.getColor());
                             if(fabricOMOrder.getCInvName().equals(syRemain.getGoodsName())&&
                                     fabricOMOrder.getCColor()!=null&&syRemain.getColor()!=null&&
                                     fabricOMOrder.getCColor().equals(syRemain.getColor())){
@@ -365,34 +355,18 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
                                 syRemain.setCost(syRemain.getUnitCost().multiply(new BigDecimal(syRemain.getNumber())));
 //                                cost=cost.add(syRemain.getCost()).setScale(2, RoundingMode.HALF_UP);
                                 cost=cost.add(syRemain.getCost());
-//                                System.out.println("数量\t"+syRemain.getNumber()+"\t成本\t"+syRemain.getUnitCost()+"\t余下数量的成本\t"+cost);
                             }
                         }
                     }
                 }
                 Fabric.setRemainingQuantitycost(cost);
                 BigDecimal costUsd=cost.divide(syCostAllocation.getExchangeRate(),4,BigDecimal.ROUND_HALF_UP);
-                System.out.println("\t含税合计人民币总价\t"+syCostAllocation.getFabriccostIncludestax()+"\t需要减去的人民币\t"+cost);
-//                System.out.println("\t不含税合计人民币总价\t"+syCostAllocation.getFabriccostNotincludestax()+"\t需要减去的人民币\t"+cost);
-//                System.out.println("\t含税合计美元总价\t"+syCostAllocation.getFabriccostIncludestaxUsd()+"\t需要减去的美元\t"+costUsd);
-//                System.out.println("\t不含税合计美元总价\t"+syCostAllocation.getFabriccostNotincludestaxUsd()+"\t需要减去的美元\t"+costUsd);
-//                System.out.println("面辅料人名币含税成本\t"+syCostAllocation.getFabriccostIncludestax());
-//                System.out.println("面辅料人名币不含税成本\t"+syCostAllocation.getFabriccostNotincludestax());
                 if(syCostAllocation!=null&&syCostAllocation.getFabriccostIncludestax()!=null){
 //                    syCostAllocation.setFabriccostIncludestax(syCostAllocation.getFabriccostIncludestax().subtract(cost).setScale(2, RoundingMode.HALF_UP));
 //                    syCostAllocation.setFabriccostIncludestaxUsd(syCostAllocation.getFabriccostIncludestaxUsd().subtract(costUsd).setScale(2, RoundingMode.HALF_UP));
                 }
 
-//                syCostAllocation.setFabriccostNotincludestax(syCostAllocation.getFabriccostNotincludestax().subtract(cost));
-//                System.out.println("\t不含税合计人民币总价\t"+syCostAllocation.getFabriccostNotincludestax());
-//                System.out.println("面辅料美元含税成本\t"+syCostAllocation.getFabriccostIncludestaxUsd());
-//                System.out.println("面辅料美元不含税成本\t"+syCostAllocation.getFabriccostNotincludestaxUsd());
-//                syCostAllocation.setFabriccostNotincludestaxUsd(syCostAllocation.getFabriccostNotincludestaxUsd().subtract(costUsd));
-////                System.out.println("余下数量的总成本\t"+Fabric.getRemainingQuantitycost());
-//                System.out.println("面辅料美元含税成本\t"+syCostAllocation.getFabriccostIncludestaxUsd());
-//                System.out.println("面辅料美元不含税成本\t"+syCostAllocation.getFabriccostNotincludestaxUsd());
                 Fabric.setSyRemaining(syRemaining);
-                System.out.println("余下数量\n"+syRemaining);
             }
 
             //多发少发链接结合赋值
@@ -427,21 +401,31 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
 
                     for(SyCostAllocationFabric li:list3){
                         if(str.getCInvName().equals(li.getGoodsName())){
-                            //(发票金额/发票数量)*使用数量
+//                            if (str.getInvoiceQuantity().compareTo(li.getUsageQuantity())!=0){
+//                                BigDecimal money = str.getFabriccostIncludestax().divide(str.getInvoiceQuantity(),2,BigDecimal.ROUND_HALF_UP);
+//                                BigDecimal num = money.multiply(li.getUsageQuantity());
+//                                usageQuantityTotal = usageQuantityTotal.add(num);
+//                            }else{
+//                                usageQuantityTotal = usageQuantityTotal.add(str.getFabriccostIncludestax());
+//                            }
                             BigDecimal money = str.getFabriccostIncludestax().divide(str.getInvoiceQuantity(),2,BigDecimal.ROUND_HALF_UP);
                             BigDecimal num = money.multiply(li.getUsageQuantity());
                             usageQuantityTotal = usageQuantityTotal.add(num);
+
                             BigDecimal money1 = str.getFabriccostNotincludestax().divide(str.getInvoiceQuantity(),2,BigDecimal.ROUND_HALF_UP);
                             BigDecimal num1 = money1.multiply(li.getUsageQuantity());
                             notincludestaxTotal = notincludestaxTotal.add(num1);
                             BigDecimal money2 = str.getFabriccostIncludestaxUsd().divide(str.getInvoiceQuantity(),2,BigDecimal.ROUND_HALF_UP);
                             BigDecimal num2 = money2.multiply(li.getUsageQuantity());
                             includestaxTotal = includestaxTotal.add(num2);
+                            //(发票金额/发票数量)*使用数量
+                            System.out.println("面料含税成本\t"+usageQuantityTotal+"\t面料不含税成本\t"+notincludestaxTotal+"\t发票数量\t"+str.getInvoiceQuantity()+"\t使用数量\t"+li.getUsageQuantity());
                         }
                     }
                 }
 
                 syCostAllocation.setFabriccostIncludestax(usageQuantityTotal.setScale(2,BigDecimal.ROUND_HALF_UP));
+                System.out.println("实际总金额2\t"+usageQuantityTotal);
                 syCostAllocation.setFabriccostNotincludestax(notincludestaxTotal);
                 syCostAllocation.setFabriccostIncludestaxUsd(includestaxTotal);
             }else{
@@ -452,22 +436,31 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
 
         }
 
-        //查询U8数据 辅料数据关联临时表
-        List<SyCostAllocationIngredient> list4 = syCostAllocationIngredientMapper.queryByCostIngredient2(plannum);
+        //查询U8数据 辅料数据关联临时表 syTransfers
+        List<SyCostAllocationIngredient> list4 = syCostAllocationIngredientMapper.queryByCostIngredient4(plannum,syCostAllocation.getExchangeRate());
         HashMap<String,List<SyCostAllocationIngredient>> stringListHashMap=new HashMap();//物料名称+物料编码
         HashMap<String,List<SyCostAllocationIngredient>> stringListHashMap2=new HashMap();//物料名称+物料编码+供应商
         List<SyCostAllocationIngredient> ingredients4=new ArrayList<>();//重新赋值
         HashMap<String,BigDecimal> stringBigDecimalHashMap=new HashMap();//获取转入数量 syf107
         for (SyCostAllocationIngredient ingredient : list4){
-//            System.out.println("物料名称---"+ingredient.getGoodsName()+"\t编码---"+ingredient.getGoodsCode()+"\t转入数量---"+ingredient.getIngredientsTransferQuantity());
             if (stringListHashMap.containsKey(ingredient.getGoodsName()+ingredient.getGoodsCode())){
                 List<SyCostAllocationIngredient> ingredients=stringListHashMap.get(ingredient.getGoodsName()+ingredient.getGoodsCode());
                 ingredients.add(ingredient);
-                BigDecimal transferQuantity=new BigDecimal("0");
+                BigDecimal transferQuantity=new BigDecimal("0");//转入数量
                 for (SyCostAllocationIngredient ingredient1 : ingredients){
-                    transferQuantity=transferQuantity.add(ingredient1.getIngredientsTransferQuantity());
+                    transferQuantity=transferQuantity.add(ingredient1.getIngredientsTransferQuantity());//转入数量
                 }
-                stringBigDecimalHashMap.put(ingredient.getGoodsName()+ingredient.getGoodsCode(),transferQuantity);
+                BigDecimal usageQuantity=new BigDecimal("0");//使用数量
+                BigDecimal purchaseQuantity=new BigDecimal("0");//购入数量
+                for (SyCostAllocationIngredient ingredient1 : ingredients){
+                    if (usageQuantity.compareTo(ingredient1.getUsageQuantity())!=0){
+                        usageQuantity=usageQuantity.add(ingredient1.getUsageQuantity());//转入数量
+                    }
+                    purchaseQuantity=purchaseQuantity.add(ingredient1.getPurchaseQuantity());
+                }
+                stringBigDecimalHashMap.put(ingredient.getGoodsName()+ingredient.getGoodsCode()+"ingredientsTransferQuantity",transferQuantity);
+                stringBigDecimalHashMap.put(ingredient.getGoodsName()+ingredient.getGoodsCode()+"usageQuantity",usageQuantity);
+                stringBigDecimalHashMap.put(ingredient.getGoodsName()+ingredient.getGoodsCode()+"purchaseQuantity",purchaseQuantity);
                 stringListHashMap.put(ingredient.getGoodsName()+ingredient.getGoodsCode(),ingredients);
             }else{
                 List<SyCostAllocationIngredient> ingredients=new ArrayList<>();
@@ -486,12 +479,18 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
             }
         }
         for (List<SyCostAllocationIngredient> syCostAllocationIngredients : stringListHashMap.values()){
-            if (syCostAllocationIngredients.size()>1){
+            if (syCostAllocationIngredients.size()>1){//解决转入数量和使用数量问题
                 for (SyCostAllocationIngredient ingredient : syCostAllocationIngredients){
-                    BigDecimal transferQuantity=stringBigDecimalHashMap.get(ingredient.getGoodsName()+ingredient.getGoodsCode());
-//                    System.out.println("ingredient.getUsageQuantity()\t"+ingredient.getUsageQuantity()+"\ttransferQuantity\t"+transferQuantity);
+                    BigDecimal transferQuantity=stringBigDecimalHashMap.get(ingredient.getGoodsName()+ingredient.getGoodsCode()+"ingredientsTransferQuantity");
+                    BigDecimal usageQuantity=stringBigDecimalHashMap.get(ingredient.getGoodsName()+ingredient.getGoodsCode()+"usageQuantity");
+                    BigDecimal purchaseQuantity=stringBigDecimalHashMap.get(ingredient.getGoodsName()+ingredient.getGoodsCode()+"purchaseQuantity");
                     if (ingredient.getUsageQuantity().equals(transferQuantity)){
                         ingredient.setIngredientsTransferQuantity(ingredient.getUsageQuantity().subtract(transferQuantity));
+//                        ingredient.setUsageQuantity(ingredient.getUsageQuantity().subtract(usageQuantity));
+                    }
+                    if (usageQuantity.compareTo(purchaseQuantity)==0){
+                        ingredient.setUsageQuantity(ingredient.getPurchaseQuantity());
+//                        ingredient.setUsageQuantity(ingredient.getUsageQuantity().subtract(usageQuantity));
                     }
                 }
             }
@@ -507,12 +506,10 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
                        //转入数量
                        allocationIngredient1.setIngredientsTransferQuantity(allocationIngredient1.getIngredientsTransferQuantity().add(ingredient.getIngredientsTransferQuantity()));
                        //转入成本
-                       System.out.println("allocationIngredient1.getTransferCost()\t"+allocationIngredient1.getTransferCost()+"\tingredient.getTransferCost()\t"+ingredient.getTransferCost());
-                       allocationIngredient1.setTransferCost(allocationIngredient1.getTransferCost().add(ingredient.getTransferCost()));
+//                       allocationIngredient1.setTransferCost(allocationIngredient1.getTransferCost().add(ingredient.getTransferCost()));
                        //使用数量
 //                       allocationIngredient1.setUsageQuantity(allocationIngredient1.getUsageQuantity().add(ingredient.getUsageQuantity()));
                        //购入数量
-                       System.out.println("allocationIngredient1.getPurchaseQuantity()\t"+allocationIngredient1.getPurchaseQuantity()+"\tingredient.getPurchaseQuantity()\t"+ingredient.getPurchaseQuantity());
                        BigDecimal PurchaseQuantity=(allocationIngredient1.getPurchaseQuantity().add(ingredient.getPurchaseQuantity()));
                        allocationIngredient1.setPurchaseQuantity(PurchaseQuantity);
                        //余下数量
@@ -521,7 +518,7 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
                            allocationIngredient1.setIngredientsRemainingQuantity(ingredientsRemainingQuantity);
                        }else{
                            allocationIngredient1.setIngredientsRemainingQuantity(BigDecimal.ZERO);
-                           allocationIngredient1.setTransferCost(BigDecimal.ZERO);
+//                           allocationIngredient1.setTransferCost(BigDecimal.ZERO);
                        }
 //                       allocationIngredient1.setIngredientsRemainingQuantity(allocationIngredient1.getPurchaseQuantity().subtract(ingredient.getUsageQuantity()));
                        //转入数量
@@ -567,10 +564,13 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
 
         for (int i=0;i<list4.size();i++) {
             SyCostAllocationIngredient Ingredient = list4.get(i);
-            //若转入数量不为0则给转入数据对象赋值
+            //若转入数量不为0则给转入数据对象赋值  List<SyTransfer>
+//            System.out.println("辅料转入数量\t"+Ingredient.getIngredientsTransferQuantity());
+//            System.out.println("辅料判断\t"+(0!=Ingredient.getIngredientsTransferQuantity().compareTo(BigDecimal.ZERO)));
             if(0!=Ingredient.getIngredientsTransferQuantity().compareTo(BigDecimal.ZERO)){
-                List<SyTransfer> transferlist  = syCostAllocationFabricMapper.queryTransferByFabric(plannum,Ingredient.getGoodsName());
+                List<SyTransfer> transferlist  = syCostAllocationFabricMapper.queryTransferByFabric2(plannum,Ingredient.getGoodsName());
 //                syCostAllocationIngredientMapper.queryTransferByIngredient(plannum,Ingredient.getGoodsName());
+//                Ingredient.setSyTransfers(transferlist);
                 Ingredient.setSyTransfers(transferlist);
             }
             //若剩余数量不为0则给转入数据对象赋值
@@ -583,9 +583,6 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
             }
 
 //            List<String> strs2=Arrays.asList(Ingredient.getSupper().split(",")).stream().distinct().collect(Collectors.toList());
-//            System.out.println("Ingredient.getSupper()\t"+Ingredient.getSupper());
-//            System.out.println("strs2.toString().substring(1,strs2.toString().length()-1)\t"+strs2.toString().substring(1,strs2.toString().length()-1));
-//            System.out.println("strs2\t"+strs2);
 //            Ingredient.setSupper(strs2.toString().substring(1,strs2.toString().length()-1));
 //            2023.08.30 改为美元金额 = 人民币金额除以销售订单汇率
             if(oConvertUtils.isNotEmpty(Ingredient.getRmbAmount())){
@@ -599,8 +596,7 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
                     syCostAllocation.setExcipiencostIncludestaxUsd(BigDecimal.ZERO);
                 }
                 //人民币金额 RmbAmount+ 辅料含税成本 ExcipiencostIncludestax
-                System.out.println("RmbAmount\t"+Ingredient.getRmbAmount()+"ExcipiencostIncludestax\t"+syCostAllocation.getExcipiencostIncludestax());
-                System.out.println("UsdAmount\t"+Ingredient.getUsdAmount()+"ExcipiencostIncludestaxUsd\t"+syCostAllocation.getExcipiencostIncludestaxUsd());
+//                System.out.println("getRmbAmount\t"+Ingredient.getRmbAmount()+"getExcipiencostIncludestax\t"+syCostAllocation.getExcipiencostIncludestax());
                 syCostAllocation.setExcipiencostIncludestax(Ingredient.getRmbAmount().add(syCostAllocation.getExcipiencostIncludestax()));
                 syCostAllocation.setExcipiencostIncludestaxUsd(Ingredient.getUsdAmount().add(syCostAllocation.getExcipiencostIncludestaxUsd()));
 
@@ -750,7 +746,6 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
         syCostAllocation.setPlanNum(plannum);
         if (syCostAllocation.getShortvalue()!=null&&syCostAllocation.getShortvalue().intValue()>0){
             BigDecimal shortvalue=(syCostAllocation.getSalesrrdersOriginaltotal().subtract(syCostAllocation.getUsdTotalexportprice())).multiply(syCostAllocation.getExchangeRate());
-//            System.out.println("shortvalue\t"+shortvalue);
             syCostAllocation.setShortvalue(shortvalue);
         }
         return syCostAllocation;

+ 13 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/controller/SyCostLossReviewController.java

@@ -93,7 +93,9 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
        IPage<SyCostLossReview> nullList = new Page<>();
        List<String> sumList = new ArrayList<>();
        if(syCostLossReview.getPlanNo()=="" || syCostLossReview.getPlanNo()==null){
-           if(syCostLossReview.getFstatus()!=null && syCostLossReview.getFstatus()!="" || oConvertUtils.isNotEmpty(syCostLossReview.getFfirstApproveDateB())){
+           if(syCostLossReview.getFstatus()!=null && syCostLossReview.getFstatus()!=""
+                   ||oConvertUtils.isNotEmpty(syCostLossReview.getFfirstApproveDateB())
+                   ||oConvertUtils.isNotEmpty(syCostLossReview.getFfinalApproveDateB())){
                //查面损的数据
                List<String> statusList = new ArrayList<>();
                if(syCostLossReview.getFstatus()!=null){
@@ -104,7 +106,7 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
                }else{
                    statusList=null;
                }
-               List<String> list= syCostLossReviewService.queryCodeByfstatus(statusList,syCostLossReview.getFfirstApproveDateB(),syCostLossReview.getFfirstApproveDateE());
+               List<String> list= syCostLossReviewService.queryCodeByfstatus(statusList,syCostLossReview);
                if(list.size()<1){
                    return Result.OK(nullList);
                }
@@ -197,23 +199,27 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
            sumList=null;
        }
 
-
            IPage<SyCostLossReview> pageList;
            pageList = syCostLossReviewMapper.querylist(syCostLossReview,sumList,page,new ArrayList<>());
-           if(sumList != null && sumList.size()!=0&& oConvertUtils.isNotEmpty(sumList)){
+           if(sumList != null && sumList.size()!=0&& oConvertUtils.isNotEmpty(sumList)&&oConvertUtils.isEmpty(syCostLossReview.getDverifyDateB())){
                pageList.setTotal(sumList.size());
            }else {
                pageList.setTotal(syCostLossReviewMapper.querylistCount(syCostLossReview, sumList, new ArrayList<>()));
            }
 
+       long startTime = System.currentTimeMillis();
        //赋值制单人
        List<SyCostLossReview> listPlanNo = syCostLossReviewService.queryMakerByplanNo();
        Map<String, String> nameByCode = listPlanNo.stream()
                .collect(Collectors.toMap(SyCostLossReview::getPlanNo, SyCostLossReview::getMaker));
+       long endTime = System.currentTimeMillis();
+       System.out.println("生成时间:" + (endTime - startTime) + "ms");
        //赋值面损审批数据
        List<SyCostLossReview> list2 = syCostLossReviewService.querySyFabricLossByCode();
        Map<String, SyCostLossReview> map2 = list2.stream()
                .collect(Collectors.toMap(SyCostLossReview::getPlanNo, c2 -> c2));
+       long endTime2 = System.currentTimeMillis();
+       System.out.println("生成时间:" + (endTime2 - startTime) + "ms");
 
 //       //赋值面损审批数据2
 //       List<SyCostLossReview> list2 = syCostLossReviewService.querySyFabricLossByCode2();
@@ -224,8 +230,10 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
 //       List<SyCostLossReview> list3 = syCostLossReviewService.queryCostAllocationByCode();
 //       Map<String, SyCostLossReview> map3 = list3.stream()
 //               .collect(Collectors.toMap(SyCostLossReview::getPlanNo, c3 -> c3));
-
+//       System.out.println("sumListsumList\t"+sumList);
        List<SyCostLossReview> list3 = syCostLossReviewService.querySyFabricLossByCode2();
+       long endTime3 = System.currentTimeMillis();
+       System.out.println("生成时间:" + (endTime3 - startTime) + "ms");
        Map<String, SyCostLossReview> map3 = list3.stream()
                .collect(Collectors.toMap(SyCostLossReview::getPlanNo, c3 -> c3));
 

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/entity/SyCostLossReview.java

@@ -67,6 +67,9 @@ public class SyCostLossReview {
 	private String ffirstApproveDateE;
 
 	private String ffinalApproveDate;
+	//查询条件审核结束日期
+	private String ffinalApproveDateB;
+	private String ffinalApproveDateE;
 
 	private String fstatus;
 

+ 3 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/mapper/SyCostLossReviewMapper.java

@@ -40,7 +40,9 @@ public interface SyCostLossReviewMapper extends BaseMapper<SyCostLossReview> {
     @DS("multi-one")
     List<String> queryCodeBymaker(@Param("maker")String maker);
 
-    List<String> queryCodeByfstatus(@Param("status")List<String> status,@Param("ffirstApproveDateB")String ffirstApproveDateB,@Param("ffirstApproveDateE")String ffirstApproveDateE);
+    List<String> queryCodeByfstatus(@Param("status")List<String> status,
+                                    @Param("e")SyCostLossReview syCostLossReview);
+
     List<String> queryCodeBycstatus(@Param("status")List<String> status);
     List<String> queryCodeByPlanTable(@Param("remarks")String remarks,@Param("planMan")String planMan);
 

+ 65 - 29
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/mapper/xml/SyCostLossReviewMapper.xml

@@ -507,37 +507,71 @@ GROUP BY planNo;
 
     </select>
 
-    <select id="querySyFabricLossByCode" resultType="org.jeecg.modules.documents.costLossReview.entity.SyCostLossReview">
-        select UPPER(plan_code) as planNo,
-        (select processing_time from sy_approval_history
-        where plan_no = plan_code and stuta='提交'
-        order by processing_time limit 1) as fsubmitDate,
-        (select processing_time from sy_approval_history
-        where plan_no = plan_code and stuta='驳回'
-        order by processing_time limit 1) as frejectDate,
---         reject_date as frejectDate,
-        first_approve_date as ffirstApproveDate,
-        final_approve_date as ffinalApproveDate,
-        status as fstatus
-        from sy_fabric_loss_report
+<!--    <select id="querySyFabricLossByCode" resultType="org.jeecg.modules.documents.costLossReview.entity.SyCostLossReview">-->
+<!--        select UPPER(plan_code) as planNo,-->
+<!--        (select processing_time from sy_approval_history-->
+<!--        where plan_no = plan_code and stuta='提交'-->
+<!--        order by processing_time limit 1) as fsubmitDate,-->
+<!--        (select processing_time from sy_approval_history-->
+<!--        where plan_no = plan_code and stuta='驳回'-->
+<!--        order by processing_time limit 1) as frejectDate,-->
+<!--&#45;&#45;         reject_date as frejectDate,-->
+<!--        first_approve_date as ffirstApproveDate,-->
+<!--        final_approve_date as ffinalApproveDate,-->
+<!--        status as fstatus-->
+<!--        from sy_fabric_loss_report-->
+
+<!--    </select>-->
 
+    <select id="querySyFabricLossByCode" resultType="org.jeecg.modules.documents.costLossReview.entity.SyCostLossReview">
+       SELECT UPPER(plan_code) AS planNo,
+        a.processing_time AS fsubmitDate,
+        b.processing_time AS frejectDate,
+        first_approve_date AS ffirstApproveDate,
+        final_approve_date AS ffinalApproveDate,
+        status AS fstatus
+        FROM sy_fabric_loss_report
+        left join (SELECT plan_no,min(processing_time) processing_time
+        FROM sy_approval_history where stuta='提交' GROUP BY plan_no) a
+        on plan_code=a.plan_no
+        left join (SELECT plan_no,min(processing_time) processing_time
+        FROM sy_approval_history where stuta='驳回' GROUP BY plan_no) b
+        on plan_code=b.plan_no
     </select>
 
+<!--    <select id="querySyFabricLossByCode2" resultType="org.jeecg.modules.documents.costLossReview.entity.SyCostLossReview">-->
+<!--        select 	UPPER(a.plan_num) as planNo,-->
+<!--        a.status cstatus,-->
+<!--        (select processing_time from sy_cost_approval_history-->
+<!--        where plan_no=a.plan_num and stuta='提交' order by processing_time limit 1) csubmitDate,-->
+<!--        a.first_approve_date as cfirstApproveDate, &#45;&#45; 初审通过日期-->
+<!--        (select processing_time from sy_cost_approval_history-->
+<!--        where plan_no=a.plan_num and stuta='驳回' order by processing_time limit 1)  AS frejectDate, &#45;&#45; 返单日期-->
+<!--        (select processing_time from sy_cost_approval_history-->
+<!--        where plan_no=a.plan_num and stuta='审批通过' order by processing_time desc limit 1)  AS cfinalApproveDate, &#45;&#45; 终审通过日期-->
+<!--        cost_info ->> '$.remarks'  AS remarks-->
+<!--        from sy_cost_json a-->
+<!--        left join sy_cost_approval_history b on a.plan_num = b.plan_no-->
+<!--        group by a.plan_num-->
+<!--    </select>-->
+
     <select id="querySyFabricLossByCode2" resultType="org.jeecg.modules.documents.costLossReview.entity.SyCostLossReview">
-        select 	UPPER(a.plan_num) as planNo,
-        a.status cstatus,
-        (select processing_time from sy_cost_approval_history
-        where plan_no=a.plan_num and stuta='提交' order by processing_time limit 1) csubmitDate,
-        a.first_approve_date as cfirstApproveDate, -- 初审通过日期
-        (select processing_time from sy_cost_approval_history
-        where plan_no=a.plan_num and stuta='驳回' order by processing_time limit 1)  AS frejectDate, -- 返单日期
-        (select processing_time from sy_cost_approval_history
-        where plan_no=a.plan_num and stuta='审批通过' order by processing_time desc limit 1)  AS cfinalApproveDate, -- 终审通过日期
-        cost_info ->> '$.remarks'  AS remarks
+        select 	UPPER(a.plan_num) as planNo,a.status cstatus,
+            b.processing_time csubmitDate,
+            a.first_approve_date as cfirstApproveDate, -- 初审通过日期
+            c.processing_time AS frejectDate, -- 返单日期
+            d.processing_time AS cfinalApproveDate, -- 终审通过日期
+            cost_info ->> '$.remarks'  AS remarks
         from sy_cost_json a
-        left join sy_cost_approval_history b on a.plan_num = b.plan_no
-        group by a.plan_num
-
+        left join (SELECT plan_no,min(processing_time) processing_time
+        FROM sy_cost_approval_history where stuta='提交' GROUP BY plan_no) b
+        on plan_num=b.plan_no
+        left join (SELECT plan_no,min(processing_time) processing_time
+        FROM sy_cost_approval_history where stuta='驳回' GROUP BY plan_no) c
+        on plan_num=c.plan_no
+        left join (SELECT plan_no,min(processing_time) processing_time
+        FROM sy_cost_approval_history where stuta='审批通过' GROUP BY plan_no) d
+        on plan_num=d.plan_no group by a.plan_num
     </select>
 
     <select id="queryCostAllocationByCode" resultType="org.jeecg.modules.documents.costLossReview.entity.SyCostLossReview">
@@ -614,10 +648,12 @@ GROUP BY planNo;
             <foreach collection="status" item="value" index="index" open="(" separator="," close=")">
                 #{value}
             </foreach>
-
         </if>
-        <if test='ffirstApproveDateB !="" and ffirstApproveDateB != null'>
-            and first_approve_date between #{ffirstApproveDateB} and #{ffirstApproveDateE}
+        <if test='e.ffirstApproveDateB !="" and e.ffirstApproveDateE != null'>
+            and first_approve_date between #{e.ffirstApproveDateB} and #{e.ffirstApproveDateE}
+        </if>
+        <if test='e.ffinalApproveDateB !="" and e.ffinalApproveDateE != null'>
+            and final_approve_date between #{e.ffinalApproveDateB} and #{e.ffinalApproveDateE}
         </if>
 
     </select>

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/service/ISyCostLossReviewService.java

@@ -28,7 +28,7 @@ public interface ISyCostLossReviewService extends IService<SyCostLossReview> {
      List<SyCostLossReview> querySyFabricLossByCode2();
      List<SyCostLossReview> queryCostAllocationByCode();
      List<String> queryCodeBymaker(String maker);
-     List<String> queryCodeByfstatus(List<String> status,String ffirstApproveDateB,String ffirstApproveDateE);
+     List<String> queryCodeByfstatus(List<String> status,SyCostLossReview syCostLossReview);
      List<String> queryCodeBycstatus(List<String> status);
      List<String> queryCodeByPlanTable(String remarks,String planMan);
 

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/service/impl/SyCostLossReviewServiceImpl.java

@@ -86,8 +86,8 @@ public class SyCostLossReviewServiceImpl extends ServiceImpl<SyCostLossReviewMap
     }
 
     @Override
-    public List<String> queryCodeByfstatus(List<String> status,String ffirstApproveDateB,String ffirstApproveDateE) {
-        return syCostLossReviewMapper.queryCodeByfstatus(status,ffirstApproveDateB,ffirstApproveDateE);
+    public List<String> queryCodeByfstatus(List<String> status,SyCostLossReview syCostLossReview) {
+        return syCostLossReviewMapper.queryCodeByfstatus(status,syCostLossReview);
     }
 
     @Override

+ 7 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/controller/SyLetterDepositController.java

@@ -106,6 +106,7 @@ public class SyLetterDepositController extends JeecgController<SyLetterDeposit,
 		try {
 			QueryWrapper<SyLetterDeposit> queryWrapper = new QueryWrapper<SyLetterDeposit>();
 			Page<SyLetterDeposit> page = new Page<SyLetterDeposit>(pageNo, pageSize);
+			page.setSearchCount(false);//不查询总数
 			//客户简称
 			if(oConvertUtils.isNotEmpty(syLetterDeposit.getClientAbbreviation())){
 				queryWrapper.like("b.client_abbreviation",syLetterDeposit.getClientAbbreviation().trim());
@@ -135,9 +136,14 @@ public class SyLetterDepositController extends JeecgController<SyLetterDeposit,
 				queryWrapper.eq("b.ac_set_no",syLetterDeposit.getAcSetNo());
 			}
 			queryWrapper.eq("a.del_flag","0").eq("b.del_flag","0");
-			queryWrapper.groupBy("b.groupid");
+//			queryWrapper.groupBy("b.groupid");
+
+			long startTime = System.currentTimeMillis();
+			//36647ms
 			IPage<SyLetterDeposit> pageList = syLetterDepositService.querySyLetterDeposit(page, queryWrapper);
 
+			long endTime2 = System.currentTimeMillis();
+			System.out.println("批量查询时间:" + (endTime2 - startTime) + "ms");
 			result.setSuccess(true);
 			result.setMessage("查询成功!");
 			result.setResult(pageList);

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/mapper/SyLetterDepositMapper.java

@@ -20,6 +20,10 @@ import org.jeecg.modules.documents.letterDeposit.entity.VO.SyPreAssembledPacking
  */
 public interface SyLetterDepositMapper extends BaseMapper<SyLetterDeposit> {
 
+    //查询预托书分页列表
+    long getCount();
+    //查询预托书分页列表
+    List<String> querySyLetterDeposit2(IPage<SyLetterDeposit> page, @Param("ew") QueryWrapper<SyLetterDeposit> queryWrapper);
     //查询预托书分页列表
     IPage<SyLetterDeposit> querySyLetterDeposit(IPage<SyLetterDeposit> page, @Param("ew") QueryWrapper<SyLetterDeposit> queryWrapper);
 

+ 81 - 13
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/mapper/xml/SyLetterDepositMapper.xml

@@ -85,20 +85,88 @@ on a.id = b.sy_pre_assembled_packing_list_id
 
 <!--    </select>-->
 
-    <select id="querySyLetterDeposit" resultType="org.jeecg.modules.documents.letterDeposit.entity.SyLetterDeposit">
- select t.depositaryReceiptNo,t.id,t.createTime,t.shippingOrderDate,t.smallPo,t.clientAbbreviation,t.createBy,t.unitInOperation, sum(t.total) as total,sum(t.boxNumber) as boxNumber,t.tradeCountry,t.arriveInCountry,t.exportPort,t.destinationPort,t.theDocumentsState,
-sum(t.totalGrossWeight) as totalGrossWeight,sum(t.totalNetWeight) as totalNetWeight,sum(t.totalVolume) as totalVolume,t.distributionPoint,
-t.unitPrice,sum(t.totalPrice) as money from( select b.sy_letter_deposit_id as sy_letter_deposit_id,a.depositary_receipt_no as depositaryReceiptNo,b.distribution_point as distributionPoint,a.unit_in_operation as unitInOperation, sum(b.total) as total,b.box_number as boxNumber,a.trade_country as tradeCountry,a.arrive_in_country as arriveInCountry,a.export_port as exportPort,a.destination_port as destinationPort,a.the_documents_state as theDocumentsState,
-b.total_gross_weight as totalGrossWeight,b.total_net_weight as totalNetWeight,b.total_volume as totalVolume,b.ac_set_no as acSetNo,
-a.shipping_order_date as shippingOrderDate,b.small_po as smallPo,b.create_by as createBy,b.client_abbreviation as clientAbbreviation,
-a.create_time as createTime,b.unit_price as unitPrice,sum(b.total_price) as totalPrice,a.id as id
-         from sy_letter_deposit_item b
-				 left join sy_letter_deposit a
-				 on a.id = b.sy_letter_deposit_id
-				 ${ew.customSqlSegment}
-         ) t
- group by  t.sy_letter_deposit_id order by t.createTime desc
+    <select id="getCount" resultType="java.lang.Long">
+        SELECT
+            count(DISTINCT sy_letter_deposit_id)
+        FROM
+            sy_letter_deposit_item b
+            LEFT JOIN sy_letter_deposit a ON a.id = b.sy_letter_deposit_id
+        WHERE
+            a.del_flag = '0'
+            AND b.del_flag = '0'
+    </select>
+
+    <select id="querySyLetterDeposit2" resultType="java.lang.String">
+        SELECT
+            DISTINCT a.id
+        FROM
+            sy_letter_deposit a
+        LEFT JOIN
+            sy_letter_deposit_item b
+        ON a.ID=sy_letter_deposit_ID
+        ${ew.customSqlSegment}
+        ORDER BY
+        a.create_time DESC;
+    </select>
 
+    <select id="querySyLetterDeposit" resultType="org.jeecg.modules.documents.letterDeposit.entity.SyLetterDeposit">
+        SELECT
+            t.depositaryReceiptNo,
+            t.id,
+            t.createTime,
+            t.shippingOrderDate,
+            t.smallPo,
+            t.clientAbbreviation,
+            t.createBy,
+            t.unitInOperation,
+            sum( t.total ) AS total,
+            sum( t.boxNumber ) AS boxNumber,
+            t.tradeCountry,
+            t.arriveInCountry,
+            t.exportPort,
+            t.destinationPort,
+            t.theDocumentsState,
+            sum( t.totalGrossWeight ) AS totalGrossWeight,
+            sum( t.totalNetWeight ) AS totalNetWeight,
+            sum( t.totalVolume ) AS totalVolume,
+            t.distributionPoint,
+            t.unitPrice,
+            sum( t.totalPrice ) AS money
+        FROM
+            (
+            SELECT
+                b.sy_letter_deposit_id AS sy_letter_deposit_id,
+                a.depositary_receipt_no AS depositaryReceiptNo,
+                b.distribution_point AS distributionPoint,
+                a.unit_in_operation AS unitInOperation,
+                sum( b.total ) AS total,
+                b.box_number AS boxNumber,
+                a.trade_country AS tradeCountry,
+                a.arrive_in_country AS arriveInCountry,
+                a.export_port AS exportPort,
+                a.destination_port AS destinationPort,
+                a.the_documents_state AS theDocumentsState,
+                b.total_gross_weight AS totalGrossWeight,
+                b.total_net_weight AS totalNetWeight,
+                b.total_volume AS totalVolume,
+                b.ac_set_no AS acSetNo,
+                a.shipping_order_date AS shippingOrderDate,
+                b.small_po AS smallPo,
+                b.create_by AS createBy,
+                b.client_abbreviation AS clientAbbreviation,
+                a.create_time AS createTime,
+                b.unit_price AS unitPrice,
+                sum( b.total_price ) AS totalPrice,
+                a.id AS id
+            FROM
+                sy_letter_deposit_item b
+                LEFT JOIN sy_letter_deposit a ON a.id = b.sy_letter_deposit_id
+                ${ew.customSqlSegment}
+            ) t
+        GROUP BY
+            t.sy_letter_deposit_id
+        ORDER BY
+            t.createTime DESC
 
     </select>
 

+ 12 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/service/impl/SyLetterDepositServiceImpl.java

@@ -63,7 +63,18 @@ public class SyLetterDepositServiceImpl extends ServiceImpl<SyLetterDepositMappe
      */
     @Override
     public IPage<SyLetterDeposit> querySyLetterDeposit(IPage<SyLetterDeposit> page, QueryWrapper<SyLetterDeposit> queryWrapper) {
-        return syLetterDepositMapper.querySyLetterDeposit(page, queryWrapper);
+        page.setTotal(syLetterDepositMapper.getCount());
+        List<String> ids=syLetterDepositMapper.querySyLetterDeposit2(page, queryWrapper);
+        queryWrapper.groupBy("b.groupid");
+        if (ids.size()>0){
+            queryWrapper.in("a.id",ids);
+        }
+        long current=page.getCurrent();
+        page.setCurrent(1);
+        page.setSize(page.getSize());
+        IPage<SyLetterDeposit> page1=syLetterDepositMapper.querySyLetterDeposit(page, queryWrapper);
+        page1.setCurrent(current);
+        return page1;
     }
 
     /**

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/controller/SyOrderDataController.java

@@ -117,6 +117,7 @@ public class SyOrderDataController extends JeecgController<SyOrderData, ISyOrder
 	 		return result;
 	 	}
 	 	//java.net.URLDecoder.decode(parameter,"UTF-8")
+		 result=syOrderDataService.doQuerySyOrder(plancode,account);
 		 result=syOrderDataService.doQuerySyOrder(plancode,account);
 		 return result;
 	 }

+ 11 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/service/impl/SyOrderDataServiceImpl.java

@@ -364,6 +364,7 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
                                     syOrderDataItemService.deleteByID(syEntity.getId());
                                 }
                                 syOrderDataItemService.save(syEntity);
+                                newCount++;
                                 continue;
                             }
 
@@ -416,6 +417,7 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
                     //添加主表数据进入数据库
                     for (SyOrderDataItem sy2:syItemList) {
                         syOrderDataItemService.save(sy2);
+                        newCount++;
                     }
                 }
 
@@ -456,8 +458,15 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
             result.setMessage("同步失败!请联系管理员!!!");
             return result;
         }
-        if (count>0){
-            result.setMessage("同步成功,更新"+(newCount-count)+"条数据");
+        //newCount	140	count	0
+        //newCount	140	count	140
+        System.out.println("newCount\t"+newCount+"\tcount\t"+count);
+        if (newCount!=count){
+            if (newCount-count>0){
+                result.setMessage("同步成功,新增"+(newCount-count)+"条数据");
+            }else{
+                result.setMessage("同步成功,删除"+(count-newCount)+"条数据");
+            }
         }else{
             result.setMessage("暂无需要同步数据!!!");
         }

+ 6 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/seclarationElements/service/impl/SyDeclarationElementsServiceImpl.java

@@ -128,6 +128,9 @@ public class SyDeclarationElementsServiceImpl extends ServiceImpl<SyDeclarationE
             //新增子表
                 List<SyDeclarationElementsItem> list = syDeclarationElements.getSyDeclarationElementsItemList();
                 for (SyDeclarationElementsItem item:list){
+                    if(item.getTypeValue().equals("品名")){
+                        item.setDescribeText(syDeclarationElements.getDeclarationName());
+                    }
                     item.setId(oConvertUtils.id());
                     item.setSyDeclarationElementsId(id);
                     syDeclarationElementsItemList.add(item);
@@ -168,6 +171,9 @@ public class SyDeclarationElementsServiceImpl extends ServiceImpl<SyDeclarationE
                 //新增子表
                 List<SyDeclarationElementsItem> list = syDeclarationElements.getSyDeclarationElementsItemList();
                 for (SyDeclarationElementsItem item:list){
+                    if(item.getTypeValue().equals("品名")){
+                        item.setDescribeText(syDeclarationElements.getDeclarationName());
+                    }
                     item.setId(oConvertUtils.id());
                     item.setSyDeclarationElementsId(uuid);
                     syDeclarationElementsItemList.add(item);

+ 7 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/controller/SyShippingDetailsController.java

@@ -1607,13 +1607,16 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 
 				 }
 
-			 	li.setPreDeliveryDate1(sf.format(li.getPreDeliveryDate()));
+				 li.setIsTcName("否");
+				 if (li.getIsTc().equals("0")){
+					 li.setIsTcName("是");
+				 }
+
+			 	 li.setPreDeliveryDate1(sf.format(li.getPreDeliveryDate()));
 				 orderQuantity = orderQuantity.add(new BigDecimal(li.getShipmentQuantity()));
 //				 System.out.println("new BigDecimal(li.getShipmentQuantity()\t"+li.getShipmentQuantity());
 				 BigDecimal p = new BigDecimal(li.getSalesUnitPrice()).multiply(new BigDecimal(li.getShipmentQuantity()));
-				 System.out.print("li.getSalesUnitPrice()\t"+li.getSalesUnitPrice());
-				 System.out.print("\tli.getShipmentQuantity()\t"+li.getShipmentQuantity());
-				 System.out.println("\torderQuantity\t"+orderQuantity);
+//				 System.out.println("isTcName\t"+li.getIsTcName());
 				 li.setPrice(p.setScale(4,BigDecimal.ROUND_DOWN).doubleValue());
 				 price = price.add(p);
 

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/SyShippingDetailsItem.java

@@ -400,6 +400,10 @@ public class SyShippingDetailsItem {
 	@ApiModelProperty(value = "U8英文名称")
 	private String inventoryEnglishName;
 
+	/**是否tc功能0否1是*/
+	@TableField(exist = false)
+	private java.lang.String isTcName;
+
 	public SyShippingDetailsItem(){}
 
 

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/VO/SyShippingDetailsVo.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.documents.shippingDetails.entity.VO;
 
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -106,6 +107,10 @@ public class SyShippingDetailsVo {
     @ApiModelProperty(value = "是否tc功能0否1是")
     private java.lang.String isTc;
 
+    /**是否tc功能0否1是*/
+    @TableField(exist = false)
+    private java.lang.String isTcName;
+
     /**HScode*/
     @Excel(name = "HScode", width = 15)
     @ApiModelProperty(value = "HScode")

+ 363 - 104
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/controller/SyShippingOrderController.java

@@ -22,9 +22,11 @@ import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.metadata.fill.FillConfig;
 import com.alibaba.excel.write.metadata.fill.FillWrapper;
 import com.baomidou.mybatisplus.annotation.TableField;
+import org.apache.poi.hssf.util.HSSFColor;
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.hibernate.engine.jdbc.Size;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.exception.JeecgBootException;
@@ -52,6 +54,7 @@ import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.modules.documents.syShippingOrder.service.impl.SyShippingOrderItemServiceImpl;
 import org.jeecg.modules.documents.syShippingOrder.tool.TopinYin;
 import org.jeecg.modules.spapl.entity.SizeTable;
+import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import org.jeecg.modules.splfi.entity.SyPackingListFabricItem;
 import org.jeecg.modules.splfi.service.impl.SyPackingListFabricItemServiceImpl;
 import org.jeecg.modules.splt.entity.SyPackingListTailoringItem;
@@ -160,7 +163,11 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 			queryWrapper.eq("a.export_invoice_no",syShippingOrder.getExportInvoiceNo());
 		}
 		if(oConvertUtils.isNotEmpty(syShippingOrder.getTimeStuta())){
-			queryWrapper.eq("a.time_stuta",syShippingOrder.getTimeStuta());
+			if (syShippingOrder.getTimeStuta()==1){
+				queryWrapper.in("a.time_stuta","1","5");
+			}else{
+				queryWrapper.eq("a.time_stuta",syShippingOrder.getTimeStuta());
+			}
 		}
 		if(oConvertUtils.isNotEmpty(type)){
 			if(type.equals("成衣")){
@@ -660,6 +667,8 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 		 BigDecimal tatolBoxnumber = BigDecimal.ZERO;
 		 //报关总金额
 		 BigDecimal totalDeclarationTotalPrice = BigDecimal.ZERO;
+		 //包数
+		 BigDecimal totalPacks = BigDecimal.ZERO;
 
 		 //获取当前时间
 		 Date date = new Date();
@@ -697,6 +706,7 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 					 tatolMoney = tatolMoney.add(li.getTotalPrice());
 					 tatolVolume = tatolVolume.add(li.getVolume());
 					 tatolBoxnumber = tatolBoxnumber.add(li.getBoxNumber());
+					 totalPacks = totalPacks.add(li.getPacks());
 
 					 totalDeclarationTotalPrice = totalDeclarationTotalPrice.add(li.getDeclarationTotalPrice());
 					 li.setDestination(entity.getArriveInCountry());
@@ -729,7 +739,7 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 					 if(oConvertUtils.isEmpty(li.getDeclarationTotalPrice())){
 						 li.setDeclarationTotalPrice(li.getTotalPrice());
 					 }
-					 entity.setGender(li.getGender());
+//					 entity.setGender(li.getGender());
 //					 li.setColour(entity.getColour());
 //					 li.setCustomsCode(entity.getCustomsCode());
 //					 li.setSubSectionDescription(entity.getSubSectionDescription());
@@ -752,6 +762,9 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 			 entity.setBoxNumber(tatolBoxnumber);
 			 //报关总金额
 			 entity.setTotalDeclarationTotalPrice(totalDeclarationTotalPrice);
+			 //包数合计
+			 entity.setTotalPacks(totalPacks);
+
 
 			 //判空
 			 if (oConvertUtils.isEmpty(entity.getUnitInOperation())) { entity.setUnitInOperation(" "); }
@@ -804,7 +817,6 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 //						 if (list.get(0).getPkOrg().equals(te.getText())) {
 //							 String split[] = test.get(0).getValue().split("\\+");
 ////							 String split[] = te.getValue().split("\\+");
-//							 System.out.println("特.getText\t"+te.getText());
 //							 entity.setClientAbbreviation(split[1]);
 //							 entity.setCorporationAddress(split[2]);
 //							 entity.setCorporationTel(split[3]);
@@ -822,138 +834,377 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 			 if (testName.equals("-结汇资料")) {
 				 //获取模板输入流
 //				 InputStream inStream = new FileInputStream("D:\\单证模板\\报关信息-结汇发票.xlsx");
-				 InputStream inStream = new FileInputStream("D:\\单证模板\\报关信息-结汇资料成衣.xlsx");
+				 InputStream inStream = new FileInputStream("D:\\单证模板\\报关信息-结汇资料成衣3.xlsx");
+//				 InputStream inStream = new FileInputStream("D:\\单证模板\\报关信息-结汇资料成衣4.xlsx");
 				 //通过poi创建表对象
 				 XSSFWorkbook workbook = new XSSFWorkbook(inStream);
 
-				 int sheetNum=17;
+//				 int sheetNum=17;
 				 //获得页签
 				 Iterator sheets=workbook.sheetIterator();
 				 entity.setSizeTables(syShippingOrderMapper.querySizes(entity.getId()));//获取主表尺码
 
-				 for(SyShippingOrderItem li : list){
-					 QueryWrapper queryWrapperItem=new QueryWrapper();
-					 queryWrapperItem.eq("a.sy_shipping_order_item_id",entity.getId());
-					 queryWrapperItem.eq("a.elements_Id",li.getElementsId());
-					 queryWrapperItem.eq("a.style_Number",li.getStyleNumber());
-					 queryWrapperItem.eq("a.smail_Po",li.getSmailPo());
-					 queryWrapperItem.eq("round(a.unit_Price,2)",li.getUnitPrice());
+				 int orderItemSize=0;
 
-					 List<SizeTable> sizeItemTables=syShippingOrderMapper.queryItemSizes(entity.getId() ,queryWrapperItem);
-					 li.setSizeTables(sizeItemTables);
+//					 queryWrapperItem.isNotNull("a.number");
+//					 queryWrapperItem.isNotNull("a.box_number");
+				 entity.setCountry("CHINA");
+				 List<DictModel> country= sysDictService.queryDictItemsByCode("export_port");
+				 for (DictModel model : country){
+				 	if (model.getText().indexOf("-")>0 &&entity.getExportPort().equals(model.getValue())){
+						entity.setCountry(model.getText().substring(model.getText().indexOf("-")+1));
+					}
+				 }
+
+				 List<SyShippingOrderItem> syShippingOrderItemList=syShippingOrderMapper.queryEelement2(entity.getId());
+
+				 List<SizeTable> sizeTablesM=syShippingOrderMapper.queryItemSizes2(entity.getId());
+				 List<SizeTable> sizeTablesM2=syShippingOrderMapper.queryItemSizes3(entity.getId());
+				 Map <String,List<SizeTable>> hashMaps=new HashMap();//分组尺码
+				 Map <String,List<SizeTable>> hashMaps2=new HashMap();//款号小po分组尺码
+				 for (SizeTable sizeTable : sizeTablesM){
+				 	if(hashMaps.containsKey(sizeTable.getGroupId())){
+						 hashMaps.get(sizeTable.getGroupId()).add(sizeTable);
+					 }else{
+						 List<SizeTable> sizeTables=new ArrayList<>();
+						 sizeTables.add(sizeTable);
+						 hashMaps.put(sizeTable.getGroupId(),sizeTables);
+					 }
+				 }
+				 for (SizeTable sizeTable : sizeTablesM2){
+					 if(hashMaps2.containsKey(sizeTable.getAlias()+sizeTable.getGroupName())){
+						 SizeTable sizeTable1=new SizeTable();
+						 sizeTable1.setSize(sizeTable.getSize());
+						 hashMaps2.get(sizeTable.getAlias()+sizeTable.getGroupName()).add(sizeTable);
+					 }else{
+						 List<SizeTable> sizeTables=new ArrayList<>();
+						 SizeTable sizeTable1=new SizeTable();
+						 sizeTable1.setSize(sizeTable.getSize());
+						 sizeTables.add(sizeTable1);
+						 hashMaps2.put(sizeTable.getAlias()+sizeTable.getGroupName(),sizeTables);
+					 }
+				 }
+
+				 LinkedHashMap<String,List<SyShippingOrderItem>> mapList=new LinkedHashMap<>();
+
+				 for (SyShippingOrderItem orderItem : syShippingOrderItemList){
+					 List<SizeTable> sizeTables=hashMaps.get(orderItem.getGroupId());
+					 List<SizeTable> sizeTables1=hashMaps2.get(orderItem.getStyleNumber()+orderItem.getSmailPo());
+					 List<SizeTable> sizeTables2=new ArrayList<>();
+					 for (SizeTable sizeTable : sizeTables1){
+						 SizeTable sizeTable2=new SizeTable();
+						 sizeTable2.setSize(sizeTable.getSize());
+						 sizeTables2.add(sizeTable2);
+					 }
+					 for (SizeTable sizeTable : sizeTables2){
+					 	for (SizeTable sizeTable2 : sizeTables){
+					 		if (sizeTable2.getSize().equals(sizeTable.getSize())){
+								sizeTable.setNum(sizeTable2.getNum());
+							}
+						}
+					 }
+					 if (orderItemSize<sizeTables2.size()){
+						 orderItemSize=sizeTables2.size();
+					 }
+					 orderItem.setSizeTables(sizeTables2);
+					 if (mapList.containsKey(orderItem.getStyleNumber()+orderItem.getSmailPo())){
+						 mapList.get(orderItem.getStyleNumber()+orderItem.getSmailPo()).add(orderItem);
+					 }else{
+						 List<SyShippingOrderItem> details=new ArrayList<>();
+						 details.add(orderItem);
+						 mapList.put(orderItem.getStyleNumber()+orderItem.getSmailPo(),details);
+					 }
 				 }
 
+				 //PL
 				 if (sheets.hasNext()){
 					 Sheet sheet=(Sheet)sheets.next();
 
-					 CellStyle style=sheet.getRow(10).getCell(10).getCellStyle();//样式
+					 CellStyle style=sheet.getRow(5).getCell(24).getCellStyle();//样式
+					 CellStyle style2=sheet.getRow(5).getCell(23).getCellStyle();//样式
+					 CellStyle style3=sheet.getRow(5).getCell(24).getCellStyle();//样式
+					 CellStyle style4=sheet.getRow(6).getCell(24).getCellStyle();//样式
+					 style.setFillForegroundColor(IndexedColors.WHITE.getIndex());//设置前景色 现在是浅绿色
+					 style.setFillBackgroundColor(HSSFColor.HSSFColorPredefined.WHITE.getIndex());//设置背景色 现在是浅绿色
+					 style.setFillPattern(FillPatternType.SOLID_FOREGROUND);//必须设置 否则无效
+					 style2.setFillForegroundColor(IndexedColors.WHITE.getIndex());//设置前景色 现在是浅绿色
+					 style2.setFillBackgroundColor(HSSFColor.HSSFColorPredefined.WHITE.getIndex());//设置背景色 现在是浅绿色
+					 style2.setFillPattern(FillPatternType.SOLID_FOREGROUND);//必须设置 否则无效
 
-					 List<Object> entityStrs=entity.toString2();
+					 int sheetRow=15;
 
-					 Row row2=sheet.getRow(16);
+//
+//					 for(SyShippingOrderItem orderItem : syShippingOrderItemList){
+//					 	if (mapList.containsKey(orderItem.getStyleNumber()+orderItem.getSmailPo())){
+//							mapList.get(orderItem.getStyleNumber()+orderItem.getSmailPo()).add(orderItem);
+//						}else{
+//							List<SyShippingOrderItem> details=new ArrayList<>();
+//							details.add(orderItem);
+//							mapList.put(orderItem.getStyleNumber()+orderItem.getSmailPo(),details);
+//						}
+//					 }
+
+					 for (String mapStr : mapList.keySet()){
+
+					 	List<SyShippingOrderItem> items=mapList.get(mapStr);
+
+					 	//分组合计
+					 	Map<String,BigDecimal> totalMap=new HashMap<>();
+
+//						 totalMap.put("total","total");
+						totalMap.put("totalNumber",new BigDecimal("0"));
+						totalMap.put("totalQuantity",new BigDecimal("0"));
+						totalMap.put("totalNetWeight",new BigDecimal("0"));
+						totalMap.put("totalGrossWeight",new BigDecimal("0"));
+						totalMap.put("totalCbm",new BigDecimal("0"));
+
+						List<SizeTable> sizeTables=items.get(0).getSizeTables();
+
+
+						 List<Object> entityStrs=items.get(0).toString3();
 
-					 Row row3 = sheet.getRow(15);
+						 Row row2=sheet.createRow(sheetRow+1);
 
-					 int cellTitleNum=6;
+						 Row row3 = sheet.createRow(sheetRow);
 
-					 //Quantity/Size per carton 35
+						 row2.setHeight((short) 500);
 
+						 row3.setHeight((short) 500);
 
-					 cellTitleNum+=19;
-					 for (int i=1;i<entityStrs.size();i++){
-						 cellTitleNum++;
-//						 if( i<4){
-//							 Cell cellsizeAll2=row3.getCell(i);
-//							 cellsizeAll2.setCellStyle(style);
-//							 cellsizeAll2.setCellValue(entityStrs.get(i).toString());
-//							 CellRangeAddress region2 = new CellRangeAddress( 15, 16,i, i);
-//							 sheet.addMergedRegion(region2);
-//						 }else if(i==4){
-//							 Cell cellsizeAll2=row3.getCell(3);
-//							 cellsizeAll2.setCellStyle(style);
-//							 cellsizeAll2.setCellValue(entityStrs.get(3).toString());
-//							 CellRangeAddress region2 = new CellRangeAddress( 15, 16,3, 5);
-//							 sheet.addMergedRegion(region2);
-//						 }else
-						 if(i==5){
-							 Cell cellsizeAll=row3.getCell(6);
+						 //Quantity/Size per carton 35
+
+						 for(int i=0;i<37;i++){
+							 Cell cellsizeAll=row2.createCell(i);
 							 cellsizeAll.setCellStyle(style);
-							 cellsizeAll.setCellValue(entityStrs.get(i).toString());
-//					 CellRangeAddress region = new CellRangeAddress( 15, 15,cellTitleNum, cellTitleNum+entity.getSizeTables().size()-1);
-							 CellRangeAddress region = new CellRangeAddress( 15, 15,6, 6+19);
-							 sheet.addMergedRegion(region);
-						 }
-						 else if(i==entityStrs.size()-5){
-							 Cell cellsizeAll2=row3.getCell(cellTitleNum);
+
+							 Cell cellsizeAll2=row3.createCell(i);
 							 cellsizeAll2.setCellStyle(style);
-							 cellsizeAll2.setCellValue(entityStrs.get(i).toString());
-//							 System.out.println("cellTitleNum2\t"+cellTitleNum+"\t\t"+entityStrs.get(i).toString());
-							 CellRangeAddress region2 = new CellRangeAddress( 15, 15,cellTitleNum, cellTitleNum+2);
-							 sheet.addMergedRegion(region2);
-							 cellTitleNum--;
 						 }
-						 else if(i>entityStrs.size()-5&&i!=entityStrs.size()-1){
-							 Cell cellsizeAll2=row2.getCell(cellTitleNum);
-							 cellsizeAll2.setCellStyle(style);
-							 cellsizeAll2.setCellValue(entityStrs.get(i).toString());
-//							 System.out.println("cellTitleNum3\t"+(cellTitleNum)+"\t\t"+entityStrs.get(i).toString());
-						 } else if(i==entityStrs.size()-1){
-							 CellRangeAddress region2 = new CellRangeAddress( 15, 16,cellTitleNum, cellTitleNum);
-							 sheet.addMergedRegion(region2);
-							 Cell cellsizeAll2=row3.getCell(cellTitleNum);
-							 cellsizeAll2.setCellStyle(style);
-							 cellsizeAll2.setCellValue(entityStrs.get(i).toString());
+
+						 int cellTitleNum=25;
+						 for (int i=0;i<entityStrs.size();i++){
+							 if( i<3){
+								 Cell cellsizeAll2=row3.createCell(i);
+								 cellsizeAll2.setCellStyle(style2);
+								 cellsizeAll2.setCellValue(entityStrs.get(i).toString());
+								 CellRangeAddress region2 = new CellRangeAddress( sheetRow, sheetRow+1,i, i);
+								 sheet.addMergedRegion(region2);
+							 }
+							 else if(i==3){
+								 Cell cellsizeAll2=row3.createCell(3);
+								 cellsizeAll2.setCellStyle(style3);
+								 cellsizeAll2.setCellValue(entityStrs.get(3).toString());
+								 CellRangeAddress region2 = new CellRangeAddress( sheetRow, sheetRow+1,i, i+2);
+								 sheet.addMergedRegion(region2);
+							 }
+							 else if(i==4){
+								 if(6+sizeTables.size()-1>6){
+									 CellRangeAddress region = new CellRangeAddress( sheetRow, sheetRow,6, 6+sizeTables.size()-1);
+									 sheet.addMergedRegion(region);
+								 }
+								 Cell cellsizeAll=row3.createCell(6);
+								 cellsizeAll.setCellStyle(style3);
+								 cellsizeAll.setCellValue(entityStrs.get(i).toString());
+							 }
+							 else if(i==entityStrs.size()-5){
+								 cellTitleNum++;
+								 Cell cellsizeAll2=row3.createCell(cellTitleNum);
+								 cellsizeAll2.setCellStyle(style3);
+								 cellsizeAll2.setCellValue(entityStrs.get(i).toString());
+								 CellRangeAddress region2 = new CellRangeAddress( sheetRow, sheetRow,cellTitleNum, cellTitleNum+2);
+								 sheet.addMergedRegion(region2);
+								 cellTitleNum--;
+							 }
+							 else if(i>entityStrs.size()-5&&i!=entityStrs.size()-1){
+								 cellTitleNum++;
+								 Cell cellsizeAll2=row2.createCell(cellTitleNum);
+								 cellsizeAll2.setCellStyle(style3);
+								 cellsizeAll2.setCellValue(entityStrs.get(i).toString());
+							 } else if(i==entityStrs.size()-1){
+								 cellTitleNum++;
+								 CellRangeAddress region2 = new CellRangeAddress( sheetRow, sheetRow+1,cellTitleNum, cellTitleNum);
+								 sheet.addMergedRegion(region2);
+								 Cell cellsizeAll2=row3.createCell(cellTitleNum);
+								 cellsizeAll2.setCellStyle(style3);
+								 cellsizeAll2.setCellValue(entityStrs.get(i).toString());
+							 }
+							 else{
+								 cellTitleNum++;
+								 Cell cellsizeAll2=row3.createCell(cellTitleNum);
+								 cellsizeAll2.setCellStyle(style3);
+								 cellsizeAll2.setCellValue(entityStrs.get(i).toString());
+								 CellRangeAddress region2 = new CellRangeAddress( sheetRow, sheetRow+1,cellTitleNum, cellTitleNum);
+								 sheet.addMergedRegion(region2);
+							 }
 						 }
-						 else{
-							 Cell cellsizeAll2=row3.getCell(cellTitleNum);
-							 cellsizeAll2.setCellStyle(style);
-							 cellsizeAll2.setCellValue(entityStrs.get(i).toString());
-							 CellRangeAddress region2 = new CellRangeAddress( 15, 16,cellTitleNum, cellTitleNum);
-							 sheet.addMergedRegion(region2);
+						 int cellNum=6;
+						 for (SizeTable sizeTable : sizeTables){
+							 Cell cell=row2.createCell(cellNum);
+							 cell.setCellValue(sizeTable.getSize());
+							 cell.setCellStyle(style3);
+							 cellNum++;
 						 }
-					 }
-					 int cellNum=6;
-					 for (SizeTable sizeTable : entity.getSizeTables()){
-						 Cell cell=row2.createCell(cellNum);
-						 cell.setCellValue(sizeTable.getSize());
-						 cell.setCellStyle(style);
-						 cellNum++;
-					 }
 
-					 for(SyShippingOrderItem item : list){
-
-						 Row row=sheet.createRow(sheetNum);
-						 List<Object> arrs=item.toString2();
-						 int arrNum=arrs.size();
-						 for (int i=0;i<arrNum;i++){
-							 Cell cell=null;
-						 	 if (i>5+item.getSizeTables().size()){
-								 cell=row.createCell(i+20-item.getSizeTables().size());
-							 }else{
-								 cell=row.createCell(i);
-							 }
-							 if(arrs.get(i)!=null){
-								 cell.setCellValue(arrs.get(i).toString());
-								 cell.setCellStyle(style);
-							 }else{
-								 cell.setCellValue("");
-								 cell.setCellStyle(style);
+						 sheetRow=sheetRow+2;
+
+						for (SyShippingOrderItem orderItem : items){
+							Row row=sheet.createRow(sheetRow);
+							row.setHeight((short) 480);
+							List<Object> arrs=orderItem.toString2();
+							int arrNum=arrs.size();
+
+							totalMap.put("totalNumber",totalMap.get("totalNumber").add(orderItem.getBoxNumber()));
+							totalMap.put("totalQuantity",totalMap.get("totalQuantity").add(orderItem.getNumber()));
+							totalMap.put("totalNetWeight",totalMap.get("totalNetWeight").add(orderItem.getNetWeight()));
+							totalMap.put("totalGrossWeight",totalMap.get("totalGrossWeight").add(orderItem.getGrossWeight()));
+							totalMap.put("totalCbm",totalMap.get("totalCbm").add(orderItem.getVolume()));
+
+							for (int i=0;i<arrNum;i++){
+								Cell cell=null;
+								if (i>5+orderItem.getSizeTables().size()){
+									cell=row.createCell(i+20-orderItem.getSizeTables().size());
+								}else{
+									cell=row.createCell(i);
+								}
+								if(arrs.get(i)!=null&&!arrs.get(i).toString().equals("0")){
+									if (SyPreAssembledPackingListItem.isNumeric(arrs.get(i).toString())){
+										cell.setCellValue(Double.parseDouble(arrs.get(i).toString()));
+									}else{
+										cell.setCellValue(arrs.get(i).toString());
+									}
+								}else{
+									cell.setCellValue("");
+								}
+								cell.setCellStyle(style);
+								if(i==0||i==2){
+									cell.setCellStyle(style4);
+								}
+							}
+							sheetRow++;
+						}
+
+						 for (int i=sheetRow-items.size()-1;i<sheetRow;i++){
+							 Row rowT=sheet.getRow(i);
+							 for (int x=6+sizeTables.size();x<26;x++){
+								 Cell cellT1=rowT.createCell(x);
+								 cellT1.setCellStyle(style);
 							 }
 						 }
-						 sheetNum++;
-					 }
-					 //调整行高
-					 for (int i=1;i<=20-entity.getSizeTables().size();i++){
-						 sheet.setColumnWidth(i+5+entity.getSizeTables().size(),1);
+						 sheetRow=sheetRow+1;//
+						 Row rowT=sheet.createRow(sheetRow);
+						 for (int i=0;i<36;i++){
+							 Cell cellT1=rowT.createCell(i);
+							 cellT1.setCellStyle(style2);
+						 }
+
+//						 System.out.println("totalMap\t"+totalMap);
+
+						 Cell cellT1=rowT.createCell(0);
+						 cellT1.setCellStyle(style2);
+						 cellT1.setCellValue("TOTAL");
+						 Cell cellT2=rowT.createCell(25+2);
+						 cellT2.setCellStyle(style2);
+						 cellT2.setCellValue(totalMap.get("totalNumber").doubleValue());
+						 Cell cellT3=rowT.createCell(25+3);
+						 cellT3.setCellStyle(style2);
+						 cellT3.setCellValue(totalMap.get("totalQuantity").setScale(0).doubleValue());
+						 Cell cellT4=rowT.createCell(25+5);
+						 cellT4.setCellStyle(style2);
+						 cellT4.setCellValue(totalMap.get("totalNetWeight").doubleValue());
+						 Cell cellT5=rowT.createCell(25+7);
+						 cellT5.setCellStyle(style2);
+						 cellT5.setCellValue(totalMap.get("totalGrossWeight").doubleValue());
+						 Cell cellT6=rowT.createCell(25+11);
+						 cellT6.setCellStyle(style2);
+						 cellT6.setCellValue(totalMap.get("totalCbm").doubleValue());
+
+
+//							 sheetNum++;
+
+						 //调整行高
+						 for (int i=1;i<=20-orderItemSize;i++){
+							 sheet.setColumnWidth(i+5+orderItemSize,1);
+						 }
+
+
+						 sheetRow+=2;
+
 					 }
 
-//					 for (int i=1;i<=20-list.size();i++){
-////						 sheet.setRowBreak(i+16+list.size(),true);
-//						 Row row=sheet.getRow(i+1+list.size());
-//						 sheet.removeRow(row);
-//					 }
+					 sheetRow+=2;
+
+					 Row rowT=sheet.createRow(sheetRow);
+					 for (int i=0;i<36;i++){
+						 Cell cellT1=rowT.createCell(i);
+						 cellT1.setCellStyle(style2);
+					 }
+					 Cell cellT1=rowT.createCell(0);
+					 cellT1.setCellStyle(style2);
+					 cellT1.setCellValue("GRAND TOTAL");
+					 Cell cellT2=rowT.createCell(25+2);
+					 cellT2.setCellStyle(style2);
+					 cellT2.setCellValue( entity.getBoxNumber().doubleValue());
+					 Cell cellT3=rowT.createCell(25+3);
+					 cellT3.setCellStyle(style2);
+					 cellT3.setCellValue(entity.getTatolNumber().setScale(0).doubleValue());
+					 Cell cellT4=rowT.createCell(25+5);
+					 cellT4.setCellStyle(style2);
+					 cellT4.setCellValue(entity.getTotalNetWeight().doubleValue());
+					 Cell cellT5=rowT.createCell(25+7);
+					 cellT5.setCellStyle(style2);
+					 cellT5.setCellValue(entity.getTotalGrossWeight().doubleValue());
+					 Cell cellT6=rowT.createCell(25+11);
+					 cellT6.setCellStyle(style2);
+					 cellT6.setCellValue(entity.getTotalVolume().doubleValue());
+					 for (int i=sheetRow+5;i<265;i++){
+						 Row row2=sheet.createRow(i);
+						 row2.setZeroHeight(true);// 隐藏行高
+					 }
 				 }
 
+				 List<SyShippingOrderItem> list3=new ArrayList<>();
+
+
+				 //CI
+				 entity.setTatolNumber(entity.getTatolNumber().setScale(0));
+				 if (sheets.hasNext()){
+					 Sheet sheet=(Sheet)sheets.next();
+					 int sheetRow=13;
+
+					 CellStyle style=sheet.getRow(33).getCell(6).getCellStyle();//样式   改成pcs
+					 CellStyle style2=sheet.getRow(33).getCell(7).getCellStyle();//样式   改成美元符号
+					 for (SyShippingOrderItem item : list){
+					 	if (sheetRow<25){
+							Row rowT=sheet.getRow(sheetRow);
+							Row rowT2=sheet.getRow(sheetRow+21);
+							Cell cellT1=rowT.getCell(6);
+							cellT1.setCellValue(item.getStyleNumber());
+							Cell cellT2=rowT.getCell(7);
+							cellT2.setCellValue(item.getSmailPo());
+							int xNum=1;
+							for (Object obj : item.toString4()){
+								Cell cellT3=rowT2.getCell(xNum);
+								if (obj!=null){
+									cellT3.setCellValue(obj.toString());
+								}else{
+									cellT3.setCellValue("");
+								}
+								if (xNum==6){
+									cellT3.setCellStyle(style);
+									cellT3.setCellValue(new BigDecimal(obj.toString()).doubleValue());
+								}
+								if(xNum>=7){
+									cellT3.setCellStyle(style2);
+									cellT3.setCellValue(new BigDecimal(obj.toString()).doubleValue());
+								}
+								xNum++;
+							}
+						}else{
+							list3.add(item);
+						}
+						 sheetRow++;
+					 }
+				 }
 				 //遍历复制sheet
 				 ByteArrayOutputStream bos = new ByteArrayOutputStream();
 				 //写到流 alibaba:easyexcel
@@ -989,6 +1240,7 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 				 excelWriter.fill(new FillWrapper("list", list), fillConfig, writeSheet1);
 				 excelWriter.fill(new FillWrapper("list2", list), fillConfig2, writeSheet1);
 
+
 				 //关流
 //				 excelWriter.finish();
 
@@ -1015,6 +1267,8 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 				 excelWriter.fill(entity, fillConfig, writeSheet2);
 				 excelWriter.fill(list, fillConfig, writeSheet2);
 				 excelWriter.fill(new FillWrapper("list", list), fillConfig, writeSheet2);
+				 excelWriter.fill(new FillWrapper("list3", list3), fillConfig, writeSheet2);
+				 excelWriter.fill(new FillWrapper("list4", list3), fillConfig, writeSheet2);
 				 //关流
 				 excelWriter.finish();
 				 inStream.close();
@@ -1498,6 +1752,9 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 
 					 entity.setDateTime(sdf1.format(entity.getShippingOrderDate()));
 					 String earliestDeliveryDate[] = list.get(list.size()-1).getEarliestDeliveryDate().split(" ");
+					 if(oConvertUtils.isNotEmpty(entity.getTatolNumber())) {
+						 entity.setTatolNumber2(entity.getTatolNumber().intValue());
+					 }
 					 entity.setEarliestDeliveryDate(earliestDeliveryDate[0]);
 					 //转map
 					 Field[] fields = entity.getClass().getDeclaredFields();
@@ -1507,6 +1764,9 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 					 }
 					 //集合转map
 					 for (SyShippingOrderItem li : list) {
+					 	if(oConvertUtils.isNotEmpty(li.getNumber())) {
+							li.setNumber2(li.getNumber().intValue());
+						}
 					 	if(oConvertUtils.isNotEmpty(li.getHod())) {
 							String hod[] = li.getHod().split(" ");
 							li.setHod(hod[0]);
@@ -1520,7 +1780,6 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 						 listMap.add(mapList);
 					 }
 					 map.put("item", listMap);
-
 					 //根据款号合并
 					 List<SyShippingOrderItem> mergeStyleNumberList = syShippingOrderMapper.mergeStyleNumber(id);
 					 for(SyShippingOrderItem li:mergeStyleNumberList){

+ 21 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/SyShippingOrder.java

@@ -6,6 +6,10 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.converters.integer.IntegerStringConverter;
+import com.alibaba.excel.converters.string.StringImageConverter;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -16,11 +20,14 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.beanutils.converters.IntegerConverter;
+import org.jeecg.common.aspect.annotation.Dict;
 import org.jeecg.modules.documents.letterDeposit.entity.SyRmb;
 import org.jeecg.modules.documents.letterDeposit.entity.SyUsd;
 import org.jeecg.modules.spapl.entity.SizeTable;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
+import sun.awt.image.IntegerComponentRaster;
 
 /**
  * @Description: 托书主表实体类
@@ -127,9 +134,13 @@ public class SyShippingOrder {
 	@Excel(name = "运抵国别", width = 15)
     @ApiModelProperty(value = "运抵国别")
 	private java.lang.String arriveInCountry;
+	/**出口国别*/
+	@TableField(exist = false)
+	private java.lang.String country;
 	/**出口口岸*/
 	@Excel(name = "出口口岸", width = 15)
     @ApiModelProperty(value = "出口口岸")
+	@Dict(dicCode = "item_text",dictTable="sys_dict_item",dicText="item_value")
 	private java.lang.String exportPort;
 	/**目的港*/
 	@Excel(name = "目的港", width = 15)
@@ -275,6 +286,9 @@ public class SyShippingOrder {
 
 	//总净重
 	private BigDecimal totalNetWeight;
+	//包数
+	@TableField(exist = false)
+	private BigDecimal totalPacks;
 
 	//区分成衣或者面料
 	private String readyFabric;
@@ -289,6 +303,9 @@ public class SyShippingOrder {
 	//总数量
 	@TableField(exist = false)
 	private BigDecimal tatolNumber;
+	//总数量
+	@TableField(exist = false)
+	private Integer tatolNumber2;
 	//总金额
 	@TableField(exist = false)
 	private BigDecimal tatolMoney;
@@ -411,10 +428,10 @@ public class SyShippingOrder {
 	public List<Object> toString2(){
 		List<Object> strings=new ArrayList();
 
-//		strings.add("Order No.:");
-//		strings.add("Kimball No.:");
-//		strings.add("Description of Goods");
-//		strings.add("Carton number");
+		strings.add("Order No.:");
+		strings.add("Kimball No.:");
+		strings.add("Description of Goods");
+		strings.add("Carton number");
 		strings.add("Quantity/Size per carton");
 //		for (SizeTable sizeTable : sizeTables){
 //			strings.add(sizeTable.getNum());

+ 28 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/SyShippingOrderItem.java

@@ -59,10 +59,11 @@ public class SyShippingOrderItem {
 	@Excel(name = "数量", width = 15)
     @ApiModelProperty(value = "数量")
 	private java.math.BigDecimal number;
+
 	/**箱数*/
 	@Excel(name = "箱数", width = 15)
     @ApiModelProperty(value = "箱数")
-		private java.math.BigDecimal boxNumber;
+	private java.math.BigDecimal boxNumber;
 	/**毛重*/
 	@Excel(name = "毛重", width = 15)
     @ApiModelProperty(value = "毛重")
@@ -99,6 +100,11 @@ public class SyShippingOrderItem {
 	private java.util.Date preShipmentDate;
 	@TableField(exist = false)
 	private String preDate;
+	/**数量int*/
+	@Excel(name = "数量int", width = 15)
+	@ApiModelProperty(value = "数量int")
+	@TableField(exist = false)
+	private Integer number2;
 	/**业务员*/
 	@Excel(name = "业务员", width = 15)
     @ApiModelProperty(value = "业务员")
@@ -185,6 +191,10 @@ public class SyShippingOrderItem {
 	@TableField(exist = false)
 	private String purOrSubOrder;
 
+	//包数
+	@TableField(exist = false)
+	private BigDecimal packs;
+
 	//金额
 	private BigDecimal totalPrice;
 
@@ -409,14 +419,14 @@ public class SyShippingOrderItem {
 
 		strings.add(piecesBox);
 		strings.add(boxNumber);
-		strings.add(number);
+		strings.add(number.setScale(0));
 		strings.add(netWeight2);
 		strings.add(netWeight);
 		strings.add(grossWeight2);
 		strings.add(grossWeight);
-		strings.add(outerBoxLength);
-		strings.add(outerBoxWidth);
-		strings.add(outerBoxHeight);
+		strings.add(outerBoxLength.substring(0,outerBoxLength.indexOf(".")+2));
+		strings.add(outerBoxWidth.substring(0,outerBoxWidth.indexOf(".")+2));
+		strings.add(outerBoxHeight.substring(0,outerBoxHeight.indexOf(".")+2));
 		strings.add(volume);
 		return strings;
 	}
@@ -437,11 +447,23 @@ public class SyShippingOrderItem {
 		strings.add("TOTAL Net weight");
 		strings.add("Gross weight per carton");
 		strings.add("TOTAL Gross weight");
-		strings.add("Measurement per carton ( CM)");
+		strings.add("Measurement per carton (CM)");
 		strings.add("L");
 		strings.add("W");
 		strings.add("H");
 		strings.add("TOTAL CBM");
 		return strings;
 	}
+	public List<Object> toString4(){
+		List<Object> strings=new ArrayList();
+		strings.add(smailPo);
+		strings.add(styleNumber);
+		strings.add(englishName);
+		strings.add(colour);
+		strings.add(hsCode);
+		strings.add(number.setScale(0));
+		strings.add(declarationUnitPrice);
+		strings.add(declarationTotalPrice);
+		return strings;
+	}
 }

+ 6 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/SyShippingOrderMapper.java

@@ -56,6 +56,12 @@ public interface SyShippingOrderMapper extends BaseMapper<SyShippingOrder> {
     //获取尺码子表
     public List<SizeTable> queryItemSizes(@Param("id")String id, @Param("ew") QueryWrapper<SyPackingList> queryWrapper);
 
+    public List<SyShippingOrderItem> queryEelement2(@Param("id")String id);
+    //获取尺码子表
+    public List<SizeTable> queryItemSizes2(@Param("id")String id);
+    //获取尺码子表
+    public List<SizeTable> queryItemSizes3(@Param("id")String id);
+
     //合并按钮(新增界面使用)
     public List<SyPackingList> syShippingOrderMerge(@Param("ids") List<String> ids);
 

+ 78 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/xml/SyShippingOrderMapper.xml

@@ -20,7 +20,7 @@ left join sy_shipping_order_item b
 ON a.id = b.sy_shipping_order_item_id
 <!--<if test='type == "成衣"'>
     left join sy_packing_list_tailoring_item c
-    on b.tailoring_fabric_item_id = c.id
+    on b.tailoring_fabric_item_id = c.id                                                       ,update_time
 </if>
         <if test='type == "面辅料"'>
             left join sy_packing_list_fabric_item c
@@ -201,7 +201,7 @@ where a.sy_shipping_order_item_id =#{id}
     <!--    成衣托书发票-->
     <select id="queryEelement" resultType="org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem">
 
-select case when t.istc ='0' then '否' else '是' end as isTc,t.preDate,t.supplier,t.id, t.hsCode,sum(t.boxNumber) as boxNumber, t.declarationName,t.englishProductName,sum(t.number) as number,round(t.unitPrice,2) as unitPrice,
+select sum(ifnull(t.packs,0)) as packs, case when t.istc ='0' then '否' else '是' end as isTc,t.preDate,t.supplier,t.id, t.hsCode,sum(t.boxNumber) as boxNumber, t.declarationName,t.englishProductName,sum(t.number) as number,round(t.unitPrice,2) as unitPrice,
 round(sum(t.totalPrice),2) as totalPrice,round(sum(t.declarationTotalPrice),2) as declarationTotalPrice,round(sum(t.grossWeight),2) as grossWeight,round(sum(t.netWeight),2) as netWeight,t.pcs,t.pacs,
 round(sum(t.volume),3) as volume,t.declarationUnitPrice,t.curr,t.dree,t.place,t.certificate,t.styleNumber,t.smailPo,t.orderNumber,t.ctns,t.kgs,t.cbm,pkOrg,t.factoryUnitPrice,
 t.outerBoxLength,t.outerBoxWidth,t.outerBoxHeight,t.hod,t.unIt,t.emp,GROUP_CONCAT(DISTINCT t.purchaseOutsourcingOrderNo) as purchaseOutsourcingOrderNo,t.packId,t.salesman,t.earliestDeliveryDate,t.declarationUnit,
@@ -210,7 +210,7 @@ t.clientAbbreviation,t.pcGw,t.priceGw,t.colour as colour,t.english_Name,t.elemen
 t.pieces_Box,t.net_Weight netWeight2,t.gross_Weight grossWeight2  from (
 select a.declaration_unit_price as declarationUnitPrice,sum(a.number*a.declaration_unit_price) as declarationTotalPrice,del.istc as isTc,DATE_FORMAT(a.pre_shipment_date,'%y-%m-%d') as preDate,a.garment_factory as garmentFactory,a.supplier,GROUP_CONCAT(a.id) as id,b.hs_code as hsCode,b.declaration_name as declarationName,b.english_product_name as englishProductName,sum(a.number) as number,a.unit_price as unitPrice,
 sum(a.number*a.unit_price) as totalPrice,a.gross_weight as grossWeight,a.net_weight as netWeight,a.master_metering as pcs,a.volume as volume,a.elements_Id as elementsId,
-'USD' as curr,'CHINA' as dree,'宁波其他/宁波象山县' as place,'照章征税' as certificate,a.style_number as styleNumber,a.smail_po as smailPo,a.box_number as boxNumber,
+'USD' as curr,'CHINA' as dree,'宁波其他/宁波象山县' as place,'照章征税' as certificate,a.style_number as styleNumber,a.smail_po as smailPo,a.box_number as boxNumber,c.packs AS packs,
 a.order_number as orderNumber,a.client_abbreviation as clientAbbreviation,'PCS' as pacs,'CTNS' as ctns,'KGS' as kgs,'CBM' as cbm,c.salesman as salesman,'PC' as pcGw,'/PC' as priceGw,
 c.factory_Unit_Price as factoryUnitPrice,c.outer_box_length as outerBoxLength,c.outer_box_width as outerBoxWidth,c.outer_box_height as outerBoxHeight,c.hod as hod,min(c.hod) as earliestDeliveryDate,
 a.pk_org as pkOrg,round((a.unit_price*0.9),2) as unIt,'' as emp,a.purchase_outsourcing_order_no as purchaseOutsourcingOrderNo,c.pack_id as packId,b.declaration_unit as declarationUnit,
@@ -231,7 +231,48 @@ from sy_shipping_details_item where del_flag = '0' group by item_number,inventor
 on a.style_number = del.itemNumber and b.inventory_code = del.inventoryCode and a.order_number = del.orderNumber
 where a.sy_shipping_order_item_id =#{id}
 group by c.group_id) t
-group by t.elementsId,t.styleNumber,t.smailPo,t.unitPrice order by t.supplier,t.salesman,t.styleNumber,t.smailPo,t.unitPrice
+group by t.elementsId,t.styleNumber,t.smailPo,t.unitPrice
+order by t.supplier,t.salesman,t.styleNumber,t.smailPo,t.unitPrice
+
+    </select>
+
+    <select id="queryEelement2" resultType="org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem">
+
+
+select group_id,case when t.istc ='0' then '否' else '是' end as isTc,t.preDate,t.supplier,t.id, t.hsCode,sum(t.boxNumber) as boxNumber, t.declarationName,t.englishProductName,sum(t.number) as number,round(t.unitPrice,2) as unitPrice,
+round(sum(t.totalPrice),2) as totalPrice,round(sum(t.declarationTotalPrice),2) as declarationTotalPrice,round(sum(t.grossWeight),2) as grossWeight,round(sum(t.netWeight),2) as netWeight,t.pcs,t.pacs,
+round(sum(t.volume),3) as volume,t.declarationUnitPrice,t.curr,t.dree,t.place,t.certificate,t.styleNumber,t.smailPo,t.orderNumber,t.ctns,t.kgs,t.cbm,pkOrg,t.factoryUnitPrice,
+t.outerBoxLength,t.outerBoxWidth,t.outerBoxHeight,t.hod,t.unIt,t.emp,GROUP_CONCAT(DISTINCT t.purchaseOutsourcingOrderNo) as purchaseOutsourcingOrderNo,t.packId,t.salesman,t.earliestDeliveryDate,t.declarationUnit,
+t.clientAbbreviation,t.pcGw,t.priceGw,t.colour as colour,t.english_Name,t.elementsId,SUBSTRING(TRIM(t.english_Name),1, INSTR(TRIM(t.english_Name), ' ')) as gender,t.starting_box_number,t.end_case_number,
+-- t.Customs_Code,
+t.pieces_Box,t.net_Weight netWeight2,t.gross_Weight grossWeight2  from (
+select a.declaration_unit_price as declarationUnitPrice,sum(a.number*a.declaration_unit_price) as declarationTotalPrice,del.istc as isTc,DATE_FORMAT(a.pre_shipment_date,'%y-%m-%d') as preDate,a.garment_factory as garmentFactory,a.supplier,GROUP_CONCAT(a.id) as id,b.hs_code as hsCode,b.declaration_name as declarationName,b.english_product_name as englishProductName,sum(a.number) as number,a.unit_price as unitPrice,
+sum(a.number*a.unit_price) as totalPrice,a.gross_weight as grossWeight,a.net_weight as netWeight,a.master_metering as pcs,a.volume as volume,a.elements_Id as elementsId,
+'USD' as curr,'CHINA' as dree,'宁波其他/宁波象山县' as place,'照章征税' as certificate,a.style_number as styleNumber,a.smail_po as smailPo,a.box_number as boxNumber,
+a.order_number as orderNumber,a.client_abbreviation as clientAbbreviation,'PCS' as pacs,'CTNS' as ctns,'KGS' as kgs,'CBM' as cbm,c.salesman as salesman,'PC' as pcGw,'/PC' as priceGw,
+c.factory_Unit_Price as factoryUnitPrice,c.outer_box_length as outerBoxLength,c.outer_box_width as outerBoxWidth,c.outer_box_height as outerBoxHeight,c.hod as hod,min(c.hod) as earliestDeliveryDate,
+a.pk_org as pkOrg,round((a.unit_price*0.9),2) as unIt,'' as emp,a.purchase_outsourcing_order_no as purchaseOutsourcingOrderNo,c.pack_id as packId,b.declaration_unit as declarationUnit, c.group_id,
+
+c.colour,a.english_Name,starting_box_number,end_case_number,
+--  d.Customs_Code,
+c.pieces_Box,c.net_Weight,c.gross_Weight
+
+ from sy_shipping_order_item a
+left join sy_declaration_elements b
+on a.elements_Id = b.id
+-- left join sy_shipping_order d
+-- on a.sy_Shipping_Order_Item_Id = d.id
+left join sy_packing_list_tailoring_item c
+on a.tailoring_fabric_item_id = c.id
+left join (select is_tc as istc,item_number as itemNumber,inventory_code as inventoryCode,order_number as orderNumber
+from sy_shipping_details_item where del_flag = '0' group by item_number,inventory_code,order_number) del
+on a.style_number = del.itemNumber and b.inventory_code = del.inventoryCode and a.order_number = del.orderNumber
+where a.sy_shipping_order_item_id = #{id}
+group by c.group_id) t
+GROUP BY group_id
+order by t.supplier,t.salesman,t.styleNumber,t.smailPo,t.starting_box_number+0
+
+
 
     </select>
 
@@ -259,6 +300,39 @@ group by t.elementsId,t.styleNumber,t.smailPo,t.unitPrice order by t.supplier,t.
 
     </select>
 
+    <select id="queryItemSizes2" parameterType="java.lang.String" resultType="org.jeecg.modules.spapl.entity.SizeTable">
+        SELECT DISTINCT
+            c.size,
+            a.number / a.box_number num,
+            b.num ordernum,
+            c.group_id,
+            a.style_Number alias,
+            a.smail_Po groupName,
+            round( a.unit_Price, 2 ) unitprice
+        FROM
+            sy_shipping_order_item a
+            LEFT JOIN sy_packing_list_tailoring_item c ON a.tailoring_fabric_item_id = c.id
+            LEFT JOIN sizetable b ON c.size = b.size
+        WHERE
+            a.sy_shipping_order_item_id = #{id}
+        ORDER BY
+            ordernum
+    </select>
+
+    <select id="queryItemSizes3" parameterType="java.lang.String" resultType="org.jeecg.modules.spapl.entity.SizeTable">
+
+select DISTINCT  c.size, b.num ordernum,
+        a.style_Number alias,a.smail_Po groupName,
+        round(a.unit_Price, 2) unitprice
+        from sy_shipping_order_item a
+        left join sy_packing_list_tailoring_item c
+        on a.tailoring_fabric_item_id = c.id
+        left join sizetable b
+        on c.size=b.size
+        where a.sy_shipping_order_item_id=#{id}
+        order by ordernum
+    </select>
+
     <select id="querySizes" parameterType="java.lang.String" resultType="org.jeecg.modules.spapl.entity.SizeTable">
 
        select distinct c.size,b.num

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/service/impl/PurchaseWarehousingServiceImpl.java

@@ -742,8 +742,8 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
             mapPurSettleVouchs.put("PSVID",mapPurSettleVouch.get("PSVID"));//主表id
             mapPurSettleVouchs.put("iRdsID",Rdrecords01WriteQuantityMapList.get(0).get("AutoID"));//蓝字入库单子表id ???
             mapPurSettleVouchs.put("crdcvencode",map.get("cVenCode"));//入库单单据类型
-            this.baseMapper.savePurSettleVouch(mapPurSettleVouch);
-            this.baseMapper.savePurSettleVouchs(mapPurSettleVouchs);
+//            this.baseMapper.savePurSettleVouch(mapPurSettleVouch);
+//            this.baseMapper.savePurSettleVouchs(mapPurSettleVouchs);
         }
     }
 

+ 15 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/controller/SyPreAssembledPackingListController.java

@@ -115,6 +115,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
         QueryWrapper<SyPreAssembledPackingListVo> queryWrapper =new QueryWrapper<>();//初始化
         long startTime = System.currentTimeMillis();
         queryWrapper.eq("a.del_flag","0");//默认查询未删除
+//        queryWrapper.eq("b.del_flag","0");//默认查询未删除
         if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getId())){//查询id
             queryWrapper.eq("a.id",syPreAssembledPackingListVo.getId().trim());
         }
@@ -173,6 +174,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
             queryWrapper.le("b.hod",endDate);
         }
         Page<SyPreAssembledPackingListVo> page = new Page<SyPreAssembledPackingListVo>(pageNo, pageSize);
+        page.setSearchCount(false);//不查询总数
         IPage<SyPreAssembledPackingListVo> pageList = syPreAssembledPackingListService.selectPage(page, queryWrapper);
         long endTime3 = System.currentTimeMillis();
         System.out.println("查数据时间运行:" + (endTime3 - startTime) + "ms");
@@ -871,7 +873,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
             }
             // 小po 分销点
             if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getSmallPo())){//小po
-                queryWrapper.like("b.small_Po",syPreAssembledPackingListVo.getSmallPo().trim());
+                queryWrapper.likeRight("b.small_Po",syPreAssembledPackingListVo.getSmallPo().trim());
             }
             if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getDistributionPoint())){//分销点
                 queryWrapper.like("b.distribution_Point",syPreAssembledPackingListVo.getDistributionPoint().trim());
@@ -989,7 +991,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
             }
             // 小po 分销点
             if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getSmallPo())){//小po
-                queryWrapper.like("b.small_Po",syPreAssembledPackingListVo.getSmallPo().trim());
+                queryWrapper.likeRight("b.small_Po",syPreAssembledPackingListVo.getSmallPo().trim());
             }
             if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getDistributionPoint())){//分销点
                 queryWrapper.like("b.distribution_Point",syPreAssembledPackingListVo.getDistributionPoint().trim());
@@ -1132,7 +1134,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
             }
             // 小po 分销点
             if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getSmallPo())){//小po
-                queryWrapper.like("b.small_Po",syPreAssembledPackingListVo.getSmallPo().trim());
+                queryWrapper.likeRight("b.small_Po",syPreAssembledPackingListVo.getSmallPo().trim());
             }
             if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getDistributionPoint())){//分销点
                 queryWrapper.like("b.distribution_Point",syPreAssembledPackingListVo.getDistributionPoint().trim());
@@ -2332,7 +2334,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
             list.add("PACKS/CTN");//
             list.add("PCS/CTN");//
             list.add("PACK QTY");//
-
+//            main.setSheetName(sheet.getSheetName());
             System.out.println("第"+num+"页\t"+sheet.getSheetName());
             int num1=10;
             for (int x=0;x<=sheet.getLastRowNum();x++){
@@ -2437,7 +2439,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                         }
                     }
                 }
-                System.out.println();
+//                System.out.println();
                 if(x>0){
                     BigDecimal total=new BigDecimal("0");
                     for (String str : strs2){
@@ -2457,6 +2459,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                 }
             }
             main.setSyPreAssembledPackingListItemList(items);//获取集合
+            main.setSheetName(sheet.getSheetName());
             mains.add(main);
         }
         return syPreAssembledPackingListService.excelTest(mains);
@@ -2471,5 +2474,12 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
     }
 
 
+    @AutoLog(value = "正式服数据新增到测试服")
+    @ApiOperation(value="正式服数据新增到测试服", notes="正式服数据新增到测试服")
+    @RequestMapping(value = "/getPacking", method = {RequestMethod.POST})
+    public Result getPacking(String id){
+        SyPreAssembledPackingList packing=syPreAssembledPackingListService.getPacking(id);
+        return Result.ok(packing);
+    }
 
 }

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SyPreAssembledPackingList.java

@@ -250,6 +250,10 @@ public class SyPreAssembledPackingList implements Serializable {
 	@TableField(exist = false)
 	private String itemCode;
 
+	@ApiModelProperty(value = "sheetName")
+	@TableField(exist = false)
+	private String sheetName;
+
 	//佣金
 	@ApiModelProperty(value = "佣金")
 	@TableField(exist = false)

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SyPreAssembledPackingListItem.java

@@ -415,7 +415,7 @@ public class SyPreAssembledPackingListItem implements Serializable {
 			}
 				//总件数 total
 //				if(isNumeric(parsms[18])){
-					System.out.println("this.piecesBox\t"+this.piecesBox+"\ttotalPack\t"+totalPack);
+//					System.out.println("this.piecesBox\t"+this.piecesBox+"\ttotalPack\t"+totalPack);
 					packBox=this.piecesBox.divide(totalPack,2,RoundingMode.HALF_UP ) ;//包数/箱
 //				}
 //				if(isNumeric(parsms[20])){
@@ -423,7 +423,7 @@ public class SyPreAssembledPackingListItem implements Serializable {
 					packs=boxNumber.multiply(packBox);//包数
 //				}
 //			System.out.println("\t包数/箱\t"+packBox+"\t件数/包\t"+totalPack+"\t包数\t"+packs);
-			System.out.println("\t箱数\t"+boxNumber+"\t件数/包\t"+totalPack+"\t包数\t"+packs+"\t总数\t"+total);
+//			System.out.println("\t箱数\t"+boxNumber+"\t件数/包\t"+totalPack+"\t包数\t"+packs+"\t总数\t"+total);
 			this.totalNetWeight=this.boxNumber.multiply(this.netWeight);
 			this.totalGrossWeight=this.boxNumber.multiply(this.grossWeight);
 			this.totalVolume=this.boxNumber.multiply(this.outerBoxLength).multiply(this.outerBoxWidth).multiply(this.outerBoxHeight).divide(new BigDecimal(1000000));

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/SyPreAssembledPackingListItemMapper.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.spapl.mapper;
 
 import java.util.List;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.apache.ibatis.annotations.Param;
@@ -60,4 +61,7 @@ public interface SyPreAssembledPackingListItemMapper extends BaseMapper<SyPreAss
 	public List<SizeTable> queryAllSizes2(@Param("list")String []ids);
 
     List<SyShippingDetailsItem> getWideSizes(@Param("mainId")String syDeclarationElementsId);
+
+//	@DS("multi-for")
+//    List<SyPreAssembledPackingListItem> selectById2(String id);
 }

+ 7 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/SyPreAssembledPackingListMapper.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.spapl.mapper;
 import java.util.List;
 import java.util.Map;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
@@ -48,4 +49,10 @@ public interface SyPreAssembledPackingListMapper extends BaseMapper<SyPreAssembl
 
    List<SyPreAssembledPackingList>  queryById2(@Param("list")String[] ids);
 
+   long getCount( @Param("ew") QueryWrapper<SyPreAssembledPackingListVo> queryWrapper);
+
+   List<String> selectList1(IPage<SyPreAssembledPackingListVo> page, @Param("ew")  QueryWrapper<SyPreAssembledPackingListVo> queryWrapper);
+
+//   @DS("multi-for")
+//   SyPreAssembledPackingList selectById2(String id);
 }

+ 12 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/xml/SyPreAssembledPackingListItemMapper.xml

@@ -31,8 +31,8 @@
 			distribution_point,
 			prepack_sku,
 			size,
-			starting_box_number,
-			end_case_number,
+			CAST(starting_box_number AS SIGNED) as starting_box_number,
+			CAST(end_case_number AS SIGNED) as end_case_number,
 			colour,
 			pieces_box,
 			box_number boxnumber,/*箱数*/
@@ -355,8 +355,8 @@
 			b.distribution_point,
 			ifnull(b.prepack_sku,'') prepack_sku,
 			b.size,
-			b.starting_box_number,
-			b.end_case_number,
+			CAST(b.starting_box_number AS SIGNED) as starting_box_number,
+			CAST(b.end_case_number AS SIGNED) as end_case_number,
 			b.colour,
 			b.pieces_box,
 			b.box_number boxnumber,/*箱数*/
@@ -490,4 +490,12 @@
 
 	</select>
 
+
+	<select id="selectById2" parameterType="java.lang.String" resultType="org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem">
+		SELECT *
+		FROM  sy_pre_assembled_packing_list_item
+		WHERE sy_pre_assembled_packing_list_id = #{value}
+		and del_flag=0
+	</select>
+
 </mapper>

+ 102 - 72
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/xml/SyPreAssembledPackingListMapper.xml

@@ -49,71 +49,95 @@
          where sy_pre_assembled_packing_list_id=#{value})
     </update>
 
-    <select id="selectPage" resultType="org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo">
-    /*获取汇总数据*/
-    SELECT
-        a.id,/*主键id*/
-        a.document_No,/*单据号*/
-        a.order_number,/*订单号*/
-        a.item_number, /*款号*/
-	    c.english_product_name englishProductName ,/*中文品名*/
-	    c.declaration_name  productName,/*英文品名*/
-        a.size_range,/*尺码范围*/
-        a.customer,/*客户名称*/
-        a.container_code,/*集装箱号*/
-        a.container_number,/*集装箱代号*/
-        a.u8_remarks,/*备注*/
-        a.depositary_receipt_no,/*预托书号*/
-        a.memo,/*备注*/
-        a.order_type,/*订单类型*/
-        a.customer_abbreviation,/*客户简称*/
-        a.`update_time`,/*修改日期*/
-        a.`status`,/*单据状态*/
-        a.total_Boxes totalboxes,/*总箱数*/
-        a.`create_time`,/*创建时间*/
-        a.`push_Status`,/*推送状态*/
-        a.is_Reference,/*是否被参照*/
-        b.master_Metering,/*计量单位*/
-        b.garment_factory,/*成衣工厂*/
-        a.total,/*件数*/
-        b.hod as  preDeliveryDate,/*预发货日期*/
-        a.total_net_weight totalnetweight,/*总净重*/
-        a.total_gross_weight totalgrossweight,/*总毛重*/
-        a.total_volume totalvolume,/*总体积*/
-        a.total_price totalprice,/*总价*/
-        /*sum(b.total) totalquantity,*/
-        b.factory_Unit_Price factoryUnitPrice,/*工厂单价*/
-        a.spur_or_sub_order,/*采购委外订单号*/
-        b.inventory_name,/*存货名称*/
-        b.small_po,/*小po*/
-        b.colour,/*颜色*/
-        b.distribution_point/*分销点*/
-    FROM Sy_Pre_Assembled_Packing_List  a
-    LEFT JOIN Sy_Pre_Assembled_Packing_List_item  b
-    ON a.id=b.sy_pre_assembled_packing_list_id  AND b.del_flag='0'
-    and b.id in (select max(id) from Sy_Pre_Assembled_Packing_List_item
-    group by sy_Pre_Assembled_Packing_List_Id)
-    left join sy_declaration_elements c
-    on a.elements_Id=c.id
-    ${ew.customSqlSegment}
+    <select id="getCount" resultType="java.lang.Long">
+        SELECT
+        count(DISTINCT sy_Pre_Assembled_Packing_List_Id)
+        FROM sy_pre_assembled_packing_list a
+        inner JOIN sy_pre_assembled_packing_list_item b
+        ON a.id = b.sy_pre_assembled_packing_list_id
+        ${ew.customSqlSegment}
+    </select>
 
-    ORDER BY a.`create_time` DESC
+
+    <select id="selectList1" resultType="java.lang.String">
+        SELECT
+            distinct a.id
+        FROM
+            sy_pre_assembled_packing_list a
+        INNER JOIN
+            sy_pre_assembled_packing_list_item b
+        ON a.id = b.sy_pre_assembled_packing_list_id
+        ${ew.customSqlSegment}
+        ORDER BY a.create_time DESC;
+    </select>
+
+    <select id="selectPage" resultType="org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo">
+        /*获取汇总数据*/
+        SELECT
+            a.id,/*主键id*/
+            a.document_No,/*单据号*/
+            a.order_number,/*订单号*/
+            a.item_number, /*款号*/
+            c.english_product_name englishProductName ,/*中文品名*/
+            c.declaration_name  productName,/*英文品名*/
+            a.size_range,/*尺码范围*/
+            a.customer,/*客户名称*/
+            a.container_code,/*集装箱号*/
+            a.container_number,/*集装箱代号*/
+            a.u8_remarks,/*备注*/
+            a.depositary_receipt_no,/*预托书号*/
+            a.memo,/*备注*/
+            a.order_type,/*订单类型*/
+            a.customer_abbreviation,/*客户简称*/
+            a.`update_time`,/*修改日期*/
+            a.`status`,/*单据状态*/
+            a.total_Boxes totalboxes,/*总箱数*/
+            a.`create_time`,/*创建时间*/
+            a.`push_Status`,/*推送状态*/
+            a.is_Reference,/*是否被参照*/
+            b.master_Metering,/*计量单位*/
+            b.garment_factory,/*成衣工厂*/
+            a.total,/*件数*/
+            b.hod as  preDeliveryDate,/*预发货日期*/
+            a.total_net_weight totalnetweight,/*总净重*/
+            a.total_gross_weight totalgrossweight,/*总毛重*/
+            a.total_volume totalvolume,/*总体积*/
+            a.total_price totalprice,/*总价*/
+            /*sum(b.total) totalquantity,*/
+            b.factory_Unit_Price factoryUnitPrice,/*工厂单价*/
+            a.spur_or_sub_order,/*采购委外订单号*/
+            b.inventory_name,/*存货名称*/
+            b.small_po,/*小po*/
+            b.colour,/*颜色*/
+            b.distribution_point/*分销点*/
+        FROM Sy_Pre_Assembled_Packing_List  a
+        LEFT JOIN Sy_Pre_Assembled_Packing_List_item  b
+        ON a.id=b.sy_pre_assembled_packing_list_id
+--         AND b.del_flag='0'
+        AND b.id in (select max(id) from Sy_Pre_Assembled_Packing_List_item
+        where a.id=sy_Pre_Assembled_Packing_List_Id
+        AND del_flag='0'
+        group by sy_Pre_Assembled_Packing_List_Id)
+        left join sy_declaration_elements c
+        on a.elements_Id=c.id
+        ${ew.customSqlSegment}
+        ORDER BY a.`create_time` DESC
 	</select>
 
     <select id="selectPage4" resultType="org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo">
-    /*获取汇总数据*/
-    select small_po,distribution_point,container_number,
-    garment_factory,depositary_receipt_no,colour,
-    inventory_name,spur_or_sub_order,itemCode,
-    document_No,order_number,item_number,
-    customer_abbreviation,preDeliveryDate,
-    sum(total) total,sum(totalboxes) totalboxes,
-    sum(totalnetweight) totalnetweight,
-    sum(totalgrossweight) totalgrossweight,
-    sum(totalvolume) totalvolume,
-    sum(totalprice) totalprice
-    from (
-    SELECT
+        /*获取汇总数据*/
+        select small_po,distribution_point,container_number,
+        garment_factory,depositary_receipt_no,colour,
+        inventory_name,spur_or_sub_order,itemCode,
+        document_No,order_number,item_number,
+        customer_abbreviation,preDeliveryDate,
+        sum(total) total,sum(totalboxes) totalboxes,
+        sum(totalnetweight) totalnetweight,
+        sum(totalgrossweight) totalgrossweight,
+        sum(totalvolume) totalvolume,
+        sum(totalprice) totalprice
+        from (
+            SELECT
             a.document_No,/*单据号*/
             a.order_number,/*订单号*/
             a.item_number, /*款号*/
@@ -134,17 +158,17 @@
             b.inventory_name,/*存货名称*/
             b.colour,/*颜色*/
             IF(a.customer_Abbreviation='BIG W' OR a.customer_Abbreviation ='BL', b.item_code,'') itemCode
-    FROM Sy_Pre_Assembled_Packing_List  a
-    LEFT JOIN Sy_Pre_Assembled_Packing_List_item  b
-    ON a.id=b.sy_pre_assembled_packing_list_id  AND b.del_flag='0'
-    ${ew.customSqlSegment}
-    GROUP BY b.group_id ) t
-    GROUP BY small_po,distribution_point,container_number,
-    garment_factory,depositary_receipt_no,colour,
-    inventory_name,spur_or_sub_order,itemCode,
-    document_No,order_number,item_number,
-    customer_abbreviation,preDeliveryDate
-    ORDER BY item_Number,small_Po,itemCode
+        FROM Sy_Pre_Assembled_Packing_List  a
+        LEFT JOIN Sy_Pre_Assembled_Packing_List_item  b
+        ON a.id=b.sy_pre_assembled_packing_list_id  AND b.del_flag='0'
+        ${ew.customSqlSegment}
+        GROUP BY b.group_id ) t
+        GROUP BY small_po,distribution_point,container_number,
+        garment_factory,depositary_receipt_no,colour,
+        inventory_name,spur_or_sub_order,itemCode,
+        document_No,order_number,item_number,
+        customer_abbreviation,preDeliveryDate
+        ORDER BY item_Number,small_Po,itemCode
 	</select>
 
     <select id="selectPage3" resultType="org.jeecg.modules.spapl.entity.SyPreAssembledPackingList">
@@ -390,6 +414,12 @@
             #{value}
         </foreach>
         group by b.small_po,b.hod,b.unit_price,d.material_composition,b.distribution_Point
+        order by b.style_no,b.small_po
 	</select>
 
+    <select id="selectById2" resultType="org.jeecg.modules.spapl.entity.SyPreAssembledPackingList" parameterType="java.lang.String">
+        SELECT *
+        FROM Sy_Pre_Assembled_Packing_List a
+        where a.id =#{value}
+    </select>
 </mapper>

+ 4 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/ISyPreAssembledPackingListService.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.spapl.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.documents.letterDeposit.entity.SyLetterDepositItem;
 import org.jeecg.modules.documents.shippingDetails.entity.VO.SyShippingDetailsVo;
@@ -65,7 +66,7 @@ public interface ISyPreAssembledPackingListService extends IService<SyPreAssembl
 	 * @param page,queryWrapper
 	 * @return
 	 */
-	public IPage<SyPreAssembledPackingListVo> selectPage(IPage<SyPreAssembledPackingListVo> page, QueryWrapper<SyPreAssembledPackingListVo> queryWrapper);
+	public IPage<SyPreAssembledPackingListVo> selectPage(Page<SyPreAssembledPackingListVo> page, QueryWrapper<SyPreAssembledPackingListVo> queryWrapper);
 
 	/**
 	 * 汇总预装箱单
@@ -130,4 +131,6 @@ public interface ISyPreAssembledPackingListService extends IService<SyPreAssembl
 	List<SyPreAssembledPackingList>  queryById2( Map<String, List<String>> ids, List<String> allIds);
 
 	List<SyPreAssembledPackingList> selectPage3(QueryWrapper<SyPreAssembledPackingListVo> queryWrapper);
+
+	SyPreAssembledPackingList getPacking(String id);
 }

+ 53 - 9
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/impl/SyPreAssembledPackingListServiceImpl.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.spapl.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.hibernate.engine.jdbc.Size;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.util.oConvertUtils;
@@ -27,6 +28,7 @@ import org.jeecg.modules.spapl.vo.PackingHeaderVo;
 import org.jeecg.modules.spapl.vo.PackingLineVo;
 import org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo;
 import org.jeecg.modules.splfi.entity.SyPackingListFabric;
+import org.jeecg.modules.splt.vo.SyPackingListTailoringVo;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -162,6 +164,8 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 				 }
 				 //box=box.add(boxNumber1);//合计
 				 item.setDelFlag("0");
+				 System.out.println("尺码组长度\t"+sizes.size());
+				 System.out.println("尺码组\t"+sizes);
 				 for (SizeTable size : sizes){
 					 if(size.getProportion()==null){
 						 size.setProportion(0);
@@ -194,14 +198,14 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 						 }
 						 item1.setSyPreAssembledPackingListId(pid);
 						 item1.setId(oConvertUtils.id());//获取到随机id
-						 System.out.println("新增");
+//						 System.out.println("新增");
 						 syPreAssembledPackingListItemMapper.insert(item1);
 					 }else{
 						 item1.setOmpoIdItem(null);
 						 SyPreAssembledPackingListItem item3=new SyPreAssembledPackingListItem();
 						 BeanUtils.copyProperties(item1,item3);//后面是被传的
 						 items3.add(item3);
-						 System.out.println("修改");
+//						 System.out.println("修改");
 						 //syPreAssembledPackingListItemMapper.updateById(item1);//如果没修改成功就是新增数据
 					 }
 				 }
@@ -572,8 +576,24 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 	}
 
 	@Override
-	public IPage<SyPreAssembledPackingListVo> selectPage(IPage<SyPreAssembledPackingListVo> page, QueryWrapper<SyPreAssembledPackingListVo> queryWrapper) {
-		return syPreAssembledPackingListMapper.selectPage(page,queryWrapper);
+	public IPage<SyPreAssembledPackingListVo> selectPage(Page<SyPreAssembledPackingListVo> page, QueryWrapper<SyPreAssembledPackingListVo> queryWrapper) {
+
+		page.setSearchCount(false);//不查询总数
+		page.setTotal(syPreAssembledPackingListMapper.getCount(queryWrapper));
+		List<String> ids=syPreAssembledPackingListMapper.selectList1(page, queryWrapper);
+		if (ids.size()>0){
+			queryWrapper.in("a.id",ids);
+		}
+		long current=page.getCurrent();
+		page.setCurrent(1);
+		page.setSize(page.getSize());
+		queryWrapper.eq("b.del_flag","0");
+		IPage<SyPreAssembledPackingListVo> page1=syPreAssembledPackingListMapper.selectPage(page, queryWrapper);
+		page.setRecords(page1.getRecords());
+		page.setCurrent(current);
+		return page;
+
+//		return syPreAssembledPackingListMapper.selectPage(page,queryWrapper);
 	}
 
 	@Override
@@ -945,6 +965,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 	@Override
 	public String excelTest(List<SyPreAssembledPackingList> mains) {
 		String strs="";
+		String message="";
 		for(SyPreAssembledPackingList main : mains){
 			BigDecimal total1=new BigDecimal("0");
 			BigDecimal total2=new BigDecimal("0");
@@ -954,6 +975,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 			//String ids="";
 			ArrayList<String> ids=new ArrayList<>();
 			List<SyShippingDetailsItem> syShippingDetailsItems=syPreAssembledPackingListItemMapper.getWideSizes(main.getSyDeclarationElementsId());
+			int sheetNum=2;
 			for (SyPreAssembledPackingListItem item :main.getSyPreAssembledPackingListItemList()){
 				Map<String,String> map=new HashMap<>();
 				boolean bool=true;
@@ -978,13 +1000,15 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 				for (SizeTable size : item.getSizeTables()){
 					if (map.get(size.getSize())==null){
 						BigDecimal sub=new BigDecimal(size.getProportion()).multiply(item.getBoxNumber());
-						System.out.println("sub\t"+sub);
+//						System.out.println("sub\t"+sub);
 						if(sub.intValue()>0){
-							System.out.println("测试数据\t");
+							message+=main.getSheetName()+"的第"+sheetNum+"行,配码规格有问题;";
+//							System.out.println("map\t"+map);
+//							System.out.println("测试数据\t"+sub+"\tsize\t"+size.getSize()+"\tgroupItemId\t"+item.getGroupItemId()+"\t配吗规格\t"+item.getWithCode());
 						}
 						total3=total3.subtract(sub);
 					}else{
-						System.out.println("无数据total\t"+item.getTotal());
+//						System.out.println("无数据total\t"+item.getTotal());
 						//ids+=""+map.get(size.getSize())+",";//获取出运明细子表id
 					}
 //					System.out.println("尺码\t"+size.getSize()+"\t数量\t"+size.getProportion());
@@ -998,9 +1022,10 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 					}
 					num2++;
 				}
+				sheetNum++;
 			}
-			System.out.println("ids.size\t"+ids.size());
-			System.out.println("ids\n"+ids);
+//			System.out.println("ids.size\t"+ids.size());
+//			System.out.println("ids\n"+ids);
 			if(ids.size()>0){
 				//ids=ids.substring(0,ids.length()-1);
 				QueryWrapper queryWrapper=new QueryWrapper();
@@ -1029,6 +1054,10 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 			System.out.println(name+"的原单据数量"+total1.intValue()+",已参照数量"+total2.intValue()+",本次数量"+total3.intValue()+";");
 			strs+=name+"的原单据数量"+total1.intValue()+",已参照数量"+total2.intValue()+",本次数量"+total3.intValue()+";";
 		}
+		System.out.println("message\t"+message);
+		if (message.length()>0){
+//			throw new JeecgBootException(message);
+		}
 		return strs;
 	}
 
@@ -1278,4 +1307,19 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 		}
 		return sizes;
 	}
+
+	@Override
+	public SyPreAssembledPackingList getPacking(String id) {
+		SyPreAssembledPackingList packingList=new SyPreAssembledPackingList();
+//		SyPreAssembledPackingList packingList=syPreAssembledPackingListMapper.selectById2(id);
+//		List<SyPreAssembledPackingListItem> listItems=syPreAssembledPackingListItemMapper.selectById2(id);
+//		System.out.println("documentNo\t"+packingList.getDocumentNo());
+//		System.out.println("listItems.size\t"+listItems.size());
+//		packingList.setSyPreAssembledPackingListItemList(listItems);
+//		syPreAssembledPackingListMapper.insert(packingList);
+//		for (SyPreAssembledPackingListItem item : listItems){
+//			syPreAssembledPackingListItemMapper.insert(item);
+//		}
+		return packingList;
+	}
 }

+ 36 - 36
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/controller/SyPackingListFabricController.java

@@ -228,8 +228,8 @@ public class SyPackingListFabricController implements Job {
 			return result;
 		}
 		//public Result<SyPackingListFabric>  getSyShippingDetailsData(String[] ids,String[] groupIds)
-		// System.out.println("数组长度"+ids.length);
-		// System.out.println("分组id长度"+groupIds.length);
+		// //System.out.println("数组长度"+ids.length);
+		// //System.out.println("分组id长度"+groupIds.length);
 		SyPackingListFabric syPackingListFabric=syPackingListFabricService.getSyShippingDetailsData(ids,groupIds);
 		//syPackingListFabric.setPreparedBy(JwtUtil.getUsername(token));
 		 syPackingListFabric.setPreparedBy("admin");
@@ -573,7 +573,7 @@ public class SyPackingListFabricController implements Job {
 					 listFabrics1.add(fabric);
 				 }
 				 fabric.setSaleInvoiceError("");
-				 //System.out.println("madate\t"+mapdate);
+				 ////System.out.println("madate\t"+mapdate);
 				 if(mapdate!=null){
 					 if(mapdate.containsKey("e1")&&mapdate.get("e1")!=null) {
 						 fabric.setTheFinalShippingDate(mapdate.get("e1").toString());
@@ -634,7 +634,7 @@ public class SyPackingListFabricController implements Job {
 			 } catch (IOException ex) {
 				 ex.printStackTrace();
 			 }
-			 System.out.println("托书发票推送报错");
+			 //System.out.println("托书发票推送报错");
 			 log.info("托书发票推送报错\t"+msg2);
 		 }
 		 return message;
@@ -781,19 +781,19 @@ public class SyPackingListFabricController implements Job {
 						 FormulaEvaluator formulaEvaluator = new XSSFFormulaEvaluator((XSSFWorkbook) workbook1);
 						 //获取单元格内容的类型 =R17-Q17*0.35
 						 CellType cellType = cell.getCellType();
-						 //System.out.println("是公式吗\t"+(cellType.equals(CellType.FORMULA)==true?"是":"否"));
+						 ////System.out.println("是公式吗\t"+(cellType.equals(CellType.FORMULA)==true?"是":"否"));
 						 //判断是否存储的为公式,此处本可以不加判断
 						 if (cellType.equals(CellType.FORMULA)){
-							// System.out.println("formula cell\t"+cell);
+							// //System.out.println("formula cell\t"+cell);
 							 //获取公式,可以理解为已String类型获取cell的值输出
 							 String cellFormula = cell.getCellFormula();
-							 //System.out.println(cellFormula);
+							 ////System.out.println(cellFormula);
 							 //执行公式,此处cell的值就是公式
 							 CellValue evaluate = formulaEvaluator.evaluate(cell);
-							 //System.out.println(evaluate.formatAsString());
+							 ////System.out.println(evaluate.formatAsString());
 							 itemStrs.add(evaluate.formatAsString());
 						 }else{
-							// System.out.println("string cell\t"+cell);
+							// //System.out.println("string cell\t"+cell);
 							 cell.setCellType(CellType.STRING);//获取的都转换成String
 							 itemStrs.add(cell.toString());
 						 }
@@ -807,7 +807,7 @@ public class SyPackingListFabricController implements Job {
 		 }
 		 main.setSyPackingListFabricItem(items);
 		 for (SyPackingListFabricItem fabricItem : items){
-		 	System.out.println("供应商\t"+fabricItem.getSupplier());
+		 	//System.out.println("供应商\t"+fabricItem.getSupplier());
 			if(maps.containsKey(fabricItem.getSupplier())){
 				SyPackingListFabric syPackingListFabric=maps.get(fabricItem.getSupplier());
 				syPackingListFabric.getSyPackingListFabricItem().add(fabricItem);
@@ -820,8 +820,8 @@ public class SyPackingListFabricController implements Job {
 				maps.put(fabricItem.getSupplier(),syPackingListFabric);
 			}
 		 }
-		 System.out.println("maps.size\t"+maps.size());
-		 System.out.println("maps\t"+maps);
+		 //System.out.println("maps.size\t"+maps.size());
+		 //System.out.println("maps\t"+maps);
 		 return maps;
 			 /*if(main.getGarmentFactory()!=null){
 				 maps.put(main.getGarmentFactory(),main);
@@ -874,19 +874,19 @@ public class SyPackingListFabricController implements Job {
 							 FormulaEvaluator formulaEvaluator = new XSSFFormulaEvaluator((XSSFWorkbook) workbook1);
 							 //获取单元格内容的类型 =R17-Q17*0.35
 							 CellType cellType = cell.getCellType();
-							 //System.out.println("是公式吗\t"+(cellType.equals(CellType.FORMULA)==true?"是":"否"));
+							 ////System.out.println("是公式吗\t"+(cellType.equals(CellType.FORMULA)==true?"是":"否"));
 							 //判断是否存储的为公式,此处本可以不加判断
 							 if (cellType.equals(CellType.FORMULA)){
-								 //System.out.println("formula cell\t"+cell);
+								 ////System.out.println("formula cell\t"+cell);
 								 //获取公式,可以理解为已String类型获取cell的值输出
 								 String cellFormula = cell.getCellFormula();
-								 //System.out.println(cellFormula);
+								 ////System.out.println(cellFormula);
 								 //执行公式,此处cell的值就是公式
 								 CellValue evaluate = formulaEvaluator.evaluate(cell);
-								 //System.out.println(evaluate.formatAsString());
+								 ////System.out.println(evaluate.formatAsString());
 								 itemStrs.add(evaluate.formatAsString());
 							 }else{
-								 //System.out.println("string cell\t"+cell);
+								 ////System.out.println("string cell\t"+cell);
 								 cell.setCellType(CellType.STRING);//获取的都转换成String
 								 itemStrs.add(cell.toString());
 							 }
@@ -901,10 +901,10 @@ public class SyPackingListFabricController implements Job {
 						 if (cellType.equals(CellType.FORMULA)){
 							 //获取公式,可以理解为已String类型获取cell的值输出
 							 String cellFormula = cell.getCellFormula();
-							 //System.out.println(cellFormula);
+							 ////System.out.println(cellFormula);
 							 //执行公式,此处cell的值就是公式
 							 CellValue evaluate = formulaEvaluator.evaluate(cell);
-							 //System.out.println(evaluate.formatAsString());
+							 ////System.out.println(evaluate.formatAsString());
 							 itemStrs.add(evaluate.formatAsString());
 						 }else{
 
@@ -1029,7 +1029,7 @@ public class SyPackingListFabricController implements Job {
 												  @RequestParam(defaultValue="1") String selectAll,
 												  SyPackingListFabric syPackingListFabric) {
 		 long startTime = System.currentTimeMillis();
-		 System.out.println("开始导出");
+		 //System.out.println("开始导出");
 		 Result result=new Result();
 		 try{
 			 QueryWrapper<SyPackingListFabric> queryWrapper =  new QueryWrapper<>();//QueryGenerator.initQueryWrapper(syPackingListFabric, request.getParameterMap());
@@ -1090,7 +1090,7 @@ public class SyPackingListFabricController implements Job {
 				 return result;
 			 }
 			 long endTime = System.currentTimeMillis();
-			 System.out.println("查询子表后程序运行时间:" + (endTime - startTime) + "ms");
+			 //System.out.println("查询子表后程序运行时间:" + (endTime - startTime) + "ms");
 			 String load="D:\\单证模板\\面辅料.xlsx";
 			 int count = packingListFabrics.size();//分几条sheet
 			 File file=new File(load);
@@ -1130,7 +1130,7 @@ public class SyPackingListFabricController implements Job {
 			 result.setSuccess(false);
 		 }finally {
 			 long endTime2 = System.currentTimeMillis();
-			 System.out.println("返回时程序运行时间:" + (endTime2 - startTime) + "ms");
+			 //System.out.println("返回时程序运行时间:" + (endTime2 - startTime) + "ms");
 			 return result;
 		 }
 	 }
@@ -1199,7 +1199,7 @@ public class SyPackingListFabricController implements Job {
 				 syPackingListFabricService.updateById(syPackingListFabric);
 
 
-				 System.out.println("文件地址\n"+uploadpath+"/"+fileName);
+				 //System.out.println("文件地址\n"+uploadpath+"/"+fileName);
 				 File file=new File(uploadpath+"/"+fileName);
 
 				 if (file.exists()) {
@@ -1345,7 +1345,7 @@ public class SyPackingListFabricController implements Job {
 					 SyOrderData syOrderData=syOrderDataMapper.selectById(items.get(0).getSyOrderDataId());//最终客户
 					 if(syOrderData!=null){
 						 main.setEndCustomer(syOrderData.getEndCustomer());
-						 System.out.println("最终客户\t"+syOrderData.getEndCustomer());
+						 //System.out.println("最终客户\t"+syOrderData.getEndCustomer());
 					 }
 //					 if(syOrderData.getFlag()==1){
 //						 message2="手工匹配订单不能推送";
@@ -1371,7 +1371,7 @@ public class SyPackingListFabricController implements Job {
 					 SyOrderDataItem syOrderDataItem=syOrderDataItemMapper.selectById(items.get(0).getSyOrderDataItemId());//供应商全称
 					 if(syOrderDataItem!=null){
 						 main.setSupplierCode(syOrderDataItem.getSupplierCode());
-						 System.out.println("客户编码\t"+syOrderDataItem.getSupplierCode());
+						 //System.out.println("客户编码\t"+syOrderDataItem.getSupplierCode());
 					 }
 
 					 main.setSyPackingListFabricItem(items);
@@ -1406,7 +1406,7 @@ public class SyPackingListFabricController implements Job {
 						 }catch (Exception e){
 							 e.printStackTrace();
 							 message+=e.getMessage();
-							 System.out.println("面辅料批量推送报错");
+							 //System.out.println("面辅料批量推送报错");
 							 String msg2=getExceptionStr(e);
 							 log.info("面辅料批量推送报错\t"+msg2);
 							 if(map.get("account").equals(account)){
@@ -1415,7 +1415,7 @@ public class SyPackingListFabricController implements Job {
 						 }
 					 }
 				 }
-				 System.out.println("成衣message\t"+message);
+				 //System.out.println("成衣message\t"+message);
 				 //if(message!=null&&message.length()>0&&(message.indexOf("接口")>-1||message.indexOf("账套")>-1)){
 				 if(message!=null&&message.length()>0&&message.indexOf("接口")>-1){
 					 main.setPushState("2");//推送失败!
@@ -1441,7 +1441,7 @@ public class SyPackingListFabricController implements Job {
 	 @GetMapping(value = "/pushBatch2")
 	 public  Result pushBatch2(String[] ids) {
 		 Result result=new Result();
-		 System.out.println("result.success\t"+result);
+		 //System.out.println("result.success\t"+result);
 		 result.setSuccess(false);
 		 if(oConvertUtils.isEmpty(ids)){
 			 result.setMessage("请至少选中一条数据");
@@ -1500,7 +1500,7 @@ public class SyPackingListFabricController implements Job {
 					 SyOrderData syOrderData=syOrderDataMapper.selectById(items.get(0).getSyOrderDataId());//最终客户
 					 if(syOrderData!=null){
 						 main.setEndCustomer(syOrderData.getEndCustomer());
-						 System.out.println("最终客户\t"+syOrderData.getEndCustomer());
+						 //System.out.println("最终客户\t"+syOrderData.getEndCustomer());
 					 }
 					 if(syOrderData.getFlag()==1){
 						 message2="手工匹配订单不能推送";
@@ -1515,7 +1515,7 @@ public class SyPackingListFabricController implements Job {
 					 SyOrderDataItem syOrderDataItem=syOrderDataItemMapper.selectById(items.get(0).getSyOrderDataItemId());//供应商全称
 					 if(syOrderDataItem!=null){
 						 main.setSupplierCode(syOrderDataItem.getSupplierCode());
-						 System.out.println("客户编码\t"+syOrderDataItem.getSupplierCode());
+						 //System.out.println("客户编码\t"+syOrderDataItem.getSupplierCode());
 					 }
 
 					 main.setSyPackingListFabricItem(items);
@@ -1555,7 +1555,7 @@ public class SyPackingListFabricController implements Job {
 						 }
 					 }
 				 }
-				 System.out.println("message\t"+message);
+				 //System.out.println("message\t"+message);
 				 //if(message!=null&&message.length()>0&&(message.indexOf("接口")>-1||message.indexOf("账套")>-1)){
 				 if(message!=null&&message.length()>0&&message.indexOf("接口")>-1){
 					 main.setPushState("2");//推送失败!
@@ -1647,7 +1647,7 @@ public class SyPackingListFabricController implements Job {
 				 syPackingListFabricService.updateById(main);//修改成衣
 			 }
 			 List<SyPackingListFabricItem> items=syPackingListFabricItemService.selectByMainId3(ids);
-			 System.out.println("子表items.size\t"+items.size());
+			 //System.out.println("子表items.size\t"+items.size());
 			 Map<String,String> supperNames=new HashMap<>();
 			 for (SyPackingListFabricItem syPackingListFabricItem : items){
 			 	if(supperNames.containsKey(syPackingListFabricItem.getSupplier())){
@@ -1778,17 +1778,17 @@ public class SyPackingListFabricController implements Job {
 		 QueryWrapper queryWrapper=new QueryWrapper();
 		 queryWrapper.eq("del_flag","0");
 	 	 List<SyPackingListFabricItem> fabricItems=syPackingListFabricItemService.list(queryWrapper);
-	 	 System.out.println("fabricItems.size\t"+fabricItems.size());
+	 	 //System.out.println("fabricItems.size\t"+fabricItems.size());
 	 	 List<String> ids=new ArrayList<>();
 	 	 for (SyPackingListFabricItem item : fabricItems){
 	 	 	 ids.add(item.getSyShippingDetailsItemId());
 		 }
-		 System.out.println("ids.size\t"+ids.size());
+		 //System.out.println("ids.size\t"+ids.size());
 	 	 ids=ids.stream().distinct() .collect(Collectors.toList());
-		 System.out.println("ids.size\t"+ids.size());
+		 //System.out.println("ids.size\t"+ids.size());
 		 syPackingListFabricService.updateQuantitys(null,ids);
 		 long endTime = System.currentTimeMillis();
-		 System.out.println("查询子表后程序运行时间:" + (endTime - startTime) + "ms");
+		 //System.out.println("查询子表后程序运行时间:" + (endTime - startTime) + "ms");
 	 	 return ids;
 	 }
 

+ 3 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricItemMapper.xml

@@ -235,8 +235,9 @@
 	<select id="getDocumentNos"  resultType="java.lang.String">
 		SELECT DISTINCT Document_No
 		FROM `sy_packing_list_fabric`
-		WHERE del_flag=0 and
-		 Document_No not like 'ML%'
+		WHERE del_flag=0
+		and Document_No not like 'ML%'
+		AND create_time >DATE_SUB(NOW(), INTERVAL 12 MONTH)
 	</select>
 
 <!--

+ 1 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricMapper.xml

@@ -105,9 +105,7 @@
     </update>
 
     <select id="queryMain" resultType="org.jeecg.modules.splfi.entity.SyPackingListFabric">
-		SELECT
-			a.*
-		FROM `sy_packing_list_fabric` a
+		SELECT a.* FROM `sy_packing_list_fabric` a
 		left join sy_packing_list_fabric_item b
 		on a.id=b.sy_packing_list_fabric_id
 		and b.del_flag=0

+ 55 - 54
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/impl/SyPackingListFabricServiceImpl.java

@@ -325,7 +325,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		List<SyPackingListFabricItem> items2=syPackingListFabricItemMapper.selectGroupIds(idList);//根据出运明细id合计数据
 		List<SyShippingDetailsItem> items3=new ArrayList<>();
 		Map<String,SyPackingListFabricItem> mapItems3=new HashMap<>();
-		//System.out.println("items2.size\t"+items2.size());
+		////System.out.println("items2.size\t"+items2.size());
 		for (SyPackingListFabricItem item : items2){
 			mapItems3.put(item.getSyShippingDetailsItemId(),item);
 		}
@@ -339,7 +339,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			if(item2.getMasterMetering()!=null&&item2.getMasterMetering().equals("KG")){
 				actualDeclaredQuantity=item2.getNetWeight();
 			}
-			System.out.println("ItemsActualDeclaredQuantity\t"+actualDeclaredQuantity);
+			//System.out.println("ItemsActualDeclaredQuantity\t"+actualDeclaredQuantity);
 			BigDecimal remainingQuantity=shipmentQuantity.subtract(actualDeclaredQuantity);//剩余数量
 			BigDecimal excessQuantity=new BigDecimal("0");//超发数量
 			if(actualDeclaredQuantity.doubleValue()>shipmentQuantity.doubleValue()){
@@ -354,7 +354,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			updateWrapper.eq("sy_shipping_details_item_id",item.getId());
 			syPackingListFabricItemMapper.update(null,updateWrapper);
 		}
-		System.out.println("remaining_Quantity+excess_Quantity+items\n"+items3);
+		//System.out.println("remaining_Quantity+excess_Quantity+items\n"+items3);
 		iSyShippingDetailsItemService.updateBatchById(items3);
 		/*QueryWrapper queryWrapper=new QueryWrapper();
 		queryWrapper.eq("sy_shipping_details_item_id", syShippingDetailsItemId);//出运明细id
@@ -566,7 +566,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		String time= new SimpleDateFormat("yyyy-MM-dd").format(System.currentTimeMillis());
 		SyPackingListFabric syPackingListFabric=syPackingListFabricMapper.getSyShippingDetailsData(ids);
 		//syPackingListFabric.setPreparedDate(new SimpleDateFormat("yyyy-MM-dd").parse(time));//获取制单日期
-		//System.out.println("ids的数据为:\t"+ids[0]+"\ngroupIds为:\t"+groupIds[0]);
+		////System.out.println("ids的数据为:\t"+ids[0]+"\ngroupIds为:\t"+groupIds[0]);
 		List<SyPackingListFabricItem> syPackingListFabricItems=syPackingListFabricItemMapper.getSyShippingDetailsDatas(ids,groupIds);
 		for (SyPackingListFabricItem syPackingListFabricItem : syPackingListFabricItems){
 			if(syPackingListFabricItem.getExcessQuantity().intValue()<0){
@@ -600,7 +600,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		long startTime = System.currentTimeMillis();
 		List<SyPackingListFabricItem> items=syPackingListFabricItemMapper.selectByMainId2(id);
 		long endTime = System.currentTimeMillis();
-		System.out.println("查询子表的时间:" + (endTime - startTime) + "ms");
+		//System.out.println("查询子表的时间:" + (endTime - startTime) + "ms");
 		for (SyPackingListFabricItem page : items){
 			if(page!=null&&page.getComposition()!=null){
 				if(page.getComposition().indexOf(" ")>0){
@@ -628,7 +628,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		for (SyPackingListFabric fabric : packingListFabrics){
 			strs.add(fabric.getId());
 		}
-		System.out.println("查询到"+packingListFabrics.size()+"条数据");
+		//System.out.println("查询到"+packingListFabrics.size()+"条数据");
 		List <SyPackingListFabric> arrayLists=new ArrayList();//最终返回数据
 		SyPackingListFabric main =new SyPackingListFabric();
 		List<SyPackingListFabricItem> items=syPackingListFabricItemMapper.selectByMainId3(strs.toArray(new String[strs.size()]));
@@ -649,8 +649,8 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					item.setCreateBy(main.getCreateBy());//获取制单人
 					item.setCreateTime(main.getCreateTime());//获取制单时间
 				}
-				System.out.println("createtime\t"+main.getCreateTime());
-				System.out.println("createby\t"+main.getCreateBy());*//*
+				//System.out.println("createtime\t"+main.getCreateTime());
+				//System.out.println("createby\t"+main.getCreateBy());*//*
 			}
 			*//*if(main.getContainerNumber()==null){
 				main.setContainerNumber("");
@@ -936,7 +936,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					item.setSyPackingListFabricId(syPackingListFabric.getId());
 					SyShippingDetailsItem syShippingDetailsItem=syShippingDetailsItemMapper.selectById(item.getSyShippingDetailsItemId());//itemid
 					if(syShippingDetailsItem==null){
-						System.out.println("ids\t"+item.getSyShippingDetailsItemId());
+						//System.out.println("ids\t"+item.getSyShippingDetailsItemId());
 						throw new JeecgBootException("出运明细未找到对应数据");
 					}
 					syPackingListFabric.setAccount(syShippingDetailsItem.getAccount());//获取账套号
@@ -1069,7 +1069,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 							total3=total3.add(item.getActualDeclaredQuantity());
 						}
 					}else{
-						System.out.println("净重\t"+item.getNetWeight());
+						//System.out.println("净重\t"+item.getNetWeight());
 //						throw new JeecgBootException("第"+item.getNum()+"行找不到订单数据,获取不到单位");
 					}
 					item.setInventoryCcode(syShippingDetailsItem.getInventoryCcode());//物料分类
@@ -1175,7 +1175,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				}
 			}
 		}
-		System.out.println("循环完毕");
+		//System.out.println("循环完毕");
 		return pages;
 	}
 
@@ -1412,7 +1412,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			Map<String,Boolean> booleanMap=new HashMap<>();
 			if(mapt.get("account").equals("101")){//101账套
 				for (SyPackingListFabricItem item : main.getSyPackingListFabricItem()){
-					//System.out.println("inventoryCcode\t"+item.getInventoryCcode());
+					////System.out.println("inventoryCcode\t"+item.getInventoryCcode());
 					if(item.getInventoryCcode().indexOf("04")!=-1||item.getInventoryCcode().indexOf("03")!=-1){
 						booleanMap.put(item.getInventoryCode()+item.getPlanLotNumber()+item.getColour()+item.getWidth()+item.getSyOrderDataItemId(),false);//存货编码+计划单号+颜色+门幅
 						if(bigDecimalMap.containsKey(item.getInventoryCode()+item.getPlanLotNumber()+item.getColour()+item.getWidth()+item.getSyOrderDataItemId())){//再次
@@ -1429,12 +1429,12 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 							}
 						}
 					}
-					//System.out.println("bigDecimalMap12345\n"+bigDecimalMap);
+					////System.out.println("bigDecimalMap12345\n"+bigDecimalMap);
 				}
 			}
 			for (SyPackingListFabricItem item : main.getSyPackingListFabricItem()){
 				if(mapt.get("account").equals("101")&&booleanMap.containsKey(item.getInventoryCode()+item.getPlanLotNumber()+item.getColour()+item.getWidth()+item.getSyOrderDataItemId())){
-					System.out.println("inventoryCode\t"+item.getInventoryCode()+item.getPlanLotNumber()+item.getColour()+item.getWidth()+item.getSyOrderDataItemId());
+					//System.out.println("inventoryCode\t"+item.getInventoryCode()+item.getPlanLotNumber()+item.getColour()+item.getWidth()+item.getSyOrderDataItemId());
 					if(booleanMap.get(item.getInventoryCode()+item.getPlanLotNumber()+item.getColour()+item.getWidth()+item.getSyOrderDataItemId())){//为true就退出循环
 						continue;
 					}else{
@@ -1483,7 +1483,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					}else{
 						if(orderData!=null&&orderData.containsKey("id")){
 							Order mapItem1=(Order)((Map<String,Order>)mapt.get("itemSort")).get((item.getId()));//获取订单号
-							System.out.println("获取订单号\t"+mapItem1.getOrderNumber());
+							//System.out.println("获取订单号\t"+mapItem1.getOrderNumber());
 
 							Map<String,Object> orderData2=syPackingListTailoringMapper.getOmOrPo("PO_POMAIN","cPOID='"+mapItem1.getOrderNumber()+"'","POID");//委外订单号判断 第一次
 
@@ -1519,7 +1519,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 						throw new JeecgBootException(mapt.get("account")+"账套,单证委外订单子表id为"+item.getOmpoIdItem()+",U8中无此ID 请联系管理员处理");
 					}
 					Map<String,Object> orderDataItem2=purchaseWarehousingMapper.getOMMoDetails(item.getOmpoIdItem());//获取自由项
-					System.out.println("map.account\t"+mapt.get("account"));
+					//System.out.println("map.account\t"+mapt.get("account"));
 					getcFree(mapItem,orderDataItem2);
 					getcFree(mapItem3,orderDataItem2);
 					getcFree(mapItem5,orderDataItem2);
@@ -1536,7 +1536,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 						List<Map<String,Object>> orderDataItem3 =syPackingListFabricMapper.getOM_MOMaterials(item.getOmpoIdItem(),item.getInventoryCode());//委外订单子表
 						moDetailsIds.add(item.getOmpoIdItem());//同一个id只会进来一次
 						Map<String,Object> mapStr1=syPackingListFabricMapper.getOM_MOMain(item.getOmpoIdItem(),item.getInventoryCode());//供应商编码,存货编码
-						//System.out.println("mapStr1\n"+mapStr1);
+						////System.out.println("mapStr1\n"+mapStr1);
 						if(mapStr1==null||!mapStr1.containsKey("isosid")||mapStr1.get("isosid")==null) {
 							ycIsPush=false;
 						}
@@ -1620,7 +1620,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				mapItem6.put("CDEFINE31",item.getDeclarationName());//货物名称
 
 				Order orderIrowno=new Order();
-				System.out.println("新的逻辑id\t"+orderDataItem.get("iSOsID"));
+				//System.out.println("新的逻辑id\t"+orderDataItem.get("iSOsID"));
 				//if(item.getSyOrderDataItemId()!=null){//销售发货单 ---查询销售订单子表数据  顺序---5
 				String orderDataId="";
 				if(orderDataItem!=null&&orderDataItem.containsKey("iSOsID")&&orderDataItem.get("iSOsID")!=null){
@@ -1651,7 +1651,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					mapItem6.put("iTaxRate",orderDataItem2.get("iTaxRate"));
 					mapItem3.put("SOAUTOIDCOL","ISOSID");//来源单据明细ID对应字段名(如果取销售订单主键,需传固定值ISOSID)
 					mapt.put("poid", orderDataItem2.get("id"));
-					//System.out.println("销售订单子表的行号\t"+orderDataItem2.get("irowno"));
+					////System.out.println("销售订单子表的行号\t"+orderDataItem2.get("irowno"));
 				}else if(mapt.get("account").equals("103")) {
 					throw new JeecgBootException(mapt.get("account")+"账套,委外订单子表行id"+mapItem.get("AUTOID_PO")+"的isosid为空");
 				}else if(mapt.get("account").equals("102")) {
@@ -1725,7 +1725,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					String params5=orderDataId;//当前数据库行号
 					String ivouchrowno =syPackingListTailoringMapper.getIvouchrowno2(params1,params2,params3,params4,params5);
 					orderIrowno.setIrowno(ivouchrowno);//获取行号
-					System.out.println("销售订单子表的行号\t"+ivouchrowno);
+					//System.out.println("销售订单子表的行号\t"+ivouchrowno);
 					mapSort.put(item.getId(),orderIrowno);
 				}
 
@@ -1811,7 +1811,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				mapt.put("account","104");//账套号
 			}
 			mapt.put("itemSort",mapSort);
-			System.out.println("mapsort\n"+mapSort);
+			//System.out.println("mapsort\n"+mapSort);
 		}
 
 		mapt.put("number","two");//销售订单id
@@ -1855,7 +1855,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				map.put("code",recordings[i].split("-")[2]);
 				maps.put(recordings[i].split("-")[0],map);
 			}
-			String account=mapList.getJSONObject(0).get("CACCID").toString();//获取账套号
+			String account=mapList.getJSONObject(0).get("CACCID").toString();//获取账套号 203
 			if (maps.containsKey(account)){
 				switch (maps.get(account).get("index")){
 					case "1":	//代表已完成第一道
@@ -1876,7 +1876,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 										itemMap5.put("AUTOID_PO",map.get("AutoID"));
 									}
 								}
-								System.out.println("mapItems4\t"+mapItems5);
+								//System.out.println("mapItems4\t"+mapItems5);
 							}
 						}
 						text(mapList5,mapt.get("ordertype")+"发票单");
@@ -1920,7 +1920,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 										itemMap4.put("AUTOID_SO",map.get("iDLsID"));
 									}
 								}
-								System.out.println("mapItems4\t"+mapItems4);
+								//System.out.println("mapItems4\t"+mapItems4);
 							}
 						}
 						text(mapList4,"销售出库单");
@@ -1985,7 +1985,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 						itemMap5.put("AUTOID_PO",map.get("AutoID"));
 					}
 				}
-				System.out.println("mapItems4\t"+mapItems5);
+				//System.out.println("mapItems4\t"+mapItems5);
 			}
 		}
 
@@ -2028,7 +2028,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 						itemMap4.put("AUTOID_SO",map.get("iDLsID"));
 					}
 				}
-				System.out.println("mapItems4\t"+mapItems4);
+				//System.out.println("mapItems4\t"+mapItems4);
 			}
 		}
 
@@ -2079,7 +2079,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		try{
 			String txtWorld="\n"+((Map)mapList.get(0)).get("CACCID")+"\t"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").format(System.currentTimeMillis())+"\n\n";
 			txtWorld+=mapList.toString()+"\n";
-			FileWriter file =new FileWriter ("D:\\test1\\面辅料-"+tableName+".txt",true);
+			FileWriter file =new FileWriter ("D:\\test1\\"+new SimpleDateFormat("yyyy年-MM月").format(System.currentTimeMillis())+"面辅料-"+tableName+".txt",true);
 			file.write(txtWorld);	//以字节数组类型写入内容
 			file.close();
 		}catch (Exception e){
@@ -2246,18 +2246,18 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			dxpDataPlanMapper.updateById(dxpDataPlan);
 		}else{
 			long time=(datetome.getTime()-datetome2.getTime())/1000;
-			System.out.println("time\t"+time);
-			if(time>1800){
+			//System.out.println("time\t"+time);
+			if(time>240){
 				dxpDataPlan.setItemUrl("f");
 				dxpDataPlanMapper.updateById(dxpDataPlan);
 			}
-			System.out.println("正在执行中");
+			//System.out.println("正在执行中");
 			return "正在执行中";
 		}
 		long startTime = System.currentTimeMillis();
 		String[] arrs = syPackingListFabricItemMapper.getu8Data();//获取发运明细已提交的辅料
 		List<String> documentNos=syPackingListFabricItemMapper.getDocumentNos();
-//		System.out.println("documentNos.size\t"+documentNos.size());
+//		//System.out.println("documentNos.size\t"+documentNos.size());
 		Map<String, List<String>> maps = new HashMap<>();//获取两个账套
 		for (String arr : arrs) {
 			String account = arr.substring(0, 3);
@@ -2320,7 +2320,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				continue;//退出本次循环
 			}
 			List<JSONObject> jsonObjects = JsonChangeUtils.toJSONObject(listMain);
-			//System.out.println("主表长度\t"+jsonObjects.size());
+			////System.out.println("主表长度\t"+jsonObjects.size());
 			for (JSONObject json : jsonObjects) {//主表
 				try{
 					SyPackingListFabric sy = JSONObject.toJavaObject(json, SyPackingListFabric.class);
@@ -2402,7 +2402,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					}
 					List<JSONObject> jianSon = JsonChangeUtils.toJSONObject(list);
 					List<SyPackingListFabricItem> items=new ArrayList<>();
-					//System.out.println("获取子表长度\t"+jianSon.size());
+					////System.out.println("获取子表长度\t"+jianSon.size());
 					for (JSONObject json1 : jianSon) {
 						SyPackingListFabricItem sy1 = JSONObject.toJavaObject(json1, SyPackingListFabricItem.class);
 						sy1.setU8Id(account + sy1.getU8Id());//获取账套号+子表id
@@ -2419,11 +2419,11 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 						queryWrapper2.eq("del_flag","0");
 						queryWrapper2.orderByDesc("update_time");
 						queryWrapper2.last("limit 1");
-						System.out.println("开始查询出运明细子表");
+						//System.out.println("开始查询出运明细子表");
 						SyShippingDetailsItem syShippingDetailsItem = syShippingDetailsItemMapper.selectOne(queryWrapper2);
 						if (syShippingDetailsItem != null) {
 							sy1.setIsTc(syShippingDetailsItem.getIsTc());
-							//System.out.println("syShippingDetailsItemId\t"+syShippingDetailsItem.getId());
+							////System.out.println("syShippingDetailsItemId\t"+syShippingDetailsItem.getId());
 							sy1.setInventoryCcode(syShippingDetailsItem.getInventoryCcode());
 							String elementsId = syShippingDetailsItem.getElementsId();//申报要素id
 							if (oConvertUtils.isNotEmpty(elementsId)) {
@@ -2573,7 +2573,8 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			}
 		}
 		long endTime2 = System.currentTimeMillis();
-		System.out.println("自动拉取耗费时间:" + (endTime2 - startTime) + "ms");
+		//System.out.println("面辅料自动拉取耗费时间:" + (endTime2 - startTime) + "ms");
+		log.warn("面辅料自动拉取耗费时间:" + (endTime2 - startTime) + "ms");
 		dxpDataPlan.setItemUrl("f");
 		dxpDataPlanMapper.updateById(dxpDataPlan);
 		return "成功添加了"+num+"条数据!";
@@ -2617,7 +2618,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		//List<SyPackingListFabricItem> listFabricItems=syPackingListFabricItemMapper.queryByList(id); totalPrice
 		//List<SyPackingListFabric> listFabrics=syPackingListFabricMapper.queryByList(id);//获取托书下所有的主表信息
 		List<String> codes=getList(listFabrics);//获取出库单号
-		System.out.println("面辅料查看出库单号\t"+codes);
+		//System.out.println("面辅料查看出库单号\t"+codes);
 		if(codes.size()==0){
 			return "推送失败,未查询到对应的出库单号!";
 		}
@@ -2643,8 +2644,8 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 //					syPackingListFabric.setRemarks("TC证书");
 //				} getCustomsDeclarationUnitPrice
 //			}
-			//System.out.println("codes.size\t"+codes.size()); iTaxUnitPrice
-			System.out.println("codes\t"+codes);
+			////System.out.println("codes.size\t"+codes.size()); iTaxUnitPrice
+			//System.out.println("codes\t"+codes);
 			List<Map<String,Object>> invoices=getInvoices(customers.get(customer));
 			JSONObject  jsonObject1=new JSONObject();
 
@@ -2661,7 +2662,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			jsonObject1.put("CACCID","103");//账套号
 			jsonObject1.put("CTYPE","专用");//发票类型
 			//jsonObject1.put("CMEMO",syPackingListFabric.getRemarks());//备注
-			System.out.println("成衣销售order\t"+order);
+			//System.out.println("成衣销售order\t"+order);
 			if(order.get("cCusCode").equals("T020001")){
 				jsonObject1.put("CTYPE","普通");//发票类型
 			}
@@ -2675,7 +2676,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			jsonObject1.put("CDEFINE6",syPackingListFabric.getTheFinalShippingDate2());//合同日期
 			jsonObject1.put("CDEFINE10",syPackingListFabric.getShippingOrderNumber());//托书号
 			//{cBusType=普通销售, cPayCode=null, cDepCode=TSM01, cSOCode=SYE511-马菲羊-面料, cPersonCode=T0148, cCusCode=T020001, cSTCode=02, cexch_name=美元, iExchRate=6.7428}
-			System.out.println("syPackingListFabric.getSupplierCode()\t"+syPackingListFabric.getSupplierCode());
+			//System.out.println("syPackingListFabric.getSupplierCode()\t"+syPackingListFabric.getSupplierCode());
 			if(syPackingListFabric.getSupplierCode()!=null){
 				String	venName=syPackingListTailoringMapper.getCvenName(syPackingListFabric.getSupplierCode());
 				//map.put("CDEFINE12",venName);//供应商(打印)全称
@@ -2733,7 +2734,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 							map.get("cInvCode").toString().equalsIgnoreCase(item.getInventoryCode())&&!autoIds.contains(map.get("AutoID"))){
 						autoIds.add(map.get("AutoID"));
 						jsonObject.put("AUTOID_DIS",map.get("AutoID"));
-						//System.out.println("map\t"+map);
+						////System.out.println("map\t"+map);
 						getcFree(jsonObject,map);
 						//invoices.remove(map);
 						bool=false;
@@ -2741,8 +2742,8 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					}
 				}
 //				if(bool){
-//					System.out.println("tid\t"+item.getId());
-//					System.out.println("tpid\t"+item.getSyPackingListFabricId());
+//					//System.out.println("tid\t"+item.getId());
+//					//System.out.println("tpid\t"+item.getSyPackingListFabricId());
 //				}
 				if(item.getMasterMetering()!=null&&item.getMasterMetering().equals("KG")){
 					jsonObject.put("CDEFINE23","千克");//报关单位
@@ -2761,17 +2762,17 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				jsonObject.put("CWHCODE",syPackingListFabricItemMapper.getVencode(item.getSupplier()));//获取仓库编码
 				jsonArrays.add(jsonObject);
 				//getcFree(jsonObject,jsonObject);
-				//System.out.println("jsonObject\n"+jsonObject);
+				////System.out.println("jsonObject\n"+jsonObject);
 			}
 			jsonObject1.put("DETAILList",jsonArrays);
 			jsonArrays1.add(jsonObject1);
 			Map<String,List<String>> maps=new HashMap<>();//key:客户编码-字符,value:主表id-数组 用于区分维度完成分组条件
-			System.out.println("jsonObject\n"+jsonArrays.get(0));
-			//System.out.println("jsonArrays.size\t"+jsonArrays.size());
-			//System.out.println("listFabrics.size\t"+listFabrics.size());
-			//System.out.println("listFabricItems.size\t"+listFabricItems.size());
+			//System.out.println("jsonObject\n"+jsonArrays.get(0));
+			////System.out.println("jsonArrays.size\t"+jsonArrays.size());
+			////System.out.println("listFabrics.size\t"+listFabrics.size());
+			////System.out.println("listFabricItems.size\t"+listFabricItems.size());
 			long endTime = System.currentTimeMillis();
-			System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms");
+			//System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms");
 		}
 		text(jsonArrays1,"测试合并推送面辅料销售发票");
 		JSONArray resturnJsonArrays = InterfaceConnUtils.doPost(jsonArrays1,"saleinvoice_import");//销售发票单
@@ -2814,16 +2815,16 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 
 	public List<Map<String,Object>> getInvoices(List<String> codes){
 		List<Map<String,Object>> invoices=syPackingListFabricItemMapper.getInvoice(codes.toArray(new String[codes.size()]));
-		System.out.println("invoices.size\t"+invoices.size());
-		System.out.println("invoices\t"+invoices);
+		//System.out.println("invoices.size\t"+invoices.size());
+		//System.out.println("invoices\t"+invoices);
 		return invoices;
 	}
 
 	public Map<String,List<String>> getCustomers(List<String> codes){
 		List<Map<String,Object>> customers=syPackingListFabricMapper.getCustomers(codes.toArray(new String[codes.size()]));
 		Map<String,List<String>> mapLists=new HashMap<>();
-		System.out.println("customers.size\t"+customers.size());
-		System.out.println("customers\t"+customers);
+		//System.out.println("customers.size\t"+customers.size());
+		//System.out.println("customers\t"+customers);
 		for (Map<String,Object> map : customers){
 			if(mapLists.containsKey(map.get("cCusCode"))){
 				mapLists.get(map.get("cCusCode").toString()).add(map.get("ccode").toString());

+ 80 - 43
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/controller/SyPackingListTailoringController.java

@@ -178,6 +178,7 @@ public class SyPackingListTailoringController implements Job {
 				queryWrapper.ge("a.is_Reference",syPackingListTailoringVo.getIsReference());//是否被参照
 			}
 		}
+		page.setSearchCount(false);//不查询总数
 		IPage<SyPackingListTailoringVo> pageList = syPackingListTailoringService.selectList(page, queryWrapper);
 		return Result.OK(pageList);
 	}
@@ -250,7 +251,7 @@ public class SyPackingListTailoringController implements Job {
 		 List<SyPackingListTailoring> syPackingListTailorings=syPackingListTailoringService.querySpaplIds(ids);
 		 syPackingListTailoringService.saveMain3(syPackingListTailorings,ids);
 		 long endTime2 = System.currentTimeMillis();
-		 System.out.println("生成时间:" + (endTime2 - startTime) + "ms");
+		 //System.out.println("生成时间:" + (endTime2 - startTime) + "ms");
 		 result.setMessage("生成"+ids.length+"条数据!");
 		 result.setSuccess(true);
 		 return result;
@@ -276,7 +277,7 @@ public class SyPackingListTailoringController implements Job {
 																	  String isReference,
 																	  String orderStatus,
 																	  HttpServletRequest req) {
-		 //System.out.println("当前登录用户:"+((LoginUser)SecurityUtils.getSubject().getPrincipal()).getRealname());
+		 ////System.out.println("当前登录用户:"+((LoginUser)SecurityUtils.getSubject().getPrincipal()).getRealname());
 		 QueryWrapper<SyPreAssembledPackingListVo> queryWrapper =new QueryWrapper<>();//初始化
 		 queryWrapper.eq("a.del_flag","0");//默认查询未删除
 		 queryWrapper.eq("a.status","1");//查询已提交数据
@@ -426,10 +427,10 @@ public class SyPackingListTailoringController implements Job {
 			 result.setSuccess(false);
 			 return result;
 		 }
-		 String str=syPackingListTailoringService.cancelSubmitBatch(ids);
-		 if(str.length()>0){
-			 result.setMessage("取消提交失败,已被托书参照提交");
-			 result.setResult(str);
+		 List<String> strings=syPackingListTailoringService.cancelSubmitBatch(ids);
+		 if(strings.size()>1&&strings.get(1).length()>0){
+			 result.setMessage(strings.get(0));
+			 result.setResult(strings.get(1));
 			 result.setCode(111);
 			 result.setSuccess(false);
 			 return result;
@@ -645,6 +646,7 @@ public class SyPackingListTailoringController implements Job {
 			// QueryWrapper<SyPackingListTailoring> queryWrapper = QueryGenerator.initQueryWrapper(syPackingListTailoring, request.getParameterMap());
 			 //queryWrapper.eq("del_flag","0");
 			// queryWrapper.orderByDesc(	"create_time");//创建时间倒序
+			 page.setSearchCount(false);//不查询总数
 			 List<SyPackingListTailoringVo> syPackingListTailoringVos = syPackingListTailoringService.selectList(page,queryWrapper).getRecords();
 			 if(syPackingListTailoringVos.size()==0){
 				 result.setResult(null);
@@ -697,7 +699,7 @@ public class SyPackingListTailoringController implements Job {
 			 result.setSuccess(false);
 		 }finally {
 			 long endTime = System.currentTimeMillis();
-			 System.out.println("全程的时间:" + (endTime - startTime) + "ms");
+			 //System.out.println("全程的时间:" + (endTime - startTime) + "ms");
 			 return result;
 		 }
 
@@ -838,9 +840,10 @@ public class SyPackingListTailoringController implements Job {
 		 Result result=new Result();
 		 try{
 			 long startTime = System.currentTimeMillis();
+			 page.setSearchCount(false);//不查询总数
 			 List<SyPackingListTailoringVo> syPackingListTailoringVos = syPackingListTailoringService.selectList(page,queryWrapper).getRecords();
 			 long endTime = System.currentTimeMillis();
-			 System.out.println("全程的时间:" + (endTime - startTime) + "ms");
+			 //System.out.println("全程的时间:" + (endTime - startTime) + "ms");
 			 if(syPackingListTailoringVos.size()==0){
 				 result.setResult(null);
 				 result.setMessage("导出失败!没有查询到数据");
@@ -978,15 +981,10 @@ public class SyPackingListTailoringController implements Job {
 		 for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
 			 long startTime = System.currentTimeMillis();
 			 MultipartFile file = entity.getValue();// 获取上传文件对象
-			 System.out.println("文件是否为空--isfile\t"+file.isEmpty());
-			 System.out.println("文件全称--fileName\t"+file.getOriginalFilename());
-			 System.out.println("文件类型--fileType\t"+file.getContentType());
-			 System.out.println("文件大小--fileSize\t"+file.getSize()/1024+"KB");
 			 InputStream inputStream=file.getInputStream();
 			 Workbook workbook=new XSSFWorkbook(inputStream);
 			 refreshSheet(workbook);
 			 long endTime2 = System.currentTimeMillis();
-			 System.out.println("导入添加时间:" + (endTime2 - startTime) + "ms");
 		 }
 		 return Result.OK("文件导入成功!");
 	 }
@@ -1035,10 +1033,10 @@ public class SyPackingListTailoringController implements Job {
 					}
 					 if((i>6&&i<row.getLastCellNum()-7)||i==row.getLastCellNum()-1){
 						 str1+=cell.getStringCellValue()+",";
-						//System.out.print(String.format("\033[%dm%s\033[0m", 31, cell.getStringCellValue())+"\t");//颜色
+						////System.out.print(String.format("\033[%dm%s\033[0m", 31, cell.getStringCellValue())+"\t");//颜色
 					 }else{
 					 	str+=cell.getStringCellValue()+",";
-					 	//System.out.print(cell.getStringCellValue()+"\t");
+					 	////System.out.print(cell.getStringCellValue()+"\t");
 					 }
 				 }
 				 if(x>3){
@@ -1053,8 +1051,8 @@ public class SyPackingListTailoringController implements Job {
 				// x=x<2?++x:x;//跨行
 			 }
 			 main.setSyPackingListTailoringItemList(items);
-			 System.out.println("controller申报要素id\t"+main.getElementsId());
-			 System.out.println("controller主表id\t"+main.getSyPreAssembledPackingListId());
+			 //System.out.println("controller申报要素id\t"+main.getElementsId());
+			 //System.out.println("controller主表id\t"+main.getSyPreAssembledPackingListId());
 			 mains.add(main);
 		 }
 		 syPackingListTailoringService.excelAdd(mains);//新增
@@ -1077,15 +1075,15 @@ public class SyPackingListTailoringController implements Job {
 			 for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
 				 long startTime = System.currentTimeMillis();
 				 MultipartFile file = entity.getValue();// 获取上传文件对象
-				 System.out.println("文件是否为空--isfile\t"+file.isEmpty());
-				 System.out.println("文件全称--fileName\t"+file.getOriginalFilename());
-				 System.out.println("文件类型--fileType\t"+file.getContentType());
-				 System.out.println("文件大小--fileSize\t"+file.getSize()/1024+"KB");
+				 //System.out.println("文件是否为空--isfile\t"+file.isEmpty());
+				 //System.out.println("文件全称--fileName\t"+file.getOriginalFilename());
+				 //System.out.println("文件类型--fileType\t"+file.getContentType());
+				 //System.out.println("文件大小--fileSize\t"+file.getSize()/1024+"KB");
 				 InputStream inputStream=file.getInputStream();
 				 Workbook workbook=new XSSFWorkbook(inputStream);
 				 str+=refreshSheet1(workbook);
 				 long endTime2 = System.currentTimeMillis();
-				 System.out.println("导入测试时间:" + (endTime2 - startTime) + "ms");
+				 //System.out.println("导入测试时间:" + (endTime2 - startTime) + "ms");
 			 }
 			 return Result.OK(str);
 		 }
@@ -1260,7 +1258,7 @@ public class SyPackingListTailoringController implements Job {
 					 JSONObject jsonObject = json.getJSONObject(i);
 					 //获取json名
 					 String spapl = jsonObject.get("splt").toString();
-					 System.out.println("spapl\t"+spapl);
+					 //System.out.println("spapl\t"+spapl);
 					 //转list
 					 List<SyPackingListTailoring> syPackingListTailorings=JSONObject.parseArray(spapl,SyPackingListTailoring.class);
 					//生成数据
@@ -1317,9 +1315,9 @@ public class SyPackingListTailoringController implements Job {
 	 @RequestMapping(value = "/getUser", method = {RequestMethod.GET})
 	 public Result getUser(HttpServletRequest request) {
 		 String accessToken = request.getHeader("X-Access-Token");
-		 System.out.println("accessToken的值为:\t"+accessToken);
+		 //System.out.println("accessToken的值为:\t"+accessToken);
 		 String username= JwtUtil.getUsername(accessToken);
-		 System.out.println("username:\t"+username);
+		 //System.out.println("username:\t"+username);
 		 LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
 		 return Result.ok(username);
 	 }
@@ -1409,7 +1407,7 @@ public class SyPackingListTailoringController implements Job {
 				 }
 				 Map<String,Object> map=new HashMap<>();
 				 Map<String,Object> mapdate=syPackingListTailoringService.getSyShippingOrder(id);
-				 System.out.println("madate\t"+mapdate);
+				 //System.out.println("madate\t"+mapdate);
 				 if(mapdate!=null){
 					 if(!mapdate.containsKey("e4")||mapdate.get("e4").equals("0")){
 						 message2="请先提交托书再推送";
@@ -1488,12 +1486,12 @@ public class SyPackingListTailoringController implements Job {
 							 e.printStackTrace();
 							 message+=e.getMessage();
 							 String msg2=getExceptionStr(e);
-							 System.out.println("成衣批量推送报错");
+							 //System.out.println("成衣批量推送报错");
 							 log.info("成衣批量推送报错\t"+msg2);
 						 }
 					 }
 				 }
-				 System.out.println("message\t"+message);
+				 //System.out.println("message\t"+message);
 				 if(message!=null&&message.length()>0&&(message.indexOf("接口")>-1||message.indexOf("失败")>-1)){
 					 main.setPushState("2");//推送失败!
 					 main.setRecordingError(message);
@@ -1514,7 +1512,7 @@ public class SyPackingListTailoringController implements Job {
 				 } catch (IOException ex) {
 					 ex.printStackTrace();
 				 }
-				 System.out.println("成衣批量推送报错");
+				 //System.out.println("成衣批量推送报错");
 				 log.info("成衣批量推送报错\t"+msg2);
 			 }
 		 }
@@ -1526,7 +1524,7 @@ public class SyPackingListTailoringController implements Job {
 	 @GetMapping(value = "/pushBatch2")
 	 public  Result pushBatch2(String[] ids) {
 		 Result result=new Result();
-		 System.out.println("result\t"+result);
+		 //System.out.println("result\t"+result);
 		 result.setSuccess(false);
 		 if(oConvertUtils.isEmpty(ids)){
 			 result.setMessage("请至少选中一条数据");
@@ -1552,7 +1550,7 @@ public class SyPackingListTailoringController implements Job {
 				 }
 				 Map<String,Object> map=new HashMap<>();
 				 Map<String,Object> mapdate=syPackingListTailoringService.getSyShippingOrder(id);
-				 //System.out.println("madate\t"+mapdate);
+				 ////System.out.println("madate\t"+mapdate);
 				 if(mapdate!=null){
 					 if(!mapdate.containsKey("e4")||mapdate.get("e4").equals("0")){
 						 message2="请先提交托书再推送";
@@ -1632,7 +1630,7 @@ public class SyPackingListTailoringController implements Job {
 						 }
 					 }
 				 }
-				 System.out.println("message\t"+message);
+				 //System.out.println("message\t"+message);
 				 if(message!=null&&message.length()>0&&message.indexOf("接口")>-1){
 					 main.setPushState("2");//推送失败!
 					 result.setSuccess(false);
@@ -1699,8 +1697,8 @@ public class SyPackingListTailoringController implements Job {
 			}
 			Map<String,Object> map=new HashMap<>();
 			Map<String,Object> mapdate=syPackingListTailoringService.getSyShippingOrder(ids);
+			////System.out.println("madate\t"+mapdate);
 			//System.out.println("madate\t"+mapdate);
-			System.out.println("madate\t"+mapdate);
 			if(mapdate!=null){
 				if(!mapdate.containsKey("e4")||mapdate.get("e4").equals("0")){
 					result.setSuccess(false);
@@ -1734,8 +1732,8 @@ public class SyPackingListTailoringController implements Job {
 			}
 
 			//long endTime2 = System.currentTimeMillis();
-			//System.out.println("推送查询时间:" + (endTime2 - startTime) + "ms");
-			//System.out.println("getRecordingStatus\t"+main.getRecordingStatus());
+			////System.out.println("推送查询时间:" + (endTime2 - startTime) + "ms");
+			////System.out.println("getRecordingStatus\t"+main.getRecordingStatus());
 			/*QueryWrapper queryWrapper=new QueryWrapper();
 			queryWrapper.eq("sy_packing_list_tailoring_id",main.getId());
 			queryWrapper.eq("del_flag","0");*/
@@ -1744,7 +1742,7 @@ public class SyPackingListTailoringController implements Job {
 			String message="";//获取报错消息
 			if(syPackingListTailoringItems!=null){
 				//main.setSyPackingListTailoringItemList(syPackingListTailoringItems);
-				System.out.println("account\t"+main.getSyPackingListTailoringItemList().get(0).getOmpoAccount());
+				//System.out.println("account\t"+main.getSyPackingListTailoringItemList().get(0).getOmpoAccount());
 				map.put("account",main.getSyPackingListTailoringItemList().get(0).getOmpoAccount());//委外采购账套号
 				map.put("account1",main.getSyPackingListTailoringItemList().get(0).getOmpoAccount());//委外采购账套号
 				map.put("ompoId",main.getSyPackingListTailoringItemList().get(0).getOmpoId());//采购委外主表id
@@ -1752,7 +1750,7 @@ public class SyPackingListTailoringController implements Job {
 				SyOrderData syOrderData=syOrderDataMapper.selectById(syPackingListTailoringItems.get(0).getSyOrderDataId());//最终客户
 				if(syOrderData!=null){
 					main.setEndCustomer(syOrderData.getEndCustomer());
-					//System.out.println("最终客户\t"+syOrderData.getEndCustomer());
+					////System.out.println("最终客户\t"+syOrderData.getEndCustomer());
 				}
 //				if(syOrderData.getFlag()==1){
 //					result.setSuccess(false);
@@ -1778,7 +1776,7 @@ public class SyPackingListTailoringController implements Job {
 				SyOrderDataItem syOrderDataItem=syOrderDataItemMapper.selectById(syPackingListTailoringItems.get(0).getSyOrderDataItemId());//供应商全称
 				if(syOrderDataItem!=null){
 					main.setSupplierCode(syOrderDataItem.getSupplierCode());
-					//System.out.println("客户编码\t"+syOrderDataItem.getSupplierCode());
+					////System.out.println("客户编码\t"+syOrderDataItem.getSupplierCode());
 				}
 				if(main.getPurchase()==null){
 					map.put("mpOrder",main.getSyPackingListTailoringItemList().get(0).getSpurOrSubOrder());//采购委外订单号
@@ -1789,6 +1787,21 @@ public class SyPackingListTailoringController implements Job {
 				if(venCode!=null){
 					map.put("vencode",venCode);//委外采购账套号
 				}*/
+				List<DictModel> dictModels=sysDictService.queryDictItemsByCode("Related_units");
+				Map<String,List<String>> maps=new HashMap();
+				for (DictModel model : dictModels){
+					String account= model.getValue().split("-")[0];
+					String ccuscode= model.getValue().split("-")[1];
+					if (maps.containsKey(account)){
+						List<String> customers=maps.get(account);
+						customers.add(ccuscode);
+					}else{
+						List<String> customers=new ArrayList<>();
+						customers.add(ccuscode);
+						maps.put(account,customers);
+					}
+				}
+				map.put("maps",maps);
 				map.put("customerCode","one");//客户编码
 				map.put("CVENCODE","one");//供应商编码
 				map.put("orderNumber","one");//销售订单号
@@ -1913,7 +1926,7 @@ public class SyPackingListTailoringController implements Job {
 				 }
 				 syPackingListTailoringService.updateById(syPackingListTailoring);
 
-				 System.out.println("文件地址\n"+uploadpath+"/"+fileName);
+				 //System.out.println("文件地址\n"+uploadpath+"/"+fileName);
 				 File file=new File(uploadpath+"/"+fileName);
 				 if (file.exists()) {
 					 if (file.delete()) {
@@ -1995,6 +2008,30 @@ public class SyPackingListTailoringController implements Job {
 		 return  result;
 	 }
 
+	 @AutoLog(value = "调试接口-客户字典")
+	 @ApiOperation(value="调试接口-客户字典", notes="调试接口-客户字典")
+	 @RequestMapping(value = "/customer", method = {RequestMethod.POST})
+	 public Result customer(String name){
+		 Result result=new Result();
+		 List<DictModel> dictModels=sysDictService.queryDictItemsByCode(name);
+		 Map<String,List<String>> maps=new HashMap();
+		 for (DictModel model : dictModels){
+		 	String account= model.getValue().split("-")[0];
+		 	String ccuscode= model.getValue().split("-")[1];
+		 	if (maps.containsKey(account)){
+				List<String> customers=maps.get(account);
+				customers.add(ccuscode);
+			}else{
+				List<String> customers=new ArrayList<>();
+				customers.add(ccuscode);
+				maps.put(account,customers);
+			}
+		 }
+		 result.setResult(maps);
+		 return  result;
+	 }
+
+
 	/* @AutoLog(value = "获取excel导入的数据")
 	 @ApiOperation(value="获取excel导入的数据", notes="获取excel导入的数据")
 	 @RequestMapping(value = "/getExcelId", method = {RequestMethod.POST})
@@ -2030,7 +2067,7 @@ public class SyPackingListTailoringController implements Job {
 					return "需要装箱单全部推送成功,才能推送发票";
 				}
 				tailoring.setSaleInvoiceError("");
-				//System.out.println("madate\t"+mapdate);
+				////System.out.println("madate\t"+mapdate);
 				if(mapdate!=null){
 					if(mapdate.containsKey("e1")&&mapdate.get("e1")!=null) {
 						tailoring.setTheFinalShippingDate(mapdate.get("e1").toString());
@@ -2105,7 +2142,7 @@ public class SyPackingListTailoringController implements Job {
 						} catch (IOException ex) {
 							ex.printStackTrace();
 						}
-						System.out.println("托书发票推送报错");
+						//System.out.println("托书发票推送报错");
 						log.info("托书发票推送报错\t"+msg2);
 					}
 
@@ -2125,7 +2162,7 @@ public class SyPackingListTailoringController implements Job {
 						} catch (IOException ex) {
 							ex.printStackTrace();
 						}
-						System.out.println("托书发票推送报错");
+						//System.out.println("托书发票推送报错");
 						log.info("托书发票推送报错\t"+msg2);
 					}
 				}
@@ -2160,7 +2197,7 @@ public class SyPackingListTailoringController implements Job {
 			 } catch (IOException ex) {
 				 ex.printStackTrace();
 			 }
-			 System.out.println("托书发票推送报错");
+			 //System.out.println("托书发票推送报错");
 			 log.info("托书发票推送报错\t"+msg2);
 		}
 	 	 return messages;

+ 7 - 7
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/entity/PushJob.java

@@ -56,7 +56,7 @@ public class PushJob implements Job {
             updateWrapper.set("time_Stuta","5");
             syShippingOrderMapper.update(null,updateWrapper);
         }
-        System.out.println("orderList.size\t"+orderList.size());
+        //System.out.println("orderList.size\t"+orderList.size());
         for (SyShippingOrder order : orderList){
             order.setFailMesage("");
             Map<String,Object> codeMaps=new HashMap<>();
@@ -64,9 +64,9 @@ public class PushJob implements Job {
             codeMaps.put("message","");//推送成功消息
             codeMaps.put("error","");//成功
             if(order.getReadyFabric().equals("成衣")){
-                System.out.println(syPackingListTailoringController.pushInvoice(order.getId(),codeMaps));
+                syPackingListTailoringController.pushInvoice(order.getId(),codeMaps);
             }else{
-                System.out.println(syPackingListFabricController.pushInvoice(order.getId(),codeMaps));
+                syPackingListFabricController.pushInvoice(order.getId(),codeMaps);
             }
             order.setTimeStuta(Integer.parseInt(codeMaps.get("time_Stuta").toString()));
             if(codeMaps.get("message").toString().length()>2){
@@ -81,8 +81,8 @@ public class PushJob implements Job {
             //codeMaps.put(order.getId(),message);
         }
         long endTime = System.currentTimeMillis();
-        System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms");
-       // System.out.println("codeMaps\n"+codeMaps);
+        //System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms");
+       // //System.out.println("codeMaps\n"+codeMaps);
     }
 
   /*  public static void main(String[] args) {
@@ -95,7 +95,7 @@ public class PushJob implements Job {
             jsonArrays.add(jsonObject);
         }
         Map<String,String> codeMaps=result(jsonArrays);
-        System.out.println("codeMaps\t"+codeMaps);
+        //System.out.println("codeMaps\t"+codeMaps);
     }*/
 
     public static Map<String,String> result(JSONArray jsonArray){
@@ -114,7 +114,7 @@ public class PushJob implements Job {
 //            int max=Integer.parseInt(code);
 //        }catch (Exception e){
 //            String exceptionStr = getExceptionStr(e);
-//            System.out.println("exceptionStr\t"+exceptionStr);
+//            //System.out.println("exceptionStr\t"+exceptionStr);
 //        }
 //    }
 //

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/SyPackingListTailoringMapper.java

@@ -29,8 +29,12 @@ public interface SyPackingListTailoringMapper extends BaseMapper<SyPackingListTa
 
     public void deleteByMainId(String id);
 
+    public List<String> selectList1(IPage<SyPackingListTailoringVo> page, @Param("ew") QueryWrapper<SyPackingListTailoringVo> queryWrapper);
+
     public IPage<SyPackingListTailoringVo> selectList2(IPage<SyPackingListTailoringVo> page, @Param("ew") QueryWrapper<SyPackingListTailoringVo> queryWrapper);
 
+    public long getCount( @Param("ew") QueryWrapper<SyPackingListTailoringVo> queryWrapper);
+
     public SyShippingOrder querySyShippingOrder(String SyPackingListTailoringId);
 
     //获取仓库编码

+ 8 - 8
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/xml/syPackingListTailoringItemMapper.xml

@@ -35,8 +35,8 @@
 			distribution_point,
 			prepack_sku,
 			size,
-			starting_box_number,
-			end_case_number,
+			CAST(starting_box_number AS SIGNED) as starting_box_number,
+			CAST(end_case_number AS SIGNED) as end_case_number,
 			colour,
 			pieces_box,
 			master_Metering,/*计量单位*/
@@ -91,8 +91,8 @@
 			distribution_point,
 			prepack_sku,
 			size,
-			starting_box_number,
-			end_case_number,
+			CAST(starting_box_number AS SIGNED) as starting_box_number,
+			CAST(end_case_number AS SIGNED) as end_case_number,
 			colour,
 			pieces_box,
 			master_Metering,/*计量单位*/
@@ -155,8 +155,8 @@
 		distribution_point,
 		prepack_sku,
 		size,
-		starting_box_number,
-		end_case_number,
+		CAST(starting_box_number AS SIGNED) as starting_box_number,
+		CAST(end_case_number AS SIGNED) as end_case_number,
 		colour,
 		pieces_box,
 		box_number,/*箱数*/
@@ -213,8 +213,8 @@
 		distribution_point,
 		prepack_sku,
 		size,
-		starting_box_number,
-		end_case_number,
+		CAST(starting_box_number AS SIGNED) as starting_box_number,
+		CAST(end_case_number AS SIGNED) as end_case_number,
 		colour,
 		pieces_box,
 		box_number,/*箱数*/

+ 51 - 25
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/xml/syPackingListTailoringMapper.xml

@@ -90,7 +90,30 @@
     <update id="deleteByMainId" parameterType="java.lang.String">
         update sy_packing_list_tailoring set del_flag='1' where id=#{value}
     </update>
-    
+
+    <select id="getCount" resultType="java.lang.Long">
+
+        SELECT
+        count(DISTINCT sy_packing_list_tailoring_id)
+        FROM sy_packing_list_tailoring a
+        INNER JOIN sy_packing_list_tailoring_item b
+        ON a.id = b.sy_packing_list_tailoring_id
+        ${ew.customSqlSegment}
+        ORDER BY a.create_time DESC
+    </select>
+
+    <select id="selectList1" resultType="java.lang.String">
+        SELECT
+            distinct a.id
+        FROM
+            sy_packing_list_tailoring a
+        INNER JOIN
+            sy_packing_list_tailoring_item b
+        ON a.id = b.sy_packing_list_tailoring_id
+        ${ew.customSqlSegment}
+        ORDER BY a.create_time DESC;
+    </select>
+
     <select id="selectList2" resultType="org.jeecg.modules.splt.vo.SyPackingListTailoringVo">
        SELECT
          a.id,
@@ -108,8 +131,8 @@
          a.export_invoice_no ,
          a.u8_remarks,
          a.shipping_order_number ,
-        (SELECT english_product_name FROM  sy_declaration_elements WHERE id=a.elements_id) englishProductName ,/*中文品名*/
-	    (SELECT declaration_name FROM  sy_declaration_elements WHERE id=a.elements_id) productName,/*英文品名*/
+--         (SELECT english_product_name FROM  sy_declaration_elements WHERE id=a.elements_id) englishProductName ,/*中文品名*/
+-- 	    (SELECT declaration_name FROM  sy_declaration_elements WHERE id=a.elements_id) productName,/*英文品名*/
          a.depositary_receipt_no ,
          a.purchase ,
          a.order_type ,
@@ -142,7 +165,8 @@
          b.factory_Unit_Price
          FROM sy_packing_list_tailoring a
          inner JOIN sy_packing_list_tailoring_item b
-         ON a.id=b.sy_packing_list_tailoring_id and b.del_flag=0
+         ON a.id=b.sy_packing_list_tailoring_id
+--          and b.del_flag=0
          ${ew.customSqlSegment}
          GROUP BY a.id
          order by a.create_time desc /*倒序*/
@@ -302,30 +326,32 @@
     </select>
 
     <select id="getIvouchrowno"   resultType="java.util.HashMap">
-        SELECT popos.iorderdid iorderdid,popos.ivouchrowno ivouchrowno FROM
-        so_sodetails soso
-        LEFT JOIN UFDATA_103_2021.dbo.HY_DZ_K7_SYNERGISMLOGDID hy
-        ON voucherno = soso.cSOCode
-        AND did = soso.isosid
-        LEFT JOIN ${params2}.dbo.po_podetails popos
-        ON popos.id = hy.predid
-        WHERE soso.cSOCode = #{params3}
-        AND hy.accid =  #{params4}
-        AND soso.iSOsID =  #{params5}
-
+        SELECT
+            popos.iorderdid iorderdid,
+            popos.ivouchrowno ivouchrowno
+        FROM
+            so_sodetails soso
+            LEFT JOIN UFDATA_103_2021.dbo.HY_DZ_K7_SYNERGISMLOGDID hy ON voucherno = soso.cSOCode
+            AND did = soso.isosid
+            LEFT JOIN ${ params2 }.dbo.po_podetails popos ON popos.id = hy.predid
+        WHERE
+            soso.cSOCode = #{ params3 }
+            AND hy.accid =  #{ params4 }
+            AND soso.iSOsID =  #{ params5 }
     </select>
 
     <select id="getIvouchrowno2"   resultType="java.lang.String">
-        SELECT hy.predid FROM
-        so_sodetails soso
-        LEFT JOIN UFDATA_103_2021.dbo.HY_DZ_K7_SYNERGISMLOGDID hy
-        ON voucherno = soso.cSOCode
-        AND did = soso.isosid
-        LEFT JOIN ${params2}.dbo.po_podetails popos
-        ON popos.id = hy.predid
-        WHERE soso.cSOCode = #{params3}
-        AND hy.accid =  #{params4}
-        AND soso.iSOsID =  #{params5}
+        SELECT
+            hy.predid
+        FROM
+            so_sodetails soso
+            LEFT JOIN UFDATA_103_2021.dbo.HY_DZ_K7_SYNERGISMLOGDID hy ON voucherno = soso.cSOCode
+            AND did = soso.isosid
+            LEFT JOIN ${ params2 }.dbo.po_podetails popos ON popos.id = hy.predid
+        WHERE
+            soso.cSOCode = #{ params3 }
+            AND hy.accid =  #{ params4 }
+            AND soso.iSOsID =  #{ params5}
 
     </select>
 

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/ISyPackingListTailoringService.java

@@ -92,7 +92,7 @@ public interface ISyPackingListTailoringService extends IService<SyPackingListTa
 	//批量提交
 	boolean submitBatch(String[] ids);
 
-	String cancelSubmitBatch(String[] ids);
+	List<String> cancelSubmitBatch(String[] ids);
 
 	boolean excelAdd(List<SyPackingListTailoring> mains);
 

+ 123 - 80
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/impl/SyPackingListTailoringServiceImpl.java

@@ -14,6 +14,7 @@ import org.jeecg.common.system.vo.DictModel;
 import org.jeecg.common.util.RedisUtil;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.config.InterfaceConnUtils;
+import org.jeecg.modules.documents.letterDeposit.entity.SyLetterDeposit;
 import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetailsItem;
 import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
 import org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderItemMapper;
@@ -134,7 +135,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		}
 		syPackingListTailoringItemService.updateBatchById(items3);
 		long end= System.currentTimeMillis();
-		System.out.println("修改所耗时间\t"+(end-start)+"ms");
+		//System.out.println("修改所耗时间\t"+(end-start)+"ms");
 	}
 
 	//获取流水号
@@ -265,13 +266,13 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		}catch (Exception e){
 
 		}
-		System.out.println("当前时间\t"+day);
+		//System.out.println("当前时间\t"+day);
 		List<SyPackingListTailoring> lists=new ArrayList<>();
 		List<SyPackingListTailoringItem> listItems=new ArrayList<>();
 		QueryWrapper queryWrapper=new QueryWrapper();
 		queryWrapper.in("sy_Pre_Assembled_Packing_List_Id",ids);
 		List<SyPreAssembledPackingListItem> syPreItems=syPreAssembledPackingListItemMapper.selectList(queryWrapper);
-		System.out.println("syPreItems.size\t"+syPreItems.size());
+		//System.out.println("syPreItems.size\t"+syPreItems.size());
 		Map<String,SyPreAssembledPackingListItem> mapItems=new HashMap<>();
 		for (SyPreAssembledPackingListItem item : syPreItems){
 			mapItems.put(item.getId(),item);
@@ -341,9 +342,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			}
 			//return syPackingListTailorings;
 		}
-		//System.out.println("listItems.size\t"+listItems.size());
+		////System.out.println("listItems.size\t"+listItems.size());
 		//syPackingListTailoringItemService.saveBatch(listItems);
-		System.out.println("listItems.size\t"+listItems.size());
+		//System.out.println("listItems.size\t"+listItems.size());
 		syPackingListTailoringItemMapper.insertBatch(listItems);
 		saveBatch(syPackingListTailorings);
 	}
@@ -423,7 +424,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			item1.setSizeTables(sizeTables);
 			items.add(item1);
 		}
-		System.out.println("SyPackingListTailoringItem.size\t"+items.size());
+		//System.out.println("SyPackingListTailoringItem.size\t"+items.size());
 		for(SyPackingListTailoringItem s1 : items){
 			s1.setGroupId(org.jeecg.modules.system.util.oConvertUtils.getId());
 			syPackingListTailoring.setTotalBoxes(syPackingListTailoring.getTotalBoxes().add(s1.getBoxNumber()));//总箱数
@@ -629,7 +630,21 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 
 	@Override
 	public IPage<SyPackingListTailoringVo> selectList(IPage<SyPackingListTailoringVo> page, QueryWrapper<SyPackingListTailoringVo> queryWrapper) {
-		return syPackingListTailoringMapper.selectList2(page,queryWrapper);
+
+		queryWrapper.eq("b.del_flag","0");
+		page.setTotal(syPackingListTailoringMapper.getCount(queryWrapper));
+		List<String> ids=syPackingListTailoringMapper.selectList1(page, queryWrapper);
+//		queryWrapper.groupBy("a.id");
+		if (ids.size()>0){
+			queryWrapper.in("a.id",ids);
+		}
+		long current=page.getCurrent();
+		page.setCurrent(1);
+		page.setSize(page.getSize());
+		IPage<SyPackingListTailoringVo> page1=syPackingListTailoringMapper.selectList2(page, queryWrapper);
+		page1.setCurrent(current);
+		return page1;
+//		return syPackingListTailoringMapper.selectList2(page,queryWrapper);
 	}
 
 	//简单的排序
@@ -646,7 +661,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		QueryWrapper queryWrapper=new QueryWrapper();//构造器
 		queryWrapper.eq("tailoring_fabric_item_id",item.getId());//根据子表id进行查询
 		SyShippingOrderItem syShippingOrderItem= syShippingOrderItemMapper.selectOne(queryWrapper);//获得对象
-		System.out.println("syShippingOrderItem的数据为\n"+syShippingOrderItem);
+		//System.out.println("syShippingOrderItem的数据为\n"+syShippingOrderItem);
 		if(syShippingOrderItem==null){
 			return null;
 		}
@@ -685,7 +700,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			if(item1==null){
 				continue;//退出本次循环
 			}
-			System.out.println("item1的ordernumber为:\t"+item1.getOrderNumber());
+			//System.out.println("item1的ordernumber为:\t"+item1.getOrderNumber());
 			item.setDocumentNo(item.getOrderNumber());
 			item.setOrderNumber(item1.getOrderNumber());//赋值销售订单号
 			syPackingListTailoringMapper.updateById(item);
@@ -722,8 +737,10 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 	 */
 	@Override
 	@Transactional
-	public String cancelSubmitBatch(String[] ids) {
+	public List<String> cancelSubmitBatch(String[] ids) {
+		List<String> strings=new ArrayList<>();
 		String str="";
+		String pushStr="";
 		try{
 			for (String id : ids){
 				SyPackingListTailoring syPackingListTailoring=syPackingListTailoringMapper.selectById(id);
@@ -733,20 +750,33 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 					if(syShippingOrder!=null){
 					}*/
 				}
+				if (syPackingListTailoring.getPushState().equals("1")){
+					pushStr+=id+",";
+				}
 				syPackingListTailoring.setStatus("0");//取消提交
 				syPackingListTailoringMapper.updateById(syPackingListTailoring);
 			}
 			if(str.length()>0){
+				strings.add("已被托书参照");
 				throw new JeecgBootException("已被托书参照");
 			}
+			if(pushStr.length()>0){
+				strings.add("已推送数据取消提交请联系IT");
+				throw new JeecgBootException("已推送数据取消提交请联系IT");
+			}
 		}catch (Exception e){
 			log.error(e.getMessage());
 			TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
 		}finally {
-			if(str.length()==0){
-				return str;
+			if(str.length()>0){
+				strings.add(str.substring(0,str.length()-1));
 			}
-			return str.substring(0,str.length()-1);
+			else if(pushStr.length()>0){
+				strings.add(pushStr.substring(0,pushStr.length()-1));
+			}else{
+				strings.add("");
+			}
+			return strings;
 		}
 	}
 
@@ -793,7 +823,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			mapItems.put(item.getId(),item);
 		}
 		long endTime2 = System.currentTimeMillis();
-		System.out.println("批量查询时间:" + (endTime2 - startTime) + "ms");
+		//System.out.println("批量查询时间:" + (endTime2 - startTime) + "ms");
 
 		UpdateWrapper updateWrapper=new UpdateWrapper();
 		updateWrapper.set("is_Reference","2");//已被装箱单参照,预装箱单不能取消提交
@@ -1061,8 +1091,8 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				}
 			}
 			total4=total2.add(total3);
-			System.out.println("total4.doubleValue()\t"+total4.doubleValue());
-			System.out.println("total1.doubleValue()*1.9\t"+total1.doubleValue()*1.9);
+			//System.out.println("total4.doubleValue()\t"+total4.doubleValue());
+			//System.out.println("total1.doubleValue()*1.9\t"+total1.doubleValue()*1.9);
 			if(total4.doubleValue()>total1.doubleValue()*1.9){//(本次数量+现有数量)>1.9*发货数量就报错
 				throw new JeecgBootException("本次导入数量+装箱单现有数量大于发货订单数量*1.9,请勿重复导入");
 			}
@@ -1097,7 +1127,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 	@Override
 	public String[] getExcelId() {
 		String [] ids=syPackingListTailoringMapper.getExcelId();
-		System.out.println("总共有"+ids.length+"条数据");
+		//System.out.println("总共有"+ids.length+"条数据");
 		for (String id : ids){
 			QueryWrapper queryWrapper=new QueryWrapper();
 			queryWrapper.eq("sy_pre_assembled_packing_list_id",id);
@@ -1133,7 +1163,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		String pushsno004=org.jeecg.modules.system.util.oConvertUtils.addOne(redisUtil.get("pushsno004").toString());
 		redisUtil.set("pushsno004", pushsno004);//采购委外入库单
 		String pushsno005=org.jeecg.modules.system.util.oConvertUtils.addOne(redisUtil.get("pushsno005").toString());
-		System.out.println("maptererere\t"+mapt);
+		//System.out.println("maptererere\t"+mapt);
 		//账套号
 		if (main!=null){
 
@@ -1229,7 +1259,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				map.put("CDEFINE12",venName);//供应商(打印)全称
 				map5.put("CDEFINE12",venName);//供应商(打印)全称
 				map6.put("CDEFINE12",venName);//供应商(打印)全称
-				System.out.println("供应商全称\t"+venName);
+				//System.out.println("供应商全称\t"+venName);
 			}
 
 			if(mapt.get("account").equals("101")){
@@ -1290,7 +1320,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 					map5.put("IEXCHRATE",rate.get("nflat"));//汇率(如果传空,接口默认1)cPayCode
 				}
 			}
-			System.out.println("map5\t"+map5);
+			//System.out.println("map5\t"+map5);
 			for (SyPackingListTailoringItem item : main.getSyPackingListTailoringItemList()){
 
 				if(item.getTotal()==null||item.getTotal().doubleValue()==0){
@@ -1313,9 +1343,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 
 				Map<String,Object> orderDataItem=null;// inum
 				if(!mapt.get("account").equals("103")&&!mapt.get("account1").equals("101")){ //采购订单子表数据  顺序---2
-					/*System.out.println("mapt.get(\"orderNumber\")\n"+mapt.get("orderNumber"));
-					System.out.println("mapt.containsKey(\"itemSort\")\t"+mapt.containsKey("itemSort"));
-					System.out.println("item.getOmpoIdItem()\t"+item.getOmpoIdItem());*/
+					/*//System.out.println("mapt.get(\"orderNumber\")\n"+mapt.get("orderNumber"));
+					//System.out.println("mapt.containsKey(\"itemSort\")\t"+mapt.containsKey("itemSort"));
+					//System.out.println("item.getOmpoIdItem()\t"+item.getOmpoIdItem());*/
 					if(!mapt.containsKey("itemSort")){  //第一次进行循环
 						orderDataItem=syPackingListTailoringMapper.getOmOrPoItem2("PO_PoDetails", "ID='"+item.getOmpoIdItem()+"'","ID");
 					}else{
@@ -1351,7 +1381,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 					orderDataItem=syPackingListTailoringMapper.getOmOrPoItem("OM_MODetails", "MODetailsID='"+item.getOmpoIdItem()+"'","MODetailsID");
 					Map<String,Object> orderDataItem2=purchaseWarehousingMapper.getOMMoDetails(item.getOmpoIdItem());//获取自由项		try
 					if (orderDataItem2==null){
-						System.out.println("mapt\n"+mapt);
+						//System.out.println("mapt\n"+mapt);
 						return "推送失败:"+mapt.get("account")+"账套的"+mapt.get("ordertype")+"子表id"+item.getOmpoIdItem()+"未获取到数据";
 					}
 					getcFree(mapItem,orderDataItem2);
@@ -1428,7 +1458,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 					Map<String,Object> order=syPackingListTailoringMapper.getSoMain(mapt.get("poid").toString());//
 					mapt.put("orderNumber",order.get("cSOCode"));//销售订单号
 					mapt.put("customerCode",order.get("cCusCode"));//客户编码
-					System.out.println("mapt.customerCode\t"+order.get("cCusCode"));
+					//System.out.println("mapt.customerCode\t"+order.get("cCusCode"));
 					if(order!=null){//销售订单主表
 						map.put("cOrderCode",order.get("cSOCode"));//销售订单号
 						map3.put("CBUSTYPE",order.get("cBusType"));//业务类型(普通销售、分期付款)(如果传空,取来源单据)
@@ -1503,7 +1533,10 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 						ivouchrownos =syPackingListTailoringMapper.getIvouchrowno(params1,params2,params3,params4,params5);
 //					}
 					//orderIrowno.setIrowno(ivouchrowno);//获取行号
-					System.out.println("销售订单子表的行号\t"+ivouchrownos);
+					//System.out.println("销售订单子表的行号\t"+ivouchrownos);
+					if(ivouchrownos==null||ivouchrownos.get("iorderdid")==null){
+						return "推送失败:未找到上游订单数据";
+					}
 					mapSort.put(item.getId(),ivouchrownos.get("iorderdid").toString());
 					mapSort.put(item.getId()+"2",ivouchrownos.get("ivouchrowno").toString());
 				}
@@ -1564,10 +1597,20 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			map6.put("DETAILList",mapItems6);//明细集合
 			mapList6.add(map6);
 
-			if(mapt.get("customerCode").equals("T020001")&&!mapt.get("account").equals("101")){
+			System.out.println("mapt\t"+mapt);
+			System.out.println("客户编码customerCode\t"+mapt.get("customerCode")+"\taccount\t"+mapt.get("account"));
+
+			HashMap map1=(HashMap) mapt.get("maps");
+
+			List<String> account1=(ArrayList)map1.get("101");
+			List<String> account2=(ArrayList)map1.get("102");
+
+			if(account1.contains(mapt.get("customerCode"))&&!mapt.get("account").equals("101")){
+				/* && mapt.get("customerCode").equals("T020001")*/
 				mapt.put("account","101");//账套号
 				mapt.put("error","101账套未推送");
-			}else if(mapt.get("customerCode").equals("0001")&&!mapt.get("account").equals("102")){
+			}else if(account2.contains(mapt.get("customerCode"))&&!mapt.get("account").equals("102")){
+				/*(mapt.get("customerCode").equals("00000045")||mapt.get("customerCode").equals("0001"))*/
 				map6.put("CTYPE","专用");//发-票类型(普通,专用)
 				mapt.put("account","102");//账套号
 				mapt.put("error","102账套未推送");
@@ -1576,7 +1619,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				mapt.put("error","");
 			}
 			mapt.put("itemSort",mapSort);
-			System.out.println("获取循环后当前是第几个账套\t"+mapt.get("account"));
+			//System.out.println("获取循环后当前是第几个账套\t"+mapt.get("account"));
 		}
 		text(mapList,mapt.get("ordertype")+"入库单");
 		String recording=null;
@@ -1590,7 +1633,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				maps.put(recordings[i].split("-")[0],map);
 			}
 			String account=mapList.getJSONObject(0).get("CACCID").toString();//获取账套号
-			//System.out.println("采购发-票供应商编码\t"+mapt.get("CVENCODE"));
+			////System.out.println("采购发-票供应商编码\t"+mapt.get("CVENCODE"));
 			if (maps.containsKey(account)){
 				switch (maps.get(account).get("index")){
 					case "1":	//代表已完成第一道
@@ -1601,7 +1644,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 //							List<Map<String,Object>> purchaseinMaps= syPackingListTailoringMapper.getRdRecord01(purchaseinName);
 //							if(purchaseinMaps!=null){
 //								for (Map map : purchaseinMaps){
-//									System.out.println("mapt4\n"+map);
+//									//System.out.println("mapt4\n"+map);
 //									JSONObject jsonObject=mapList5.getJSONObject(0);//循环迭代
 //									List<Map<String,Object>> mapItems5= (List<Map<String,Object>>) jsonObject.get("DETAILList");
 //									for (Map itemMap5 :  mapItems5){
@@ -1611,7 +1654,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 //											itemMap5.put("AUTOID_PO",map.get("AutoID"));
 //										}
 //									}
-//									System.out.println("mapItems4\t"+mapItems5);
+//									//System.out.println("mapItems4\t"+mapItems5);
 //								}
 //							}
 //							text(mapList5,mapt.get("ordertype")+"发-票单");
@@ -1648,7 +1691,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 									}
 								}
 							}
-							System.out.println("autoIds\t"+autoIds);
+							//System.out.println("autoIds\t"+autoIds);
 						}
 						text(mapList4,"销售出库单");
 						JSONArray resturn4 = InterfaceConnUtils.doPost(mapList4,"saleout_import");//
@@ -1663,8 +1706,8 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 //							for (Map map : saleoutMaps){
 //								JSONObject jsonObject=mapList6.getJSONObject(0);//循环迭代
 //								List<Map<String,Object>> mapItems6= (List<Map<String,Object>>) jsonObject.get("DETAILList");
-//								System.out.println("获取数据1\t"+saleoutMaps);
-//								System.out.println("获取数据2\t"+mapItems6);
+//								//System.out.println("获取数据1\t"+saleoutMaps);
+//								//System.out.println("获取数据2\t"+mapItems6);
 //								for (Map itemMap6 :  mapItems6){
 //									itemMap6.put("DISAUTOIDCOL","AUTOID");
 //									if(itemMap6.get("size").equals(map.get("cFree2"))&&(Double.parseDouble( itemMap6.get("IQUANTITY").toString())
@@ -1703,7 +1746,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 //						itemMap5.put("AUTOID_PO",map.get("AutoID"));
 //					}
 //				}
-//				System.out.println("mapItems4\t"+mapItems5);
+//				//System.out.println("mapItems4\t"+mapItems5);
 //			}
 //		}
 
@@ -1741,7 +1784,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 						autoIds.add(map.get("iDLsID").toString());
 					}
 				}
-				System.out.println("mapItems4\t"+mapItems4);
+				//System.out.println("mapItems4\t"+mapItems4);
 			}
 		}
 
@@ -1807,10 +1850,10 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		try{
 			String txtWorld="\n"+((Map)mapList.get(0)).get("CACCID")+"\t"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").format(System.currentTimeMillis())+"\n\n";
 			txtWorld+=mapList.toString()+"\n";
-			FileWriter file =new FileWriter ("D:\\test1\\成衣-"+tableName+".txt",true);
+			FileWriter file =new FileWriter ("D:\\test1\\"+new SimpleDateFormat("yyyy年-MM月").format(System.currentTimeMillis())+"成衣-"+tableName+".txt",true);
 			file.write(txtWorld);	//以字节数组类型写入内容
 			file.close();
-			System.out.println("已创建test.txt文件,已写入内容");
+			//System.out.println("已创建test.txt文件,已写入内容");
 		}catch (Exception e){
 			e.printStackTrace();
 		}
@@ -1897,9 +1940,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			return null;
 		}
 		List<SyPackingListTailoringItem> itemLists=syPackingListTailoringItemMapper.querySpaplItemIds(ids);
-		//System.out.println("itemLists.size\t"+itemLists.size());
+		////System.out.println("itemLists.size\t"+itemLists.size());
 		List<SizeTable> sizeLists2=syPreAssembledPackingListItemMapper.queryAllSize(ids);//子表尺码
-		//System.out.println("sizeLists2.size\t"+sizeLists2.size());
+		////System.out.println("sizeLists2.size\t"+sizeLists2.size());
 		Map<String,List<SyPackingListTailoringItem>> maplItems=new HashMap<>();
 		Map<String,List<SizeTable>> mapItemSizes=new HashMap<>();//子表尺码
 		for (SizeTable size : sizeLists2){//子表尺码
@@ -2034,7 +2077,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		long startTime = System.currentTimeMillis();
 		String message="";
 		List<String> codes=getList(listTailorings,maps.get("account").toString());//获取出库单号
-		System.out.println(maps.get("account")+"账套成衣查看入库单号\t"+codes);
+		//System.out.println(maps.get("account")+"账套成衣查看入库单号\t"+codes);
 		if(codes.size()==0){
 			return "无可推送数据!";
 		}
@@ -2042,7 +2085,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 
 		//Map<String,List<String>> customers=getSuppliers(codes,listTailorings);//key:供应商编码,value:出库单id
 		Map<String,List<String>> customers=getSuppliers(listTailorings);//key:供应商编码,value:出库单单据号
-		System.out.println(account+"采购customers\t"+customers);
+		//System.out.println(account+"采购customers\t"+customers);
 		if(account.equals("102")){
 			customers=getSuppliers2(codes,listTailorings);//key:供应商编码,value:出库单id
 //			customers=getSuppliers2(listTailorings);//key:供应商编码,value:出库单id
@@ -2071,13 +2114,13 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 					throw new JeecgBootException(account+"查询不到对应的采购订单");
 				}
 			}
-			System.out.println("orderData\t"+orderData);
+			//System.out.println("orderData\t"+orderData);
 
 			String orderNumber=listTailorings.get(0).getShippingOrderNumber().substring(0,syPackingListTailoring.getShippingOrderNumber().indexOf("-"));
 			//List<SyPackingListFabricItem> listFabricItems=syPackingListFabric.getSyPackingListFabricItem();//需要进行分组
 			List<SyPackingListTailoringItem> listTailoringItems=listTailoringItemMaps.get(customer);
-			//System.out.println("codes.size\t"+codes.size());
-			System.out.println("codes\t"+codes);
+			////System.out.println("codes.size\t"+codes.size());
+			//System.out.println("codes\t"+codes);
 			List<Map<String,Object>> invoices=getInvoices1(customers.get(customer));
 			JSONObject  jsonObject1=new JSONObject();
 			code=org.jeecg.modules.system.util.oConvertUtils.addOne(code);
@@ -2100,7 +2143,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			jsonObject1.put("CTYPE","专用");//发-票类型
 
 			jsonObject1.put("CGLTYPE","入库单");//上游单据
-			System.out.println("syPackingListTailoring.getLatestDateOfShipment2()\t"+syPackingListTailoring.getLatestDateOfShipment2());
+			//System.out.println("syPackingListTailoring.getLatestDateOfShipment2()\t"+syPackingListTailoring.getLatestDateOfShipment2());
 			jsonObject1.put("DDATE",syPackingListTailoring.getTheFinalShippingDate().substring(0,10));//装运期限
 			jsonObject1.put("CDEFINE4",syPackingListTailoring.getTheFinalShippingDate().substring(0,10));//最终船期
 			jsonObject1.put("CDEFINE6",syPackingListTailoring.getTheFinalShippingDate2().substring(0,10));//合同日期
@@ -2186,29 +2229,29 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				jsonObject.put("CDEFINE33",item.getDeclarationName());//存货名称
 				jsonArrays.add(jsonObject);
 			}
-//			System.out.println("dzMoney\t"+dzMoney+"\tu8Money\t"+u8Money);
+//			//System.out.println("dzMoney\t"+dzMoney+"\tu8Money\t"+u8Money);
 			dzMoney=dzMoney.setScale(2, RoundingMode.HALF_UP);
-//			System.out.println("dzMoney\t"+dzMoney+"\tu8Money\t"+u8Money);
-//			System.out.println("dzMoney.compareTo(u8Money)t"+dzMoney.compareTo(u8Money));
+//			//System.out.println("dzMoney\t"+dzMoney+"\tu8Money\t"+u8Money);
+//			//System.out.println("dzMoney.compareTo(u8Money)t"+dzMoney.compareTo(u8Money));
 			if(dzMoney.compareTo(u8Money)!=0){
 				BigDecimal dividePrice =dzMoney.subtract(u8Money);
-//				System.out.println("IORIMONEY\t"+jsonArrays.getJSONObject(jsonArrays.size()-1).get("IORIMONEY").toString());
+//				//System.out.println("IORIMONEY\t"+jsonArrays.getJSONObject(jsonArrays.size()-1).get("IORIMONEY").toString());
 				BigDecimal ioriMoney=new BigDecimal(jsonArrays.getJSONObject(jsonArrays.size()-1).get("IORIMONEY").toString());
 				jsonArrays.getJSONObject(jsonArrays.size()-1).put("IORIMONEY",ioriMoney.add(dividePrice));
-//				System.out.println("IORIMONEY\t"+jsonArrays.getJSONObject(jsonArrays.size()-1).get("IORIMONEY").toString());
+//				//System.out.println("IORIMONEY\t"+jsonArrays.getJSONObject(jsonArrays.size()-1).get("IORIMONEY").toString());
 			}
 //			jsonObject.put("IORIMONEY",item.getUnitPrice());//金额
 			jsonObject1.put("DETAILList",jsonArrays);
 			jsonArrays1.add(jsonObject1);
 			//Map<String,List<String>> maps=new HashMap<>();//key:客户编码-字符,value:主表id-数组 用于区分维度完成分组条件
-			System.out.println("jsonObject\n"+jsonObject1);
-			//System.out.println("jsonArrays.size\t"+jsonArrays.size());
-			//System.out.println("listFabrics.size\t"+listFabrics.size());
-			//System.out.println("listFabricItems.size\t"+listFabricItems.size());
+			//System.out.println("jsonObject\n"+jsonObject1);
+			////System.out.println("jsonArrays.size\t"+jsonArrays.size());
+			////System.out.println("listFabrics.size\t"+listFabrics.size());
+			////System.out.println("listFabricItems.size\t"+listFabricItems.size());
 			long endTime = System.currentTimeMillis();
-			System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms");
+			//System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms");
 		}
-		System.out.println("jsonArrays1\n"+jsonArrays1);
+		//System.out.println("jsonArrays1\n"+jsonArrays1);
 		text(jsonArrays1,"测试合并推送成衣采购发票");
 //		if(true){
 //			return "推送成功";
@@ -2265,13 +2308,13 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		long startTime = System.currentTimeMillis();
 		String message="";
 		List<String> codes=getList2(listTailorings,maps.get("account").toString());//获取出库单号
-		System.out.println(maps.get("account")+"账套成衣查看出库单号\t"+codes);
+		//System.out.println(maps.get("account")+"账套成衣查看出库单号\t"+codes);
 		if(codes.size()==0){
 			return "无可推送数据!";
 		}
 		String account=maps.get("account").toString();
 		Map<String,List<String>> customers=getCustomers(codes,listTailorings);//key:供应商编码,value:出库单id
-		System.out.println(account+"销售customers\t"+customers);
+		//System.out.println(account+"销售customers\t"+customers);
 		Map<String,List<SyPackingListTailoringItem>> listTailoringItemMaps=getListTailoringItemMaps(customers,listTailorings);//key:供应商编码,value:子表数据
 		Map<String,List<SyPackingListTailoring>> listTailoringMaps=getListTailoringMaps(customers,listTailorings);//key:供应商编码,value:主表数据
 		Map<String,List<SyPackingListTailoring>> codeMaps=new HashMap<>();//key:传入销售发-票单id,value:主表数据
@@ -2280,7 +2323,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		for (String customer : customers.keySet()){
 			SyPackingListTailoring syPackingListTailoring=listTailoringMaps.get(customer).get(0);
 			List<SyPackingListTailoringItem> listFabricItems=listTailoringItemMaps.get(customer);
-			System.out.println("codes\t"+codes);
+			//System.out.println("codes\t"+codes);
 			List<Map<String,Object>> invoices=getInvoices(customers.get(customer));
 			JSONObject  jsonObject1=new JSONObject();
 
@@ -2313,7 +2356,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				getError(syPackingListTailoring,account+"查询不到对应的销售订单");
 				throw new JeecgBootException(account+"查询不到对应的销售订单");
 			}
-			System.out.println("成衣销售order\t"+order);
+			//System.out.println("成衣销售order\t"+order);
 			if(order.get("cCusCode").equals("T020001")&&!account.equals("101")){
 				//maps.put("account","101");//账套号
 			}else if(order.get("cCusCode").equals("0001")&&!account.equals("102")){
@@ -2326,7 +2369,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			jsonObject1.put("CDEFINE4",syPackingListTailoring.getTheFinalShippingDate());//最终船期
 			jsonObject1.put("CDEFINE6",syPackingListTailoring.getTheFinalShippingDate2());//合同日期
 			jsonObject1.put("CDEFINE10",syPackingListTailoring.getShippingOrderNumber().replace("&","(-)"));//托书号
-			System.out.println("syPackingListFabric.getSupplierCode()\t"+syPackingListTailoring.getSupplierCode());
+			//System.out.println("syPackingListFabric.getSupplierCode()\t"+syPackingListTailoring.getSupplierCode());
 			if(syPackingListTailoring.getSupplierCode()!=null){
 				String	venName=syPackingListTailoringMapper.getCvenName2(syPackingListTailoring.getSupplier());
 				//jsonObject1.put("CDEFINE12",venName);//供应商全称
@@ -2362,9 +2405,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			List<Object> autoIds=new ArrayList<>();
 			//String iTaxRate=syPackingListTailoringItemMapper.getItaxRate(syPackingListTailoring.getRdrecord32Code());
 			for (SyPackingListTailoringItem item : listFabricItems){
-//				System.out.println("total\t"+item.getTotal());
-//				System.out.println("size\t"+item.getSize());
-//				System.out.println("inventoryCode\t"+item.getInventoryCode());
+//				//System.out.println("total\t"+item.getTotal());
+//				//System.out.println("size\t"+item.getSize());
+//				//System.out.println("inventoryCode\t"+item.getInventoryCode());
 
 
 				JSONObject  jsonObject=new JSONObject();
@@ -2372,8 +2415,8 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				jsonObject.put("size",item.getSize());
 				jsonObject.put("CINVCODE",item.getInventoryCode());//存货编码
 				jsonObject.put("DISAUTOIDCOL","AUTOID");//对应类型
-//				System.out.println("IQUANTITY\t"+jsonObject.get("IQUANTITY"));
-//				System.out.println("cFree2\t"+jsonObject.get("cFree2"));
+//				//System.out.println("IQUANTITY\t"+jsonObject.get("IQUANTITY"));
+//				//System.out.println("cFree2\t"+jsonObject.get("cFree2"));
 				String istc2=item.getIsTc();
 				if (istc2!=null&&istc2.equals("1")){
 //					if(item.getMemo()!=null){
@@ -2385,9 +2428,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				jsonObject.put("CBMEMO",item.getMemo());//备注
 				for (Map<String,Object> map : invoices){
 
-//					System.out.println("map.get(\"iQuantity\").toString()\t"+map.get("iQuantity").toString());
-//					System.out.println("map.get(\"cInvCode\")\t"+map.get("cInvCode"));
-//					System.out.println("map.get(\"AutoID\")\t"+map.get("AutoID"));
+//					//System.out.println("map.get(\"iQuantity\").toString()\t"+map.get("iQuantity").toString());
+//					//System.out.println("map.get(\"cInvCode\")\t"+map.get("cInvCode"));
+//					//System.out.println("map.get(\"AutoID\")\t"+map.get("AutoID"));
 					if(Double.parseDouble(map.get("iQuantity").toString())==Double.parseDouble(jsonObject.get("IQUANTITY").toString())&&
 							map.get("cInvCode").toString().equalsIgnoreCase(item.getInventoryCode()) &&map.get("cFree2").equals(item.getSize())
 							&&!autoIds.contains(map.get("AutoID"))){
@@ -2417,12 +2460,12 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			jsonObject1.put("DETAILList",jsonArrays);
 			jsonArrays1.add(jsonObject1);
 			//Map<String,List<String>> maps=new HashMap<>();//key:客户编码-字符,value:主表id-数组 用于区分维度完成分组条件
-//			System.out.println("jsonObject\n"+jsonArrays.get(0));
+//			//System.out.println("jsonObject\n"+jsonArrays.get(0));
 			long endTime = System.currentTimeMillis();
-			System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms");
+			//System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms");
 		}
 		text(jsonArrays1,"测试合并推送成衣销售发票");
-		//System.out.println("jsonArrays1\t"+jsonArrays1);
+		////System.out.println("jsonArrays1\t"+jsonArrays1);
 		JSONArray resturnJsonArrays = InterfaceConnUtils.doPost(jsonArrays1,"saleinvoice_import");//销售发-票单
 		Map<String,String> codeMaps2 = result(resturnJsonArrays,"销售发票",account);
 		for (String code1 : codeMaps.keySet()){
@@ -2552,15 +2595,15 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 
 	public List<Map<String,Object>> getInvoices1(List<String> codes){
 		List<Map<String,Object>> invoices=syPackingListTailoringItemMapper.getInvoice1(codes.toArray(new String[codes.size()]));
-		System.out.println("invoices.size\t"+invoices.size());
-		System.out.println("invoices\t"+invoices);
+		//System.out.println("invoices.size\t"+invoices.size());
+		//System.out.println("invoices\t"+invoices);
 		return invoices;
 	}
 
 	public List<Map<String,Object>> getInvoices(List<String> codes){
 		List<Map<String,Object>> invoices=syPackingListFabricItemMapper.getInvoice(codes.toArray(new String[codes.size()]));
-		System.out.println("invoices.size\t"+invoices.size());
-		System.out.println("invoices\t"+invoices);
+		//System.out.println("invoices.size\t"+invoices.size());
+		//System.out.println("invoices\t"+invoices);
 		return invoices;
 	}
 
@@ -2615,7 +2658,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				mapLists.put(map.get("cVenCode").toString()+"-"+map.get("cPersonCode").toString(),list);
 			}
 		}
-		System.out.println("mapLists\t"+mapLists);
+		//System.out.println("mapLists\t"+mapLists);
 		return mapLists;
 	}*/
 
@@ -2659,7 +2702,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				mapLists.put(map.get("cVenCode").toString(),list);
 			}
 		}
-		System.out.println("mapLists\t"+mapLists);
+		//System.out.println("mapLists\t"+mapLists);
 		return mapLists;
 	}