huxy 3 rokov pred
rodič
commit
9f0fcf865e

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

@@ -2,6 +2,7 @@ package org.jeecg.modules.spapl.controller;
 
 import java.io.UnsupportedEncodingException;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.net.URLDecoder;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -18,6 +19,7 @@ import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetailsItem;
 import org.jeecg.modules.documents.shippingDetails.entity.VO.SyShippingDetailsVo;
 import org.jeecg.modules.documents.shippingDetails.service.ISyShippingDetailsItemService;
 import org.jeecg.modules.documents.shippingDetails.service.ISyShippingDetailsService;
+import org.jeecg.modules.spapl.entity.SizeTable;
 import org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
@@ -112,7 +114,7 @@ public class SyPreAssembledPackingListController {
 	  */
 	 @AutoLog(value = "预装箱单VO查询")
 	 @ApiOperation(value="预装箱单VO查询", notes="预装箱单VO查询")
-	 @GetMapping(value = "/list")
+	 @GetMapping(value = "/list2")
 	 public Result<IPage<SyPreAssembledPackingListVo>> queryPageList2(SyPreAssembledPackingListVo syPreAssembledPackingListVo,
 									 @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 									 @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@@ -173,6 +175,9 @@ public class SyPreAssembledPackingListController {
 		 	result.setMessage("未找到id");
 		 }
 		 SyPreAssembledPackingList syPreAssembledPackingList=syPreAssembledPackingListService.queryPageList3(id);//获取数据
+		 for(SyPreAssembledPackingListItem spapl_item : syPreAssembledPackingList.getSyPreAssembledPackingListItemList()){
+			 spapl_item.setSizeTables(syPreAssembledPackingListItemService.selectSize(spapl_item.getWithCode(),spapl_item.getTotal()));
+		 }
 		 result.setSuccess(true);
 		 result.setResult(syPreAssembledPackingList);
 		 result.setMessage("查询成功!");
@@ -409,7 +414,7 @@ public class SyPreAssembledPackingListController {
 			preAssembledPackingList.setSyPreAssembledPackingListItemList(spaplItems);
 		}
 		result.setMessage("查询成功!");
-		result.setSuccess(false);
+		result.setSuccess(true);
 		result.setResult(preAssembledPackingList);
 		return result;
 	}
@@ -511,4 +516,11 @@ public class SyPreAssembledPackingListController {
 
 
 
+	 @AutoLog(value = "二维表格测试")
+	 @ApiOperation(value="二维表格测试", notes="二维表格测试")
+	 @GetMapping(value = "/selecSize")
+  public List<SizeTable> table(@RequestParam(name="str",required=true)String str,
+							   @RequestParam(name="orderNum",required=true) BigDecimal orderNum){
+  	return syPreAssembledPackingListItemService.selectSize(str,orderNum);
+  }
 }

+ 21 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SizeTable.java

@@ -0,0 +1,21 @@
+package org.jeecg.modules.spapl.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.awt.*;
+
+//尺码表
+@Data
+public class SizeTable {
+    @ApiModelProperty(value = "尺码")
+    private String size;//尺码
+    @ApiModelProperty(value = "序号")
+    private int num;//序号
+    @ApiModelProperty(value = "比例")
+    private int proportion;//比例
+    @ApiModelProperty(value = "数量")
+    private java.math.BigDecimal quantity;//数量
+    @ApiModelProperty(value = "别名")
+    private String alias;
+}

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

@@ -2,6 +2,7 @@ package org.jeecg.modules.spapl.entity;
 
 import java.io.Serializable;
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
@@ -9,6 +10,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 import java.util.Date;
+import java.util.List;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -109,8 +112,8 @@ public class SyPreAssembledPackingListItem implements Serializable {
 	@ApiModelProperty(value = "总净重")
 	private java.math.BigDecimal totalNetWeight;
 	/**毛重*/
-    @Excel(name = "毛重", width = 15)
-	@ApiModelProperty(value = "毛重")
+    @Excel(name = "毛重/箱", width = 15)
+	@ApiModelProperty(value = "毛重/箱")
 	private java.math.BigDecimal grossWeight;
 	/**总毛重*/
     @Excel(name = "总毛重", width = 15)
@@ -210,7 +213,11 @@ public class SyPreAssembledPackingListItem implements Serializable {
 	@ApiModelProperty(value = "客户简称")
 	private java.lang.String customerAbbreviation;
 
-
+	/**客户简称*/
+	@TableField(exist = false)
+	@Excel(name = "二维表格", width = 20)
+	@ApiModelProperty(value = "二维表格")
+	private List<SizeTable> sizeTables;
 
 
 

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

@@ -1,6 +1,9 @@
 package org.jeecg.modules.spapl.mapper;
 
 import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.spapl.entity.SizeTable;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -17,4 +20,6 @@ public interface SyPreAssembledPackingListItemMapper extends BaseMapper<SyPreAss
 	public List<SyPreAssembledPackingListItem> selectByMainId(String mainId);
 
 	public List<SyPreAssembledPackingListItem> selectSyShippingDetailsItemData(String id);
+
+	public List<SizeTable> selectSize(@Param("begin") String begin,@Param("end") String end);
 }

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

@@ -25,14 +25,25 @@
 			factory_unit_price factoryUnitPrice,/*工厂单价 s*/
 			size,/*尺码 s*/
 			colour,/*颜色 s*/
+			coding_Rules withCode,/*配码规则*/
 		    sy_shipping_details_item.item_Number itemNumber, /*款号 s*/
           	sy_shipping_details_item.customer_Abbreviation customerAbbreviation, /*客户简称 s*/
           	sy_shipping_details_item.small_Po smallPo, /*小PO s*/
            	sy_shipping_details_item.distribution_Point distributionPoint, /*分销点 s*/
             sy_shipping_details_item.inventory_Name inventoryName, /*存货名称 s*/
+            shipment_Quantity total,/*数量 s*/
             sy_shipping_details_item.pur_Or_Sub_Order  purOrSubOrder /*采购/委外订单号 s*/
 		 from sy_shipping_details_item left join sy_order_data_item
 		 on sy_shipping_details_item.sy_order_data_item_id=sy_order_data_item.id
 		 where sy_shipping_details_item.del_flag = 0 and shipping_details_id=#{value}
 	</select>
+
+	<select id="selectSize" resultType="org.jeecg.modules.spapl.entity.SizeTable" parameterType="java.lang.String">
+		SELECT * FROM  sizetable WHERE num&gt;=(SELECT num FROM sizetable WHERE  size=#{begin} or alias=#{begin})
+		AND num&lt;=(SELECT num FROM sizetable WHERE size=#{end} or alias=#{end})
+	</select>
+
+	<!--<select id="selectSize2" resultType="org.jeecg.modules.spapl.entity.SizeTable" parameterType="java.lang.String">
+		SELECT * FROM  sizetable WHERE  size=#{value} or alias=#{value}
+	</select>-->
 </mapper>

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

@@ -17,7 +17,7 @@
 			b.customer_abbreviation,
 			sum(b.total_quantity) totalquantity,
 			b.factory_unit_price,
-			b.pur_or_sub_order,
+			b.spur_or_sub_order,
 			b.inventory_name,
 			b.small_po,
 			b.distribution_point

+ 9 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/ISyPreAssembledPackingListItemService.java

@@ -1,7 +1,10 @@
 package org.jeecg.modules.spapl.service;
 
+import org.jeecg.modules.spapl.entity.SizeTable;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -14,4 +17,10 @@ public interface ISyPreAssembledPackingListItemService extends IService<SyPreAss
 
 	public List<SyPreAssembledPackingListItem> selectByMainId(String mainId);
 
+	/**
+	 * str为尺码范围和数量比例
+	 * @param str
+	 * @return
+	 */
+	public List<SizeTable> selectSize(String str, BigDecimal orderNum);
 }

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/ISyPreAssembledPackingListService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.documents.shippingDetails.entity.VO.SyShippingDetailsVo;
+import org.jeecg.modules.spapl.entity.SizeTable;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -71,4 +72,6 @@ public interface ISyPreAssembledPackingListService extends IService<SyPreAssembl
 	 */
 	public SyPreAssembledPackingList queryById(QueryWrapper<SyPreAssembledPackingList> queryWrapper);
 
+
+
 }

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

@@ -1,9 +1,14 @@
 package org.jeecg.modules.spapl.service.impl;
 
+import org.jeecg.modules.spapl.entity.SizeTable;
+import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import org.jeecg.modules.spapl.mapper.SyPreAssembledPackingListItemMapper;
 import org.jeecg.modules.spapl.service.ISyPreAssembledPackingListItemService;
 import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,6 +27,65 @@ public class SyPreAssembledPackingListItemServiceImpl extends ServiceImpl<SyPreA
 	
 	@Override
 	public List<SyPreAssembledPackingListItem> selectByMainId(String mainId) {
-		return syPreAssembledPackingListItemMapper.selectByMainId(mainId);
+		List<SyPreAssembledPackingListItem> list= syPreAssembledPackingListItemMapper.selectByMainId(mainId);
+		for(SyPreAssembledPackingListItem spapl_item : list){
+			spapl_item.setSizeTables(selectSize(spapl_item.getWithCode(),spapl_item.getTotal()));
+		}
+		return list;
+	}
+
+	@Override
+	public List<SizeTable> selectSize(String str, BigDecimal orderNum){
+		List<SizeTable> sizes=null;
+		try{
+			if(str==null){
+				return null;
+			}//XS-3XL;1/1/2/4/4/4/2 	2XS-2XL 1464311
+			String[] str1={};
+			String num1="";
+			//根据情况截取字符串
+			if(str.indexOf(" ")>-1){
+				str1=str.substring(0,str.indexOf(" ")).split("-");
+				num1=str.substring(str.indexOf(" ")+1,str.length());
+			}else{
+				str1=str.substring(0,str.indexOf(";")).split("-");
+				num1=str.substring(str.indexOf(";")+1,str.length()).replace("/","");
+			}
+			//System.out.println("str的长度为:"+str1.length);
+			if(str1.length<2){
+				sizes=new ArrayList<SizeTable>();
+				SizeTable sizeTable=new SizeTable();
+				sizeTable.setProportion(1);//比例
+				sizeTable.setNum(1);//序号
+				sizeTable.setQuantity(orderNum);//订单数量
+				sizeTable.setSize(str1[0]);
+				sizes.add(sizeTable);
+				return sizes;
+			}else{
+				sizes=syPreAssembledPackingListItemMapper.selectSize(str1[0],str1[1]);
+			}
+			BigDecimal row=new BigDecimal(0);
+			BigDecimal avg=new BigDecimal(0);
+			for (int i=0;i< sizes.size();i++) {
+				SizeTable sizeTable=sizes.get(i);
+				sizeTable.setProportion(Integer.parseInt(num1.substring(i,i+1)));//比例
+				sizeTable.setNum(i);//序号
+				row=row.add(BigDecimal.valueOf(Double.parseDouble(num1.substring(i,i+1))));
+			}
+			if(row.equals(0)) {
+				return null;
+			}
+			avg= orderNum.divide(row, 4, BigDecimal.ROUND_HALF_UP);// orderNum/row;
+			for (SizeTable sizeTable :sizes) {
+				sizeTable.setQuantity(avg.multiply(new BigDecimal(sizeTable.getProportion()) ) );//平均值
+			}
+			System.out.println("sizes为:"+sizes);
+			System.out.println("row为:"+row);
+			System.out.println("avg为:"+avg);
+		}catch (Exception ex){
+			ex.printStackTrace();
+			log.error("尺码组解析失败:" + ex.getMessage());
+		}
+		return sizes;
 	}
 }

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

@@ -10,6 +10,7 @@ import org.jeecg.modules.documents.shippingDetails.controller.SyShippingDetailsC
 import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetails;
 import org.jeecg.modules.documents.shippingDetails.entity.VO.SyShippingDetailsVo;
 import org.jeecg.modules.documents.shippingDetails.mapper.SyShippingDetailsMapper;
+import org.jeecg.modules.spapl.entity.SizeTable;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import org.jeecg.modules.spapl.mapper.SyPreAssembledPackingListItemMapper;
@@ -24,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Collection;
 
@@ -104,6 +106,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 			entity.setDelFlag("0");//默认为0
 			int row=syPreAssembledPackingListItemMapper.updateById(entity);
 			if(row==0){//如果为0就添加数据
+				entity.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId());
 				syPreAssembledPackingListItemMapper.insert(entity);
 			}
 		}