Browse Source

面料损耗bug调整

fenghaifu 2 years ago
parent
commit
af95900b67

+ 9 - 7
jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/mapper/xml/FabricLossMapper.xml

@@ -85,7 +85,7 @@
 
 		SELECT
 			'其他入库的纱' as cInvName,
-			isnull(sum(a.iQuantity),0) as iQuantityIn
+			isnull(sum(a.iQuantity),0) as iQuantityOut
 		FROM
 			rdrecords11 a
 			INNER JOIN OM_MODetails b ON a.iOMoDID = b.MODetailsID
@@ -112,7 +112,7 @@
 	<select id="getPurchaseListOtherPurInList" resultType="org.jeecg.modules.report.entity.FabricPoOrder">
 		(
 		SELECT
-			'来源余纱' as cInvName,isnull(sum(h.iQuantity),0)  as iQuantityIn
+			'来源余纱' as cInvName,isnull(sum(h.iQuantity),0)  as iQuantityOut
 		FROM
 			rdrecords11 h
 		WHERE
@@ -233,7 +233,7 @@
 			b.cInvName,
 			isnull( a.cFree1, '' ) AS cColor,
 			b.cInvCode,
-			isnull( ( SELECT sum( iMSQuantity ) FROM OM_MatSettleVouchs WHERE OM_MatSettleVouchs.irdsid = a.AutoID ), a.iQuantity ) AS iQuantity,
+			isnull( a.iSQuantity, a.iQuantity ) AS iQuantity,
 			a.autoid,
 			a.iPrice
 		FROM
@@ -288,7 +288,7 @@
 	<!--获取委外订单发票金额-->
 	<select id="getOmInvoiceMoneyList" resultType="org.jeecg.modules.report.entity.FabricCostInvoice">
 
-		select g.cVCName,f.cVenName ,f.cVenAbbName,sum(c.iSum) as iMoney
+		select g.cVCName,f.cVenName ,f.cVenAbbName,isnull(sum(c.iSum),0) as iMoney
 			from RdRecord01 a
 			inner join RdRecords01 b on a.id=b.id
 			inner join PurBillVouchs c on c.RdsId=b.autoid
@@ -298,14 +298,16 @@
 		inner join VendorClass g on g.cVCCode =f.cVCCode
 			where a.cbustype='委外加工'
 			and e.cCode  like CONCAT(#{code},'%')
+			and g.cVCName not like '成衣厂'
 			group by g.cVCName,f.cVenName ,f.cVenAbbName
 			order by g.cVCName,f.cVenName ,f.cVenAbbName
 	</select>
 	<!--开票成本-成衣-->
 	<select id="getCostClothesList" resultType="org.jeecg.modules.report.entity.FabricCostClothes">
 
-		select cPBVCode,cVenName,cVenAbbName,cShipTime,sum(iSum) as iSum,sum(iOriSum) as iOriSum,
-		sum(iQuantity) as iQuantity,sum(iPBVQuantity) as iPBVQuantity,sum(iSQuantity) as iSQuantity
+		select cPBVCode,cVenName,cVenAbbName,cShipTime,isnull(sum(iSum),0) as iSum,
+		isnull(sum(iOriSum),0) as iOriSum,isnull(sum(iQuantity),0) as iQuantity,
+		isnull(sum(iPBVQuantity),0) as iPBVQuantity,isnull(sum(iSQuantity),0) as iSQuantity
 		from VIEW_FabricLoss_Cost_Clothes where cCode like CONCAT(#{code},'%')
 		group by
 		cPBVCode,cVenName,cVenAbbName,cShipTime
@@ -320,7 +322,7 @@
 	<!--开票成本-面料-->
 	<select id="getCostClothList" resultType="org.jeecg.modules.report.entity.FabricCostCloth">
 
-		select cVenName,cSOCode,cSBVCode,cShipTime,cInvName,iPrice,sum(iQuantity) as iQuantity,sum(iNatSum) as iNatSum
+		select cVenName,cSOCode,cSBVCode,cShipTime,cInvName,isnull(iPrice,0) as iPrice,isnull(sum(iQuantity),0) as iQuantity,isnull(sum(iNatSum),0) as iNatSum
 		 from VIEW_FabricLoss_Cost_Cloth where cSOCode like CONCAT(#{code},'%')
 		 group by cVenName,cSOCode,cSBVCode,cShipTime,cInvName,iPrice
 		order by cVenName,cSBVCode,cInvName

+ 41 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/service/impl/FabricLossServiceImpl.java

@@ -189,8 +189,8 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
 			if (fabricPoOrderTempList.size()>0){
 				FabricPoOrder fabricPoOrderFirst = fabricPoOrderTempList.get(0);
 				for (int i=1; i<fabricPoOrderTempList.size(); i++){
-					BigDecimal bdVal = new BigDecimal(fabricPoOrderFirst.getIQuantityIn()+fabricPoOrderTempList.get(i).getIQuantityIn());
-					fabricPoOrderFirst.setIQuantityIn(bdVal.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue());
+					BigDecimal bdVal = new BigDecimal(fabricPoOrderFirst.getIQuantityOut()+fabricPoOrderTempList.get(i).getIQuantityOut());
+					fabricPoOrderFirst.setIQuantityOut(bdVal.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue());
 				}
 				fabricPoOrderList.add(fabricPoOrderFirst);
 			}
@@ -201,7 +201,26 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
 			}
 			ret.setFabricPoOrderList(fabricPoOrderList);
 			// 委外订单所有
-			List<FabricOMOrder> fabricOMOrderList1 = fabricLossMapper.getOmOrderListAll(code);
+			List<FabricOMOrder> fabricOMOrderListAll = fabricLossMapper.getOmOrderListAll(code);
+			// 织、染、印,其他排序
+			List<FabricOMOrder> fabricOMOrderList1 = new ArrayList<>();
+			List<FabricOMOrder> fabricOMOrderListTmp = fabricOMOrderListAll.stream().filter(e->e.getCVCName().indexOf("织")==0).collect(Collectors.toList());
+			if (fabricOMOrderListTmp.size()>0){
+				fabricOMOrderList1.addAll(fabricOMOrderListTmp);
+			}
+			fabricOMOrderListTmp = fabricOMOrderListAll.stream().filter(e->e.getCVCName().indexOf("染")==0).collect(Collectors.toList());
+			if (fabricOMOrderListTmp.size()>0){
+				fabricOMOrderList1.addAll(fabricOMOrderListTmp);
+			}
+			fabricOMOrderListTmp = fabricOMOrderListAll.stream().filter(e->e.getCVCName().indexOf("印")==0).collect(Collectors.toList());
+			if (fabricOMOrderListTmp.size()>0){
+				fabricOMOrderList1.addAll(fabricOMOrderListTmp);
+			}
+			fabricOMOrderListTmp = fabricOMOrderListAll.stream().filter(e->e.getCVCName().indexOf("织")!=0&&e.getCVCName().indexOf("染")!=0&&e.getCVCName().indexOf("印")!=0).collect(Collectors.toList());
+			if (fabricOMOrderListTmp.size()>0){
+				fabricOMOrderList1.addAll(fabricOMOrderListTmp);
+			}
+			// 委外订单国内
 			for (FabricOMOrder fabricOMOrder : fabricOMOrderList1){
 				double dLoss = 0;
 				if (fabricOMOrder.getIQuantityOut()!=0) {
@@ -266,6 +285,25 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
 			//获取委外订单发票金额
 			List<FabricCostInvoice> fabricCostInvoiceList2 = fabricLossMapper.getOmInvoiceMoneyList(code);
 			fabricCostInvoiceList.addAll(fabricCostInvoiceList2);
+			// 织、染、印排序
+			List<FabricCostInvoice> fabricCostInvoiceListOrder = new ArrayList<>();
+			List<FabricCostInvoice> fabricCostInvoiceListTmp = fabricCostInvoiceList.stream().filter(e->e.getCVCName().indexOf("织")==0).collect(Collectors.toList());
+			if (fabricCostInvoiceListTmp.size()>0){
+				fabricCostInvoiceListOrder.addAll(fabricCostInvoiceListTmp);
+			}
+			fabricCostInvoiceListTmp = fabricCostInvoiceList.stream().filter(e->e.getCVCName().indexOf("染")==0).collect(Collectors.toList());
+			if (fabricCostInvoiceListTmp.size()>0){
+				fabricCostInvoiceListOrder.addAll(fabricCostInvoiceListTmp);
+			}
+			fabricCostInvoiceListTmp = fabricCostInvoiceList.stream().filter(e->e.getCVCName().indexOf("印")==0).collect(Collectors.toList());
+			if (fabricCostInvoiceListTmp.size()>0){
+				fabricCostInvoiceListOrder.addAll(fabricCostInvoiceListTmp);
+			}
+			fabricCostInvoiceListTmp = fabricCostInvoiceList.stream().filter(e->e.getCVCName().indexOf("织")!=0&&e.getCVCName().indexOf("染")!=0&&e.getCVCName().indexOf("印")!=0).collect(Collectors.toList());
+			if (fabricOMOrderListTmp.size()>0){
+				fabricCostInvoiceListOrder.addAll(fabricCostInvoiceListTmp);
+			}
+			fabricCostInvoiceList = fabricCostInvoiceListOrder;
 			// 转入成本
 			Double d = oConvertUtils.getDouble(fabricLossMapper.getOmOtherToCurMoney(code), 0);
 			FabricCostInvoice fabricCostInvoice = new FabricCostInvoice();