Jelajahi Sumber

材料出库单和印厂入库单调整

huxy 2 tahun lalu
induk
melakukan
ad69c33e07

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

@@ -1675,8 +1675,22 @@ public class SyPackingListFabricController implements Job {
 	 @ApiOperation(value="获取数据", notes="获取数据")
 	 @GetMapping(value = "/getMessage2")
 	 public List<String> getMessage(int max) {
-	 	List<String> codes=syPackingListTailoringService.getRedisSno(max);
-	 	return codes;
+		 long startTime = System.currentTimeMillis();
+		 QueryWrapper queryWrapper=new QueryWrapper();
+		 queryWrapper.eq("del_flag","0");
+	 	 List<SyPackingListFabricItem> fabricItems=syPackingListFabricItemService.list(queryWrapper);
+	 	 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());
+	 	 ids=ids.stream().distinct() .collect(Collectors.toList());
+		 System.out.println("ids.size\t"+ids.size());
+		 syPackingListFabricService.updateQuantitys(null,ids);
+		 long endTime = System.currentTimeMillis();
+		 System.out.println("查询子表后程序运行时间:" + (endTime - startTime) + "ms");
+	 	 return ids;
 	 }
 
  }

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/ISyPackingListFabricService.java

@@ -92,4 +92,6 @@ public interface ISyPackingListFabricService extends IService<SyPackingListFabri
 	//String pushInvoice(List<SyPackingListFabricItem> listFabricItems,List<SyPackingListFabric> listFabrics);
 
 	List<SyPackingListFabric> queryByList(String id);
+
+	public void  updateQuantitys(Map<String,SyPackingListFabricItem> mapItems,List<String> ids);
 }

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

@@ -304,6 +304,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	 * @param ids 出运明细子表id集合
 	 */
 	@Transactional
+	@Override
 	public void  updateQuantitys(Map<String,SyPackingListFabricItem> mapItems,List<String> ids){
 		QueryWrapper queryWrapper=new QueryWrapper();
 		//queryWrapper.eq("del_flag",0);
@@ -326,6 +327,9 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		}
 		for (SyShippingDetailsItem item : mapItems2.values()){
 			SyPackingListFabricItem item2=mapItems3.get(item.getId());
+			if (item2==null){
+				continue;
+			}
 			BigDecimal shipmentQuantity=item.getShipmentQuantity();//获取发货数量
 			BigDecimal actualDeclaredQuantity=item2.getActualDeclaredQuantity();//现在数量
 			if(item2.getMasterMetering()!=null&&item2.getMasterMetering().equals("KG")){
@@ -492,9 +496,9 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 //			}
 			itemIds.add(item.getSyShippingDetailsItemId());
 		}
+		updateQuantitys(null,itemIds);
 		syPackingListFabricItemMapper.deleteByMainId(id);
 		syPackingListFabricMapper.deleteByMainId(id);
-		updateQuantitys(null,itemIds);
 	}
 
 	/**
@@ -538,11 +542,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);
 	}
 
 	/**
@@ -1483,6 +1487,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					mapItem.put("IPRICE",1);//价格不赋值
 					//map5.put("CGLTYPE","委外订单");
 					if(item.getInventoryCcode()!=null&&item.getInventoryCcode().indexOf("040")>-1&&mapt.get("account").equals("103")
+							&&item.getAfterHeavy()!=null&&item.getAfterHeavy().doubleValue()>0
 							/*&&!moDetailsIds.contains(item.getOmpoIdItem())*/){//103账套中物料分类为040的印花面料
 						List<Map<String,Object>> orderDataItem3 =syPackingListFabricMapper.getOM_MOMaterials(item.getOmpoIdItem(),item.getInventoryCode());//委外订单子表
 						moDetailsIds.add(item.getOmpoIdItem());//同一个id只会进来一次