|
@@ -748,19 +748,14 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
List<String> ids=new ArrayList<>();
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
for (SyPreAssembledPackingList item : items1){
|
|
|
- List<SyPreAssembledPackingListItem> listItems2=item.getSyPreAssembledPackingListItemList();
|
|
|
- for (SyPreAssembledPackingListItem listItem : listItems2){
|
|
|
- for (SizeTable sizeTable : listItem.getSizeTables()){
|
|
|
- ids.add(sizeTable.getItemId());
|
|
|
- }
|
|
|
- }
|
|
|
+ ids.add(item.getSyDeclarationElementsId());
|
|
|
}
|
|
|
QueryWrapper queryWrapper=new QueryWrapper();
|
|
|
- queryWrapper.in("id",ids);
|
|
|
+ queryWrapper.in("shipping_Details_Id",ids);
|
|
|
List<SyShippingDetailsItem> syItems=syShippingDetailsItemMapper.selectList(queryWrapper);
|
|
|
Map<String,SyShippingDetailsItem> mapItems=new HashMap<>();
|
|
|
for (SyShippingDetailsItem item : syItems){
|
|
|
- mapItems.put(item.getId(),item);
|
|
|
+ mapItems.put(item.getGroupId()+item.getSize(),item);
|
|
|
}
|
|
|
long endTime2 = System.currentTimeMillis();
|
|
|
System.out.println("批量查询时间:" + (endTime2 - startTime) + "ms");
|
|
@@ -811,67 +806,68 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
if(size.getProportion()==null){
|
|
|
size.setProportion(0);
|
|
|
}
|
|
|
- SyPreAssembledPackingListItem item1=item;
|
|
|
+ SyShippingDetailsItem syItem=mapItems.get(item.getGroupItemId()+size.getSize());
|
|
|
+ if(syItem==null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ SyPreAssembledPackingListItem item1=item;
|
|
|
item1.setSize(size.getSize());
|
|
|
BigDecimal boxNumber=boxNumber1.multiply(new BigDecimal(size.getProportion()));
|
|
|
item1.setTotal(boxNumber);
|
|
|
syPreAssembledPackingList.setTotal(syPreAssembledPackingList.getTotal().add(boxNumber));
|
|
|
item1.setActualPackingQty(size.getQuantity());
|
|
|
- item1.setSyDeclarationElementsItemId(size.getItemId());
|
|
|
+ item1.setSyDeclarationElementsItemId(syItem.getId());
|
|
|
item1.setSort(size.getNum());
|
|
|
item1.setId(oConvertUtils.id());
|
|
|
|
|
|
|
|
|
|
|
|
- SyShippingDetailsItem syItem=mapItems.get(size.getItemId());
|
|
|
- if(syItem!=null){
|
|
|
- item1.setPackId(syItem.getPackId());
|
|
|
-
|
|
|
- item1.setUnitPrice(syItem.getSalesUnitPrice());
|
|
|
- item1.setFactoryUnitPrice(new BigDecimal(syItem.getFactoryUnitPrice()==null?"0":syItem.getFactoryUnitPrice()));
|
|
|
- item1.setInventoryName(syItem.getInventoryName());
|
|
|
- item1.setAcSetNo(syItem.getAccount());
|
|
|
- item1.setHod(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(syItem.getPreDeliveryDate()));
|
|
|
- item1.setTotalPrice(item1.getTotal().multiply(item1.getUnitPrice()));
|
|
|
- item1.setOrderNumber(syItem.getOrderNumber());
|
|
|
-
|
|
|
- item1.setSpurOrSubOrder(syItem.getPurOrSubOrder());
|
|
|
- item1.setSyOrderDataItemId(syItem.getSyOrderDataItemId());
|
|
|
- syPreAssembledPackingList.setElementsId(syItem.getElementsId());
|
|
|
- syPreAssembledPackingList.setIsTc(syItem.getIsTc());
|
|
|
- item1.setSalesman(syItem.getSalesman());
|
|
|
- item1.setSalesDepartment(syItem.getSalesDepartment());
|
|
|
- item1.setInventoryCode(syItem.getInventoryCode());
|
|
|
- item1.setInventoryCcode(syItem.getInventoryCcode());
|
|
|
+ item1.setPackId(syItem.getPackId());
|
|
|
+
|
|
|
+ item1.setUnitPrice(syItem.getSalesUnitPrice());
|
|
|
+ item1.setFactoryUnitPrice(new BigDecimal(syItem.getFactoryUnitPrice()==null?"0":syItem.getFactoryUnitPrice()));
|
|
|
+ item1.setInventoryName(syItem.getInventoryName());
|
|
|
+ item1.setAcSetNo(syItem.getAccount());
|
|
|
+ item1.setHod(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(syItem.getPreDeliveryDate()));
|
|
|
+ item1.setTotalPrice(item1.getTotal().multiply(item1.getUnitPrice()));
|
|
|
+ item1.setOrderNumber(syItem.getOrderNumber());
|
|
|
+
|
|
|
+ item1.setSpurOrSubOrder(syItem.getPurOrSubOrder());
|
|
|
+ item1.setSyOrderDataItemId(syItem.getSyOrderDataItemId());
|
|
|
+ syPreAssembledPackingList.setElementsId(syItem.getElementsId());
|
|
|
+ syPreAssembledPackingList.setIsTc(syItem.getIsTc());
|
|
|
+ item1.setSalesman(syItem.getSalesman());
|
|
|
+ item1.setSalesDepartment(syItem.getSalesDepartment());
|
|
|
+ item1.setInventoryCode(syItem.getInventoryCode());
|
|
|
+ item1.setInventoryCcode(syItem.getInventoryCcode());
|
|
|
|
|
|
- item1.setCreateTime(day);
|
|
|
+ item1.setCreateTime(day);
|
|
|
|
|
|
- item1.setSyOrderDataId(syItem.getSyOrderDataId());
|
|
|
- item1.setSyOrderDataItemId(syItem.getSyOrderDataItemId());
|
|
|
- item1.setOrderNumber(syItem.getOrderNumber());
|
|
|
- item1.setOmpoId(syItem.getOmpoId());
|
|
|
- item1.setOmpoAccount(syItem.getOmpoAccount());
|
|
|
- item1.setOmpoIdItem(syItem.getOmpoIdItem());
|
|
|
- item1.setSupplierCode(syItem.getSupplierCode());
|
|
|
- item1.setSupplier(syItem.getSupplier());
|
|
|
- syPreAssembledPackingList.setOrderNumber(syItem.getOrderNumber());
|
|
|
- syPreAssembledPackingList.setItemNumber(syItem.getItemNumber());
|
|
|
- syPreAssembledPackingList.setSpurOrSubOrder(syItem.getPurOrSubOrder());
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- syItem.setExcessQuantity(item1.getTotal().subtract(syItem.getSurplusQuantity()));
|
|
|
-
|
|
|
- syShippingDetailsItemMapper.updateById(syItem);
|
|
|
-
|
|
|
- if(maps.containsKey(item.getSyDeclarationElementsItemId())){
|
|
|
- maps.put(item1.getSyDeclarationElementsItemId(),maps.get(item1.getSyDeclarationElementsItemId()).add(item1.getTotal()));
|
|
|
- }else{
|
|
|
- maps.put(item1.getSyDeclarationElementsItemId(),item1.getTotal());
|
|
|
- }
|
|
|
-
|
|
|
- }*/
|
|
|
- }
|
|
|
+ item1.setSyOrderDataId(syItem.getSyOrderDataId());
|
|
|
+ item1.setSyOrderDataItemId(syItem.getSyOrderDataItemId());
|
|
|
+ item1.setOrderNumber(syItem.getOrderNumber());
|
|
|
+ item1.setOmpoId(syItem.getOmpoId());
|
|
|
+ item1.setOmpoAccount(syItem.getOmpoAccount());
|
|
|
+ item1.setOmpoIdItem(syItem.getOmpoIdItem());
|
|
|
+ item1.setSupplierCode(syItem.getSupplierCode());
|
|
|
+ item1.setSupplier(syItem.getSupplier());
|
|
|
+ syPreAssembledPackingList.setOrderNumber(syItem.getOrderNumber());
|
|
|
+ syPreAssembledPackingList.setItemNumber(syItem.getItemNumber());
|
|
|
+ syPreAssembledPackingList.setSpurOrSubOrder(syItem.getPurOrSubOrder());
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ syItem.setExcessQuantity(item1.getTotal().subtract(syItem.getSurplusQuantity()));
|
|
|
+
|
|
|
+ syShippingDetailsItemMapper.updateById(syItem);
|
|
|
+
|
|
|
+ if(maps.containsKey(item.getSyDeclarationElementsItemId())){
|
|
|
+ maps.put(item1.getSyDeclarationElementsItemId(),maps.get(item1.getSyDeclarationElementsItemId()).add(item1.getTotal()));
|
|
|
+ }else{
|
|
|
+ maps.put(item1.getSyDeclarationElementsItemId(),item1.getTotal());
|
|
|
+ }
|
|
|
+
|
|
|
+ }*/
|
|
|
syPreAssembledPackingList.setTotalPrice(syPreAssembledPackingList.getTotalPrice().add(item1.getTotalPrice()));
|
|
|
if(size.getProportion()==0){
|
|
|
item1.setTotal(null);
|
|
@@ -914,21 +910,35 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
@Override
|
|
|
public String excelTest(List<SyPreAssembledPackingList> mains) {
|
|
|
String strs="";
|
|
|
- List<String> mainIds=new ArrayList<>();
|
|
|
for(SyPreAssembledPackingList main : mains){
|
|
|
- mainIds.add(main.getSyDeclarationElementsId());
|
|
|
BigDecimal total1=new BigDecimal("0");
|
|
|
BigDecimal total2=new BigDecimal("0");
|
|
|
BigDecimal total3=new BigDecimal("0");
|
|
|
BigDecimal total4=new BigDecimal("0");
|
|
|
String name="";
|
|
|
String ids="";
|
|
|
+ List<SyShippingDetailsItem> syShippingDetailsItems=syPreAssembledPackingListItemMapper.getWideSizes(main.getSyDeclarationElementsId());
|
|
|
for (SyPreAssembledPackingListItem item :main.getSyPreAssembledPackingListItemList()){
|
|
|
-
|
|
|
+ Map<String,String> map=new HashMap<>();
|
|
|
+ for (SyShippingDetailsItem detailsItem : syShippingDetailsItems){
|
|
|
+ if(((detailsItem.getCodingRules()==null||detailsItem.getCodingRules().length()<1)&&item.getWithCode().equals("默认配码规格"))
|
|
|
+ ||detailsItem.getCodingRules().equals(item.getWithCode())){
|
|
|
+ map.put(detailsItem.getSize(),detailsItem.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ System.out.println("配码规格\t"+item.getWithCode());
|
|
|
total3=total3.add(item.getTotal());
|
|
|
int num2=0;
|
|
|
for (SizeTable size : item.getSizeTables()){
|
|
|
- ids+=""+size.getItemId()+",";
|
|
|
+ if (map.get(size.getSize())==null){
|
|
|
+ BigDecimal sub=new BigDecimal(size.getProportion()).multiply(item.getBoxNumber());
|
|
|
+ System.out.println("sub\t"+sub);
|
|
|
+ total3=total3.subtract(sub);
|
|
|
+ }else{
|
|
|
+ ids+=""+map.get(size.getSize())+",";
|
|
|
+ }
|
|
|
+ System.out.println("尺码\t"+size.getSize()+"\t数量\t"+size.getProportion());
|
|
|
if(num2==0){
|
|
|
|
|
|
if(main.getCustomerAbbreviation().equals("BW")||main.getCustomerAbbreviation().equals("DUNNES")){
|
|
@@ -963,11 +973,10 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
}
|
|
|
total4=total2.add(total3);
|
|
|
if(total4.doubleValue()>total1.doubleValue()*1.9){
|
|
|
- throw new JeecgBootException(name+"本次导入数量+装箱单现有数量大于发货订单数量*1.9,请勿重复导入");
|
|
|
+
|
|
|
}
|
|
|
strs+=name+"的原单据数量"+total1.intValue()+",已参照数量"+total2.intValue()+",本次数量"+total3.intValue()+";";
|
|
|
}
|
|
|
- System.out.println("出运明细子表mainIds\t"+mainIds);
|
|
|
return strs;
|
|
|
}
|
|
|
|