Browse Source

面辅料导入改版

huxy 2 years ago
parent
commit
ccd9a906d0

+ 52 - 69
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/controller/SyPackingListFabricController.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.splfi.controller;
 
 import java.io.File;
+import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
 import java.io.IOException;
 import java.lang.reflect.Array;
@@ -19,7 +20,9 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
-import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
@@ -461,39 +464,19 @@ public class SyPackingListFabricController {
 	public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
 	  MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
 	  Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
-	  for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-		  MultipartFile file = entity.getValue();// 获取上传文件对象
-		  ImportParams params = new ImportParams();
-		  //params.setTitleRows(1);//注释后就能读取数据了
-		  //params.setHeadRows(1);
-		  params.setNeedSave(true);
+	  for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()){
 		  try {
-			  List<SyPackingListFabricVo> list = ExcelImportUtil.importExcel(file.getInputStream(), SyPackingListFabricVo.class, params);
-			  Map<String,SyPackingListFabric> maps=new HashMap<>();
-			  for (SyPackingListFabricVo vo : list) {
-				  SyPackingListFabricItem po =new SyPackingListFabricItem();
-				  BeanUtils.copyProperties(vo,po);
-			  	 if(!maps.containsKey(vo.getSyShippingDetailsId())){
-					 SyPackingListFabric main =new SyPackingListFabric();
-					 main.setGarmentFactory(vo.getTheGarmentFactory());//成衣工厂
-					 main.setSyPackingListFabricItem(new ArrayList<>());
-					 main.getSyPackingListFabricItem().add(po);
-					 maps.put(vo.getSyShippingDetailsId(),main);
-				 }else{
-			  	 	maps.get(vo.getSyShippingDetailsId()).getSyPackingListFabricItem().add(po);
-				 }
-			  }
-			  syPackingListFabricService.excelAdd(maps);
-			  return Result.OK("文件导入成功!数据行数:" + list.size());
+			  MultipartFile file = entity.getValue();// 获取上传文件对象
+			  InputStream inputStream=file.getInputStream();
+			  Workbook workbook=new XSSFWorkbook(inputStream);
+			  Map<String,SyPackingListFabric> maps=refreshSheet(workbook);
+			  syPackingListFabricService.excelAdd(maps);//循环
+			  return Result.OK("文件导入成功!数据行数:" + maps.size());
 		  } catch (Exception e) {
 			  log.error(e.getMessage(),e);
 			  return Result.error("文件导入失败:"+e.getMessage());
 		  } finally {
-			  try {
-				  file.getInputStream().close();
-			  } catch (IOException e) {
-				  e.printStackTrace();
-			  }
+
 		  }
 	  }
 	  return Result.OK("文件导入失败!");
@@ -507,56 +490,54 @@ public class SyPackingListFabricController {
 	  * @return
 	  */
 	 @RequestMapping(value = "/importExcel2", method = RequestMethod.POST)
-	 public Result<?> importExcel2(HttpServletRequest request, HttpServletResponse response) {
+	 public Result<?> importExcel2(HttpServletRequest request, HttpServletResponse response) throws IOException {
 		 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
 		 Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
-		 for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-			 MultipartFile file = entity.getValue();// 获取上传文件对象
-			 ImportParams params = new ImportParams();
-			 //params.setTitleRows(1);//注释后就能读取数据了
-			 //params.setHeadRows(1);
-			 params.setNeedSave(true);
+		 for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()){
 			 try {
-				 List<SyPackingListFabricVo> list = ExcelImportUtil.importExcel(file.getInputStream(), SyPackingListFabricVo.class, params);
-				 Map<String,SyPackingListFabric> maps=new HashMap<>();
-				 for (SyPackingListFabricVo vo : list) {
-					 SyPackingListFabricItem po =new SyPackingListFabricItem();
-					 BeanUtils.copyProperties(vo,po);
-					 if(po==null){
-					 	continue;
-					 }
-					 if(vo.getManualYarnFlag1()!=null&&vo.getManualYarnFlag1().equals("是")){
-						 po.setManualYarnFlag(1);
-					 }else{
-						 po.setManualYarnFlag(0);
+				 MultipartFile file = entity.getValue();// 获取上传文件对象
+				 InputStream inputStream=file.getInputStream();
+				 Workbook workbook=new XSSFWorkbook(inputStream);
+				 Map<String,SyPackingListFabric> maps=refreshSheet(workbook);
+				 String str=syPackingListFabricService.excelTest(maps);//循环
+				 return Result.OK(str);
+			 } catch (Exception e) {
+				 log.error(e.getMessage(),e);
+				 return Result.error("文件导入失败:"+e.getMessage());
+			 } finally {
+
+			 }
+		 }
+		 return Result.OK("文件导入失败!");
+	 }
+
+	 public Map<String,SyPackingListFabric>  refreshSheet(Workbook workbook1) {
+		 Map<String,SyPackingListFabric> maps=new HashMap<>();
+		 Iterator sheets=workbook1.sheetIterator();
+		 while (sheets.hasNext()){
+			 Sheet sheet=(Sheet) sheets.next();
+			 for (int x=0;x<=sheet.getLastRowNum();x++){
+				 Row row=sheet.getRow(x);
+				 if(x>3){
+					 List<String> itemStrs=new ArrayList<>();
+					 for (int i=0;i<row.getLastCellNum();i++){
+						 Cell cell=row.getCell(i);
+						 itemStrs.add(cell.toString());
 					 }
-					 if(!maps.containsKey(vo.getSyShippingDetailsId())){
+					 SyPackingListFabricItem syPackingListFabricItem=new SyPackingListFabricItem(itemStrs.toArray(new String[itemStrs.size()]));
+					 if(!maps.containsKey(syPackingListFabricItem.getGarmentFactory())){
 						 SyPackingListFabric main =new SyPackingListFabric();
-						 main.setGarmentFactory(vo.getTheGarmentFactory());//成衣工厂
+						 main.setGarmentFactory(syPackingListFabricItem.getGarmentFactory());//成衣工厂
 						 main.setSyPackingListFabricItem(new ArrayList<>());
-						 main.getSyPackingListFabricItem().add(po);
-						 maps.put(vo.getSyShippingDetailsId(),main);
+						 main.getSyPackingListFabricItem().add(syPackingListFabricItem);
+						 maps.put(syPackingListFabricItem.getGarmentFactory(),main);
 					 }else{
-						 maps.get(vo.getSyShippingDetailsId()).getSyPackingListFabricItem().add(po);
+						 maps.get(syPackingListFabricItem.getGarmentFactory()).getSyPackingListFabricItem().add(syPackingListFabricItem);
 					 }
 				 }
-				 String strs=syPackingListFabricService.excelTest(maps);
-				 if(strs!=null){
-					 return Result.OK(strs);
-				 }
-				 return Result.OK("文件导入成功!数据行数:" + list.size());
-			 } catch (Exception e) {
-				 log.error(e.getMessage(),e);
-				 return Result.error("文件导入失败:"+e.getMessage());
-			 } finally {
-				 try {
-					 file.getInputStream().close();
-				 } catch (IOException e) {
-					 e.printStackTrace();
-				 }
 			 }
 		 }
-		 return Result.OK("文件导入失败!");
+		 return maps;
 	 }
 
 	@AutoLog(value = "手动同步辅料数据")
@@ -758,4 +739,6 @@ public class SyPackingListFabricController {
 		}
 		return result;
 	 }
-}
+
+
+ }

+ 17 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/entity/SyPackingListFabric.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.splfi.entity;
 
 import java.io.Serializable;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 
@@ -157,4 +158,20 @@ public class SyPackingListFabric implements Serializable {
 	/**数组来源 1代表正常流程 2代表u8获取的数据 3代表云工厂推送的数据*/
 	@ApiModelProperty(value = "数组来源")
 	private String dataSource;
+
+	public SyPackingListFabric(){
+
+	}
+
+	public SyPackingListFabric(String [] strs){
+//		单号				 		集装箱号					成衣工厂	 		铅封号
+//		外销发票号						制单日期		 								报关合同号
+		//documentNo=strs[0];
+		containerNumber=strs[0];
+		garmentFactory=strs[0];
+		plumbumNo=strs[0];
+		exportInvoiceNo=strs[0];
+		//createTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(strs[0]) ;
+		//documentNo=strs[0];
+	}
 }

+ 81 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/entity/SyPackingListFabricItem.java

@@ -9,6 +9,8 @@ import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.math.BigDecimal;
 import java.util.Date;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -337,8 +339,87 @@ public class SyPackingListFabricItem implements Serializable {
 	@ApiModelProperty(value = "委外采购子表Id")
 	private java.lang.String ompoIdItem;
 
+	/**成衣工厂*/
+	@ApiModelProperty(value = "成衣工厂")
+	@TableField(exist = false)
+	private String garmentFactory;
+
 	/**报关单价*/
 	@Excel(name = "报关单价", width = 15)
 	@ApiModelProperty(value = "报关单价")
 	private java.math.BigDecimal customsDeclarationUnitPrice;
+
+	public SyPackingListFabricItem(){
+
+	}
+
+	public SyPackingListFabricItem(String [] strs){
+		for (int i=0;i<strs.length;i++){
+			System.out.println(strs[i]+"\t"+i);
+		}
+		syShippingDetailsId=strs[0];//主表ID
+		syShippingDetailsItemId=strs[1];//子表ID
+		elementsId=strs[2];//报关ID
+		garmentFactory=strs[3];//成衣工厂
+		salesman=strs[4];//业务员
+		planLotNumber=strs[5];//计划单号
+		itemNumber=strs[6];//款号
+		colour=strs[7];//颜色
+		declarationName=strs[8];//报关品名
+		supplierCodeDyeingPlant=strs[11];//供应商编码(染厂)
+		supplierDyeingPlant=strs[12];//供应商(染厂)
+		supplierCodePrintingPlant=strs[13];//供应商编码(印厂)
+		supplierPrintingPlant=strs[14];//供应商(印厂)
+		specificationAndModel=strs[15];//规格型号
+		masterMetering=strs[16];//单位
+		dyelotNumber=strs[17];//缸号
+		width=strs[9];//门幅
+		gramWeight=strs[10];//克重
+		if(strs[18]==null||strs[18].equals("")){
+			rolls=new BigDecimal(0);//匹数
+		}else{
+			rolls=new BigDecimal(strs[18]);//匹数
+		}
+		if(strs[19]==null||strs[19].equals("")){
+			grossWeight=new BigDecimal(0);//毛重
+		}else{
+			grossWeight=new BigDecimal(strs[19] );//毛重
+		}
+		if(strs[20]==null||strs[20].equals("")){
+			netWeight=new BigDecimal(0);//净重
+		}else{
+			netWeight=new BigDecimal(strs[20] );//净重
+		}
+		if(strs[21]==null||strs[21].equals("")){
+			afterHeavy=new BigDecimal(0);//染后重
+		}else{
+			afterHeavy=new BigDecimal(strs[21] );//染后重
+		}
+		if(strs[22]==null||strs[22].equals("")){
+			kaoClothWeight=new BigDecimal(0);//拷布重
+		}else{
+			kaoClothWeight=new BigDecimal(strs[22] );//拷布重
+		}
+		if(strs[24]==null||strs[24].equals("")){
+			actualDeclaredQuantity=new BigDecimal(0);//实际报关数量
+		}else{
+			actualDeclaredQuantity=new BigDecimal(strs[24] );//实际报关数量
+		}
+		mannerOfPacking=strs[25];//包装方式
+		treatmentMethod=strs[26];//处理方式
+		containerNumber=strs[27];//柜号
+		remarks2=strs[28];//备注
+		BigDecimal width1=new BigDecimal("0");
+		BigDecimal gramWeight2=new BigDecimal("0");
+		if(width!=null&&!width.equals("")){
+			width1=new BigDecimal(width);
+		}
+		if(gramWeight!=null&&!gramWeight.equals("")){
+			gramWeight2=new BigDecimal(gramWeight);
+		}
+		if(netWeight.doubleValue()>0&&width1.doubleValue()>0&&gramWeight2.doubleValue()>0){
+			BigDecimal num=new BigDecimal("100000");
+			meter=netWeight.multiply(num).divide(width1).divide(gramWeight2);//净重*100000/门幅/克重
+		}
+	}
 }

+ 24 - 8
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/impl/SyPackingListFabricServiceImpl.java

@@ -544,7 +544,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	}
 
 	@Override
-	//@Transactional
+	@Transactional
 	public boolean excelAdd(Map<String,SyPackingListFabric> maps) {
 		boolean bool=false;
 		try{
@@ -563,17 +563,30 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				syPackingListFabricMapper.insert(syPackingListFabric);
 				List<SyPackingListFabricItem> items=syPackingListFabric.getSyPackingListFabricItem();
 				for(SyPackingListFabricItem item :items){
+					SyShippingDetailsItem syShippingDetailsItem=syShippingDetailsItemMapper.selectById(item.getSyShippingDetailsItemId());//itemid
+					if(item==null){
+						throw new JeecgBootException("出运明细未找到对应数据");
+					}
 					if(item.getActualDeclaredQuantity()!=null){
-						item.setTotalPrice(item.getActualDeclaredQuantity().multiply(item.getPrice()));//实际报关数量*单价
+						item.setTotalPrice(item.getActualDeclaredQuantity().multiply(syShippingDetailsItem.getSalesUnitPrice()));//实际报关数量*单价
 					}
-					if((item.getInventoryCode().indexOf("03")!=-1&&!item.getInventoryCode().equals("0399")) ||
-							(item.getInventoryCode().indexOf("04")!=-1&&!item.getInventoryCode().equals("0499"))){
-						if(item!=null&&item.getMasterMetering().equals("KG")){//当单位为KG时
-							item.setTotalPrice(item.getNetWeight().multiply(item.getPrice()));//净重*单价
-						}else if(item!=null&&item.getMasterMetering().equals("M")){
-							item.setTotalPrice(item.getMeter().multiply(item.getPrice()));//米数*单价
+					if((syShippingDetailsItem.getInventoryCode().indexOf("03")!=-1&&!syShippingDetailsItem.getInventoryCode().equals("0399")) ||
+							(syShippingDetailsItem.getInventoryCode().indexOf("04")!=-1&&!syShippingDetailsItem.getInventoryCode().equals("0499"))){
+						if( item.getMasterMetering().equals("KG")){//当单位为KG时
+							item.setTotalPrice(item.getNetWeight().multiply(syShippingDetailsItem.getSalesUnitPrice()));//净重*单价
+						}else if( item.getMasterMetering().equals("M")){
+							if(item.getMeter()==null){
+								throw new JeecgBootException("净重、门幅、克重之间有值为空,无法获取米数计算总价");
+							}
+							item.setTotalPrice(item.getMeter().multiply(syShippingDetailsItem.getSalesUnitPrice()));//米数*单价
 						}
 					}
+					item.setInventoryCcode(syShippingDetailsItem.getInventoryCcode());//物料分类
+					item.setInventoryCode(syShippingDetailsItem.getInventoryCode());//物料编码
+					item.setOmpoId(syShippingDetailsItem.getOmpoId());
+					item.setOmpoIdItem(syShippingDetailsItem.getOmpoId());
+					item.setOmpoAccount(syShippingDetailsItem.getAccount());
+
 					item.setDelFlag("0");//是否删除
 					item.setSyPackingListFabricId(syPackingListFabric.getId());
 					syPackingListFabricItemMapper.insert(item);
@@ -621,6 +634,9 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 							if(item!=null&&item.getMasterMetering().equals("KG")){//KG
 								item.setTotalPrice(item.getNetWeight().multiply(item.getPrice()));//净重*单价
 							}else if(item!=null&&item.getMasterMetering().equals("M")){//M
+								if(item.getMeter()==null){
+									throw new JeecgBootException("净重、门幅、克重之间有值为空,无法获取米数计算总价");
+								}
 								item.setTotalPrice(item.getMeter().multiply(item.getPrice()));//米数*单价
 							}else if(item.getActualDeclaredQuantity()!=null){//其他
 								item.setTotalPrice(item.getActualDeclaredQuantity().multiply(item.getPrice()));//米数*单价

+ 48 - 55
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/impl/SyPackingListTailoringServiceImpl.java

@@ -58,59 +58,6 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 	@Autowired
 	private SyShippingOrderItemMapper syShippingOrderItemMapper;//托书主表
 
-	BigDecimal add(List<SyPackingListTailoringItem> items,String pid,String elements_id){
-		BigDecimal box=new BigDecimal(0);//获取总箱数
-		for (SyPackingListTailoringItem item : items){
-			List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息
-			item.setSyPackingListTailoringId(pid);//获取主表id
-			item.setElementsId(elements_id);//申报要素id
-			BigDecimal boxNumber1=item.getBoxNumber();//获取箱数
-			box=box.add(boxNumber1);//合计
-			item.setGroupId(oConvertUtils.id());//分组随机id
-			item.setDelFlag("0");//默认为未删除
-			for (SizeTable size : sizes){
-				SyPackingListTailoringItem item1=item;
-				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.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.divide(new BigDecimal(1000000)));//获取总体积	长*宽*高*箱数*/
-
-				item1.setSyPreAssembledPackingListItemId(size.getItemId());//获取到预装箱单子表id
-				item1.setSort(size.getNum());//获取序号
-				item1.setId(oConvertUtils.id());//获取到随机id
-				SyPreAssembledPackingListItem syPreItem=syPreAssembledPackingListItemMapper.selectById(item.getSyPreAssembledPackingListItemId());//获取预装箱单数据
-				syPreItem.setRemainingQuantity(syPreItem.getRemainingQuantity().subtract(item.getTotal()));//新剩余数量=原剩余数量-装箱单新增数量
-				syPreItem.setExcessQuantity(syPreItem.getRemainingQuantity().subtract(item1.getTotal()).negate());
-				item1.setSalesman(syPreItem.getSalesman());//获取业务员
-				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.setOmpoIdItem(syPreItem.getOmpoIdItem());//获取采购委外子表id
-				item1.setOmpoAccount(syPreItem.getOmpoAccount());//委外采购账套号
-				item1.setSupplier(syPreItem.getSupplier());
-				item1.setSupplierCode(syPreItem.getSupplierCode());
-				syPreAssembledPackingListItemMapper.updateById(syPreItem);//修改剩余数量
-				syPackingListTailoringItemMapper.insert(item1);//添加子表数据
-			}
-		}
-		return box;
-	}
-
 	BigDecimal update(List<SyPackingListTailoringItem> items,String pid){
 		BigDecimal box=new BigDecimal(0);//获取总箱数
 		for (SyPackingListTailoringItem item : items){
@@ -185,8 +132,54 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			syPackingListTailoring.setSyOrderDataId(syPackingListTailoring.getSyOrderDataId());
 		}
 		if(syPackingListTailoring.getSyPackingListTailoringItemList()!=null){
-			BigDecimal box=add(syPackingListTailoring.getSyPackingListTailoringItemList(),syPackingListTailoring.getId(),syPackingListTailoring.getElementsId());
-			syPackingListTailoring.setTotalBoxes(box);
+			syPackingListTailoring.setTotalBoxes(new BigDecimal("0"));//总箱数
+			syPackingListTailoring.setTotal(new BigDecimal("0"));//总件数
+			syPackingListTailoring.setTotalGrossWeight(new BigDecimal("0"));//总毛重
+			syPackingListTailoring.setTotalNetWeight(new BigDecimal("0"));//总净重
+			syPackingListTailoring.setTotalPrice(new BigDecimal("0"));//总价
+			syPackingListTailoring.setTotalVolume(new BigDecimal("0"));//总体积
+			for (SyPackingListTailoringItem item : items){
+				List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息
+				item.setSyPackingListTailoringId(syPackingListTailoring.getId());//获取主表id
+				item.setElementsId(syPackingListTailoring.getElementsId());//申报要素id
+				syPackingListTailoring.setTotalBoxes(syPackingListTailoring.getTotalBoxes().add(item.getBoxNumber()));//总箱数
+				syPackingListTailoring.setTotal(syPackingListTailoring.getTotal().add(item.getTotal()));//总件数
+				syPackingListTailoring.setTotalGrossWeight(syPackingListTailoring.getTotalGrossWeight().add(item.getTotalGrossWeight()));//总毛重
+				syPackingListTailoring.setTotalNetWeight(syPackingListTailoring.getTotalNetWeight().add(item.getTotalNetWeight()));//总净重
+				syPackingListTailoring.setTotalPrice(syPackingListTailoring.getTotalPrice().add(item.getTotalPrice()));//总价
+				syPackingListTailoring.setTotalVolume(syPackingListTailoring.getTotalVolume().add(item.getTotalVolume()));//总体积
+				BigDecimal boxNumber1=item.getBoxNumber();//获取箱数
+				item.setGroupId(oConvertUtils.id());//分组随机id
+				item.setDelFlag("0");//默认为未删除
+				for (SizeTable size : sizes){
+					SyPackingListTailoringItem item1=item;
+					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=syPreAssembledPackingListItemMapper.selectById(item.getSyPreAssembledPackingListItemId());//获取预装箱单数据
+					syPreItem.setRemainingQuantity(syPreItem.getRemainingQuantity().subtract(item.getTotal()));//新剩余数量=原剩余数量-装箱单新增数量
+					syPreItem.setExcessQuantity(syPreItem.getRemainingQuantity().subtract(item1.getTotal()).negate());
+					item1.setSalesman(syPreItem.getSalesman());//获取业务员
+					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.setOmpoIdItem(syPreItem.getOmpoIdItem());//获取采购委外子表id
+					item1.setOmpoAccount(syPreItem.getOmpoAccount());//委外采购账套号
+					item1.setSupplier(syPreItem.getSupplier());
+					item1.setSupplierCode(syPreItem.getSupplierCode());
+					syPreAssembledPackingListItemMapper.updateById(syPreItem);//修改剩余数量
+					syPackingListTailoringItemMapper.insert(item1);//添加子表数据
+				}
+			}
 			syPackingListTailoringMapper.updateById(syPackingListTailoring);
 		}
 		return syPackingListTailoring;