|
@@ -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++;
|