Sfoglia il codice sorgente

修改预装箱单新的导出模板

huxy 2 anni fa
parent
commit
6fcfdc21a6
12 ha cambiato i file con 432 aggiunte e 27 eliminazioni
  1. 147 11
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/controller/SyPreAssembledPackingListController.java
  2. 24 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SyPreAssembledPackingList.java
  3. 26 8
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SyPreAssembledPackingListItem.java
  4. 6 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/SyPreAssembledPackingListItemMapper.java
  5. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/SyPreAssembledPackingListMapper.java
  6. 72 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/xml/SyPreAssembledPackingListItemMapper.xml
  7. 85 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/xml/SyPreAssembledPackingListMapper.xml
  8. 3 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/ISyPreAssembledPackingListItemService.java
  9. 9 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/ISyPreAssembledPackingListService.java
  10. 43 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/impl/SyPreAssembledPackingListServiceImpl.java
  11. 11 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/vo/SyPreAssembledPackingListVo.java
  12. 1 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/impl/SyPackingListFabricServiceImpl.java

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

@@ -922,6 +922,131 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
     public Result<SyPreAssembledPackingList> exportXls3(HttpServletRequest request,HttpServletResponse response,SyPreAssembledPackingListVo syPreAssembledPackingListVo,
                                                         String stratDate,
                                                         String endDate) {
+        QueryWrapper queryWrapper =new QueryWrapper<>();//初始化
+        queryWrapper.eq("a.del_flag","0");//默认查询未删除
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getId())){//查询id
+            queryWrapper.eq("a.id",syPreAssembledPackingListVo.getId());
+        }
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getOrderNumber())){//订单号
+            queryWrapper.like("a.order_number",syPreAssembledPackingListVo.getOrderNumber());
+        }
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getGarmentFactory())){//成衣工厂
+            queryWrapper.like("b.garment_Factory",syPreAssembledPackingListVo.getGarmentFactory());
+        }
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getDocumentNo())){//单据号
+            queryWrapper.like("a.document_No",syPreAssembledPackingListVo.getDocumentNo());
+        }
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getItemNumber())){//款号
+            queryWrapper.like("a.item_number",syPreAssembledPackingListVo.getItemNumber());
+        }
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getProductName())){//品名
+            queryWrapper.like("a.product_Name",syPreAssembledPackingListVo.getProductName());
+        }
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getCreateBy())){//创建人
+            queryWrapper.like("a.create_by",syPreAssembledPackingListVo.getCreateBy());
+        }
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getCreateTime())){//创建时间
+            queryWrapper.like("a.create_time",syPreAssembledPackingListVo.getCreateTime());
+        }
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getDepositaryReceiptNo())){//预托书号
+            queryWrapper.like("a.depositary_Receipt_No",syPreAssembledPackingListVo.getDepositaryReceiptNo());
+        }
+        // 小po 分销点
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getSmallPo())){//小po
+            queryWrapper.like("b.small_Po",syPreAssembledPackingListVo.getSmallPo());
+        }
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getDistributionPoint())){//分销点
+            queryWrapper.like("b.distribution_Point",syPreAssembledPackingListVo.getDistributionPoint());
+        }
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getStatus())){//状态
+            queryWrapper.like("a.status",syPreAssembledPackingListVo.getStatus());
+        }
+        //预发货日期
+        if(oConvertUtils.isNotEmpty(stratDate)){//起始
+            queryWrapper.ge("b.hod",stratDate);
+        }
+        if(oConvertUtils.isNotEmpty(endDate)){//结束
+            queryWrapper.le("b.hod",endDate);
+        }
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getAcSetNo())){//账套号
+            queryWrapper.like("b.ac_Set_No",syPreAssembledPackingListVo.getAcSetNo());
+        }
+        if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getIsReference())){//是否被参照
+            if(syPreAssembledPackingListVo.getIsReference().equals(0)){
+                queryWrapper.eq("a.is_Reference",syPreAssembledPackingListVo.getIsReference());
+            }else{
+                queryWrapper.ge("a.is_Reference",syPreAssembledPackingListVo.getIsReference());
+            }
+        }
+        Page<SyPreAssembledPackingListVo> page = new Page<SyPreAssembledPackingListVo>(1, 10000);
+        Result result=new Result();
+        try{
+            List<SyPreAssembledPackingListVo> pageLists = syPreAssembledPackingListService.selectPage2(page, queryWrapper).getRecords();
+            if(pageLists.size()==0){
+                result.setResult(null);
+                result.setMessage("导出失败!没有查询到数据");
+                result.setSuccess(false);
+                return result;
+            }
+            Map<String, List<String>> ids=new HashMap<>();
+            for (SyPreAssembledPackingListVo vo : pageLists){
+                if(vo.getStatus().equals("0")){
+                    result.setCode(201);
+                    result.setMessage("单据"+vo.getDocumentNo()+"未提交!");
+                    result.setSuccess(false);
+                    return result;
+                }//preDeliveryDate materialComposition
+                if(ids.containsKey(vo.getSmallPo()+"-"+vo.getPreDeliveryDate()+"-"+vo.getPrice()+"-"+vo.getMaterialComposition())){
+                    ids.get(vo.getSmallPo()+"-"+vo.getPreDeliveryDate()+"-"+vo.getPrice()+"-"+vo.getMaterialComposition()).add(vo.getId());
+                }else{
+                    List<String> list=new ArrayList<>();
+                    list.add(vo.getId());
+                    ids.put(vo.getSmallPo()+"-"+vo.getPreDeliveryDate()+"-"+vo.getPrice()+"-"+vo.getMaterialComposition(),list);
+                }
+            }
+            List<SyPreAssembledPackingList> temps=syPreAssembledPackingListService.queryById2(ids);
+            String load="D:\\单证模板\\预装箱单列表导出test.xlsx";//事件
+            int count = temps.size();//分几条sheet
+            File file=new File(load);
+            TemplateExportParams templateExcelConstants=new TemplateExportParams(file.getAbsolutePath(),true,"预装箱单");
+            List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
+            Map<Integer, List<Map<String, Object>>> maps = new HashMap<Integer, List<Map<String, Object>>>();
+            for (int i = 1; i <=count ; i++) {
+                List<SyPreAssembledPackingList> exportList=new ArrayList<>();
+                exportList.add(temps.get(i-1));
+                SyPreAssembledPackingList exportList2=temps.get(i-1);
+                Map<String, Object> map = new HashMap<String, Object>();
+                map.put("entity", exportList2);
+                listMap.add(map);
+            }
+            maps.put(0,listMap);
+            templateExcelConstants.setColForEach(true);
+            Workbook workbook = ExcelExportUtil.exportExcel(templateExcelConstants, new HashMap<>());
+            refreshSheet3(workbook,temps);//配置某列数据
+            ServletOutputStream outputStream = response.getOutputStream();
+            workbook.write(outputStream);
+            result.setCode(200);
+            result.setMessage("导出成功!");
+            result.setSuccess(true);
+        }catch (Exception e){
+            e.printStackTrace();
+            result.setMessage(e.getMessage());
+            result.setSuccess(false);
+        }finally {
+            return result;
+        }
+
+    }
+
+    @AutoLog(value = "导出")
+    @ApiOperation(value="导出", notes="导出")
+    @RequestMapping(value = "/exportXls")
+    public Result<SyPreAssembledPackingList> exportXls3(HttpServletRequest request,HttpServletResponse response,SyPreAssembledPackingListVo syPreAssembledPackingListVo,
+                                                        String stratDate,
+                                                        String endDate,
+                                                        String status) {
+        status="1";
+        SyPreAssembledPackingList syPreAssembledPackingList=new SyPreAssembledPackingList();
         QueryWrapper<SyPreAssembledPackingListVo> queryWrapper =new QueryWrapper<>();//初始化
         queryWrapper.eq("a.del_flag","0");//默认查询未删除
         if(oConvertUtils.isNotEmpty(syPreAssembledPackingListVo.getId())){//查询id
@@ -981,6 +1106,9 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
         Page<SyPreAssembledPackingListVo> page = new Page<SyPreAssembledPackingListVo>(1, 10000);
         Result result=new Result();
         try{
+            //   QueryWrapper<SyPreAssembledPackingList> queryWrapper = QueryGenerator.initQueryWrapper(syPreAssembledPackingList, request.getParameterMap());
+            //  queryWrapper.eq("del_flag","0");
+            // queryWrapper.orderByDesc(	"create_time");//创建时间倒序
             List<SyPreAssembledPackingListVo> pageLists = syPreAssembledPackingListService.selectPage(page, queryWrapper).getRecords();
             if(pageLists.size()==0){
                 result.setResult(null);
@@ -1005,7 +1133,10 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                     return result;
                 }
             }
-            String load="D:\\单证模板\\预装箱单列表导出test.xlsx";//事件
+            String load="D:\\单证模板\\test2.xlsx";
+            if(status!=null&&status.equals("1")){
+                load="D:\\单证模板\\预装箱单成衣.xlsx";
+            }
             int count = temps.size();//分几条sheet
             File file=new File(load);
             TemplateExportParams templateExcelConstants=new TemplateExportParams(file.getAbsolutePath(),true,"预装箱单");
@@ -1021,17 +1152,18 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
             }
             maps.put(0,listMap);
             templateExcelConstants.setColForEach(true);
-           // TemplateExportParams params = new TemplateExportParams(load);
-            Workbook workbook = ExcelExportUtil.exportExcel(templateExcelConstants, new HashMap<>());
-           // Workbook workbook = ExcelExportUtil.exportExcelClone(maps,templateExcelConstants);
-            refreshSheet3(workbook,temps);//配置某列数据
+            Workbook workbook = ExcelExportUtil.exportExcelClone(maps,templateExcelConstants);
+            refreshSheet(workbook,temps,status);//配置某列数据
             ServletOutputStream outputStream = response.getOutputStream();
             workbook.write(outputStream);
+
             result.setCode(200);
+            result.setResult(temps.get(0));
             result.setMessage("导出成功!");
             result.setSuccess(true);
         }catch (Exception e){
             e.printStackTrace();
+            result.setResult(null);
             result.setMessage(e.getMessage());
             result.setSuccess(false);
         }finally {
@@ -1094,11 +1226,11 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                         Row row1 = sheet.createRow(num1+1);
                         num1++;
                         String strs="";
-                        for (SizeTable sizeTable: item.getSizeTables()){
+                        for (SizeTable sizeTable: list.getSizeTables()){
                             strs=strs+sizeTable.getSize()+",";
                         }
                         String[] args2=("B号码,ITEMCODE,LABEL,启始箱号,结束箱号,颜色(中英文),"+strs+
-                        "件数/每箱,箱数,总件数,外箱,外箱,外箱,总体积,外箱净重,总净重,外箱毛重,总毛重").split(",");
+                        "件数/每箱,箱数,总件数,长,宽,高,总体积,外箱净重,总净重,外箱毛重,总毛重").split(",");
                         num2++;
                         for (int i=0;i<args2.length;i++){
                             Cell cell = row1.createCell(i);//横向
@@ -1112,12 +1244,14 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                     }
                     Row row2 = sheet.createRow(num1+1);
                     num1++;
-                    String [] args3=item.toString4().split(",");
+                    String [] args3=item.toString4(list.getSizeTables()).split(",");
                     x=args3.length;
                     for (int i=0;i<args3.length;i++){
                         Cell cell = row2.createCell(i);//横向
                         if(i>2&&i!=5&&args3[i].length()>0){
                             cell.setCellValue(Double.parseDouble(args3[i]));
+                        }else{
+                            cell.setCellValue(args3[i]);
                         }
                         cell.setCellStyle(cellStyle);
                     }
@@ -1128,19 +1262,22 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                 cell.setCellValue("合计");
                 cell.setCellStyle(cellStyle);
                 Cell cell2 = row2.createCell(x-10);//横向
-                cell2.setCellValue(list.getTotalBoxes().intValue());//箱数
+                cell2.setCellValue(list.getTotalBoxes().doubleValue());//箱数
                 cell2.setCellStyle(cellStyle);
                 Cell cell3 = row2.createCell(x-9);//横向
-                cell3.setCellValue(list.getTotal().intValue());//总件数
+                cell3.setCellValue(list.getTotal().doubleValue());//总件数
                 cell3.setCellStyle(cellStyle);
                 Cell cell4 = row2.createCell(x-5);//横向
                 cell4.setCellValue(list.getTotalVolume().doubleValue());//总体积
+                sheet.setColumnWidth(x-5,list.getTotalVolume().toString().length()*500);
                 cell4.setCellStyle(cellStyle);
                 Cell cell5 = row2.createCell(x-3);//横向
                 cell5.setCellValue(list.getTotalNetWeight().doubleValue());//总净重
+                sheet.setColumnWidth(x-3,list.getTotalNetWeight().toString().length()*500);
                 cell5.setCellStyle(cellStyle);
                 Cell cell6 = row2.createCell(x-1);//横向
                 cell6.setCellValue(list.getTotalGrossWeight().doubleValue());//总毛重
+                sheet.setColumnWidth(x-1,list.getTotalGrossWeight().toString().length()*500);
                 cell6.setCellStyle(cellStyle);
                 num1++;
                 num1++;
@@ -1310,7 +1447,6 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
         while (sheets.hasNext()){
             Sheet sheet=(Sheet) sheets.next();
             SyPreAssembledPackingList sypres=items.get(num);
-            System.out.println("装箱单名字\t"+sypres.getDocumentNo());
             workbook.setSheetName(num,sypres.getDocumentNo());
             num--;
             List<SyPreAssembledPackingListItem> list=sypres.getSyPreAssembledPackingListItemList();

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

@@ -157,6 +157,10 @@ public class SyPreAssembledPackingList implements Serializable {
 	/**备注*/
 	@ApiModelProperty(value = "备注")
 	private Object memo;
+	/**hod*/
+	@TableField(exist = false)
+	@ApiModelProperty(value = "hod")
+	private String hod;
 	/**预发货日期*/
 	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
 	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@@ -180,6 +184,10 @@ public class SyPreAssembledPackingList implements Serializable {
 	@ApiModelProperty(value = "业务员")
 	private String salesman;
 
+	@ApiModelProperty(value = "单价")
+	@TableField(exist = false)
+	private java.math.BigDecimal price;
+
 	/**业务部门(销售部门)*/
 	//@Excel(name = "业务部门(销售部门)", width = 15)
 	@ApiModelProperty(value = "业务部门(销售部门)")
@@ -203,6 +211,10 @@ public class SyPreAssembledPackingList implements Serializable {
 	@ExcelCollection(name="预装箱单子表")
 	private List<SyPreAssembledPackingListItem> syPreAssembledPackingListItemList;
 
+	@ApiModelProperty(value = "物料成分")
+	@TableField(exist = false)
+	private java.lang.String materialComposition;
+
 	/**二维表格*/
 	@TableField(exist = false)
 	@ApiModelProperty(value = "二维表格")
@@ -222,8 +234,9 @@ public class SyPreAssembledPackingList implements Serializable {
 	public SyPreAssembledPackingList(String [] params){
 		//客户简称	发运明细分组ID	发运明细主表ID	申报要素ID//从17开始
 		customerAbbreviation=params[16];
-		syDeclarationElementsId=params[18+5];
-		elementsId=params[19+5];
+		syDeclarationElementsId=params[16+6];
+		elementsId=params[16+7];
+		System.out.println("elementsId\t"+elementsId);
 	}
 
 	public String toString1(){
@@ -233,6 +246,14 @@ public class SyPreAssembledPackingList implements Serializable {
 				"款号:"+ ","+
 				itemNumber+ ","+
 				"品名:"+ ","+
-				productName;
+				productName+ ","+
+				"预发货日期:"+ ","+
+				hod+ ","+
+				"供应商:"+ ","+
+				supplier+ ","+
+				"成分:"+ ","+
+				materialComposition+ ","+
+				"单价:"+ ","+
+				price;
 	}
 }

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

@@ -445,19 +445,37 @@ public class SyPreAssembledPackingListItem implements Serializable {
 		id.substring(0,id.length()-1);
 	}
 
-	public String toString4() {
+	public String toString4(List <SizeTable> sizes1 ) {
 		//B号码	ITEMCODE	LABEL	启始箱号	结束箱号	颜色(中英文)
 		//sizes
 		//件数/每箱	箱数	总件数	外箱长度	外箱宽度	外箱高度	总体积	外箱净重	总净重	外箱毛重	总毛重
 		String sizes="";
-		id="";
-		for (SizeTable size : sizeTables){
-			if(size.getProportion()==null){
-				sizes+=",";
-			}else{
-				sizes+=size.getProportion()+",";
+		if(sizes1.size()>sizeTables.size()){
+			for (SizeTable size1 : sizes1){
+				boolean bool=false;
+				SizeTable size2=new SizeTable();
+				for (SizeTable size : sizeTables){
+					 if(size1.getSize().equals(size.getSize())){//有相同的尺码
+					 	bool=true;
+					 	size2=size;
+					 	break;
+					 }
+				}
+				if(bool){
+					sizes+=size2.getProportion()+",";
+				}else{
+					sizes+=",";
+				}
+				//id+=size1.getItemId()+"-";
+			}
+		}else{
+			for (SizeTable size : sizeTables){
+				if(size.getProportion()==null){
+					sizes+=",";
+				}else{
+					sizes+=size.getProportion()+",";
+				}
 			}
-			id+=size.getItemId()+"-";
 		}
 		return
 			" ," +

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

@@ -3,8 +3,10 @@ package org.jeecg.modules.spapl.mapper;
 import java.util.List;
 
 import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.spapl.entity.SizeTable;
+import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.jeecg.modules.spapl.vo.PackingHeaderVo;
@@ -38,4 +40,8 @@ public interface SyPreAssembledPackingListItemMapper extends BaseMapper<SyPreAss
 
 	@InterceptorIgnore(tenantLine = "true")
 	public List<PackingLineVo> pushData(String id);
+
+	public List<SizeTable> querySize3(@Param("list")String[] ids);
+
+	public List<SyPreAssembledPackingListItem> selectByMainIds(@Param("list")String[] ids);
 }

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

@@ -1,6 +1,7 @@
 package org.jeecg.modules.spapl.mapper;
 
 import java.util.List;
+import java.util.Map;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -27,6 +28,8 @@ public interface SyPreAssembledPackingListMapper extends BaseMapper<SyPreAssembl
 
    IPage<SyPreAssembledPackingListVo> selectPage(IPage<SyPreAssembledPackingListVo> page, @Param("ew") QueryWrapper<SyPreAssembledPackingListVo> queryWrapper);
 
+   IPage<SyPreAssembledPackingListVo> selectPage2(IPage<SyPreAssembledPackingListVo> page, @Param("ew") QueryWrapper<SyPreAssembledPackingListVo> queryWrapper);
+
    PackingHeaderVo pushData(String id);
 
    List<PackingHeaderVo> pushDataBatch(@Param("list") String[] ids);
@@ -36,4 +39,6 @@ public interface SyPreAssembledPackingListMapper extends BaseMapper<SyPreAssembl
    public String[] getExcelId();
 
    int selectByTailoring(String id);
+
+   SyPreAssembledPackingList  queryById2(@Param("list")String[] ids);
 }

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

@@ -63,7 +63,7 @@
 		FROM  sy_pre_assembled_packing_list_item
 		WHERE sy_pre_assembled_packing_list_id = #{value} AND del_flag = 0
 		GROUP BY group_id/*原本按照颜色进行分组 现改为按照分组id*/
-		order by starting_Box_Number+0
+		order by starting_Box_Number+0 asc ,colour asc
 	</select>
 
 	<select id="selectAll" parameterType="java.lang.String" resultType="org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem">
@@ -184,6 +184,17 @@
 		order by sy_order_data_item_id
 	</select>
 
+	<select id="querySize3" resultType="org.jeecg.modules.spapl.entity.SizeTable" >
+		SELECT size, sy_order_data_item_id itemId
+		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
+		order by itemId
+	</select>
+
 
 	<select id="pushData" resultType="org.jeecg.modules.spapl.vo.PackingLineVo" parameterType="java.lang.String">
         SELECT
@@ -228,6 +239,65 @@
 		ORDER BY packingLineNum
     </select>
 
-
+	<select id="selectByMainIds"   resultType="org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem">
+		SELECT
+			id,
+			sy_pre_assembled_packing_list_id,
+			sy_declaration_elements_id,
+			sy_order_data_id,
+			item_Code,
+			ac_set_no,
+			garment_factory,
+			hod,
+			plan_Size,
+			style_no,
+			po_no,
+			item_code,
+			distribution_point,
+			prepack_sku,
+			size,
+			starting_box_number,
+			end_case_number,
+			colour,
+			pieces_box,
+			box_number boxnumber,/*箱数*/
+			sum(total) total,/*件数*/
+			plan_Quantity,/*计划装箱数量*/
+			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 net_weight_too,/*净净重*/
+			unit_price,
+			sum(total_price) total_price,/*总价*/
+			with_code,
+			small_po,
+        	supplier_Code,/*最底层供应商编码*/
+			supplier,/*最底层供应商名称*/
+			ompo_account,/*采购委外账套号*/
+			ompo_Id,/*委外采购主表Id*/
+			ompo_Id_Item,/*委外采购子表Id*/
+			ymoney,/*佣金*/
+			inventory_name,
+			inventory_code,
+			spur_or_sub_order,
+			factory_unit_price,
+			master_Metering,
+			group_id
+			/*SUM(total_quantity) total_quantity,合计数量/件数*/
+		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/*原本按照颜色进行分组 现改为按照分组id*/
+		order by starting_Box_Number+0 asc ,colour asc
+	</select>
 
 </mapper>

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

@@ -89,6 +89,54 @@
     ORDER BY a.`update_time` DESC
 	</select>
 
+    <select id="selectPage2" resultType="org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo">
+    /*获取汇总数据*/
+    SELECT
+        a.id,/*主键id*/
+        a.document_No,/*单据号*/
+        a.order_number,/*订单号*/
+        a.item_number, /*款号*/
+	    (SELECT english_product_name FROM  sy_declaration_elements WHERE id=a.elements_id) englishProductName ,/*中文品名*/
+	    (SELECT declaration_name FROM  sy_declaration_elements WHERE id=a.elements_id) productName,/*英文品名*/
+	    (SELECT material_Composition FROM sy_shipping_details_item  WHERE elements_id=a.elements_id limit 1) material_Composition,/*成分*/
+	    (SELECT sales_Unit_Price FROM sy_shipping_details_item  WHERE elements_id=a.elements_id limit 1) sales_Unit_Price,/*单价*/
+        a.size_range,/*尺码范围*/
+        a.customer,/*客户名称*/
+        a.container_code,/*集装箱号*/
+        a.container_number,/*集装箱代号*/
+        a.u8_remarks,/*备注*/
+        b.garment_factory,/*成衣工厂*/
+        a.depositary_receipt_no,/*预托书号*/
+        a.memo,/*备注*/
+        a.order_type,/*订单类型*/
+        a.customer_abbreviation,/*客户简称*/
+        a.`update_time`,/*修改日期*/
+        a.`status`,/*单据状态*/
+        a.total_Boxes totalboxes,/*总箱数*/
+        a.`push_Status`,/*推送状态*/
+        a.is_Reference,/*是否被参照*/
+        b.master_Metering,/*计量单位*/
+        SUM(b.total) total,/*件数*/
+        b.hod as  preDeliveryDate,/*预发货日期*/
+        a.total_net_weight totalnetweight,/*总净重*/
+        a.total_gross_weight totalgrossweight,/*总毛重*/
+        a.total_volume totalvolume,/*总体积*/
+        a.total_price totalprice,/*总价*/
+        /*sum(b.total) totalquantity,*/
+        b.factory_Unit_Price factoryUnitPrice,/*工厂单价*/
+        a.spur_or_sub_order,/*采购委外订单号*/
+        b.inventory_name,/*存货名称*/
+        b.small_po,/*小po*/
+        b.colour,/*颜色*/
+        b.distribution_point/*分销点*/
+    FROM Sy_Pre_Assembled_Packing_List  a
+    LEFT JOIN Sy_Pre_Assembled_Packing_List_item  b
+    ON a.id=b.sy_pre_assembled_packing_list_id  AND b.del_flag='0'
+    ${ew.customSqlSegment}
+    GROUP BY a.id
+    ORDER BY a.`update_time` DESC
+	</select>
+
     <select id="selectByOneId" resultType="org.jeecg.modules.spapl.entity.SyPreAssembledPackingList" parameterType="java.lang.String">
         select
         (select garment_Factory from Sy_Pre_Assembled_Packing_List_item where Sy_Pre_Assembled_Packing_List_id=#{value } limit 1) garment_Factory,
@@ -236,4 +284,41 @@
 		AND del_flag=0
 	</select>
 
+    <select id="queryById2" resultType="org.jeecg.modules.spapl.entity.SyPreAssembledPackingList" parameterType="java.lang.String">
+
+ SELECT t.*,
+	 (SELECT declaration_name FROM  sy_declaration_elements WHERE id=t.elements_id) productName
+	    from  (SELECT
+        SUM(total) total,/*件数*/
+        SUM(total_Boxes) total_Boxes,/*件数*/
+        SUM(total_net_weight) totalnetweight,/*总净重*/
+        SUM(total_gross_weight) totalgrossweight,/*总毛重*/
+        SUM( total_volume) totalvolume,/*总体积*/
+        SUM( total_price) totalprice,/*总价*/
+        item_Number item_Number,
+
+        (select small_Po from Sy_Pre_Assembled_Packing_List_item
+        where Sy_Pre_Assembled_Packing_List_id=Sy_Pre_Assembled_Packing_List.id limit 1) order_Number,
+
+        (select SUBSTRING(hod,1,10) from Sy_Pre_Assembled_Packing_List_item
+        where Sy_Pre_Assembled_Packing_List_id=Sy_Pre_Assembled_Packing_List.id limit 1) hod,
+
+        (select supplier  from Sy_Pre_Assembled_Packing_List_item
+        where Sy_Pre_Assembled_Packing_List_id=Sy_Pre_Assembled_Packing_List.id limit 1) supplier,
+
+        (select Unit_Price  from Sy_Pre_Assembled_Packing_List_item
+        where Sy_Pre_Assembled_Packing_List_id=Sy_Pre_Assembled_Packing_List.id limit 1) price,
+
+        (SELECT material_Composition FROM sy_shipping_details_item
+        WHERE elements_id=Sy_Pre_Assembled_Packing_List.elements_id limit 1) material_Composition,
+
+        elements_id elements_id
+        FROM Sy_Pre_Assembled_Packing_List
+        where id in
+        <foreach collection="list" item="value" index="index" open="(" separator="," close=")">
+            #{value}
+        </foreach>
+    ) t
+	</select>
+
 </mapper>

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

@@ -1,6 +1,8 @@
 package org.jeecg.modules.spapl.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.jeecg.modules.spapl.entity.SizeTable;
+import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -32,4 +34,5 @@ public interface ISyPreAssembledPackingListItemService extends IService<SyPreAss
 //	public List<SizeTable> querySizes(String ids);
 
 	public List<SizeTable> sort(List<SizeTable> sizes);
+
 }

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

@@ -15,6 +15,7 @@ import org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo;
 import java.io.Serializable;
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 预装箱单主表
@@ -66,6 +67,12 @@ public interface ISyPreAssembledPackingListService extends IService<SyPreAssembl
 	 */
 	public IPage<SyPreAssembledPackingListVo> selectPage(IPage<SyPreAssembledPackingListVo> page, QueryWrapper<SyPreAssembledPackingListVo> queryWrapper);
 
+	/**
+	 * 汇总预装箱单
+	 * @param page,queryWrapper
+	 * @return
+	 */
+	public IPage<SyPreAssembledPackingListVo> selectPage2(IPage<SyPreAssembledPackingListVo> page, QueryWrapper<SyPreAssembledPackingListVo> queryWrapper);
 
 	/**
 	 * 根据id查询不为删除状态的数据
@@ -111,4 +118,6 @@ public interface ISyPreAssembledPackingListService extends IService<SyPreAssembl
 	public String excelTest(List<SyPreAssembledPackingList> items);
 
 	public String[] getExcelId();
+
+	List<SyPreAssembledPackingList>  queryById2( Map<String, List<String>> ids);
 }

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

@@ -30,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.io.Serializable;
+import java.lang.reflect.Array;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -395,6 +396,11 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 		return syPreAssembledPackingListMapper.selectPage(page,queryWrapper);
 	}
 
+	@Override
+	public IPage<SyPreAssembledPackingListVo> selectPage2(IPage<SyPreAssembledPackingListVo> page, QueryWrapper<SyPreAssembledPackingListVo> queryWrapper) {
+		return syPreAssembledPackingListMapper.selectPage2(page,queryWrapper);
+	}
+
 	@Override
 	public SyPreAssembledPackingList queryById(QueryWrapper<SyPreAssembledPackingList> queryWrapper) {
 		SyPreAssembledPackingList syPreAssembledPackingList=syPreAssembledPackingListMapper.selectOne(queryWrapper);
@@ -722,7 +728,6 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 		return ids;
 	}
 
-
 	/**
 	 * 增删改都会调用的方法,用来计算剩余数量和超发数量
 	 * @param quantity 本次数量
@@ -764,4 +769,41 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 		updateWrapper.eq("sy_declaration_elements_item_id",syShippingDetailsItemId);
 		return syPreAssembledPackingListItemMapper.update(null,updateWrapper);*/
 	}
+
+	@Override
+	public List<SyPreAssembledPackingList>  queryById2(Map<String, List<String>> ids){
+		List<SyPreAssembledPackingList> lists=new ArrayList<>();
+		for (String key : ids.keySet()){
+			List<String> idList=ids.get(key);
+			String[] arrasId=idList.toArray(new String[idList.size()]);
+			SyPreAssembledPackingList list1=syPreAssembledPackingListMapper.queryById2(arrasId);
+			list1.setSizeTables(syPreAssembledPackingListItemMapper.querySize3(arrasId));
+			List<SizeTable> sizeTables =new ArrayList<>();
+			List<String> strs =new ArrayList<>();
+			for (SizeTable sizeTable : list1.getSizeTables()){
+				if(!strs.contains(sizeTable.getSize())){
+					sizeTables.add(sizeTable);
+					strs.add(sizeTable.getSize());
+				}
+			}
+			list1.setSizeTables(sizeTables);
+			List<SyPreAssembledPackingListItem> itemList= syPreAssembledPackingListItemMapper.selectByMainIds(arrasId);
+			for(SyPreAssembledPackingListItem spaplItem : itemList){
+				List<SizeTable> sizes=syPreAssembledPackingListItemMapper.querySize2(spaplItem.getGroupId(),spaplItem.getSyPreAssembledPackingListId());
+				sizes=sort(sizes);
+				spaplItem.setSizeTables(sizes);
+			}
+			list1.setSyPreAssembledPackingListItemList(itemList);
+			lists.add(list1);
+		}
+		return lists;
+	}
+
+	public List<SizeTable> sort(List<SizeTable> sizes) {
+		int i=0;
+		for(SizeTable size : sizes){
+			size.setNum(++i);
+		}
+		return sizes;
+	}
 }

+ 11 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/vo/SyPreAssembledPackingListVo.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.spapl.vo;
 
 import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -101,6 +102,16 @@ public class SyPreAssembledPackingListVo {
 	@ApiModelProperty(value = "总价")
   	@Excel(name = "总价", width = 15)
 	private java.math.BigDecimal totalPrice;
+	//@Excel(name = "单价", width = 15)
+
+	@ApiModelProperty(value = "单价")
+	@TableField(exist = false)
+	private java.math.BigDecimal price;
+
+	@ApiModelProperty(value = "物料成分")
+	@TableField(exist = false)
+	private java.lang.String materialComposition;
+
 	/**预托书号*/
 	@ApiModelProperty(value = "预托书号")
   	@Excel(name = "预托书号", width = 15)

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

@@ -1071,7 +1071,6 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					mapItem.put("POAUTOIDCOL","MODetailsID");//订单明细ID对应字段名(关联单据类型为采购订单传ID,为采购到货单为Autoid,为委外订单传MODetailsID,为委外到货单为Autoid)
 					mapItem.put("AUTOID_PO",orderDataItem.get("id"));//明细ID(采购订单行ID/委外订单行ID)
 					map5.put("CGLTYPE","委外订单");
-
 					if(item.getInventoryCcode()!=null&&item.getInventoryCcode().indexOf("040")>-1&&mapt.get("account").equals("903")){//903账套中物料分类为040的印花面料
 						List<Map<String,Object>> orderDataItem3 =syPackingListFabricMapper.getOM_MOMaterials(item.getOmpoIdItem(),item.getInventoryCode());//委外订单子表
 						Map<String,Object> mapStr1=syPackingListFabricMapper.getOM_MOMain(item.getOmpoIdItem(),item.getInventoryCode());//供应商编码,存货编码
@@ -1550,7 +1549,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	 */
 	//@Override
 	//@Scheduled(fixedRate=1000*60*3)
-	@Transactional
+	//@Transactional
 	public String getU8Data (){
 		String massage="";
 		int num=0;