Quellcode durchsuchen

推送调整,预装箱单导入优化

huxy vor 2 Jahren
Ursprung
Commit
5532f754dd

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

@@ -989,23 +989,25 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                 return result;
             }
             Map<String, List<String>> ids=new HashMap<>();
+            List<String> allIds=new ArrayList<>();
             for (SyPreAssembledPackingListVo vo : pageLists){
+                allIds.add(vo.getId());
                 /*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());
+                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);
+                    ids.put(vo.getSmallPo()+vo.getPreDeliveryDate()+vo.getPrice()+vo.getMaterialComposition(),list);
                 }
             }
             long startTime = System.currentTimeMillis();
-            List<SyPreAssembledPackingList> temps=syPreAssembledPackingListService.queryById2(ids);
+            List<SyPreAssembledPackingList> temps=syPreAssembledPackingListService.queryById2(ids,allIds);
             long endTime = System.currentTimeMillis();
             System.out.println("查数据时间:" + (endTime - startTime) + "ms");
             String load="D:\\单证模板\\预装箱单列表导出test.xlsx";//事件
@@ -1270,9 +1272,11 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                 cell.setCellStyle(cellStyle);
                 Cell cell2 = row2.createCell(x-10);//横向
                 cell2.setCellValue(list.getTotalBoxes().doubleValue());//箱数
+                sheet.setColumnWidth(x-10,list.getTotalVolume().toString().length()*500);
                 cell2.setCellStyle(cellStyle);
                 Cell cell3 = row2.createCell(x-9);//横向
                 cell3.setCellValue(list.getTotal().doubleValue());//总件数
+                sheet.setColumnWidth(x-9,list.getTotalVolume().toString().length()*500);
                 cell3.setCellStyle(cellStyle);
                 Cell cell4 = row2.createCell(x-5);//横向
                 cell4.setCellValue(list.getTotalVolume().doubleValue());//总体积

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

@@ -34,7 +34,7 @@ public class SizeTable {
     @ApiModelProperty(value = "子表id")
     private String itemId;
 
-    @Excel(name = "子表id", width = 15)
-    @ApiModelProperty(value = "子表id")
+    @Excel(name = "分组id", width = 15)
+    @ApiModelProperty(value = "分组id")
     private String groupId;
 }

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

@@ -215,6 +215,10 @@ public class SyPreAssembledPackingList implements Serializable {
 	@TableField(exist = false)
 	private java.lang.String materialComposition;
 
+	@ApiModelProperty(value = "分组名称")
+	@TableField(exist = false)
+	private java.lang.String groupName;
+
 	/**二维表格*/
 	@TableField(exist = false)
 	@ApiModelProperty(value = "二维表格")

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

@@ -40,5 +40,5 @@ public interface SyPreAssembledPackingListMapper extends BaseMapper<SyPreAssembl
 
    int selectByTailoring(String id);
 
-   SyPreAssembledPackingList  queryById2(@Param("list")String[] ids);
+   List<SyPreAssembledPackingList>  queryById2(@Param("list")String[] ids);
 }

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

@@ -91,21 +91,21 @@
 
     <select id="selectPage2" resultType="org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo">
     /*获取汇总数据*/
-
-    SELECT
-    a.id,
-    material_Composition,
-     sales_Unit_Price,
-     b.hod AS preDeliveryDate,
-      b.small_po
-    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
-    left join sy_shipping_details_item c
-    on a.elements_id=c.id
-    AND b.del_flag = '0'
-    ${ew.customSqlSegment}
-    GROUP BY a.id
-    ORDER BY a.`update_time` DESC
+        SELECT
+        a.id,
+        material_Composition,
+        unit_price price,
+        b.hod AS preDeliveryDate,
+        b.small_po
+        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
+        left join sy_shipping_details_item c
+        on a.elements_id=c.elements_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">
@@ -269,7 +269,8 @@
         b.supplier,
         b.Unit_Price  price,
         d.material_Composition,
-        declaration_name productName
+        declaration_name productName,
+        CONCAT(b.small_po,b.hod,b.unit_price,d.material_composition) groupName
         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
@@ -281,6 +282,8 @@
         <foreach collection="list" item="value" index="index" open="(" separator="," close=")">
             #{value}
         </foreach>
+        group by b.small_po,b.hod,b.unit_price,d.material_composition
+
 	</select>
 
 </mapper>

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

@@ -119,5 +119,5 @@ public interface ISyPreAssembledPackingListService extends IService<SyPreAssembl
 
 	public String[] getExcelId();
 
-	List<SyPreAssembledPackingList>  queryById2( Map<String, List<String>> ids);
+	List<SyPreAssembledPackingList>  queryById2( Map<String, List<String>> ids, List<String> allIds);
 }

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

@@ -800,28 +800,61 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 	}
 
 	@Override
-	public List<SyPreAssembledPackingList>  queryById2(Map<String, List<String>> ids){
+	public List<SyPreAssembledPackingList>  queryById2(Map<String, List<String>> ids, List<String> allIds){
 		long startTime = System.currentTimeMillis();
-		List<SyPreAssembledPackingList> lists=new ArrayList<>();
-		System.out.println("ids.size\t"+ids.size());
-		for (String key : ids.keySet()){
-			List<String> idList=ids.get(key);
+		System.out.println("idsmaps\t"+ids);
+		List<SyPreAssembledPackingList> lists=syPreAssembledPackingListMapper.queryById2(allIds.toArray(new String[allIds.size()]));
+		for (SyPreAssembledPackingList entity :lists){
+			System.out.println("entity.getname\t"+entity.getGroupName());
+			List<String> idList=ids.get(entity.getGroupName());
 			String[] arrasId=idList.toArray(new String[idList.size()]);
-			SyPreAssembledPackingList list1=syPreAssembledPackingListMapper.queryById2(arrasId);
-			list1.setSizeTables(syPreAssembledPackingListItemMapper.querySize3(arrasId));
+			entity.setSizeTables(syPreAssembledPackingListItemMapper.querySize3(arrasId));
 			List<SizeTable> sizeTables =new ArrayList<>();
 			List<String> strs =new ArrayList<>();
-			for (SizeTable sizeTable : list1.getSizeTables()){
+			for (SizeTable sizeTable : entity.getSizeTables()){
 				if(!strs.contains(sizeTable.getSize())){
 					sizeTables.add(sizeTable);
 					strs.add(sizeTable.getSize());
 				}
 			}
-			list1.setSizeTables(sizeTables);
+			entity.setSizeTables(sizeTables);
+
+			List<SyPreAssembledPackingListItem> itemList= syPreAssembledPackingListItemMapper.selectByMainIds(arrasId);
+			List<SizeTable> sizes=syPreAssembledPackingListItemMapper.queryAllSize(arrasId);
+			Map<String,List<SizeTable>> map=new HashMap<>();
+			for (SizeTable sizeTable : sizes){
+				if(map.containsKey(sizeTable.getGroupId())){
+					map.get(sizeTable.getGroupId()).add(sizeTable);
+				}else{
+					List<SizeTable> sizes1=new ArrayList<>();
+					sizes1.add(sizeTable);
+					map.put(sizeTable.getGroupId(),sizes1);
+				}
+			}
+			for(SyPreAssembledPackingListItem spaplItem : itemList){
+				spaplItem.setSizeTables(map.get(spaplItem.getGroupId()));
+			}
+			entity.setSyPreAssembledPackingListItemList(itemList);
+			//lists.add(entity);
+		}
+		long endTime3 = System.currentTimeMillis();
+		System.out.println("查数据时间运行:" + (endTime3 - startTime) + "ms");
+		return lists;
+		/*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());
+				}
+			}*//*
 			List<SyPreAssembledPackingListItem> itemList= syPreAssembledPackingListItemMapper.selectByMainIds(arrasId);
-			System.out.println("itemList.size\t"+itemList.size());
 			List<SizeTable> sizes=syPreAssembledPackingListItemMapper.queryAllSize(arrasId);
-			System.out.println("sizes.size\t"+itemList.size());
 			Map<String,List<SizeTable>> map=new HashMap<>();
 			for (SizeTable sizeTable : sizes){
 				if(map.containsKey(sizeTable.getGroupId())){
@@ -840,7 +873,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 		}
 		long endTime3 = System.currentTimeMillis();
 		System.out.println("查数据时间运行:" + (endTime3 - startTime) + "ms");
-		return lists;
+		return lists;*/
 	}
 
 	public List<SizeTable> sort(List<SizeTable> sizes) {

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

@@ -157,11 +157,11 @@ public class SyPreAssembledPackingListVo {
 
 	/**预发货日期*/
 	@ApiModelProperty(value = "预发货日期")
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+	/*@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
 	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
-	@DateTimeFormat(pattern="yyyy-MM-dd")
+	@DateTimeFormat(pattern="yyyy-MM-dd")*/
 	@Excel(name = "预发货日期", width = 20)
-	private Date preDeliveryDate;
+	private String preDeliveryDate;
 	//**小PO*//*
 	@ApiModelProperty(value = "小PO")
 	@Excel(name = "小PO", width = 20)

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

@@ -1109,6 +1109,8 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				map5.put("IEXCHRATE",orderData.get("nflat"));//汇率(如果传空,接口默认1)cPayCode
 				map.put("IEXCHRATE",orderData.get("nflat"));//汇率
 				map.put("CEXCH_NAME",orderData.get("cexchname"));//CEXCH_NAME 币种名称
+				map7.put("IEXCHRATE",orderData.get("nflat"));//汇率
+				map7.put("CEXCH_NAME",orderData.get("cexchname"));//CEXCH_NAME 币种名称
 				//SYF128-森诺
 				if(!orderData.get("cexchname").equals("人民币")){//不为人民币
 					SimpleDateFormat sf1 = new SimpleDateFormat("yyyy-M-dd");
@@ -1167,15 +1169,15 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				map7.put("CACCID",mapt.get("account"));//账套号
 
 				if(mapt.get("account").equals("903")){
-					mapItem.put("CBATCH",item.getDyelotNumber());//缸号
-					mapItem4.put("CBATCH",item.getDyelotNumber());//缸号
+					mapItem.put("CBATCH",item.getDyelotNumber());//批号-缸号
+					mapItem4.put("CBATCH",item.getDyelotNumber());//批号-缸号
 				}else{
-					if(item.getDyelotNumber().indexOf("-")<0){
+					/*if(item.getPlanLotNumber().indexOf("-")<0){
 						throw new JeecgBootException("缸号不规范,请先进行维护在推送接口");
-					}
+					}*/
 					String cbatch=item.getDyelotNumber().substring(0,item.getDyelotNumber().indexOf("-"));
-					mapItem.put("CBATCH",cbatch+num1);//缸号
-					mapItem4.put("CBATCH",cbatch+num1);//缸号
+					mapItem.put("CBATCH",item.getPlanLotNumber());//缸号
+					mapItem4.put("CBATCH",item.getPlanLotNumber());//缸号
 				}
 				num1++;
 				Map<String,Object> orderDataItem=null;// inum
@@ -1282,9 +1284,9 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				}
 				mapt.put("poid","one");//重置销售订单id
 				mapItem5.put("CDEFINE23",item.getDeclarationUnit());//报关单位
+				mapItem6.put("CDEFINE23",item.getDeclarationUnit());//报关单位
 				mapItem5.put("CDEFINE33",item.getDeclarationName());//报关品名
-				mapItem6.put("CDEFINE31",item.getDeclarationUnit());//货物名称
-				mapItem6.put("CDEFINE23",item.getDeclarationName());//报关单位
+				mapItem6.put("CDEFINE31",item.getDeclarationName());//货物名称
 
 
 				//if(item.getSyOrderDataItemId()!=null){//销售发货单 ---查询销售订单子表数据  顺序---5
@@ -1323,11 +1325,11 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 						map6.put("CDEPCODE",order.get("cDepCode"));//部门编码(如果传空,取来源单据)
 						map6.put("SALETPYECODE",order.get("cSTCode"));//销售类型编码
 						map6.put("IEXCHRATE",order.get("iExchRate"));//IEXCHRATE 汇率
-						map.put("IEXCHRATE",order.get("iExchRate"));//IEXCHRATE 汇率
 						map2.put("IEXCHRATE",order.get("iExchRate"));//IEXCHRATE 汇率
 						map3.put("IEXCHRATE",order.get("iExchRate"));//IEXCHRATE 汇率
 						map4.put("IEXCHRATE",order.get("iExchRate"));//IEXCHRATE 汇率
-						map.put("CEXCH_NAME",order.get("cexch_name"));//币种名称(如果传空,接口默认人民币)
+						/*map.put("IEXCHRATE",order.get("iExchRate"));//IEXCHRATE 汇率
+						map.put("CEXCH_NAME",order.get("cexch_name"));//币种名称(如果传空,接口默认人民币)*/
 						map2.put("CEXCH_NAME",order.get("cexch_name"));//币种名称(如果传空,接口默认人民币)
 						map3.put("CEXCH_NAME",order.get("cexch_name"));//币种名称(如果传空,传来源单据;无来源单据,默认人民币)
 						map4.put("CEXCH_NAME",order.get("cexch_name"));//CEXCH_NAME 币种名称

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

@@ -1036,11 +1036,11 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 						map6.put("SALETPYECODE",order.get("cSTCode"));//销售类型编码
 						//map6.put("IEXCHRATE",order.get("iExchRate"));//IEXCHRATE 汇率
 
-						map.put("IEXCHRATE",order.get("iExchRate"));//IEXCHRATE 汇率
+						//map.put("IEXCHRATE",order.get("iExchRate"));//IEXCHRATE 汇率
 						map6.put("IEXCHRATE",order.get("iExchRate"));//IEXCHRATE 汇率
 						map3.put("IEXCHRATE",order.get("iExchRate"));//IEXCHRATE 汇率
 						map4.put("IEXCHRATE",order.get("iExchRate"));//IEXCHRATE 汇率
-						map.put("CEXCH_NAME",order.get("cexch_name"));//币种名称(如果传空,接口默认人民币)
+						//map.put("CEXCH_NAME",order.get("cexch_name"));//币种名称(如果传空,接口默认人民币)
 						map3.put("CEXCH_NAME",order.get("cexch_name"));//币种名称(如果传空,传来源单据;无来源单据,默认人民币)
 						map4.put("CEXCH_NAME",order.get("cexch_name"));//CEXCH_NAME 币种名称
 						map6.put("CEXCH_NAME",order.get("cexch_name"));//CEXCH_NAME 币种名称