فهرست منبع

供应商大屏接口bug修复,出运明细超发数量bug修复

huxy 2 سال پیش
والد
کامیت
9e4b9b8a56

+ 5 - 7
jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/mapper/xml/SupplierCapacityMapper.xml

@@ -313,13 +313,12 @@
 
     <select id="statement1" resultType="org.jeecg.modules.scas.entity.vo.SupplierCapacity5" parameterType="java.lang.String">
         select *,
-        (quotaCapacity-coefficient) spareCapacity,
-        IIF((quotaCapacity-coefficient)&lt;0,0,(quotaCapacity-coefficient)) productionCapacity
+        IIF((quotaCapacity-productionCapacity)&lt;0,0,(quotaCapacity-productionCapacity)) spareCapacity
         from
         (select
         darrivedate yearMonth,
         cvencode,
-        cast(sum(coefficient  *iquantity)/60 as decimal(20,2)) coefficient
+        cast(sum(coefficient  *iquantity)/60 as decimal(20,2)) productionCapacity
         from Supplier_Capacity_Test
         where dArriveYear = #{year}
         AND dArriveMonth =  #{month}
@@ -348,14 +347,13 @@
     </select>
 
     <select id="statement3" resultType="org.jeecg.modules.scas.entity.vo.SupplierCapacity5" parameterType="java.lang.String">
-        select *,
-        (quotaCapacity-coefficient) spareCapacity,
-        IIF((quotaCapacity-coefficient)&lt;0,0,(quotaCapacity-coefficient)) productionCapacity
+       select *,
+        IIF((quotaCapacity-productionCapacity)&lt;0,0,(quotaCapacity-productionCapacity)) spareCapacity
         from
         (select
         darrivedate yearMonth,
         cvencode,
-        cast(sum(coefficient  *iquantity)/60 as decimal(20,2)) coefficient
+        cast(sum(coefficient  *iquantity)/60 as decimal(20,2)) productionCapacity
         from Supplier_Capacity_Test
         where dArriveYear = #{year}
         AND dArriveMonth =  #{month}

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

@@ -177,7 +177,9 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		syPackingListFabricMapper.insert(syPackingListFabric);
 		Map<String,String> mapId=new HashMap<String, String>();//key为发运明细子表id,value为分组id
 		BigDecimal total=new BigDecimal("0");//合计数量,初始为0
+		List<String> itemIds=new ArrayList<>();
 		for(SyPackingListFabricItem entity:syPackingListFabric.getSyPackingListFabricItem()) {
+			itemIds.add(entity.getSyShippingDetailsItemId());
 			//entity.setRemainingQuantity(entity.getInventoryQuantity());//入库数量
 			total=total.add(entity.getInventoryQuantity());//循环添加每条数据的入库数量
 			String key=entity.getSyShippingDetailsItemId();//获取发运明细子表id
@@ -217,11 +219,11 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			if(entity.getMasterMetering()==null){
 				throw new JeecgBootException("未获取到销售订单的单位");
 			}
-			if(entity.getMasterMetering().equals("KG")){
-				updateQuantity(entity.getNetWeight(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering());
-			}else{
-				updateQuantity(entity.getActualDeclaredQuantity(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering());
-			}
+//			if(entity.getMasterMetering().equals("KG")){
+//				updateQuantity(entity.getNetWeight(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering());
+//			}else{
+//				updateQuantity(entity.getActualDeclaredQuantity(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering());
+//			}
 
 
 
@@ -248,6 +250,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		syPackingListFabric.setQuantity(total);//给数量附上初始值
 		syPackingListFabric.setRemainingQuantity(total);//给剩余数量附上初始值
 		syPackingListFabricMapper.updateById(syPackingListFabric);//重新修改数据
+		updateQuantitys(null,itemIds);
 		return syPackingListFabric;
 	}
 
@@ -258,42 +261,42 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	 * @param master 单位
 	 * @return
 	 */
-	@Transactional
-	public void  updateQuantity(BigDecimal quantity,String syShippingDetailsItemId,String master){
-		QueryWrapper queryWrapper=new QueryWrapper();
-		queryWrapper.eq("sy_shipping_details_item_id", syShippingDetailsItemId);//出运明细id
-		queryWrapper.eq("del_flag", "0");//未删除
-		if(master.equals("KG")){
-			queryWrapper.select("sum(net_Weight) as actualDeclaredQuantity");//获取净重合计
-		}else{
-			queryWrapper.select("sum(actual_Declared_Quantity) as actualDeclaredQuantity");//获取实际报关数量合计
-		}
-		BigDecimal actualDeclaredQuantity=new BigDecimal("0");
-		if(syPackingListFabricItemMapper.selectOne(queryWrapper)!=null){
-			actualDeclaredQuantity=syPackingListFabricItemMapper.selectOne(queryWrapper).getActualDeclaredQuantity();
-		}
-		actualDeclaredQuantity=actualDeclaredQuantity.add(quantity);
-		SyShippingDetailsItem item=syShippingDetailsItemMapper.selectById(syShippingDetailsItemId);
-
-		BigDecimal shipmentQuantity=item.getShipmentQuantity();//获取发货数量
-
-		BigDecimal remainingQuantity=shipmentQuantity.subtract(actualDeclaredQuantity);//剩余数量
-		BigDecimal excessQuantity=new BigDecimal("0");//超发数量
-
-		if(actualDeclaredQuantity.doubleValue()>shipmentQuantity.doubleValue()){
-			excessQuantity=actualDeclaredQuantity.subtract(shipmentQuantity);//
-		}
-
-		item.setPackSurplus(remainingQuantity);//出运明细剩余数量
-		item.setExcessQuantity(excessQuantity);//出运明细超发数量
-		syShippingDetailsItemMapper.updateById(item);
-
-		UpdateWrapper updateWrapper=new UpdateWrapper();
-		updateWrapper.set("remaining_Quantity",remainingQuantity);
-		updateWrapper.set("excess_Quantity",excessQuantity);
-		updateWrapper.eq("sy_shipping_details_item_id",syShippingDetailsItemId);
-		syPackingListFabricItemMapper.update(null,updateWrapper);
-	}
+//	@Transactional
+//	public void  updateQuantity(BigDecimal quantity,String syShippingDetailsItemId,String master){
+//		QueryWrapper queryWrapper=new QueryWrapper();
+//		queryWrapper.eq("sy_shipping_details_item_id", syShippingDetailsItemId);//出运明细id
+//		queryWrapper.eq("del_flag", "0");//未删除
+//		if(master.equals("KG")){
+//			queryWrapper.select("sum(net_Weight) as actualDeclaredQuantity");//获取净重合计
+//		}else{
+//			queryWrapper.select("sum(actual_Declared_Quantity) as actualDeclaredQuantity");//获取实际报关数量合计
+//		}
+//		BigDecimal actualDeclaredQuantity=new BigDecimal("0");
+//		if(syPackingListFabricItemMapper.selectOne(queryWrapper)!=null){
+//			actualDeclaredQuantity=syPackingListFabricItemMapper.selectOne(queryWrapper).getActualDeclaredQuantity();
+//		}
+//		actualDeclaredQuantity=actualDeclaredQuantity.add(quantity);
+//		SyShippingDetailsItem item=syShippingDetailsItemMapper.selectById(syShippingDetailsItemId);
+//
+//		BigDecimal shipmentQuantity=item.getShipmentQuantity();//获取发货数量
+//
+//		BigDecimal remainingQuantity=shipmentQuantity.subtract(actualDeclaredQuantity);//剩余数量
+//		BigDecimal excessQuantity=new BigDecimal("0");//超发数量
+//
+//		if(actualDeclaredQuantity.doubleValue()>shipmentQuantity.doubleValue()){
+//			excessQuantity=actualDeclaredQuantity.subtract(shipmentQuantity);//
+//		}
+//
+//		item.setPackSurplus(remainingQuantity);//出运明细剩余数量
+//		item.setExcessQuantity(excessQuantity);//出运明细超发数量
+//		syShippingDetailsItemMapper.updateById(item);
+//
+//		UpdateWrapper updateWrapper=new UpdateWrapper();
+//		updateWrapper.set("remaining_Quantity",remainingQuantity);
+//		updateWrapper.set("excess_Quantity",excessQuantity);
+//		updateWrapper.eq("sy_shipping_details_item_id",syShippingDetailsItemId);
+//		syPackingListFabricItemMapper.update(null,updateWrapper);
+//	}
 
 	/**
 	 *
@@ -480,15 +483,18 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		QueryWrapper queryWrapper=new QueryWrapper();
 		queryWrapper.eq("sy_packing_list_fabric_id",id);
 		List<SyPackingListFabricItem> syPackingListFabricItems=syPackingListFabricItemMapper.selectList(queryWrapper);
+		List<String> itemIds=new ArrayList<>();
 		for(SyPackingListFabricItem item : syPackingListFabricItems){
-			if(item.getMasterMetering().equals("KG")){
-				updateQuantity(item.getNetWeight().negate(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
-			}else{
-				updateQuantity(item.getActualDeclaredQuantity().negate(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
-			}
+//			if(item.getMasterMetering().equals("KG")){
+//				updateQuantity(item.getNetWeight().negate(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
+//			}else{
+//				updateQuantity(item.getActualDeclaredQuantity().negate(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
+//			}
+			itemIds.add(item.getSyShippingDetailsItemId());
 		}
 		syPackingListFabricItemMapper.deleteByMainId(id);
 		syPackingListFabricMapper.deleteByMainId(id);
+		updateQuantitys(null,itemIds);
 	}
 
 	/**
@@ -532,11 +538,11 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				}
 			}
 		}
+		syPackingListFabricItemMapper.deleteByMainIds(ids);
+		syPackingListFabricMapper.deleteByMainIds(ids);
 		if(idItems.size()>0){
 			updateQuantitys(maps,idItems);
 		}
-		syPackingListFabricItemMapper.deleteByMainIds(ids);
-		syPackingListFabricMapper.deleteByMainIds(ids);
 	}
 
 	/**
@@ -765,6 +771,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	@Override
 	@Transactional
 	public void saveList(List<SyPackingListFabric> syPackingListTailorings) {
+		List<String> itemIds=new ArrayList<>();
 		for (SyPackingListFabric syPackingListFabric : syPackingListTailorings){
 			syPackingListFabric.setId(null);
 			SimpleDateFormat sf = new SimpleDateFormat("yyMMddHHmmssSSS");
@@ -851,11 +858,12 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 						item.setOrderRemainingQuantity(item.getOrderRemainingQuantity().subtract(s1.getActualDeclaredQuantity()));*/
 						throw new JeecgBootException("实际报关数量不能为null");
 					}
-					if(s1.getMasterMetering().equals("KG")){
-						updateQuantity(s1.getNetWeight(),s1.getSyShippingDetailsItemId(),s1.getMasterMetering());
-					}else{
-						updateQuantity(s1.getActualDeclaredQuantity(),s1.getSyShippingDetailsItemId(),s1.getMasterMetering());
-					}
+//					if(s1.getMasterMetering().equals("KG")){
+//						updateQuantity(s1.getNetWeight(),s1.getSyShippingDetailsItemId(),s1.getMasterMetering());
+//					}else{
+//						updateQuantity(s1.getActualDeclaredQuantity(),s1.getSyShippingDetailsItemId(),s1.getMasterMetering());
+//					}
+					itemIds.add(s1.getSyShippingDetailsItemId());
 					item.setIsReference(2);
 					syShippingDetailsItemMapper.updateById(item);
 				}else{
@@ -871,6 +879,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				}
 			}
 		}
+		updateQuantitys(null,itemIds);
 	}
 
 	/**
@@ -883,6 +892,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	public boolean excelAdd(Map<String,SyPackingListFabric> maps,String token) {
 		boolean bool=false;
 		try{
+			List<String> itemIds=new ArrayList<>();
 			List<String> documentNos=getDateNos(maps.size());
 			int num=0;
 			for (String str : maps.keySet()){
@@ -991,15 +1001,17 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 						syShippingDetailsItem.setIsReference(2);//回写
 						syShippingDetailsItemMapper.updateById(syShippingDetailsItem);
 					}
-					if(item.getMasterMetering().equals("KG")){
-						updateQuantity(item.getNetWeight(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
-					}else{
-						updateQuantity(item.getActualDeclaredQuantity(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
-					}
+//					if(item.getMasterMetering().equals("KG")){
+//						updateQuantity(item.getNetWeight(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
+//					}else{
+//						updateQuantity(item.getActualDeclaredQuantity(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
+//					}
+					itemIds.add(item.getSyShippingDetailsItemId());
 					syPackingListFabricItemMapper.insert(item);
 				}
 				syPackingListFabricMapper.updateById(syPackingListFabric);
 			}
+			updateQuantitys(null,itemIds);
 			bool=true;
 		}catch (Exception e){
 			e.printStackTrace();
@@ -2396,11 +2408,11 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 							/*if(sy1.getActualDeclaredQuantity()!=null){
 								updateQuantity(sy1.getActualDeclaredQuantity(),sy1.getSyShippingDetailsItemId(),sy1.getMasterMetering());
 							}*/
-							if(sy1.getMasterMetering().equals("KG")&&sy1.getNetWeight()!=null){
-								updateQuantity(sy1.getNetWeight(),sy1.getSyShippingDetailsItemId(),sy1.getMasterMetering());
-							}else if(sy1.getActualDeclaredQuantity()!=null){
-								updateQuantity(sy1.getActualDeclaredQuantity(),sy1.getSyShippingDetailsItemId(),sy1.getMasterMetering());
-							}
+//							if(sy1.getMasterMetering().equals("KG")&&sy1.getNetWeight()!=null){
+//								updateQuantity(sy1.getNetWeight(),sy1.getSyShippingDetailsItemId(),sy1.getMasterMetering());
+//							}else if(!sy1.getMasterMetering().equals("KG")&&sy1.getActualDeclaredQuantity()!=null){
+//								updateQuantity(sy1.getActualDeclaredQuantity(),sy1.getSyShippingDetailsItemId(),sy1.getMasterMetering());
+//							}
 							items.add(sy1);
 							/*syShippingDetailsItem.setIsPull("2");//拉取成功
 							syShippingDetailsItem.setIsReference(2);//回写
@@ -2415,16 +2427,19 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					}
 					if(items.size()>0){
 						sy.setSyPackingListFabricItem(items);
+						List<String> itemIds=new ArrayList<>();
 						for (SyPackingListFabricItem item : sy.getSyPackingListFabricItem()){
 							SyPackingListFabricItem item1=syPackingListFabricItemMapper.selectById(item.getId());
 							if(item1==null){
 								syPackingListFabricItemMapper.insert(item);//插入新数据
 							}
+							itemIds.add(item.getSyShippingDetailsItemId());
 						}
 						SyPackingListFabric syPackingListFabric=syPackingListFabricMapper.selectById(sy.getId());
 						if(syPackingListFabric==null){
 							syPackingListFabricMapper.insert(sy);//添加数据
 						}
+						updateQuantitys(null,itemIds);
 						num++;
 					}else{
 						num1++;