Browse Source

推送u8调整,成衣参照优化

huxy 2 năm trước cách đây
mục cha
commit
a585f36f10

+ 10 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/xml/SyPreAssembledPackingListItemMapper.xml

@@ -437,7 +437,16 @@
 			pack_id)
 			VALUES
 			<foreach collection="list" item="entity" index="index" separator="," >
-				(#{entity.id}, #{entity.syPreAssembledPackingListId}, #{entity.syDeclarationElementsId}, #{entity.syDeclarationElementsItemId}, #{entity.acSetNo}, #{entity.garmentFactory}, #{entity.hod}, #{entity.styleNo}, #{entity.poNo}, #{entity.itemCode}, #{entity.distributionPoint}, #{entity.prepackSku}, #{entity.size}, #{entity.startingBoxNumber}, #{entity.endCaseNumber}, #{entity.colour}, #{entity.piecesBox}, #{entity.boxNumber}, #{entity.total}, #{entity.netWeight}, #{entity.totalNetWeight}, #{entity.grossWeight}, #{entity.totalGrossWeight}, #{entity.outerBoxLength}, #{entity.outerBoxWidth}, #{entity.outerBoxHeight}, #{entity.totalVolume}, #{entity.netWeightToo}, #{entity.unitPrice}, #{entity.totalPrice}, #{entity.sort}, #{entity.createBy}, #{entity.createTime}, #{entity.updateBy}, #{entity.updateTime}, #{entity.pkOrg}, #{entity.delFlag}, #{entity.memo}, #{entity.withCode}, #{entity.smallPo}, #{entity.inventoryName}, #{entity.factoryUnitPrice}, #{entity.masterMetering}, #{entity.groupId}, #{entity.inventoryCode}, #{entity.planQuantity}, #{entity.actualPackingQty}, #{entity.spurOrSubOrder}, #{entity.syOrderDataId}, #{entity.syOrderDataItemId}, #{entity.inventoryCcode}, #{entity.supplierCode}, #{entity.supplier}, #{entity.ompoAccount}, #{entity.ompoId}, #{entity.ompoIdItem}, #{entity.ymoney}, #{entity.planSize}, #{entity.orderNumber}, #{entity.remainingQuantity}, #{entity.salesman}, #{entity.salesDepartment}, #{entity.customsDeclarationUnitPrice}, #{entity.packId})
+				(#{entity.id}, #{entity.syPreAssembledPackingListId}, #{entity.syDeclarationElementsId}, #{entity.syDeclarationElementsItemId}, #{entity.acSetNo},
+				#{entity.garmentFactory}, #{entity.hod}, #{entity.styleNo}, #{entity.poNo}, #{entity.itemCode}, #{entity.distributionPoint}, #{entity.prepackSku},
+				#{entity.size}, #{entity.startingBoxNumber}, #{entity.endCaseNumber}, #{entity.colour}, #{entity.piecesBox}, #{entity.boxNumber}, #{entity.total},
+				#{entity.netWeight}, #{entity.totalNetWeight}, #{entity.grossWeight}, #{entity.totalGrossWeight}, #{entity.outerBoxLength}, #{entity.outerBoxWidth},
+				#{entity.outerBoxHeight}, #{entity.totalVolume}, #{entity.netWeightToo}, #{entity.unitPrice}, #{entity.totalPrice}, #{entity.sort}, #{entity.createBy},
+				#{entity.createTime}, #{entity.updateBy}, #{entity.updateTime}, #{entity.pkOrg}, #{entity.delFlag}, #{entity.memo}, #{entity.withCode}, #{entity.smallPo},
+				#{entity.inventoryName}, #{entity.factoryUnitPrice}, #{entity.masterMetering}, #{entity.groupId}, #{entity.inventoryCode}, #{entity.planQuantity},
+				#{entity.actualPackingQty}, #{entity.spurOrSubOrder}, #{entity.syOrderDataId}, #{entity.syOrderDataItemId}, #{entity.inventoryCcode}, #{entity.supplierCode},
+				#{entity.supplier}, #{entity.ompoAccount}, #{entity.ompoId}, #{entity.ompoIdItem}, #{entity.ymoney}, #{entity.planSize}, #{entity.orderNumber}, #{entity.remainingQuantity},
+				 #{entity.salesman}, #{entity.salesDepartment}, #{entity.customsDeclarationUnitPrice}, #{entity.packId})
 			</foreach>
 
 	</select>

+ 15 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/impl/SyPreAssembledPackingListServiceImpl.java

@@ -25,6 +25,7 @@ import org.jeecg.modules.spapl.service.ISyPreAssembledPackingListService;
 import org.jeecg.modules.spapl.vo.PackingHeaderVo;
 import org.jeecg.modules.spapl.vo.PackingLineVo;
 import org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo;
+import org.jeecg.modules.splfi.entity.SyPackingListFabric;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -679,6 +680,16 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 		}
 		long endTime2 = System.currentTimeMillis();
 		System.out.println("批量查询时间:" + (endTime2 - startTime) + "ms");
+
+		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(day);
+
 		try{
 			for(SyPreAssembledPackingList syPreAssembledPackingList : items1){
 				SimpleDateFormat sf = new SimpleDateFormat("yyMMddHHmmssSSS");
@@ -745,6 +756,9 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 							item1.setSalesDepartment(syItem.getSalesDepartment());//获取销售部门
 							item1.setInventoryCode(syItem.getInventoryCode());
 							item1.setInventoryCcode(syItem.getInventoryCcode());
+
+							item1.setCreateTime(day);
+
 							item1.setSyOrderDataId(syItem.getSyOrderDataId());
 							item1.setSyOrderDataItemId(syItem.getSyOrderDataItemId());
 							item1.setOrderNumber(syItem.getOrderNumber()); //销售订单号
@@ -777,7 +791,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 						}
 						SyPreAssembledPackingListItem item2=new SyPreAssembledPackingListItem();
 						BeanUtils.copyProperties(item1,item2);
-						item2.setPackId("测试文件");
+						//item2.setPackId("测试文件");
 						listItems.add(item2);
 						//syPreAssembledPackingListItemMapper.insert(item1);//添加子表数据
 					}

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

@@ -999,6 +999,14 @@ public class SyPackingListFabricController {
 					 return result;
 				 }
 			 }
+			 if(main.getRecordingStatus()!=null&&main.getRecordingStatus()==1){
+				 result.setSuccess(false);
+				 result.setMessage("数据在推送中,请不要重复点击");
+				 return result;
+			 }else{
+				 main.setRecordingStatus(1);
+				 syPackingListFabricService.updateById(main);//修改成衣
+			 }
 			 List<SyPackingListFabricItem> items=syPackingListFabricItemService.selectByMainId3(ids);
 			 String message="";//获取报错消息
 			 String account="";//当前账套 
@@ -1064,6 +1072,7 @@ public class SyPackingListFabricController {
 				 result.setMessage(message);
 			 }
 			 result.setResult(main);
+			 main.setRecordingStatus(2);
 			 syPackingListFabricService.updateById(main);//修改成衣
 		 }catch (Exception e){
 			 e.printStackTrace();

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

@@ -197,6 +197,10 @@ public class SyPackingListFabric implements Serializable {
 	@ApiModelProperty(value = "u8推送记录")
 	private String recording;
 
+	/*u8推送状态*/
+	@ApiModelProperty(value = "u8推送状态")
+	private Integer recordingStatus;
+
 	/*isSucceed*/
 	@ApiModelProperty(value = "是否成功推送核销出库单")
 	private String isSucceed;

+ 21 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/controller/SyPackingListTailoringController.java

@@ -201,12 +201,18 @@ public class SyPackingListTailoringController {
 			 result.setMessage("未获取到id的信息");
 			 return result;
 		 }
+		 long startTime = System.currentTimeMillis();
 		// int num=0;
-		 for (String id : ids){
+		 /*for (String id : ids){
+		 	//List<SyPackingListTailoring> syPackingListTailorings=syPackingListTailoringService.querySpaplId(id);
 			SyPackingListTailoring syPackingListTailoring=syPackingListTailoringService.querySpaplId(id);
 			syPackingListTailoringService.saveMain2(syPackingListTailoring);
 			//num++;
-		 }
+		 }*/
+		 List<SyPackingListTailoring> syPackingListTailorings=syPackingListTailoringService.querySpaplIds(ids);
+		 syPackingListTailoringService.saveMain3(syPackingListTailorings,ids);
+		 long endTime2 = System.currentTimeMillis();
+		 System.out.println("生成时间:" + (endTime2 - startTime) + "ms");
 		 result.setMessage("生成"+ids.length+"条数据!");
 		 result.setSuccess(true);
 		 return result;
@@ -1274,6 +1280,7 @@ public class SyPackingListTailoringController {
 	 public  Result pushToU8(String ids) {
 	 	Result result=new Result();
 	 	try {
+			long startTime = System.currentTimeMillis();
 			if(oConvertUtils.isEmpty(ids)){
 				result.setSuccess(false);
 				result.setMessage("请至少选中一条数据");
@@ -1312,7 +1319,17 @@ public class SyPackingListTailoringController {
 					return result;
 				}
 			}
-			System.out.println("main\n"+main);
+			if(main.getRecordingStatus()!=null&&main.getRecordingStatus()==1){
+				result.setSuccess(false);
+				result.setMessage("数据在推送中,请不要重复点击");
+				return result;
+			}else{
+				main.setRecordingStatus(1);
+				syPackingListTailoringService.updateById(main);//修改成衣
+			}
+			long endTime2 = System.currentTimeMillis();
+			System.out.println("推送查询时间:" + (endTime2 - startTime) + "ms");
+			System.out.println("getRecordingStatus\t"+main.getRecordingStatus());
 			/*QueryWrapper queryWrapper=new QueryWrapper();
 			queryWrapper.eq("sy_packing_list_tailoring_id",main.getId());
 			queryWrapper.eq("del_flag","0");*/
@@ -1376,6 +1393,7 @@ public class SyPackingListTailoringController {
 				result.setMessage(message);
 			}
 			//result.setResult(main);
+			main.setRecordingStatus(0);
 			syPackingListTailoringService.updateById(main);//修改成衣
 		}catch (Exception e){
 			e.printStackTrace();

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/entity/SyPackingListTailoring.java

@@ -192,6 +192,10 @@ public class SyPackingListTailoring implements Serializable {
 	@ApiModelProperty(value = "u8推送记录")
 	private String recording;
 
+	/*u8推送状态*/
+	@ApiModelProperty(value = "u8推送状态")
+	private Integer recordingStatus;
+
 	/*recording*/
 	@ApiModelProperty(value = "u8推送单据号记录")
 	private String recordingCode;

+ 8 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/SyPackingListTailoringItemMapper.java

@@ -2,7 +2,10 @@ package org.jeecg.modules.splt.mapper;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.spapl.entity.SizeTable;
+import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import org.jeecg.modules.splt.entity.SyPackingListTailoring;
 import org.jeecg.modules.splt.entity.SyPackingListTailoringItem;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -21,6 +24,8 @@ public interface SyPackingListTailoringItemMapper extends BaseMapper<SyPackingLi
 
 	public List<SyPackingListTailoringItem> querySpaplItemId(String id);
 
+	public List<SyPackingListTailoringItem> querySpaplItemIds(@Param("list")String[] id);
+
 	public List<SyPackingListTailoringItem> queryId(String pId);
 
 	public List<SizeTable>size(String group_id, String id);
@@ -28,4 +33,7 @@ public interface SyPackingListTailoringItemMapper extends BaseMapper<SyPackingLi
 	public List<SizeTable> sizes(String id);
 
     List<SyPackingListTailoringItem> getList(String id);
+
+	@InterceptorIgnore(tenantLine = "true")
+	public Integer insertBatch(@Param("list") List<SyPackingListTailoringItem> item);
 }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/SyPackingListTailoringMapper.java

@@ -21,7 +21,7 @@ import java.util.Map;
 public interface SyPackingListTailoringMapper extends BaseMapper<SyPackingListTailoring> {
     public SyPackingListTailoring querySpaplId(String id);
 
-    //public List<SyPackingListTailoring> querySpaplIds(String[] ids);
+    public List<SyPackingListTailoring> querySpaplIds(@Param("list")String[] ids);
 
     public SyPackingListTailoring getMainId(String id);
 

+ 83 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/xml/syPackingListTailoringItemMapper.xml

@@ -71,6 +71,66 @@
 		GROUP BY group_id/*根据发运明细主表物料颜色 -> 改为了按照进行groupId分组*/
 	</select>
 
+	<select id="querySpaplItemIds" resultType="org.jeecg.modules.splt.entity.SyPackingListTailoringItem">
+		SELECT
+			id syPreAssembledPackingListItemId,
+			sy_pre_assembled_packing_list_id syPreAssembledPackingListId,
+			ac_set_no,
+			garment_factory,
+			hod,
+			style_no,
+			po_no,
+			item_code,
+			distribution_point,
+			prepack_sku,
+			size,
+			starting_box_number,
+			end_case_number,
+			colour,
+			pieces_box,
+			master_Metering,/*计量单位*/
+			box_number,
+			sum(total) total,/*件数*/
+			sum(total) plan_Quantity,/*计划装箱数量*/
+			sum(total) actual_Packing_Qty,/*实际装箱数量*/
+			net_weight,
+			total_net_weight total_net_weight,/*总净重*/
+			gross_weight,
+			total_gross_weight total_gross_weight,/*总毛重*/
+			outer_box_length,
+			outer_Box_Width,
+			outer_Box_Height,
+			total_volume total_volume,/*总体积*/
+			net_weight_too,/*净净重*/
+			unit_price,
+			sum(total_price) total_price,/*总价*/
+			with_code,
+			small_po,
+			inventory_name,
+			spur_or_sub_order,
+			factory_unit_price,/*成衣工厂*/
+			order_Number,/*销售订单号号*/
+			customs_declaration_unit_price,/*报关单价*/
+			inventory_Code,/*存货编码*/
+			inventory_Ccode,/*区分成衣跟面辅料*/
+			supplier_Code,/*最底层供应商编码*/
+			supplier,/*最底层供应商名称*/
+			ompo_Account,/*采购委外账套号*/
+			ompo_Id,/*采购委外订单主表id*/
+			ompo_Id_Item,/*采购委外订单子表id*/
+			salesman,/*业务员*/
+			sales_Department,/*业务部门*/
+			ymoney,/*佣金*/
+			group_id
+		FROM  sy_pre_assembled_packing_list_item
+		WHERE sy_pre_assembled_packing_list_id in
+		<foreach collection="list" item="value" index="index" open="(" separator="," close=")">
+			#{value}
+		</foreach>
+		AND del_flag = 0
+		GROUP BY group_id/*根据发运明细主表物料颜色 -> 改为了按照进行groupId分组*/
+	</select>
+
 	<select id="queryId" resultType="org.jeecg.modules.splt.entity.SyPackingListTailoringItem">
 	SELECT
 		id,
@@ -169,4 +229,27 @@
 		group by size,ompo_Id_Item
 		order by ompo_Id_Item
 	</select>
+
+	<select id="insertBatch"   resultType="int">
+		insert into sy_packing_list_tailoring_item
+		(id,sy_packing_list_tailoring_id,sy_Pre_Assembled_Packing_List_Id,sy_Pre_Assembled_Packing_List_Item_Id,ac_set_no,
+		garment_factory,hod,style_no,small_po,po_no,item_code,distribution_point,prepack_sku,size,starting_box_number,end_case_number,colour,pieces_box,box_number,total,
+		net_weight,total_net_weight,gross_weight,total_gross_weight,outer_box_length,outer_box_width,outer_box_height,total_volume,net_weight_too,unit_price,total_price,
+		remarks,create_by,create_time,update_by,update_time,pk_org,del_flag,memo,sort,with_code,inventory_name,group_id,inventory_Code,master_Metering,factory_Unit_Price,
+		plan_Quantity,actual_Packing_Qty,plan_Size,inventory_Ccode,supplier_Code,supplier,ompo_Account,ompo_Id,ompo_Id_Item,ymoney,order_Number,salesman,sales_Department,
+		spur_Or_Sub_Order,elements_Id,customs_declaration_unit_price,sy_order_data_id,sy_order_data_item_id,pack_id) VALUES
+		<foreach collection="list" item="entity" index="index" separator="," >
+			(#{entity.id},#{entity.syPackingListTailoringId},#{entity.syPreAssembledPackingListId},#{entity.syPreAssembledPackingListItemId},#{entity.acSetNo},
+			#{entity.garmentFactory},#{entity.hod},#{entity.styleNo},#{entity.smallPo},#{entity.poNo},#{entity.itemCode},#{entity.distributionPoint},#{entity.prepackSku},
+			#{entity.size},#{entity.startingBoxNumber},#{entity.endCaseNumber},#{entity.colour},#{entity.piecesBox},#{entity.boxNumber},#{entity.total},#{entity.netWeight},
+			#{entity.totalNetWeight},#{entity.grossWeight},#{entity.totalGrossWeight},#{entity.outerBoxLength},#{entity.outerBoxWidth},#{entity.outerBoxHeight},
+			#{entity.totalVolume},#{entity.netWeightToo},#{entity.unitPrice},#{entity.totalPrice},#{entity.remarks},#{entity.createBy},#{entity.createTime},#{entity.updateBy},
+			#{entity.updateTime},#{entity.pkOrg},#{entity.delFlag},#{entity.memo},#{entity.sort},#{entity.withCode},#{entity.inventoryName},#{entity.groupId},#{entity.inventoryCode},
+			#{entity.masterMetering},#{entity.factoryUnitPrice},#{entity.planQuantity},#{entity.actualPackingQty},#{entity.planSize},#{entity.inventoryCcode},#{entity.supplierCode},
+			#{entity.supplier},#{entity.ompoAccount},#{entity.ompoId},#{entity.ompoIdItem},#{entity.ymoney},#{entity.orderNumber},#{entity.salesman},#{entity.salesDepartment},
+			#{entity.spurOrSubOrder},#{entity.elementsId},#{entity.customsDeclarationUnitPrice},#{entity.syOrderDataId},#{entity.syOrderDataItemId},#{entity.packId})
+		</foreach>
+
+	</select>
+
 </mapper>

+ 13 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/xml/syPackingListTailoringMapper.xml

@@ -37,7 +37,7 @@
 
     </select>
 
-    <!--<select id="querySpaplIds" resultType="org.jeecg.modules.splt.entity.SyPackingListTailoring">
+    <select id="querySpaplIds" resultType="org.jeecg.modules.splt.entity.SyPackingListTailoring">
         select
         a.id syPreAssembledPackingListId,/*预装箱单主表id*/
         a.order_Number,/*订单号*/
@@ -45,6 +45,13 @@
        /* a.product_Name,品名*/
         a.size_Range,/*尺码范围*/
         a.customer,/*客户*/
+        a.total_Boxes ,
+        a.total ,
+        a.total_Net_Weight ,
+        a.total_Gross_Weight ,
+        a.total_Volume ,
+        a.total_Price ,
+        a.sy_order_data_id,/*销售订单主表id*/
         a.customer_Abbreviation,/*客户简称*/
         a.spur_Or_Sub_Order purchase,/*采购/委外订单号*/
         a.ompo_Id,/*采购/委外订单号id*/
@@ -68,10 +75,13 @@
         /*a.total_Boxes,总箱数*/
         /*a.garment_Factory,成衣工厂*/
         from sy_pre_assembled_packing_list a
-        where id=#{value}
+        where id in
+        <foreach collection="list" item="value" index="index" open="(" separator="," close=")">
+            #{value}
+        </foreach>
         and a.del_flag=0
 
-    </select>-->
+    </select>
 
     <update id="deleteByMainId" parameterType="java.lang.String">
         update sy_packing_list_tailoring set del_flag='1' where id=#{value}

+ 8 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/ISyPackingListTailoringService.java

@@ -29,6 +29,13 @@ public interface ISyPackingListTailoringService extends IService<SyPackingListTa
 	 */
 	public SyPackingListTailoring saveMain2(SyPackingListTailoring syPackingListTailoring) ;
 
+	/**
+	 * 添加一对多
+	 *
+	 */
+	public void saveMain3(List<SyPackingListTailoring> syPackingListTailoring,String[] ids) ;
+
+
 	/**
 	 * 循环添加
 	 *
@@ -104,5 +111,5 @@ public interface ISyPackingListTailoringService extends IService<SyPackingListTa
 
 	public Map<String,Object> getSyShippingOrder(String id);
 
-	//public Integer querySpaplIds(String[] ids);
+	public List<SyPackingListTailoring> querySpaplIds(String[] ids);
 }

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

@@ -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();
-	}*/
+		}*/
+	}
 }