Browse Source

预装箱单-添加分组id、计划装箱数量、实际装箱数量

huxy 2 years ago
parent
commit
6b6fef3934

+ 12 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/controller/SyPreAssembledPackingListController.java

@@ -602,4 +602,16 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
 	 public List<SizeTable> table(@RequestParam(name="ids",required=true)String ids){
 		 return syPreAssembledPackingListItemService.querySizes(ids.split(","));
 	 }*/
+
+	@AutoLog(value = "流水号")
+	 @ApiOperation(value="流水号", notes="流水号")
+	 @GetMapping(value = "/liushuihao")
+	 public String table(){
+		SimpleDateFormat sf= new SimpleDateFormat("yyMMdd");
+		QueryWrapper<SyPreAssembledPackingList> queryWrapperCount=new QueryWrapper<>();
+		queryWrapperCount.like("create_time", new SimpleDateFormat("yyyy-MM-dd").format(System.currentTimeMillis()));
+		queryWrapperCount.select("lpad(count(0)+1,6,0) as id");
+		String dateNo ="YCY"+sf.format(System.currentTimeMillis())+syPreAssembledPackingListService.getOne(queryWrapperCount).getId();;
+		return dateNo;
+	 }
 }

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SyPreAssembledPackingList.java

@@ -70,10 +70,10 @@ public class SyPreAssembledPackingList implements Serializable {
 	/**成衣工厂*/
 	@ApiModelProperty(value = "成衣工厂")
 	private String garmentFactory;
-	/**总箱数*//*
+	/**总箱数*/
 	@ApiModelProperty(value = "总箱数")
 	private java.math.BigDecimal totalBoxes;
-	*//**总净重*//*
+	/**总净重*//*
 	@ApiModelProperty(value = "总净重")
 	private java.math.BigDecimal totalNetWeight;
 	*//**总毛重*//*

+ 14 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SyPreAssembledPackingListItem.java

@@ -104,10 +104,15 @@ public class SyPreAssembledPackingListItem implements Serializable {
     @Excel(name = "总件数", width = 15,isStatistics = true)
 	@ApiModelProperty(value = "总件数")
 	private java.math.BigDecimal total;
-	/**计划装箱数量*//*
+	/**计划装箱数量*/
 	@Excel(name = "计划装箱数量", width = 15,isStatistics = true)
 	@ApiModelProperty(value = "计划装箱数量")
-	private java.math.BigDecimal planQuantity;*/
+	private java.math.BigDecimal planQuantity;
+	/**计划装箱数量*/
+	@Excel(name = "实际装箱数量", width = 15,isStatistics = true)
+	@ApiModelProperty(value = "实际装箱数量")
+	private java.math.BigDecimal actualPackingQty;
+
 	/**净重/箱*/
    // @Excel(name = "净重/箱", width = 15)
 	@ApiModelProperty(value = "净重/箱")
@@ -221,13 +226,19 @@ public class SyPreAssembledPackingListItem implements Serializable {
 	@ApiModelProperty(value = "客户简称")
 	private java.lang.String customerAbbreviation;
 
+	@ApiModelProperty(value = "分组id")
+	private String groupId;
+
 	/**二维表格*/
 	@TableField(exist = false)
 	//@ExcelCollection(name="二维表格")
 	@ApiModelProperty(value = "二维表格")
 	private List<SizeTable> sizeTables;
 
-
+	/**存货编码*/
+	@Excel(name = "存货编码", width = 15)
+	@ApiModelProperty(value = "存货编码")
+	private java.lang.String inventoryCode;
 
 	/**客户简称*//*
 	@ApiModelProperty(value = "客户简称")

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

@@ -32,7 +32,7 @@ public interface SyPreAssembledPackingListItemMapper extends BaseMapper<SyPreAss
 
 	public List<SizeTable> querySize(@Param("value")String value,@Param("color")String color);
 
-	public List<SizeTable> querySize2(@Param("colour")String colour,@Param("value2") String pid);
+	public List<SizeTable> querySize2(@Param("groupId")String groupId,@Param("value2") String pid);
 
 	@InterceptorIgnore(tenantLine = "true")
 	public List<PackingLineVo> pushData(String id);

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

@@ -29,14 +29,16 @@
 			pieces_box,
 			box_number boxnumber,/*箱数*/
 			sum(total) total,/*件数*/
+			plan_Quantity,/*计划装箱数量*/
+			actual_Packing_Qty,/*实际装箱数量*/
 			net_weight,
-			total_net_weight total_net_weight,/*总净重*/
+			sum(total_net_weight) total_net_weight,/*总净重*/
 			gross_weight,
-			total_gross_weight total_gross_weight,/*总毛重*/
+			sum(total_gross_weight) total_gross_weight,/*总毛重*/
 			outer_box_length,/*长*/
 			outer_Box_Width,/*宽*/
 			outer_Box_Height,/*高*/
-			total_volume total_volume,/*总体积*/
+			sum(total_volume) total_volume,/*总体积*/
 			net_weight_too net_weight_too,/*净净重*/
 			unit_price,
 			sum(total_price) total_price,/*总价*/
@@ -46,19 +48,20 @@
 			spur_or_sub_order,
 			factory_unit_price,
 			master_Metering,
+			group_id,
 			/*SUM(total_quantity) total_quantity,合计数量/件数*/
 			customer_abbreviation
 		FROM  sy_pre_assembled_packing_list_item
 		WHERE sy_pre_assembled_packing_list_id = #{value} AND del_flag = 0
-		GROUP BY colour/*根据发运明细主表id分组 改为了按照 颜色进行分组*/
+		GROUP BY group_id/*原本按照颜色进行分组 现改为按照分组id*/
 	</select>
 
 	<select id="selectSyShippingDetailsItemData" parameterType="java.lang.String" resultType="org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem">
 		 SELECT
-		 	shipping_details_id syDeclarationElementsId,/*发育明细主表id s*/
+		 	sy_shipping_details_item.shipping_details_id syDeclarationElementsId,/*发育明细主表id s*/
 		 	sy_shipping_details_item.id syDeclarationElementsItemId,/*发育明细子表id s*/
             sy_shipping_details.pre_delivery_date hod, /*预发货日期 m*/
-          	sy_shipping_details_item.small_Po poNo, /*小PO sxx*/
+          	sy_shipping_details_item.order_Number poNo, /*pono 发育明细子表订单号 sxx*/
 		 	sy_shipping_details_item.account acSetNo,/*单据号 s*/
 		 	sy_shipping_details.garment_Factory garment_Factory, /*成衣工厂*/
 			sy_shipping_details_item.distribution_point distributionPoint,/*分销点 s*/
@@ -72,10 +75,13 @@
           	sy_shipping_details_item.customer_Abbreviation customerAbbreviation, /*客户简称 s*/
            	sy_shipping_details_item.distribution_Point distributionPoint, /*分销点 s*/
             sy_shipping_details_item.inventory_Name inventoryName, /*存货名称 s*/
+            sy_shipping_details_item.inventory_code  inventoryCode,/*存货code*/
             sum(sy_shipping_details_item.shipment_Quantity) total,/*数量 s*/
+			sum(sy_shipping_details_item.shipment_Quantity) plan_Quantity,/*计划装箱数量*/
+			sum(sy_shipping_details_item.shipment_Quantity) actual_Packing_Qty,/*实际装箱数量*/
             SUM(sy_shipping_details_item.shipment_Quantity)/sy_order_data_item.box_Number piecesBox,/*每箱件数*/
             sy_order_data_item.box_Number boxNumber,/*箱数*/
-            sy_shipping_details_item.pur_Or_Sub_Order  purOrSubOrder /*采购/委外订单号 s*/
+            sy_shipping_details_item.pur_Or_Sub_Order  spurOrSubOrder/*采购/委外订单号 s*/
 		 FROM sy_shipping_details
 		 LEFT JOIN sy_shipping_details_item
 		 ON sy_shipping_details.`id`=sy_shipping_details_item.`shipping_details_id`
@@ -136,16 +142,15 @@
 			FROM sy_pre_assembled_packing_list_item
 			LEFT JOIN sizetable ON sy_pre_assembled_packing_list_item.`size`=sizetable.`size`
 			OR sy_pre_assembled_packing_list_item.`size`=sizetable.`alias`
-		WHERE colour=#{colour} and sy_pre_assembled_packing_list_id=#{value2}
+		WHERE group_id=#{groupId} and sy_pre_assembled_packing_list_id=#{value2}
 		order by sizetable.num
 	</select>
 
 
 	<select id="pushData" resultType="org.jeecg.modules.spapl.vo.PackingLineVo" parameterType="java.lang.String">
         SELECT
-        	'1001' tenantId/*租户ID*/,
-			id packingLineId/*主键*/,
-			'' packingHeaderId/*预装箱单主表id*/,
+            '1001' tenantId/*租户ID*/,
+			sy_pre_assembled_packing_list_id packingHeaderId/*预装箱单主表id*/,
 			sort packingLineNum/*排序*/,
 			po_No pono/*poNo*/,
 			'' poId/*poId*/,
@@ -158,11 +163,11 @@
 			colour color/*颜色*/,
     		'' itemId/*物料id*/,
 			'' itemAttrId/*物料特性*/,
-			inventory_Name itemCode/*物料名称*/,
+			inventory_Code itemCode/*物料名称*/,
 			hod	hod	/*预发货日期*/,
 			size size/*尺码*/,
-			'0'  planPackingQty/*计划装箱数量*/,
-			0 actualPackingQty /*实际装箱数量*/,
+			plan_Quantity planPackingQty/*计划装箱数量*/,
+			actual_Packing_Qty actualPackingQty /*实际装箱数量*/,
 			distribution_Point featureCode2/*分销点/DC/LABEL*/,
 			with_Code planSizeSpec/*计划配码规格*/,
 			'' actualPackingQty/*实际配码规格*/,

+ 5 - 7
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/xml/SyPreAssembledPackingListMapper.xml

@@ -38,10 +38,10 @@
 			b.customer_abbreviation,/*客户简称*/
 			b.master_Metering,/*计量单位*/
 			SUM(b.total) total,/*件数*/
-			b.box_Number totalboxes,/*总箱数*/
-			b.total_net_weight totalnetweight,/*总净重*/
-			b.total_gross_weight totalgrossweight,/*总毛重*/
-			b.total_volume totalvolume,/*总体积*/
+			a.total_Boxes totalboxes,/*总箱数*/
+			sum(b.total_net_weight) totalnetweight,/*总净重*/
+			sum(b.total_gross_weight) totalgrossweight,/*总毛重*/
+			sum(b.total_volume) totalvolume,/*总体积*/
 			sum(b.total_price) totalprice,/*总价*/
 			/*sum(b.total) totalquantity,*/
 			b.unit_price factoryUnitPrice,/*工厂单价*/
@@ -63,10 +63,8 @@
     
     <select id="pushData" resultType="org.jeecg.modules.spapl.vo.PackingHeaderVo" parameterType="java.lang.String">
         SELECT
-            document_No packingHeaderNum/* 单据号*/,
             '1001' tenantId/*租户ID*/,
-            '' packingHeaderNum/*单据号*/,
-            id packingHeaderId/*documentNo*/,
+             id packingHeaderNum/*单据号*/,
             'CLOTHING' packingType /*计划装箱单类型*/,
             'NEW' packingStatus /*计划装箱单头状态*/,
             order_Number poNo/*订单号*/,

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

@@ -30,7 +30,7 @@ public class SyPreAssembledPackingListItemServiceImpl extends ServiceImpl<SyPreA
 	public List<SyPreAssembledPackingListItem> selectByMainId(String mainId) {
 		List<SyPreAssembledPackingListItem> list= syPreAssembledPackingListItemMapper.selectByMainId(mainId);
 		for(SyPreAssembledPackingListItem spapl_item : list){
-			List<SizeTable> sizes=syPreAssembledPackingListItemMapper.querySize2(spapl_item.getColour(),spapl_item.getSyPreAssembledPackingListId());
+			List<SizeTable> sizes=syPreAssembledPackingListItemMapper.querySize2(spapl_item.getGroupId(),spapl_item.getSyPreAssembledPackingListId());
 			sizes=sort(sizes);
 			spapl_item.setSizeTables(sizes);
 		}

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

@@ -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;
 	}