Przeglądaj źródła

修复导入速度过慢,推送u8调整

huxy 2 lat temu
rodzic
commit
22723e10a8

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

@@ -1622,7 +1622,11 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                 ImportParams params = new ImportParams();
                 System.out.println("inputSream:\t"+inputStream);
                 Workbook workbook=new XSSFWorkbook(inputStream);
+
+                long startTime = System.currentTimeMillis();
                 refreshSheet(workbook);
+                long endTime = System.currentTimeMillis();
+                System.out.println("导入模板运行时间:" + (endTime - startTime) + "ms");
                 params.setTitleRows(2);
                 params.setHeadRows(1);
                 params.setNeedSave(true);
@@ -1751,18 +1755,15 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
             InputStream inputStream=file.getInputStream();
             ImportParams params = new ImportParams();
             Workbook workbook=new XSSFWorkbook(inputStream);
+            long startTime = System.currentTimeMillis();
             str+=refreshSheet1(workbook);
+            long endTime = System.currentTimeMillis();
+            System.out.println("读取模板运行时间:" + (endTime - startTime) + "ms");
             params.setTitleRows(2);
             params.setHeadRows(1);
             params.setNeedSave(true);
         }
         return Result.ok(str);
-        /*try{
-
-        }catch (Exception e){
-            e.printStackTrace();
-            return Result.error("文件导入失败"+e.getMessage());
-        }*/
     }
 
 
@@ -1818,7 +1819,6 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                             }else{
                                 if(cell!=null){
                                     cell.setCellType(CellType.STRING);//获取的都转换成String
-                                    System.out.println("cell\t"+cell.getStringCellValue());
                                     if(cell.getStringCellValue().length()<1&&!nums.contains(i)){
                                         throw new JeecgBootException("第"+num+"页的"+"第"+(x+1)+"行的"+
                                                 sheet.getRow(0).getCell(i).getStringCellValue()+"未填值!");

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

@@ -86,7 +86,7 @@
     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
+    ORDER BY a.`create_time` DESC
 	</select>
 
     <select id="selectPage2" resultType="org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo">

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

@@ -543,7 +543,6 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 	public boolean excelAdd(List<SyPreAssembledPackingList> items1) {
 		boolean bool=false;
 		try{
-
 			for(SyPreAssembledPackingList syPreAssembledPackingList : items1){
 				SimpleDateFormat sf = new SimpleDateFormat("yyMMddHHmmssSSS");
 				String dateNo ="YCY"+sf.format(System.currentTimeMillis()) ;
@@ -557,8 +556,10 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 				syPreAssembledPackingList.setTotalGrossWeight(new BigDecimal("0"));
 				syPreAssembledPackingList.setTotalVolume(new BigDecimal("0"));
 				syPreAssembledPackingList.setTotalPrice(new BigDecimal("0"));
-				syPreAssembledPackingListMapper.insert(syPreAssembledPackingList);//往主表添加数据
+				syPreAssembledPackingList.setId(oConvertUtils.id());
+				//syPreAssembledPackingListMapper.insert(syPreAssembledPackingList);//往主表添加数据
 				List<SyPreAssembledPackingListItem> items=syPreAssembledPackingList.getSyPreAssembledPackingListItemList();
+				Map<String,BigDecimal> maps=new HashMap<>();
 				//System.out.println("items的长度\t"+items.size());
 				for (SyPreAssembledPackingListItem item : items){
 				//	System.out.println("净重\t"+item.getTotalNetWeight());
@@ -583,14 +584,13 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 						item1.setTotal(boxNumber);//该尺码件数
 						syPreAssembledPackingList.setTotal(syPreAssembledPackingList.getTotal().add(boxNumber));
 						item1.setActualPackingQty(size.getQuantity());//获取该尺码计划装箱数量
-						//item1.setRemainingQuantity(boxNumber);//剩余数量
 						item1.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id
 						item1.setSort(size.getNum());//获取序号
 						item1.setId(oConvertUtils.id());//获取到随机id
+						//item1.setRemainingQuantity(boxNumber);//剩余数量
 						//获取发育明细数据
 						SyShippingDetailsItem syItem=syShippingDetailsItemMapper.selectById(item1.getSyDeclarationElementsItemId());
 						if(syItem!=null){
-							System.out.println(item1.getSize()+"\t"+item1.getSyDeclarationElementsItemId());
 							item1.setPackId(syItem.getPackId());
 							item1.setUnitPrice(syItem.getSalesUnitPrice());//获取销售单价
 							item1.setFactoryUnitPrice(new BigDecimal(syItem.getFactoryUnitPrice()==null?"0":syItem.getFactoryUnitPrice()));//工厂单价
@@ -623,7 +623,14 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 							syItem.setExcessQuantity(item1.getTotal().subtract(syItem.getSurplusQuantity()));
 							//syItem.setIsReference(1);//标识已被参照
 							syShippingDetailsItemMapper.updateById(syItem);//修改发运明细*/
-							updateQuantity(item1.getTotal(),item1.getSyDeclarationElementsItemId());
+							if(item1.getTotal().doubleValue()>0){
+								if(maps.containsKey(item.getSyDeclarationElementsItemId())){
+									maps.put(item1.getSyDeclarationElementsItemId(),maps.get(item1.getSyDeclarationElementsItemId()).add(item1.getTotal()));
+								}else{
+									maps.put(item1.getSyDeclarationElementsItemId(),item1.getTotal());
+								}
+								//updateQuantity(item1.getTotal(),item1.getSyDeclarationElementsItemId());
+							}
 						}
 						syPreAssembledPackingList.setTotalPrice(syPreAssembledPackingList.getTotalPrice().add(item1.getTotalPrice()));//获取总价
 						if(size.getProportion()==0){
@@ -632,12 +639,15 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 						syPreAssembledPackingListItemMapper.insert(item1);//添加子表数据
 					}
 				}
+				for (String key : maps.keySet()){
+					updateQuantity(maps.get(key),key);
+				}
 				SyShippingDetails syShippingDetails=syShippingDetailsMapper.selectById(syPreAssembledPackingList.getSyDeclarationElementsId());
 				if(syShippingDetails!=null){
 					syPreAssembledPackingList.setCustomer(syShippingDetails.getCustomer());
 					syPreAssembledPackingList.setSyOrderDataId(syShippingDetails.getSyOrderDataId());
 				}
-				syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);//修改汇总数据
+				syPreAssembledPackingListMapper.insert(syPreAssembledPackingList);//修改汇总数据
 			}
 			bool=true;
 		}catch (Exception e){
@@ -665,11 +675,11 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 				for (SizeTable size : item.getSizeTables()){
 					ids+=""+size.getItemId()+",";//获取出运明细子表id
 					if(num2==0){
-						SyShippingDetailsItem syshippings=syShippingDetailsItemMapper.selectById(size.getItemId());
+						//SyShippingDetailsItem syshippings=syShippingDetailsItemMapper.selectById(size.getItemId());
 						if(main.getCustomerAbbreviation().equals("BW")||main.getCustomerAbbreviation().equals("DUNNES")){
-							name=syshippings.getItemNumber()+"-"+item.getSmallPo()+"-"+syshippings.getPackId();
+							name=item.getStyleNo()+"-"+item.getSmallPo()+"-"+item.getItemCode();
 						}else{
-							name=syshippings.getItemNumber()+"-"+item.getSmallPo();
+							name=item.getStyleNo()+"-"+item.getSmallPo();
 						}
 					}
 				}

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

@@ -835,7 +835,8 @@ public class SyPackingListFabricController {
 			 Workbook workbook = ExcelExportUtil.exportExcelClone(maps,templateExcelConstants);
 			// Workbook workbook = ExcelExportUtil.exportExcel(maps,templateExcelConstants);
 			 for(int i=0;i<count;i++){
-				 workbook.setSheetName(i,packingListFabrics.get(count-1-i).getContainerNumber()+"-"+packingListFabrics.get(count-1-i).getExportInvoiceNo());
+				 //workbook.setSheetName(i,packingListFabrics.get(count-1-i).getContainerNumber()+"-"+packingListFabrics.get(count-1-i).getExportInvoiceNo());
+				 workbook.setSheetName(i,"面辅料");
 			 }
 			 //匹数 毛重 净重 体积 实际报关数量 单价 金额
 			 //refreshSheet(workbook,temps);//配置某列数据

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

@@ -357,6 +357,12 @@ public class SyPackingListFabricItem implements Serializable {
 	@ApiModelProperty(value = "报关单价")
 	private java.math.BigDecimal customsDeclarationUnitPrice;
 
+	/**报关单位*/
+	@Excel(name = "报关单位", width = 15)
+	@ApiModelProperty(value = "报关单位")
+	@TableField(exist = false)
+	private String declarationUnit;
+
 	/**返回导入报错行要用的序号*/
 	@ApiModelProperty(value = "返回导入报错行要用的序号")
 	@TableField(exist = false)

+ 5 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricItemMapper.xml

@@ -119,13 +119,16 @@
 		SELECT a.create_time ,a.create_by ,a.garment_Factory,(Select declaration_Name
 		from sy_declaration_elements
 		where id=elements_Id
-		) declaration_Name,b.* FROM
+		) declaration_Name,(Select declaration_Unit
+		from sy_declaration_elements
+		where id=elements_Id
+		) declaration_Unit,b.* FROM
 		sy_packing_list_fabric a LEFT JOIN
 		sy_packing_list_fabric_item b ON
 		a.id=b.sy_packing_list_fabric_id and a.del_flag=0
 		WHERE b.del_flag=0 and
 		sy_packing_list_fabric_id=#{value}
-		ORDER BY  b.declaration_Name,inventory_Name,plan_Lot_Number,dyelot_Number
+		ORDER BY  b.declaration_Name,plan_Lot_Number
 	</select>
 
 	<select id="getList"   resultType="org.jeecg.modules.splfi.entity.SyPackingListFabricItem">

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

@@ -437,27 +437,27 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		for (SyPackingListFabric main : packingListFabrics){//获取子表数据
 			List<SyPackingListFabricItem> items=syPackingListFabricItemMapper.selectByMainId2(main.getId());
 			if(items.size()>0){
+				main.setSyPackingListFabricItem(items);
 				/*for(SyPackingListFabricItem item : items){
 					item.setCreateBy(main.getCreateBy());//获取制单人
 					item.setCreateTime(main.getCreateTime());//获取制单时间
 				}
 				System.out.println("createtime\t"+main.getCreateTime());
 				System.out.println("createby\t"+main.getCreateBy());*/
-				main.setSyPackingListFabricItem(items);
 			}
-			if(main.getContainerNumber()==null){
+			/*if(main.getContainerNumber()==null){
 				main.setContainerNumber("");
 			}
 			if(main.getExportInvoiceNo()==null){
 				main.setExportInvoiceNo("");
 			}
-			if(maps.containsKey(main.getContainerNumber()+main.getExportInvoiceNo())){//有相同的外销发票号和集装箱号
-				SyPackingListFabric syPackingListFabric= maps.get(main.getContainerNumber()+main.getExportInvoiceNo());
+			*/
+			if(maps.containsKey("test")){//有相同的外销发票号和集装箱号
+				SyPackingListFabric syPackingListFabric= maps.get("test");
 				items.addAll(syPackingListFabric.getSyPackingListFabricItem());
 				syPackingListFabric.setSyPackingListFabricItem(items);
-
 			}else{
-				maps.put(main.getContainerNumber()+main.getExportInvoiceNo(),main);
+				maps.put("test",main);
 			}
 		}
 		for (String key : maps.keySet()){
@@ -920,6 +920,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			map.put("CVOUCHCODE", org.jeecg.modules.system.util.oConvertUtils.addOne(purchaseWarehousingMapper.getMaxCode("cCode","RdRecord01","dnmaketime")));//获取单据号
 			map.put("DDATE",createDate);//日期(格式2015-01-01)
 			map.put("CMAKER",createBy);//制单人
+			map.put("CHANDLER",createBy);//审核人
 			map.put("cVouchType",1);//传1
 
 			JSONObject map2=new JSONObject();//材料出库单
@@ -935,12 +936,12 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			map3.put("DDATE",createDate);//发货日期(yyyy-MM-dd)
 			map3.put("BRETURNFLAG","0");//退货标识(1:退货,0:发货)
 			map3.put("CMAKER",createBy);//制单人名称
-			//map3.put("CVERIFIER",createBy);//审核人名称
+			map3.put("CVERIFIER",createBy);//审核人名称
 
 			JSONObject map4=new JSONObject();//销售出库单
 			map4.put("CVOUCHCODE",org.jeecg.modules.system.util.oConvertUtils.addOne(purchaseWarehousingMapper.getMaxCode("ccode","rdrecord32","dnmaketime")));//单据号
 			map4.put("DDATE",createDate);//订单日期(格式2015-01-01)
-			map4.put("CHANDLER",createBy);//制单
+			map4.put("CHANDLER",createBy);//审核
 			map4.put("CMAKER",createBy);//制单人
 
 			JSONObject map5=new JSONObject();//采购发票
@@ -948,6 +949,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			map5.put("DDATE",createDate);//发票日期(格式2015-01-01)
 			map5.put("CTYPE","普通");//发票类型(01:专用 02:普票)
 			map5.put("CMAKER",createBy);//制单人
+			map5.put("CHANDLER",createBy);//审核人
 
 			JSONObject map6=new JSONObject();//销售发票
 			map6.put("CVOUCHCODE",org.jeecg.modules.system.util.oConvertUtils.addOne(purchaseWarehousingMapper.getMaxCode("cSBVCode","SaleBillVouch","cSBVCode")));//发票号
@@ -1062,6 +1064,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 						Map<String,Object> orderDataItem2=purchaseWarehousingMapper.getPOPodetails(orderDataItem.get("id").toString());//获取自由项
 						getcFree(mapItem,orderDataItem2);
 						getcFree(mapItem5,orderDataItem2);
+						mapItem.put("CBATCHPROPERTY3",item.getRolls());
 						mapItem.put("POAUTOIDCOL","ID");//订单明细ID对应字段名(关联单据类型为采购订单传ID,为采购到货单为Autoid,为委外订单传MODetailsID,为委外到货单为Autoid)
 						mapItem.put("AUTOID_PO",orderDataItem.get("id"));//明细ID(采购订单行ID/委外订单行ID)
 						map5.put("CGLTYPE","采购订单");
@@ -1079,6 +1082,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					getcFree(mapItem5,orderDataItem2);
 					mapItem.put("POAUTOIDCOL","MODetailsID");//订单明细ID对应字段名(关联单据类型为采购订单传ID,为采购到货单为Autoid,为委外订单传MODetailsID,为委外到货单为Autoid)
 					mapItem.put("AUTOID_PO",orderDataItem.get("id"));//明细ID(采购订单行ID/委外订单行ID)
+					mapItem.put("CBATCHPROPERTY3",item.getRolls());
 					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());//委外订单子表

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

@@ -1270,10 +1270,10 @@ public class SyPackingListTailoringController {
 			}
 			Map<String,Object> map=new HashMap<>();
 			SyPackingListTailoring main=syPackingListTailoringService.getById(ids);
-			QueryWrapper queryWrapper=new QueryWrapper();
+			/*QueryWrapper queryWrapper=new QueryWrapper();
 			queryWrapper.eq("sy_packing_list_tailoring_id",main.getId());
-			queryWrapper.eq("del_flag","0");
-			List<SyPackingListTailoringItem> syPackingListTailoringItems=syPackingListTailoringItemService.list(queryWrapper);
+			queryWrapper.eq("del_flag","0");*/
+			List<SyPackingListTailoringItem> syPackingListTailoringItems=syPackingListTailoringService.getList(main.getId());
 			String message="";//获取报错消息
 			if(syPackingListTailoringItems!=null){
 				main.setSyPackingListTailoringItemList(syPackingListTailoringItems);

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

@@ -3,6 +3,7 @@ package org.jeecg.modules.splt.mapper;
 import java.util.List;
 
 import org.jeecg.modules.spapl.entity.SizeTable;
+import org.jeecg.modules.splt.entity.SyPackingListTailoring;
 import org.jeecg.modules.splt.entity.SyPackingListTailoringItem;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -25,4 +26,6 @@ public interface SyPackingListTailoringItemMapper extends BaseMapper<SyPackingLi
 	public List<SizeTable>size(String group_id, String id);
 
 	public List<SizeTable> sizes(String id);
+
+    List<SyPackingListTailoringItem> getList(String id);
 }

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

@@ -145,4 +145,12 @@
 		 WHERE sy_packing_list_tailoring_id =#{value}
 		 ORDER BY sy_order_data_item_id
 	</select>
+
+	<select id="getList" parameterType="java.lang.String" resultType="org.jeecg.modules.splt.entity.SyPackingListTailoringItem">
+		SELECT size,sum(total),ompo_Id_Item,id,ompo_Account,ompo_Id,spur_Or_Sub_Order,inventory_Code  FROM  sy_packing_list_tailoring_item
+		WHERE sy_packing_list_tailoring_id =  #{id}
+		and del_flag=0
+		group by size,ompo_Id_Item
+		order by ompo_Id_Item
+	</select>
 </mapper>

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

@@ -95,4 +95,10 @@ public interface ISyPackingListTailoringService extends IService<SyPackingListTa
     String getOrderDataId(String id);
 
     String[] getExcelId();
+
+	/**
+	 * 把所有尺码相同尺码合并
+	 *
+	 */
+	public List<SyPackingListTailoringItem> getList(String id) ;
 }

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

@@ -806,6 +806,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			map.put("CVOUCHCODE", org.jeecg.modules.system.util.oConvertUtils.addOne(purchaseWarehousingMapper.getMaxCode("cCode","RdRecord01","dnmaketime")));//获取单据号
 			map.put("DDATE",createDate);//日期(格式2015-01-01)
 			map.put("CMAKER",createBy);//制单人
+			map.put("CHANDLER",createBy);//审核人
 			map.put("cVouchType",1);//传1
 
 			JSONObject map3=new JSONObject();//销售发货单
@@ -813,12 +814,12 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			map3.put("DDATE",createDate);//发货日期(yyyy-MM-dd)
 			map3.put("BRETURNFLAG","0");//退货标识(1:退货,0:发货)
 			map3.put("CMAKER",createBy);//制单人名称
-			//map3.put("CVERIFIER",createBy);//审核人名称
+			map3.put("CVERIFIER",createBy);//审核人名称
 
 			JSONObject map4=new JSONObject();//销售出库单
 			map4.put("CVOUCHCODE",org.jeecg.modules.system.util.oConvertUtils.addOne(purchaseWarehousingMapper.getMaxCode("ccode","rdrecord32","dnmaketime")));//单据号
 			map4.put("DDATE",createDate);//订单日期(格式2015-01-01)
-			map4.put("CHANDLER",createBy);//制单
+			map4.put("CHANDLER",createBy);//审核
 			map4.put("CMAKER",createBy);//制单人
 
 			JSONObject map5=new JSONObject();//采购发票
@@ -826,6 +827,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			map5.put("DDATE",createDate);//发票日期(格式2015-01-01)
 			map5.put("CTYPE","普通");//发票类型(01:专用 02:普票)
 			map5.put("CMAKER",createBy);//制单人
+			map5.put("CHANDLER",createBy);//审核人
 
 			JSONObject map6=new JSONObject();//销售发票
 			map6.put("CVOUCHCODE",org.jeecg.modules.system.util.oConvertUtils.addOne(purchaseWarehousingMapper.getMaxCode("cSBVCode","SaleBillVouch","dcreatesystime")));//发票号
@@ -1275,4 +1277,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		}
 
 	}
+
+	@Override
+	public List<SyPackingListTailoringItem> getList(String id) {
+		return syPackingListTailoringItemMapper.getList(id);
+	}
 }