|
@@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.Serializable;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Collection;
|
|
@@ -44,11 +45,17 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
@Autowired
|
|
|
private SyShippingDetailsMapper syShippingDetailsMapper;
|
|
|
|
|
|
- List<SyPreAssembledPackingListItem> add(List<SyPreAssembledPackingListItem> items,String pid){
|
|
|
+ BigDecimal add(List<SyPreAssembledPackingListItem> items,String pid){
|
|
|
+ BigDecimal box=new BigDecimal(0);//获取总箱数
|
|
|
for (SyPreAssembledPackingListItem item : items){
|
|
|
List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息
|
|
|
item.setSyPreAssembledPackingListId(pid);//获取主表id
|
|
|
BigDecimal boxNumber1=item.getBoxNumber();//获取箱数
|
|
|
+ item.setActualPackingQty(item.getTotal());//计划装箱数量
|
|
|
+ if(oConvertUtils.isEmpty(item.getGroupId())){//分组id
|
|
|
+ item.setGroupId(oConvertUtils.id());
|
|
|
+ }
|
|
|
+ box=box.add(boxNumber1);//合计
|
|
|
item.setDelFlag("0");//默认为未删除
|
|
|
for (SizeTable size : sizes){
|
|
|
SyPreAssembledPackingListItem item1=item;
|
|
@@ -57,14 +64,14 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
item1.setSize(size.getSize());//获取尺码
|
|
|
item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价 箱数*单价-->件数*单价
|
|
|
// item1.setBoxNumber(boxNumber);//获取箱数
|
|
|
-
|
|
|
-// item1.setTotalNetWeight(boxNumber.multiply(item1.getNetWeight()));//获取总净重 净重*箱数
|
|
|
-// item1.setTotalGrossWeight(boxNumber.multiply(item1.getGrossWeight()));//获取总毛重 箱数*毛重/箱
|
|
|
-// //item1.setTotalNetWeight(boxNumber.multiply(new BigDecimal(size.getProportion())));//获取净净重 不知
|
|
|
-// BigDecimal volume=boxNumber.multiply(item1.getOuterBoxHeight());
|
|
|
-// volume=volume.multiply(item1.getOuterBoxLength());
|
|
|
-// volume=volume.multiply(item1.getOuterBoxWidth());
|
|
|
-// item1.setTotalVolume(volume);//获取总体积 长*宽*高*箱数
|
|
|
+ boxNumber=boxNumber.divide(item.getPiecesBox(),6,BigDecimal.ROUND_HALF_UP);
|
|
|
+ item1.setTotalNetWeight(boxNumber.multiply(item1.getNetWeight()));//获取总净重 净重*箱数
|
|
|
+ item1.setTotalGrossWeight(boxNumber.multiply(item1.getGrossWeight()));//获取总毛重 箱数*毛重/箱
|
|
|
+ //item1.setTotalNetWeight(boxNumber.multiply(new BigDecimal(size.getProportion())));//获取净净重 不知
|
|
|
+ BigDecimal volume=boxNumber.multiply(item1.getOuterBoxHeight());
|
|
|
+ volume=volume.multiply(item1.getOuterBoxLength());
|
|
|
+ volume=volume.multiply(item1.getOuterBoxWidth());
|
|
|
+ item1.setTotalVolume(volume);//获取总体积 长*宽*高*箱数
|
|
|
|
|
|
item1.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id
|
|
|
item1.setSort(size.getNum());//获取序号
|
|
@@ -72,13 +79,19 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
syPreAssembledPackingListItemMapper.insert(item1);//添加子表数据
|
|
|
}
|
|
|
}
|
|
|
- return items;
|
|
|
+ return box;
|
|
|
}
|
|
|
|
|
|
- List<SyPreAssembledPackingListItem> update(List<SyPreAssembledPackingListItem> items,String pid){
|
|
|
+ BigDecimal update(List<SyPreAssembledPackingListItem> items,String pid){
|
|
|
+ BigDecimal box=new BigDecimal(0);//获取总箱数
|
|
|
for (SyPreAssembledPackingListItem item : items){
|
|
|
List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息
|
|
|
BigDecimal boxNumber1=item.getBoxNumber();//获取箱数
|
|
|
+ item.setActualPackingQty(item.getTotal());//计划装箱数量
|
|
|
+ if(oConvertUtils.isEmpty(item.getGroupId())){//分组id
|
|
|
+ item.setGroupId(oConvertUtils.id());
|
|
|
+ }
|
|
|
+ box=box.add(boxNumber1);//合计
|
|
|
item.setDelFlag("0");
|
|
|
for (SizeTable size : sizes){
|
|
|
SyPreAssembledPackingListItem item1=item;
|
|
@@ -87,14 +100,15 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
item1.setTotal(boxNumber);//该尺码件数
|
|
|
item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价 箱数*单价-->件数*单价
|
|
|
//item1.setBoxNumber(boxNumber);//获取箱数
|
|
|
+ boxNumber=boxNumber.divide(item.getPiecesBox(),6,BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
-// item1.setTotalNetWeight(boxNumber.multiply(item1.getNetWeight()));//获取总净重 净重*箱数
|
|
|
-// item1.setTotalGrossWeight(boxNumber.multiply(item1.getGrossWeight()));//获取总毛重 箱数*毛重/箱
|
|
|
-// //item1.setTotalNetWeight(boxNumber.multiply(new BigDecimal(size.getProportion())));//获取净净重 不知
|
|
|
-// BigDecimal volume=boxNumber.multiply(item1.getOuterBoxHeight());//获取体积
|
|
|
-// volume=volume.multiply(item1.getOuterBoxLength());
|
|
|
-// volume=volume.multiply(item1.getOuterBoxWidth());
|
|
|
-// item1.setTotalVolume(volume);//获取总体积 长*宽*高*箱数
|
|
|
+ item1.setTotalNetWeight(boxNumber.multiply(item1.getNetWeight()));//获取总净重 净重*箱数
|
|
|
+ item1.setTotalGrossWeight(boxNumber.multiply(item1.getGrossWeight()));//获取总毛重 箱数*毛重/箱
|
|
|
+ //item1.setTotalNetWeight(boxNumber.multiply(new BigDecimal(size.getProportion())));//获取净净重 不知
|
|
|
+ BigDecimal volume=boxNumber.multiply(item1.getOuterBoxHeight());//获取体积
|
|
|
+ volume=volume.multiply(item1.getOuterBoxLength());
|
|
|
+ volume=volume.multiply(item1.getOuterBoxWidth());
|
|
|
+ item1.setTotalVolume(volume);//获取总体积 长*宽*高*箱数
|
|
|
|
|
|
//item.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id
|
|
|
item1.setId(size.getItemId());//从尺码表中获取到id
|
|
@@ -108,7 +122,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- return items;
|
|
|
+ return box;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -122,15 +136,22 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
public SyPreAssembledPackingList saveMain2(SyPreAssembledPackingList syPreAssembledPackingList) {
|
|
|
List<SyPreAssembledPackingListItem> items=syPreAssembledPackingList.getSyPreAssembledPackingListItemList();
|
|
|
syPreAssembledPackingList.setDocumentNo(oConvertUtils.id());//随机单据号
|
|
|
- if(oConvertUtils.isEmpty(syPreAssembledPackingList.getOrderNumber())){
|
|
|
- syPreAssembledPackingList.setOrderNumber(oConvertUtils.id());//随机订单号
|
|
|
- }
|
|
|
+
|
|
|
+ SimpleDateFormat sf= new SimpleDateFormat("yyyyMMdd");
|
|
|
+ QueryWrapper<SyPreAssembledPackingList> queryWrapperCount=new QueryWrapper<>();
|
|
|
+ queryWrapperCount.like("create_time", new SimpleDateFormat("yy-MM-dd").format(System.currentTimeMillis()));
|
|
|
+ queryWrapperCount.select("lpad(count(0)+1,6,0) as id");
|
|
|
+ String dateNo ="YCY"+sf.format(System.currentTimeMillis())+getOne(queryWrapperCount).getId();
|
|
|
+ syPreAssembledPackingList.setOrderNumber(dateNo);//订单号
|
|
|
+
|
|
|
syPreAssembledPackingList.setDelFlag("0");//删除状态默认为0
|
|
|
syPreAssembledPackingList.setPushStatus("0");//推送状态默认为0
|
|
|
syPreAssembledPackingList.setStatus("0");//单据状态默认为0
|
|
|
syPreAssembledPackingListMapper.insert(syPreAssembledPackingList);//往主表添加数据
|
|
|
if(syPreAssembledPackingList.getSyPreAssembledPackingListItemList()!=null){
|
|
|
- add(syPreAssembledPackingList.getSyPreAssembledPackingListItemList(),syPreAssembledPackingList.getId());
|
|
|
+ BigDecimal box=add(syPreAssembledPackingList.getSyPreAssembledPackingListItemList(),syPreAssembledPackingList.getId());
|
|
|
+ syPreAssembledPackingList.setTotalBoxes(box);
|
|
|
+ syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);
|
|
|
}
|
|
|
return syPreAssembledPackingList;
|
|
|
}
|
|
@@ -150,7 +171,9 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);//修改主表数据
|
|
|
syPreAssembledPackingListItemMapper.deleteByMainId(syPreAssembledPackingList.getId());//将子表的删除状态都变成1
|
|
|
if(syPreAssembledPackingList.getSyPreAssembledPackingListItemList()!=null){
|
|
|
- update(syPreAssembledPackingList.getSyPreAssembledPackingListItemList(),syPreAssembledPackingList.getId());
|
|
|
+ BigDecimal box= update(syPreAssembledPackingList.getSyPreAssembledPackingListItemList(),syPreAssembledPackingList.getId());
|
|
|
+ syPreAssembledPackingList.setTotalBoxes(box);
|
|
|
+ syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);
|
|
|
}
|
|
|
return syPreAssembledPackingList;
|
|
|
}
|
|
@@ -197,8 +220,8 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
sizes=syPreAssembledPackingListItemMapper.querySizes(id);
|
|
|
if(sizes.size()>0){
|
|
|
syPreAssembledPackingList.setSizeTables(sizes);//获取所有尺码信息
|
|
|
- syPreAssembledPackingList.setSyPreAssembledPackingListItemList(list);
|
|
|
}
|
|
|
+ syPreAssembledPackingList.setSyPreAssembledPackingListItemList(list);
|
|
|
return syPreAssembledPackingList;
|
|
|
}
|
|
|
|