Quellcode durchsuchen

预装箱单列表导出增加分销点

huxy vor 2 Jahren
Ursprung
Commit
4a7292055a

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

@@ -1020,12 +1020,12 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                     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()+vo.getDistributionPoint())){
+                    ids.get(vo.getSmallPo()+vo.getPreDeliveryDate()+vo.getPrice()+vo.getMaterialComposition()+vo.getDistributionPoint()).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()+vo.getDistributionPoint(),list);
                 }
             }
             List<SyPreAssembledPackingList> temps=syPreAssembledPackingListService.queryById2(ids,allIds);

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

@@ -98,7 +98,7 @@ public class SyPreAssembledPackingList implements Serializable {
 	@Excel(name = "分销点", width = 15)
 	@TableField(exist = false)
 	@ApiModelProperty(value = "分销点")
-	private String distributionPoint;
+	private String distributionPoint;//b.distribution_Point
 	/**总箱数*/
 	@ApiModelProperty(value = "总箱数")
 	private java.math.BigDecimal totalBoxes;
@@ -263,6 +263,8 @@ public class SyPreAssembledPackingList implements Serializable {
 				"成分:"+ ","+
 				materialComposition+ ","+
 				"单价:"+ ","+
-				price;
+				price+ ","+
+				"分销点:"+ ","+
+				distributionPoint;
 	}
 }

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

@@ -255,7 +255,7 @@
 
 	<select id="querySize3" resultType="org.jeecg.modules.spapl.entity.SizeTable" >
 		SELECT DISTINCT b.size, b.sy_order_data_item_id itemId,num,
-		CONCAT(b.small_po,b.hod,b.unit_price,d.material_composition) groupName
+		CONCAT(b.small_po,b.hod,b.unit_price,d.material_composition,b.distribution_Point) groupName
 		FROM sy_pre_assembled_packing_list_item b
 		left join sy_shipping_details_item d
 		on	b.sy_declaration_elements_item_id=d.id
@@ -364,7 +364,7 @@
 			b.factory_unit_price,
 			b.master_Metering,
 			b.group_id,
-			CONCAT(b.small_po,b.hod,b.unit_price,d.material_composition) groupName
+			CONCAT(b.small_po,b.hod,b.unit_price,d.material_composition,b.distribution_Point) groupName
 			/*SUM(total_quantity) total_quantity,合计数量/件数*/
 		FROM  sy_pre_assembled_packing_list_item b
 		left join sy_shipping_details_item d

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

@@ -195,7 +195,8 @@
         material_Composition,
         unit_price price,
         b.hod AS preDeliveryDate,
-        b.small_po
+        b.small_po,
+        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
@@ -358,12 +359,13 @@
         SELECT
         a.item_Number item_Number,
         b.small_Po order_Number,
+        b.distribution_Point,
         SUBSTRING(b.hod,1,10)  hod,
         b.supplier,
         b.Unit_Price  price,
         d.material_Composition,
         declaration_name productName,
-        CONCAT(b.small_po,b.hod,b.unit_price,d.material_composition) groupName
+        CONCAT(b.small_po,b.hod,b.unit_price,d.material_composition,b.distribution_Point) 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
@@ -375,7 +377,7 @@
         <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
+        group by b.small_po,b.hod,b.unit_price,d.material_composition,b.distribution_Point
 	</select>
 
 </mapper>

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

@@ -919,6 +919,7 @@ public class SyPackingListTailoringController {
 		 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
 		 Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
 		 for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+			 long startTime = System.currentTimeMillis();
 			 MultipartFile file = entity.getValue();// 获取上传文件对象
 			 System.out.println("文件是否为空--isfile\t"+file.isEmpty());
 			 System.out.println("文件全称--fileName\t"+file.getOriginalFilename());
@@ -927,6 +928,8 @@ public class SyPackingListTailoringController {
 			 InputStream inputStream=file.getInputStream();
 			 Workbook workbook=new XSSFWorkbook(inputStream);
 			 refreshSheet(workbook);
+			 long endTime2 = System.currentTimeMillis();
+			 System.out.println("导入添加时间:" + (endTime2 - startTime) + "ms");
 		 }
 		 return Result.OK("文件导入成功!");
 	 }
@@ -935,7 +938,6 @@ public class SyPackingListTailoringController {
 	 private void refreshSheet(Workbook workbook1) {
 		 //String load="C:\\Users\\admin\\Downloads\\装箱单测试.xls";
 		 //头表目前固定七个字段数据
-		 long startTime = System.currentTimeMillis();
 		 List<SyPackingListTailoring> mains=new ArrayList<>();
 		 Iterator sheets=workbook1.sheetIterator();
 		 int num=0;
@@ -965,17 +967,16 @@ public class SyPackingListTailoringController {
 								 sheet.getRow(3).getCell(i).getStringCellValue()+"未填值!");
 					 }*/
 					cell.setCellType(CellType.STRING);//获取的都转换成String
-					System.out.print(cell.getStringCellValue()+"\t");
 				 	if(x==2&&i<12){
 				 		strMain+=cell.getStringCellValue()+"!-!";
 				 		continue;
 					}else if(x==1){
 				 		continue;
 					}
-				 	if(x==3&&i>6&&i<row.getLastCellNum()-8){
+				 	if(x==3&&i>6&&i<row.getLastCellNum()-7){
 						str2+=cell.getStringCellValue()+",";
 					}
-					 if((i>6&&i<row.getLastCellNum()-8)||i==row.getLastCellNum()-1){
+					 if((i>6&&i<row.getLastCellNum()-7)||i==row.getLastCellNum()-1){
 						 str1+=cell.getStringCellValue()+",";
 						//System.out.print(String.format("\033[%dm%s\033[0m", 31, cell.getStringCellValue())+"\t");//颜色
 					 }else{
@@ -990,20 +991,14 @@ public class SyPackingListTailoringController {
 									 str2.substring(0,str2.length()-1).split(","));
 				 	items.add(item);
 				 }else if(x==2){
-					 System.out.println("\nstrMain1\n"+strMain);
 					 main=new SyPackingListTailoring(strMain.substring(0,strMain.length()-3).split("!-!"));
-					 System.out.println("\nmain\n"+main);
 				 }
 				// x=x<2?++x:x;//跨行
 			 }
 			 main.setSyPackingListTailoringItemList(items);
 			 mains.add(main);
 		 }
-		 long endTime = System.currentTimeMillis();
-		 System.out.println("添加数据之前:" + (endTime - startTime) + "ms");
 		 syPackingListTailoringService.excelAdd(mains);//新增
-		 long endTime2 = System.currentTimeMillis();
-		 System.out.println("添加数据之后:" + (endTime2 - startTime) + "ms");
 	 }
 
 
@@ -1021,6 +1016,7 @@ public class SyPackingListTailoringController {
 		 try{
 			 String str="";
 			 for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+				 long startTime = System.currentTimeMillis();
 				 MultipartFile file = entity.getValue();// 获取上传文件对象
 				 System.out.println("文件是否为空--isfile\t"+file.isEmpty());
 				 System.out.println("文件全称--fileName\t"+file.getOriginalFilename());
@@ -1029,6 +1025,8 @@ public class SyPackingListTailoringController {
 				 InputStream inputStream=file.getInputStream();
 				 Workbook workbook=new XSSFWorkbook(inputStream);
 				 str+=refreshSheet1(workbook);
+				 long endTime2 = System.currentTimeMillis();
+				 System.out.println("导入测试时间:" + (endTime2 - startTime) + "ms");
 			 }
 			 return Result.OK(str);
 		 }
@@ -1422,19 +1420,25 @@ public class SyPackingListTailoringController {
 		 return result;
 	 }
 
-	 @AutoLog(value = "获取数据")
-	 @ApiOperation(value="获取数据", notes="获取数据")
-	 @GetMapping(value = "/getPreData")
-	 public Result getOrderNumber() {
+	 @AutoLog(value = "获取100个单据号")
+	 @ApiOperation(value="获取100个单据号", notes="获取100个单据号")
+	 @GetMapping(value = "/getDoc")
+	 public Result getOrderNumber(int num) {
 	 	Result result=new Result();
-	 	try{
-			syPackingListTailoringService.getOrderNumber();
-	 		result.setMessage("成功获取数据");
-	 		result.setSuccess(true);
-		}catch (Exception e){
-	 		result.setMessage("报错原因:"+e.getMessage());
-			result.setSuccess(false);
+	 	List<String> times=new ArrayList<>();
+	 	//获取100个单据号,
+		 int size=1;
+		 int num1=num;
+		 while (num1>=10){
+			 num1=num1/10;
+		 	size+=1;
+		 }
+	 	for (int i=1;i<=num;i++){
+			SimpleDateFormat sf = new SimpleDateFormat("yyMMddHHmmssSSS");
+			String dateNo ="YCY"+sf.format(System.currentTimeMillis())+String.format("%0"+size+"d", i);
+			times.add(dateNo);
 		}
+	 	result.setResult(times);
 		return result;
 	 }
 

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

@@ -351,9 +351,6 @@ public class SyPackingListTailoringItem implements Serializable {
 			colour=params1[6];
 			unitPrice=new BigDecimal("0");//初始化
 			totalPrice=new BigDecimal("0");//初始化
-			System.out.println("params2\n"+ Arrays.asList(params2));
-			System.out.println("params3\n"+ Arrays.asList(params3));
-			System.out.println("params1[7]\t"+params1[7]);
 			outerBoxLength=new BigDecimal(params1[7]);
 			outerBoxWidth=new BigDecimal(params1[8]);
 			outerBoxHeight=new BigDecimal(params1[9]);

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

@@ -723,7 +723,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 	@Transactional
 	public boolean excelAdd(List<SyPackingListTailoring> mains) {
 		boolean bool=true;
-		/*Date day=new Date();//当前日期
+		List<String> documentNos=getDateNos(mains.size());
+		int num=0;
+		Date day=new Date();//当前日期
 		try {
 			String time= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis());
 			day =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time);//获取制单日期
@@ -764,7 +766,8 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				syPackingListTailoring.setDelFlag("0");//删除状态默认为0
 				syPackingListTailoring.setPushState("0");//推送状态默认为0
 				syPackingListTailoring.setStatus("0");//单据状态默认为0
-				syPackingListTailoring.setDocumentNo(randomStr());//单据号
+				syPackingListTailoring.setDocumentNo(documentNos.get(num));//单据号
+				num++;
 				//syPackingListTailoringMapper.insert(syPackingListTailoring);//往主表添加数据
 				syPackingListTailoring.setTotal(new BigDecimal("0"));
 				syPackingListTailoring.setTotalBoxes(new BigDecimal("0"));
@@ -819,6 +822,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 							if(item1.getFactoryUnitPrice()!=null){
 								item1.setFactoryUnitPrice(syPreItem.getFactoryUnitPrice());//工厂单价
 							}
+							item.setCreateTime(day);
 							item1.setInventoryName(syPreItem.getInventoryName());//存货名称
 							item1.setAcSetNo(syPreItem.getAcSetNo());//获取账套号
 							item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价		箱数*单价-->件数*单价
@@ -833,14 +837,17 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 
 							item1.setSyOrderDataId(syPreItem.getSyOrderDataId());//订单数据子表id
 							item1.setSyOrderDataItemId(syPreItem.getSyOrderDataItemId());//订单数据子表id
-							*//*item1.setSupplier(syPreItem.getSupplier());
-							item1.setSupplierCode(syPreItem.getSupplierCode());*//*
+							/*item1.setSupplier(syPreItem.getSupplier());
+							item1.setSupplierCode(syPreItem.getSupplierCode());*/
 							//syPreAssembledPackingListItemMapper.updateById(syPreItem);//修改剩余数量
 						}
 						syPackingListTailoring.setTotalPrice(syPackingListTailoring.getTotalPrice().add(item1.getTotalPrice()));//获取总价
 						if(size.getProportion()==0){
 							item1.setTotal(null);//该尺码件数
 						}
+						SyPackingListTailoringItem item2=new SyPackingListTailoringItem();
+						BeanUtils.copyProperties(item1,item2);
+						listItems.add(item2);
 						//syPackingListTailoringItemMapper.insert(item1);//添加子表数据
 					}
 				}
@@ -850,16 +857,18 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 					syPackingListTailoring.setElementsId(syPreAssembledPackingList.getElementsId());
 					syPackingListTailoring.setOrderNumber(syPreAssembledPackingList.getOrderNumber());
 				}
+				lists.add(syPackingListTailoring);
 				//syPackingListTailoringMapper.updateById(syPackingListTailoring);//修改数据
 			}
 			bool=true;
+			syPackingListTailoringItemMapper.insertBatch(listItems);
+			saveBatch(lists);
 		}catch (Exception e){
 			e.printStackTrace();
 		}
 		return bool;
-*/		List<String> documentNos=getDateNos(mains.size());
-		int num=0;
-		try{
+
+		/*try{
 			for (SyPackingListTailoring syPackingListTailoring : mains){
 				syPackingListTailoring.setDelFlag("0");//删除状态默认为0
 				syPackingListTailoring.setPushState("0");//推送状态默认为0
@@ -961,7 +970,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		}catch (Exception e){
 			e.printStackTrace();
 		}
-		return bool;
+		return bool;*/
 	}
 
 	@Override
@@ -973,37 +982,37 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			BigDecimal total2=new BigDecimal("0");
 			BigDecimal total3=new BigDecimal("0");
 			BigDecimal total4=new BigDecimal("0");
+			String ids="";
 			for (SyPackingListTailoringItem item :main.getSyPackingListTailoringItemList()){
 				if(item.getTotal()!=null){
 					total3=total3.add(item.getTotal());
 				}else{
 					total3=total3.add(new BigDecimal("0"));
 				}
-				String ids="";
 				for (SizeTable size : item.getSizeTables()){
 					ids+=size.getItemId()+",";//获取出运明细子表id
 				}
-				if(!ids.equals("")){
-					ids=ids.substring(0,ids.length()-1);
-					QueryWrapper queryWrapper=new QueryWrapper();
-					queryWrapper.in("id", Arrays.asList(ids.split(",")));
-					queryWrapper.select("sum(total) as total");
-					queryWrapper.eq("del_Flag","0");//未删除
-					SyPreAssembledPackingListItem syshippings=syPreAssembledPackingListItemMapper.selectOne(queryWrapper);
-					if(syshippings==null){
-						throw new JeecgBootException("该单据在上游未找到");
-					}else{
-						total1=syshippings.getTotal();
-					}
-					queryWrapper=new QueryWrapper();
-					queryWrapper.in("sy_Pre_Assembled_Packing_List_Item_Id", Arrays.asList(ids.split(",")));
-					queryWrapper.select("sum(total) as total");
-					queryWrapper.eq("del_Flag","0");//未删除
-					SyPackingListTailoringItem syPackingItem=syPackingListTailoringItemMapper.selectOne(queryWrapper);
-					if(syPackingItem!=null){
-						total2=syPackingItem.getTotal();
-						//throw new JeecgBootException("该单据已被成衣参照!请勿重复操作");
-					}
+			}
+			if(!ids.equals("")){
+				ids=ids.substring(0,ids.length()-1);
+				QueryWrapper queryWrapper=new QueryWrapper();
+				queryWrapper.in("id", Arrays.asList(ids.split(",")));
+				queryWrapper.select("sum(total) as total");
+				queryWrapper.eq("del_Flag","0");//未删除
+				SyPreAssembledPackingListItem syshippings=syPreAssembledPackingListItemMapper.selectOne(queryWrapper);
+				if(syshippings==null){
+					throw new JeecgBootException("该单据在上游未找到");
+				}else{
+					total1=syshippings.getTotal();
+				}
+				queryWrapper=new QueryWrapper();
+				queryWrapper.in("sy_Pre_Assembled_Packing_List_Item_Id", Arrays.asList(ids.split(",")));
+				queryWrapper.select("sum(total) as total");
+				queryWrapper.eq("del_Flag","0");//未删除
+				SyPackingListTailoringItem syPackingItem=syPackingListTailoringItemMapper.selectOne(queryWrapper);
+				if(syPackingItem!=null){
+					total2=syPackingItem.getTotal();
+					//throw new JeecgBootException("该单据已被成衣参照!请勿重复操作");
 				}
 			}
 			total4=total4.add(total2).add(total3);