|
@@ -26,8 +26,10 @@ import org.jeecg.modules.splt.entity.SyPackingListTailoring;
|
|
|
import org.jeecg.modules.splt.entity.SyPackingListTailoringItem;
|
|
|
import org.jeecg.modules.splt.mapper.SyPackingListTailoringItemMapper;
|
|
|
import org.jeecg.modules.splt.mapper.SyPackingListTailoringMapper;
|
|
|
+import org.jeecg.modules.splt.service.ISyPackingListTailoringItemService;
|
|
|
import org.jeecg.modules.splt.service.ISyPackingListTailoringService;
|
|
|
import org.jeecg.modules.splt.vo.SyPackingListTailoringVo;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -56,6 +58,8 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
@Autowired
|
|
|
private SyPreAssembledPackingListItemMapper syPreAssembledPackingListItemMapper;//预装箱单子表
|
|
|
@Autowired
|
|
|
+ private ISyPackingListTailoringItemService syPackingListTailoringItemService;
|
|
|
+ @Autowired
|
|
|
private SyPreAssembledPackingListMapper syPreAssembledPackingListMapper;//预装箱单主表
|
|
|
@Autowired
|
|
|
private SyShippingOrderMapper syShippingOrderMapper;//托书主表
|
|
@@ -201,6 +205,95 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
return syPackingListTailoring;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public void saveMain3(List<SyPackingListTailoring> syPackingListTailorings,String[] ids) {
|
|
|
+ Date day=new Date();
|
|
|
+ try {
|
|
|
+ String time= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis());
|
|
|
+ day =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time);//获取制单日期
|
|
|
+ }catch (Exception e){
|
|
|
+
|
|
|
+ }
|
|
|
+ System.out.println("当前时间\t"+day);
|
|
|
+ List<SyPackingListTailoring> lists=new ArrayList<>();
|
|
|
+ List<SyPackingListTailoringItem> listItems=new ArrayList<>();
|
|
|
+ QueryWrapper queryWrapper=new QueryWrapper();
|
|
|
+ queryWrapper.in("sy_Pre_Assembled_Packing_List_Id",ids);
|
|
|
+ List<SyPreAssembledPackingListItem> syPreItems=syPreAssembledPackingListItemMapper.selectList(queryWrapper);
|
|
|
+ System.out.println("syPreItems.size\t"+syPreItems.size());
|
|
|
+ Map<String,SyPreAssembledPackingListItem> mapItems=new HashMap<>();
|
|
|
+ for (SyPreAssembledPackingListItem item : syPreItems){
|
|
|
+ mapItems.put(item.getId(),item);
|
|
|
+ }
|
|
|
+ for (SyPackingListTailoring syPackingListTailoring : syPackingListTailorings){
|
|
|
+ syPackingListTailoring.setDelFlag("0");//删除状态默认为0
|
|
|
+ syPackingListTailoring.setPushState("0");//推送状态默认为0
|
|
|
+ syPackingListTailoring.setStatus("0");//单据状态默认为0
|
|
|
+ syPackingListTailoring.setDocumentNo(randomStr());//单据号
|
|
|
+ syPackingListTailoring.setId(oConvertUtils.id());
|
|
|
+ List<SyPackingListTailoringItem> items=syPackingListTailoring.getSyPackingListTailoringItemList();
|
|
|
+ for (SyPackingListTailoringItem item : items){
|
|
|
+ List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息
|
|
|
+ item.setSyPackingListTailoringId(syPackingListTailoring.getId());//获取主表id
|
|
|
+ item.setElementsId(syPackingListTailoring.getElementsId());//申报要素id
|
|
|
+ BigDecimal boxNumber1=item.getBoxNumber();//获取箱数
|
|
|
+ item.setGroupId(oConvertUtils.id());//分组随机id
|
|
|
+ item.setCreateTime(day);//获取当前时间
|
|
|
+ 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.setPlanQuantity(size.getQuantity());//计划装箱数量
|
|
|
+ item1.setSize(size.getSize());//获取尺码
|
|
|
+ item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价 箱数*单价-->件数*单价
|
|
|
+ item1.setSyPreAssembledPackingListItemId(size.getItemId());//获取到预装箱单子表id
|
|
|
+ item1.setSort(size.getNum());//获取序号
|
|
|
+ item1.setId(oConvertUtils.id());//获取到随机id
|
|
|
+
|
|
|
+ SyPreAssembledPackingListItem syPreItem=mapItems.get(size.getItemId());//获取预装箱单数据
|
|
|
+ item1.setSalesman(syPreItem.getSalesman());//获取业务员
|
|
|
+ if(item1.getFactoryUnitPrice()!=null){
|
|
|
+ item1.setFactoryUnitPrice(syPreItem.getFactoryUnitPrice());//工厂单价
|
|
|
+ }
|
|
|
+ item1.setPackId(syPreItem.getPackId());//packid
|
|
|
+ item1.setSalesDepartment(syPreItem.getSalesDepartment());//获取业务部门
|
|
|
+ item1.setSyOrderDataId(syPreItem.getSyOrderDataId());//订单数据主表id
|
|
|
+ item1.setSyOrderDataItemId(syPreItem.getSyOrderDataItemId());//订单数据子表id
|
|
|
+ item1.setOrderNumber(syPreItem.getOrderNumber());//销售订单号
|
|
|
+ item1.setSpurOrSubOrder(syPreItem.getSpurOrSubOrder());//获取采购委外订单号
|
|
|
+ item1.setOmpoId(syPreItem.getOmpoId());//获取采购委外主表id
|
|
|
+ item1.setMasterMetering(item1.getMasterMetering());
|
|
|
+ item1.setOmpoIdItem(syPreItem.getOmpoIdItem());//获取采购委外子表id
|
|
|
+ item1.setOmpoAccount(syPreItem.getOmpoAccount());//委外采购账套号
|
|
|
+ item1.setSupplier(syPreItem.getSupplier());
|
|
|
+ item1.setSupplierCode(syPreItem.getSupplierCode());
|
|
|
+ if(size.getProportion()==0){
|
|
|
+ item1.setTotal(null);//该尺码件数
|
|
|
+ }
|
|
|
+ SyPackingListTailoringItem item2=new SyPackingListTailoringItem();
|
|
|
+ BeanUtils.copyProperties(item1,item2);
|
|
|
+ listItems.add(item2);
|
|
|
+ //syPackingListTailoringItemMapper.insert(item1);//添加子表数据
|
|
|
+ }
|
|
|
+ lists.add(syPackingListTailoring);
|
|
|
+ //syPackingListTailoringMapper.updateById(syPackingListTailoring);
|
|
|
+ }
|
|
|
+ //return syPackingListTailorings;
|
|
|
+ }
|
|
|
+ //System.out.println("listItems.size\t"+listItems.size());
|
|
|
+ //syPackingListTailoringItemService.saveBatch(listItems);
|
|
|
+ System.out.println("listItems.size\t"+listItems.size());
|
|
|
+ syPackingListTailoringItemMapper.insertBatch(listItems);
|
|
|
+ saveBatch(syPackingListTailorings);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 云工厂测试用-接口
|
|
|
* @param syPackingListTailoring
|
|
@@ -1408,21 +1501,62 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
return syPackingListTailoringMapper.getSyShippingOrder(id);
|
|
|
}
|
|
|
|
|
|
- /*@Override
|
|
|
+ @Override
|
|
|
@Transactional
|
|
|
- public Integer querySpaplIds(String[] ids) {
|
|
|
+ public List<SyPackingListTailoring> querySpaplIds(String[] ids) {
|
|
|
+ UpdateWrapper updateWrapper=new UpdateWrapper();
|
|
|
+ updateWrapper.set("is_Reference","2");//已被预装箱单参照,装箱单不能取消提交
|
|
|
+ updateWrapper.in("id",ids);//预装箱单主表id做为修改条件
|
|
|
+ syPreAssembledPackingListMapper.update(null,updateWrapper);//修改
|
|
|
List<SyPackingListTailoring> syPackingListTailorings=syPackingListTailoringMapper.querySpaplIds(ids);
|
|
|
if(syPackingListTailorings.size()==0){
|
|
|
return null;
|
|
|
}
|
|
|
- //获得所有尺码组
|
|
|
- List<SizeTable> sizes=syPreAssembledPackingListItemMapper.querySizes2(ids);
|
|
|
- if(sizes.size()>0){
|
|
|
- syPackingListTailoring.setSizeTables(this.sort(sizes));
|
|
|
+ List<SyPackingListTailoringItem> itemLists=syPackingListTailoringItemMapper.querySpaplItemIds(ids);
|
|
|
+ System.out.println("itemLists.size\t"+itemLists.size());
|
|
|
+ List<SizeTable> sizeLists2=syPreAssembledPackingListItemMapper.queryAllSize(ids);//子表尺码
|
|
|
+ System.out.println("sizeLists2.size\t"+sizeLists2.size());
|
|
|
+ Map<String,List<SyPackingListTailoringItem>> maplItems=new HashMap<>();
|
|
|
+ Map<String,List<SizeTable>> mapItemSizes=new HashMap<>();//子表尺码
|
|
|
+ for (SizeTable size : sizeLists2){//子表尺码
|
|
|
+ if(mapItemSizes.containsKey(size.getGroupId())){//有
|
|
|
+ mapItemSizes.get(size.getGroupId()).add(size);
|
|
|
+ }else{
|
|
|
+ List<SizeTable> items=new ArrayList<>();
|
|
|
+ items.add(size);
|
|
|
+ mapItemSizes.put(size.getGroupId(),items);
|
|
|
+ }
|
|
|
}
|
|
|
- //获取子表数据
|
|
|
- List<SyPackingListTailoringItem> items=syPackingListTailoringItemMapper.querySpaplItemId(id);
|
|
|
- if(items.size()>0){
|
|
|
+ for (SyPackingListTailoringItem item : itemLists){//子表获取尺码
|
|
|
+ if(maplItems.containsKey(item.getSyPreAssembledPackingListId())){//有
|
|
|
+ maplItems.get(item.getSyPreAssembledPackingListId()).add(item);
|
|
|
+ }else{
|
|
|
+ List<SyPackingListTailoringItem> items=new ArrayList<>();
|
|
|
+ items.add(item);
|
|
|
+ maplItems.put(item.getSyPreAssembledPackingListId(),items);
|
|
|
+ }
|
|
|
+ if(mapItemSizes.containsKey(item.getGroupId())){
|
|
|
+ item.setSizeTables(mapItemSizes.get(item.getGroupId()));
|
|
|
+ String planSize="";
|
|
|
+ for (SizeTable size:item.getSizeTables()){
|
|
|
+ planSize+=size.getSize()+":"+size.getQuantity()+"+";
|
|
|
+ }
|
|
|
+ item.setPlanSize(planSize.substring(0,planSize.length()-1));//截取最后一位+号
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (SyPackingListTailoring main : syPackingListTailorings){
|
|
|
+ if(maplItems.containsKey(main.getSyPreAssembledPackingListId())){
|
|
|
+ main.setSyPackingListTailoringItemList(maplItems.get(main.getSyPreAssembledPackingListId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return syPackingListTailorings;
|
|
|
+// 获得所有尺码组
|
|
|
+// List<SizeTable> sizes=syPreAssembledPackingListItemMapper.querySizes2(ids);
|
|
|
+// if(sizes.size()>0){
|
|
|
+// syPackingListTailoring.setSizeTables(this.sort(sizes));
|
|
|
+// }
|
|
|
+ //获取所有id的子表数据
|
|
|
+ /*if(items.size()>0){
|
|
|
for (SyPackingListTailoringItem item : items){
|
|
|
//循环子表获得尺码组
|
|
|
item.setSizeTables(sort(syPreAssembledPackingListItemMapper.querySize2(item.getGroupId(),item.getSyPreAssembledPackingListId())));
|
|
@@ -1433,7 +1567,6 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
item.setPlanSize(planSize.substring(0,planSize.length()-1));//截取最后一位+号
|
|
|
}
|
|
|
syPackingListTailoring.setSyPackingListTailoringItemList(items);
|
|
|
- }
|
|
|
- return syPackingListTailorings.size();
|
|
|
- }*/
|
|
|
+ }*/
|
|
|
+ }
|
|
|
}
|