瀏覽代碼

装箱单删除bug修复

huxy 2 年之前
父節點
當前提交
0e226d4fdb

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

@@ -407,66 +407,29 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		syPackingListFabricMapper.updateById(syPackingListFabric);
 
 		//1.先删除子表数据
-		//syPackingListFabricItemMapper.deleteByMainId(syPackingListFabric.getId());
-		List<SyPackingListFabricItem> items=syPackingListFabricItemMapper.selectByMainId(syPackingListFabric.getId());
+		syPackingListFabricItemMapper.deleteByMainId(syPackingListFabric.getId());
 		List<SyPackingListFabricItem> items2=new ArrayList<>();
-		Map<String,SyPackingListFabricItem> maps=new HashMap<>();
-		for (SyPackingListFabricItem item : items){
-			maps.put(item.getId(),item);
-		}
+//		List<SyPackingListFabricItem> items=syPackingListFabricItemMapper.selectByMainId(syPackingListFabric.getId());
+//		Map<String,SyPackingListFabricItem> maps=new HashMap<>();
+//		for (SyPackingListFabricItem item : items){
+//			maps.put(item.getId(),item);
+//		}
 		//2.子表数据重新插入
 		int i=0;
 		List<String> shippingItemIds=new ArrayList<>();
 		for(SyPackingListFabricItem entity : syPackingListFabricItemList) {
 			shippingItemIds.add(entity.getSyShippingDetailsItemId());//获取出运明细子表id
-			if(maps.containsKey(entity.getId())){
-				//entity.setDelFlag("0");
-				//外键设置
-				//entity.setSyPackingListFabricId(syPackingListFabric.getId());
-				SyPackingListFabricItem entity1=maps.get(entity.getId());
-				entity1.setExcessQuantity(null);
-				entity1.setRemainingQuantity(null);
-				entity.setInventoryQuantity(entity.getActualDeclaredQuantity());//入库数量=实际报关数量
-				if(entity.getIsAdd()>0){//大于1就是新增数据
-					entity.setId(null);
-					syPackingListFabricItemMapper.insert(entity);
-//					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());
-//					}
-				}else{
-//					if(entity.getMasterMetering().equals("KG")){//根据净重
-//						/*QueryWrapper queryWrapper=new QueryWrapper();
-//						queryWrapper.eq("id", entity.getId());//子表id
-//						queryWrapper.select("net_Weight as netWeight");//获取实际报关数量合计*/
-//						BigDecimal netWeight=new BigDecimal("0");
-//						if(entity.getNetWeight()!=null){
-//							netWeight=entity.getNetWeight();
-//						}
-//						netWeight=netWeight.subtract(entity1.getNetWeight());
-//						//syPackingListFabricItemMapper.updateById(entity1);
-//						if(netWeight.doubleValue()!=0){
-//							updateQuantity(netWeight.negate(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering());
-//						}
-//					}else{//根据实际报关数量
-//						BigDecimal actualDeclaredQuantity=new BigDecimal("0");
-//						if(entity.getActualDeclaredQuantity()!=null){
-//							actualDeclaredQuantity=entity.getActualDeclaredQuantity();
-//						}
-//						actualDeclaredQuantity=actualDeclaredQuantity.subtract(entity1.getActualDeclaredQuantity());
-//						//syPackingListFabricItemMapper.updateById(entity1);
-//						if(actualDeclaredQuantity.doubleValue()!=0){
-//							updateQuantity(actualDeclaredQuantity.negate(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering());
-//						}
-//					}
-					items2.add(entity);//获取所有子表
-				}
+			//entity.setDelFlag("0");
+			//外键设置
+			//entity.setSyPackingListFabricId(syPackingListFabric.getId());
+			entity.setExcessQuantity(null);
+			entity.setRemainingQuantity(null);
+			entity.setInventoryQuantity(entity.getActualDeclaredQuantity());//入库数量=实际报关数量
+			if(entity.getIsAdd()>0){//大于1就是新增数据
+				entity.setId(null);
+				syPackingListFabricItemMapper.insert(entity);
 			}else{
-				syPackingListFabricItemMapper.deleteById(entity.getId());
+				items2.add(entity);//获取所有子表
 			}
 		}
 		syPackingListFabricItemService.updateBatchById(items2);

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

@@ -71,65 +71,64 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 	private SyShippingOrderItemMapper syShippingOrderItemMapper;//托书主表
 
 	void update(List<SyPackingListTailoringItem> items,String pid){
-		//List<SyPackingListTailoringItem> items3=new ArrayList<>();
+		long start= System.currentTimeMillis();
 		List<SyPackingListTailoringItem> items2=syPackingListTailoringItemMapper.selectByMainId(pid);//获取主表所有数据
+		List<SyPackingListTailoringItem> items3=new ArrayList<>();
 		Map<String,SyPackingListTailoringItem> maps=new HashMap<>();
+		Map<String,String> mapBools=new HashMap<>();
 		for (SyPackingListTailoringItem item : items2){
 			maps.put(item.getGroupId(),item);//
+			mapBools.put(item.getGroupId(),"1");
 		}
-		System.out.println("maps\t"+maps);
 		for (SyPackingListTailoringItem item2 : items){
-			System.out.println("groupid1\t"+item2.getGroupId());
-			if(maps.containsKey(item2.getGroupId())){//有这个分组id
-				SyPackingListTailoringItem item=item2;
-				List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息
-				BigDecimal boxNumber1=item.getBoxNumber();//获取箱数
-				//box=box.add(boxNumber1);//合计
-				item.setGroupId(oConvertUtils.id());
-				item.setDelFlag("0");//删除
-				for (SizeTable size : sizes){
-					if(size.getProportion()==null){
-						size.setProportion(0);
-					}
-					SyPackingListTailoringItem item1=item;
-					item1.setSize(size.getSize());//获取尺码信息
-					BigDecimal boxNumber=boxNumber1.multiply(new BigDecimal(size.getProportion()));//获取该尺码件数
-					item1.setTotal(boxNumber);//该尺码件数
-
-					item1.setActualPackingQty(boxNumber);
-					item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价		箱数*单价-->件数*单价
-
-					//item.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id
-					item1.setId(size.getItemId());//从尺码表中获取到id
-					// 获取到预装箱单子表id
-					//SyPackingListTailoringItem splt=syPackingListTailoringItemMapper.selectById(item1.getId());
-					if(size.getProportion()==0){
-						item1.setTotal(null);//该尺码件数
-					}
-					if(item.getIsAdd()>0){
-						SyPackingListTailoringItem splt=syPackingListTailoringItemMapper.selectById(item1.getId());
-						//获取预装箱单子表id
-						item1.setSyPreAssembledPackingListItemId(splt.getSyPreAssembledPackingListItemId());
-						item1.setSyPackingListTailoringId(pid);
-						item1.setId(oConvertUtils.id());//获取到随机id
-						//SyPreAssembledPackingListItem syPreAssembledPackingListItem=syPreAssembledPackingListItemMapper.selectById(item1.getSyPreAssembledPackingListItemId());
-						item1.setOmpoIdItem(item1.getOmpoIdItem());
-						syPackingListTailoringItemMapper.insert(item1);
-						continue;
-					}else{
-						item1.setOmpoIdItem(null);//赋值
-						syPackingListTailoringItemMapper.updateById(item1);
-						SyPackingListTailoringItem item3=maps.get(item2.getGroupId());
-						//BeanUtils.copyProperties(item1,item3);
-						//items3.add(item3);
-					}
-					//	typeConversion(item1);//调用方法同步修改托书数据
+			mapBools.put(item2.getGroupId(),"2");//覆盖掉
+			SyPackingListTailoringItem item=item2;
+			List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息
+			BigDecimal boxNumber1=item.getBoxNumber();//获取箱数
+			//box=box.add(boxNumber1);//合计
+			item.setGroupId(oConvertUtils.id());
+			item.setDelFlag("0");//删除
+			for (SizeTable size : sizes){
+				if(size.getProportion()==null){
+					size.setProportion(0);
 				}
-			}else{
-				syPackingListTailoringItemMapper.deleteByGroupId(item2.getGroupId());
+				SyPackingListTailoringItem item1=item;
+				item1.setSize(size.getSize());//获取尺码信息
+				BigDecimal boxNumber=boxNumber1.multiply(new BigDecimal(size.getProportion()));//获取该尺码件数
+				item1.setTotal(boxNumber);//该尺码件数
+				item1.setActualPackingQty(boxNumber);
+				item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价		箱数*单价-->件数*单价
+				item1.setId(size.getItemId());//从尺码表中获取到id
+				if(size.getProportion()==0){
+					item1.setTotal(null);//该尺码件数
+				}
+				if(item.getIsAdd()>0){
+					SyPackingListTailoringItem splt=syPackingListTailoringItemMapper.selectById(item1.getId());
+					//获取预装箱单子表id
+					item1.setSyPreAssembledPackingListItemId(splt.getSyPreAssembledPackingListItemId());
+					item1.setSyPackingListTailoringId(pid);
+					item1.setId(oConvertUtils.id());//获取到随机id
+					//SyPreAssembledPackingListItem syPreAssembledPackingListItem=syPreAssembledPackingListItemMapper.selectById(item1.getSyPreAssembledPackingListItemId());
+					item1.setOmpoIdItem(item1.getOmpoIdItem());
+					syPackingListTailoringItemMapper.insert(item1);
+					continue;
+				}else{
+					item1.setOmpoIdItem(null);//赋值
+					//syPackingListTailoringItemMapper.updateById(item1);
+					SyPackingListTailoringItem item3=new SyPackingListTailoringItem();
+					BeanUtils.copyProperties(item1,item3);
+					items3.add(item3);
+				}
+			}
+		}
+		for (String key : mapBools.keySet()){
+			if (mapBools.get(key).equals("1")){
+				syPackingListTailoringItemMapper.deleteByGroupId(key);
 			}
 		}
-		//syPackingListTailoringItemService.updateBatchById(items3);
+		syPackingListTailoringItemService.updateBatchById(items3);
+		long end= System.currentTimeMillis();
+		System.out.println("修改所耗时间\t"+(end-start)+"ms");
 	}
 
 	//获取流水号
@@ -508,7 +507,6 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			//syPackingListTailoringMapper.updateById(syPackingListTailoring);
 		}
 		long endTime3 = System.currentTimeMillis();
-		System.out.println("查数据时间运行:" + (endTime3 - startTime) + "ms");
 		return syPackingListTailoring;
 	}
 
@@ -597,7 +595,6 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 	 */
 	@Override
 	public SyPackingListTailoring queryId(String id) {
-		long start= System.currentTimeMillis();
 		SyPackingListTailoring syPackingListTailoring=syPackingListTailoringMapper.getMainId(id);
 		List<SyPackingListTailoringItem> items=syPackingListTailoringItemMapper.queryId(id);
 		List<SizeTable> size=syPackingListTailoringItemMapper.sizes(syPackingListTailoring.getId());
@@ -618,8 +615,6 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			item.setSizeTables(mapItems.get(item.getGroupId()));
 		}
 		syPackingListTailoring.setSyPackingListTailoringItemList(items);
-		long end= System.currentTimeMillis();
-		System.out.println("查询所耗时间\t"+(end-start)+"ms");
 		return syPackingListTailoring;
 	}