|
@@ -44,39 +44,69 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
@Autowired
|
|
|
private SyShippingDetailsMapper syShippingDetailsMapper;
|
|
|
|
|
|
- @Override
|
|
|
- @Transactional
|
|
|
- public SyPreAssembledPackingList saveMain(SyPreAssembledPackingList syPreAssembledPackingList) {
|
|
|
- syPreAssembledPackingList.setDelFlag("0");//删除状态默认为0
|
|
|
- syPreAssembledPackingList.setPushStatus("0");//推送状态默认为0
|
|
|
- syPreAssembledPackingList.setStatus("0");//单据装填默认为0
|
|
|
+ List<SyPreAssembledPackingListItem> add(List<SyPreAssembledPackingListItem> items,String pid){
|
|
|
+ for (SyPreAssembledPackingListItem item : items){
|
|
|
+ List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息
|
|
|
+ item.setSyPreAssembledPackingListId(pid);//获取主表id
|
|
|
+ BigDecimal boxNumber1=item.getBoxNumber().divide(item.getPiecesBox(),2,BigDecimal.ROUND_HALF_UP);//获取箱数
|
|
|
+ item.setDelFlag("0");
|
|
|
+ for (SizeTable size : sizes){
|
|
|
+ SyPreAssembledPackingListItem item1=item;
|
|
|
+ BigDecimal boxNumber=boxNumber1.multiply(new BigDecimal(size.getProportion()));//获取该尺码箱数
|
|
|
+ item1.setTotal(boxNumber.multiply(item1.getPiecesBox()));//获取该尺码件数
|
|
|
+ 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);//获取总体积 长*宽*高*箱数
|
|
|
+ item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价 箱数*单价
|
|
|
+ item1.setSize(size.getSize());//获取尺码
|
|
|
+ item1.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id
|
|
|
+ item1.setSort(size.getNum());//获取序号
|
|
|
+ item1.setId(oConvertUtils.id());//获取到随机id
|
|
|
+ int row =syPreAssembledPackingListItemMapper.insert(item1);//添加子表数据
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return items;
|
|
|
+ }
|
|
|
|
|
|
- BigDecimal totalBoxes=new BigDecimal(0);//总箱数
|
|
|
- BigDecimal totalNetWeight=new BigDecimal(0);//总净重
|
|
|
- BigDecimal totalGrossWeight=new BigDecimal(0);//总毛重
|
|
|
- BigDecimal totalVolume=new BigDecimal(0);//总体积
|
|
|
- BigDecimal totalPrice=new BigDecimal(0);//总价
|
|
|
- syPreAssembledPackingListMapper.insert(syPreAssembledPackingList);//添加主表数据
|
|
|
- /*BigDecimal total;//总件数*/
|
|
|
- for(SyPreAssembledPackingListItem entity:syPreAssembledPackingList.getSyPreAssembledPackingListItemList()) {
|
|
|
- totalBoxes=totalBoxes.add(entity.getBoxNumber());//箱数
|
|
|
- totalNetWeight=totalNetWeight.add(entity.getTotalNetWeight());//总净重
|
|
|
- totalGrossWeight=totalGrossWeight.add(entity.getTotalGrossWeight());//总毛重
|
|
|
- totalVolume=totalVolume.add(entity.getTotalVolume());//总体积
|
|
|
- totalPrice=totalPrice.add(entity.getTotalPrice());//总价
|
|
|
- entity.setDelFlag("0");//默认为0
|
|
|
- entity.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId());//获取主表的id
|
|
|
- syPreAssembledPackingListItemMapper.insert(entity);//循环添加子表数据
|
|
|
+ List<SyPreAssembledPackingListItem> update(List<SyPreAssembledPackingListItem> items,String pid){
|
|
|
+ for (SyPreAssembledPackingListItem item : items){
|
|
|
+ List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息
|
|
|
+ BigDecimal boxNumber1=item.getBoxNumber().divide(item.getPiecesBox(),2,BigDecimal.ROUND_HALF_UP);//获取箱数
|
|
|
+ item.setDelFlag("0");
|
|
|
+ for (SizeTable size : sizes){
|
|
|
+ SyPreAssembledPackingListItem item1=item;
|
|
|
+ BigDecimal boxNumber=boxNumber1.multiply(new BigDecimal(size.getProportion()));//获取该尺码箱数
|
|
|
+ item1.setSize(size.getSize());//获取尺码信息
|
|
|
+ item1.setTotal(boxNumber.multiply(new BigDecimal(size.getProportion())));//该尺码件数
|
|
|
+ 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.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价 箱数*单价
|
|
|
+ //item.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id
|
|
|
+ item1.setId(size.getItemId());//从尺码表中获取到id
|
|
|
+ // 获取到发运明细子表id
|
|
|
+ String syDeclarationElementsItemId=syPreAssembledPackingListItemMapper.selectById(item1.getId()).getSyDeclarationElementsItemId();
|
|
|
+ item1.setSyDeclarationElementsItemId(syDeclarationElementsItemId);
|
|
|
+ int row=syPreAssembledPackingListItemMapper.updateById(item1);//如果没修改成功就是新增数据
|
|
|
+ if(row==0){//如果为0就添加数据
|
|
|
+ item1.setSyPreAssembledPackingListId(pid);
|
|
|
+ syPreAssembledPackingListItemMapper.insert(item1);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- syPreAssembledPackingList.setTotalBoxes(totalBoxes);
|
|
|
- syPreAssembledPackingList.setTotalNetWeight(totalNetWeight);
|
|
|
- syPreAssembledPackingList.setTotalGrossWeight(totalGrossWeight);
|
|
|
- syPreAssembledPackingList.setTotalVolume(totalVolume);
|
|
|
- syPreAssembledPackingList.setTotalPrice(totalPrice);
|
|
|
- syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);
|
|
|
- return syPreAssembledPackingList;
|
|
|
+ return items;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 新的添加方法
|
|
|
* @param syPreAssembledPackingList
|
|
@@ -91,97 +121,9 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
syPreAssembledPackingList.setPushStatus("0");//推送状态默认为0
|
|
|
syPreAssembledPackingList.setStatus("0");//单据装填默认为0
|
|
|
syPreAssembledPackingListMapper.insert(syPreAssembledPackingList);//往主表添加数据
|
|
|
- BigDecimal totalBoxes=new BigDecimal(0);//总箱数
|
|
|
- BigDecimal totalNetWeight=new BigDecimal(0);//总净重
|
|
|
- BigDecimal totalGrossWeight=new BigDecimal(0);//总毛重
|
|
|
- BigDecimal totalVolume=new BigDecimal(0);//总体积
|
|
|
- BigDecimal totalPrice=new BigDecimal(0);//总价
|
|
|
- for (SyPreAssembledPackingListItem item : items){
|
|
|
- totalBoxes=totalBoxes.add(item.getBoxNumber());//箱数
|
|
|
- totalNetWeight=totalNetWeight.add(item.getTotalNetWeight());//总净重
|
|
|
- totalGrossWeight=totalGrossWeight.add(item.getTotalGrossWeight());//总毛重
|
|
|
- totalVolume=totalVolume.add(item.getTotalVolume());//总体积
|
|
|
- totalPrice=totalPrice.add(item.getTotalPrice());//总价
|
|
|
- System.out.println("箱数\t"+totalBoxes);
|
|
|
- System.out.println("总净重\t"+totalNetWeight);
|
|
|
- System.out.println("总毛重\t"+totalGrossWeight);
|
|
|
- System.out.println("总体积\t"+totalVolume);
|
|
|
- System.out.println("总价\t"+totalPrice);
|
|
|
- List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息
|
|
|
- BigDecimal total=item.getTotal();//总件数
|
|
|
- BigDecimal piecesBox=item.getPiecesBox();//箱/件数
|
|
|
- item.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId());//获取主表id
|
|
|
- for (SizeTable size : sizes){
|
|
|
- BigDecimal quantity=total.divide(piecesBox,4,BigDecimal.ROUND_HALF_UP) ;//总件数除以每箱件数 可以获得 箱数
|
|
|
- quantity=quantity.multiply(new BigDecimal(size.getProportion()));//乘以比例可获得
|
|
|
- item.setTotal(quantity);//该尺码件数
|
|
|
- item.setSize(size.getSize());//获取尺码信息
|
|
|
- item.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id
|
|
|
- item.setDelFlag("0");//默认为未删除
|
|
|
- item.setSort(size.getNum());//序号
|
|
|
- item.setId(oConvertUtils.id());//获取到随机id
|
|
|
- int row =syPreAssembledPackingListItemMapper.insert(item);//添加子表数据
|
|
|
- System.out.println("尺码大小:\t"+item.getSize());
|
|
|
- System.out.println("尺码件数:\t"+item.getTotal());
|
|
|
- System.out.println("尺码比例:\t"+size.getProportion());
|
|
|
- System.out.println("预装箱单主表id\t"+syPreAssembledPackingList.getId());
|
|
|
- System.out.println("发育明细主表id\t"+item.getSyDeclarationElementsId());
|
|
|
- System.out.println("发运明细子表id\t"+size.getItemId()+"\n");
|
|
|
- System.out.println("预装箱单子表id为"+item.getId());
|
|
|
- System.out.println("插入数据库后返回消息为"+row);
|
|
|
- }
|
|
|
+ if(syPreAssembledPackingList.getSyPreAssembledPackingListItemList()!=null){
|
|
|
+ add(syPreAssembledPackingList.getSyPreAssembledPackingListItemList(),syPreAssembledPackingList.getId());
|
|
|
}
|
|
|
- syPreAssembledPackingList.setTotalBoxes(totalBoxes);
|
|
|
- syPreAssembledPackingList.setTotalNetWeight(totalNetWeight);
|
|
|
- syPreAssembledPackingList.setTotalGrossWeight(totalGrossWeight);
|
|
|
- syPreAssembledPackingList.setTotalVolume(totalVolume);
|
|
|
- syPreAssembledPackingList.setTotalPrice(totalPrice);
|
|
|
- syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);
|
|
|
- return syPreAssembledPackingList;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 编辑
|
|
|
- * @param syPreAssembledPackingList
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- @Transactional
|
|
|
- public SyPreAssembledPackingList updateMain(SyPreAssembledPackingList syPreAssembledPackingList) {
|
|
|
- //syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);
|
|
|
-
|
|
|
- if(!syPreAssembledPackingListMapper.selectById(syPreAssembledPackingList.getId()).getStatus().equals("0")){
|
|
|
- throw new JeecgBootException("单据已提交不能修改!");
|
|
|
- }
|
|
|
- //1.先删除子表数据
|
|
|
- syPreAssembledPackingListItemMapper.deleteByMainId(syPreAssembledPackingList.getId());//将删除状态变成1
|
|
|
- BigDecimal totalBoxes=new BigDecimal(0);//总箱数
|
|
|
- BigDecimal totalNetWeight=new BigDecimal(0);//总净重
|
|
|
- BigDecimal totalGrossWeight=new BigDecimal(0);//总毛重
|
|
|
- BigDecimal totalVolume=new BigDecimal(0);//总体积
|
|
|
- BigDecimal totalPrice=new BigDecimal(0);//总价
|
|
|
- //2.子表数据重新插入
|
|
|
- for(SyPreAssembledPackingListItem entity:syPreAssembledPackingList.getSyPreAssembledPackingListItemList()) {
|
|
|
- //外键设置
|
|
|
- //entity.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId());
|
|
|
- totalBoxes=totalBoxes.add(entity.getBoxNumber());//箱数
|
|
|
- totalNetWeight=totalNetWeight.add(entity.getTotalNetWeight());//总净重
|
|
|
- totalGrossWeight=totalGrossWeight.add(entity.getTotalGrossWeight());//总毛重
|
|
|
- totalVolume=totalVolume.add(entity.getTotalVolume());//总体积
|
|
|
- totalPrice=totalPrice.add(entity.getTotalPrice());//总价
|
|
|
- entity.setDelFlag("0");//默认为0
|
|
|
- int row=syPreAssembledPackingListItemMapper.updateById(entity);
|
|
|
- if(row==0){//如果为0就添加数据
|
|
|
- entity.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId());
|
|
|
- syPreAssembledPackingListItemMapper.insert(entity);
|
|
|
- }
|
|
|
- }
|
|
|
- syPreAssembledPackingList.setTotalBoxes(totalBoxes);
|
|
|
- syPreAssembledPackingList.setTotalNetWeight(totalNetWeight);
|
|
|
- syPreAssembledPackingList.setTotalGrossWeight(totalGrossWeight);
|
|
|
- syPreAssembledPackingList.setTotalVolume(totalVolume);
|
|
|
- syPreAssembledPackingList.setTotalPrice(totalPrice);
|
|
|
- syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);
|
|
|
return syPreAssembledPackingList;
|
|
|
}
|
|
|
|
|
@@ -199,59 +141,9 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
List<SyPreAssembledPackingListItem> items=syPreAssembledPackingList.getSyPreAssembledPackingListItemList();
|
|
|
syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);//修改主表数据
|
|
|
syPreAssembledPackingListItemMapper.deleteByMainId(syPreAssembledPackingList.getId());//将子表的删除状态都变成1
|
|
|
- BigDecimal totalBoxes=new BigDecimal(0);//总箱数
|
|
|
- BigDecimal totalNetWeight=new BigDecimal(0);//总净重
|
|
|
- BigDecimal totalGrossWeight=new BigDecimal(0);//总毛重
|
|
|
- BigDecimal totalVolume=new BigDecimal(0);//总体积
|
|
|
- BigDecimal totalPrice=new BigDecimal(0);//总价
|
|
|
- for (SyPreAssembledPackingListItem item : items){
|
|
|
- List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息
|
|
|
- BigDecimal total=item.getTotal();//总件数
|
|
|
- BigDecimal piecesBox=item.getPiecesBox();//箱/件数
|
|
|
- totalBoxes=totalBoxes.add(item.getBoxNumber());//箱数
|
|
|
- totalNetWeight=totalNetWeight.add(item.getTotalNetWeight());//总净重
|
|
|
- totalGrossWeight=totalGrossWeight.add(item.getTotalGrossWeight());//总毛重
|
|
|
- totalVolume=totalVolume.add(item.getTotalVolume());//总体积
|
|
|
- totalPrice=totalPrice.add(item.getTotalPrice());//总价
|
|
|
- //item.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId());//获取主表id
|
|
|
- item.setDelFlag("0");//默认为未删除
|
|
|
- int num=0;
|
|
|
- for (SizeTable size : sizes){
|
|
|
- BigDecimal quantity=total.divide(piecesBox,4,BigDecimal.ROUND_HALF_UP) ;//总件数除以箱/件数
|
|
|
- quantity=quantity.multiply(new BigDecimal(size.getProportion()));//乘以比例可获得
|
|
|
- item.setTotal(quantity);//该尺码件数
|
|
|
- item.setSize(size.getSize());//获取尺码信息
|
|
|
- //item.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id
|
|
|
- item.setSort(++num);//序号
|
|
|
- item.setId(size.getItemId());//从尺码表中获取到id
|
|
|
- // 获取到子表id
|
|
|
- String syDeclarationElementsItemId=syPreAssembledPackingListItemMapper.selectById(item.getId()).getSyDeclarationElementsItemId();
|
|
|
- item.setSyDeclarationElementsItemId(syDeclarationElementsItemId);
|
|
|
- int row=syPreAssembledPackingListItemMapper.updateById(item);//如果没修改成功就是新增数据
|
|
|
- if(row==0){//如果为0就添加数据
|
|
|
- item.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId());
|
|
|
- syPreAssembledPackingListItemMapper.insert(item);
|
|
|
- System.out.println("添加");
|
|
|
- }else{
|
|
|
- System.out.println("修改");
|
|
|
- }
|
|
|
- System.out.println("尺码大小:\t"+item.getSize());
|
|
|
- System.out.println("尺码件数:\t"+item.getTotal());
|
|
|
- System.out.println("尺码比例:\t"+size.getProportion());
|
|
|
- System.out.println("预装箱单主表id\t"+syPreAssembledPackingList.getId());
|
|
|
- System.out.println("发育明细主表id\t"+item.getSyDeclarationElementsId());
|
|
|
- System.out.println("发运明细子表id\t"+item.getSyDeclarationElementsItemId());
|
|
|
- System.out.println("预装箱单子表id为\t"+item.getId());
|
|
|
- System.out.println("原子表id为\t"+size.getItemId());
|
|
|
- System.out.println("返回消息为:"+row+"\t0为新增,1为修改\n");
|
|
|
- }
|
|
|
+ if(syPreAssembledPackingList.getSyPreAssembledPackingListItemList()!=null){
|
|
|
+ update(syPreAssembledPackingList.getSyPreAssembledPackingListItemList(),syPreAssembledPackingList.getId());
|
|
|
}
|
|
|
- syPreAssembledPackingList.setTotalBoxes(totalBoxes);
|
|
|
- syPreAssembledPackingList.setTotalNetWeight(totalNetWeight);
|
|
|
- syPreAssembledPackingList.setTotalGrossWeight(totalGrossWeight);
|
|
|
- syPreAssembledPackingList.setTotalVolume(totalVolume);
|
|
|
- syPreAssembledPackingList.setTotalPrice(totalPrice);
|
|
|
- syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);
|
|
|
return syPreAssembledPackingList;
|
|
|
}
|
|
|
|
|
@@ -297,8 +189,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;
|
|
|
}
|
|
|
|