Browse Source

面料损耗更新

fenghaifu 2 years ago
parent
commit
4770fbe5b7

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

@@ -45,4 +45,8 @@ public class FabricCostInvoice {
 	//业务类型(采购/委外)
 	@ApiModelProperty(value = "业务类型(采购/委外)")
 	private  String cBusType;
+
+	// 批号
+	@ApiModelProperty(value = "批号")
+	private  String cBatch;
 }

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

@@ -35,13 +35,8 @@
 	</select>
 	<!-- 销售出库数量 -->
 	<select id="getSaleOutSum" resultType="java.lang.String">
-		select sum(isnull(iQuantity,0)) as 'iQuantity' from VIEW_FabricLoss_Head_Clothes_SaleOut_Sum where csocode in (
-			select cSoOrdercode from VIEW_OM_MOMain_ALL_Clothes where ccode like CONCAT(#{code},'%')
-		) and cinvcode in (
-			select cinvcode from VIEW_OM_MOMain_ALL_Clothes where ccode like CONCAT(#{code},'%')
-		) and cfree1 in (
-			select cfree1 from VIEW_OM_MOMain_ALL_Clothes where ccode like CONCAT(#{code},'%')
-		)
+		select isnull(iQuantity,0) as 'iQuantity' from VIEW_FabricLoss_Head_Clothes_SaleOut_Sum where
+		cCode like CONCAT(#{code},'%')
 	</select>
 	<select id="getPrice" resultType="java.lang.String">
 		select isnull(sum(a.count)/sum(b.iquantity),0) as 'price' from (
@@ -412,7 +407,8 @@
 	</select>
 	<!--获取采购入库价格列表-->
 	<select id="getPurchuseInPriceList" resultType="org.jeecg.modules.report.entity.FabricCostInvoice">
-		select distinct '普通采购' as cBusType,e.cVCName,d.cVenName ,d.cVenAbbName,c.iUnitCost ,c.cInvCode,c.cFree1 as cColor
+		select distinct '普通采购' as cBusType,e.cVCName,d.cVenName ,d.cVenAbbName,c.cInvCode,isnull(c.cFree1,'') as cColor,
+			isnull(c.cBatch,'') as cBatch
 		from PO_Pomain a
 		inner join PO_Podetails b on  a.poid=b.poid
 		inner join Vendor  d on a.cVenCode=d.cVenCode

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

@@ -144,8 +144,10 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
 				Optional<FabricPoOrder> findItemOpt = fabricPoOrderList.stream().filter(e->e.getCInvName().equals(cInvName)).findFirst();
 				if (findItemOpt.isPresent()){
 					FabricPoOrder findItem = findItemOpt.get();
-					findItem.setIQuantityIn(findItem.getIQuantityIn()+fabricPoOrder.getIQuantityIn());
-					findItem.setIQuantity(findItem.getIQuantity()+fabricPoOrder.getIQuantity());
+					BigDecimal bNum = new BigDecimal(findItem.getIQuantityIn()+fabricPoOrder.getIQuantityIn());
+					findItem.setIQuantityIn(bNum.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue());
+					bNum = new BigDecimal(findItem.getIQuantity()+fabricPoOrder.getIQuantity());
+					findItem.setIQuantity(bNum.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue());
 					findItem.setCPOID(findItem.getCPOID()+","+fabricPoOrder.getCPOID());
 					if (findItem.getCVenAbbName().indexOf(fabricPoOrder.getCVenAbbName()) == -1){
 						findItem.setCVenAbbName(findItem.getCVenAbbName()+","+fabricPoOrder.getCVenAbbName());
@@ -250,7 +252,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
 					if (index2 == -1) {
 						index2 = cCode.length();
 					}
-					item.setCPlanCode(cCode.substring(index1,index2-1));
+					item.setCPlanCode(cCode.substring(index1,index2));
 					if (tmpFabricPoOrderInList.size()>0){
 						item.setIPrice(tmpFabricPoOrderInList.get(0).getIPrice());
 						item.setIMoney(item.getIPrice()*item.getIQuantity());
@@ -394,7 +396,6 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
 					newItem.setCVCName(fabricCostInvoice.getCVCName());
 					newItem.setCVenName(fabricCostInvoice.getCVenName());
 					newItem.setCVenAbbName(fabricCostInvoice.getCVenAbbName());
-					newItem.setIUnitCost(fabricCostInvoice.getIUnitCost());
 					fabricCostInvoiceList.add(newItem);
 				}
 
@@ -404,7 +405,8 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
 					if (ckList != null) {
 						List<FabricMoOrderCK> findList1 = ckList.stream().filter(e->
 								e.getCInvCodeOut().equals(fabricCostInvoice.getCInvCode()) &&
-										e.getCColorOut().equals(fabricCostInvoice.getCColor())).collect(Collectors.toList());
+										e.getCColorOut().equals(fabricCostInvoice.getCColor()) &&
+								e.getCBatchOut().equals(fabricCostInvoice.getCBatch())).collect(Collectors.toList());
 
 						for (FabricMoOrderCK ckItem : findList1) {
 							money+=ckItem.getIMoney();
@@ -1125,14 +1127,18 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
 		List<String> invIdGwList = new ArrayList<>();// 国外入库物料编码
 		for (FabricOMOrder omOrder : omOrderListGn){
 			List<FabricMoOrderRK> omRkList = omOrder.getFabricMoOrderRKList();
-			for (FabricMoOrderRK rkItem : omRkList){
-				invIdGnList.add(omOrder.getCInvCode()+omOrder.getCColor()+rkItem.getCBatch());
+			if (oConvertUtils.listIsNotEmpty(omRkList)) {
+				for (FabricMoOrderRK rkItem : omRkList) {
+					invIdGnList.add(omOrder.getCInvCode() + omOrder.getCColor() + rkItem.getCBatch());
+				}
 			}
 		}
 		for (FabricOMOrder omOrder : omOrderListGw){
 			List<FabricMoOrderRK> omRkList = omOrder.getFabricMoOrderRKList();
-			for (FabricMoOrderRK rkItem : omRkList){
-				invIdGwList.add(omOrder.getCInvCode()+omOrder.getCColor()+rkItem.getCBatch());
+			if (oConvertUtils.listIsNotEmpty(omRkList)) {
+				for (FabricMoOrderRK rkItem : omRkList) {
+					invIdGwList.add(omOrder.getCInvCode() + omOrder.getCColor() + rkItem.getCBatch());
+				}
 			}
 		}
 		List<FabricPoOrderOut> invOutGnList = new ArrayList<>();