瀏覽代碼

面辅料导入分批

huxy 1 年之前
父節點
當前提交
0fd475431a

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

@@ -946,7 +946,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
     @AutoLog(value = "预装箱单列表导出")
     @ApiOperation(value="预装箱单列表导出", notes="预装箱单列表导出")
     @RequestMapping(value = "/exportXls3")
-    public Result<SyPreAssembledPackingList> exportXls3(HttpServletRequest request,
+    public void exportXls3(HttpServletRequest request,
                                                         HttpServletResponse response,
                                                         SyPreAssembledPackingListVo syPreAssembledPackingListVo,
                                                         String stratDate,
@@ -1025,7 +1025,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                 result.setResult(null);
                 result.setMessage("导出失败!没有查询到数据");
                 result.setSuccess(false);
-                return result;
+                //return result;
             }
             Map<String, List<String>> ids1=new HashMap<>();
             List<String> allIds=new ArrayList<>();
@@ -1078,7 +1078,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
             result.setMessage(e.getMessage());
             result.setSuccess(false);
         }finally {
-            return result;
+            //return result;
         }
 
     }
@@ -1329,12 +1329,14 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
         while (sheets.hasNext()){
             Sheet sheet=(Sheet) sheets.next();
             //箱数、件数、总净重、总体积、总毛重 不需要合计只需要获取主表数据
+            //int max=0;
             for (SyPreAssembledPackingList list : items){
                 int mainLength=num1+1;
                 num1++;
                 num1++;
                 int num2=0;
                 for (SyPreAssembledPackingListItem item : list.getSyPreAssembledPackingListItemList()){
+                    //int sizeLength=20-list.getSizeTables().size();
                     if(num2==0){
                         Row row1 = sheet.createRow(num1+1);
                         num1++;
@@ -1347,10 +1349,14 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                         num2++;
                         //PCS/PACK	PACKS/CTN	PACK QTY
                         //件数/包	包数/箱	包数
-                        for (int i=0;i<args2.length;i++){
+                        for (int i=0;i<args2.length/*+sizeLength*/;i++){
                             Cell cell = row1.createCell(i);//横向
-                            cell.setCellValue(args2[i]);
                             if(i<args2.length-11-3&&i>5){
+                                if(i>5+strs.split(",").length){
+                                    cell.setCellValue("");
+                                }else{
+                                    cell.setCellValue(args2[i]);
+                                }
                                 cell.setCellStyle(cellStyle2);
                             }else{
                                 cell.setCellStyle(cellStyle);
@@ -1361,7 +1367,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                     num1++;
                     String [] args3=item.toString4(list.getSizeTables()).split(",");
                     x=args3.length;
-                    for (int i=0;i<args3.length;i++){
+                    for (int i=0;i<args3.length/*+sizeLength*/;i++){
                         Cell cell = row2.createCell(i);//横向
                         if(i>2&&i!=5&&args3[i].length()>0){
                             if(args3[i]==null||args3[i].equals("null")){
@@ -1434,10 +1440,11 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                     sheet.addMergedRegion(region2);
                 }
                 row = sheet.createRow(mainLength+1);
-                for (int i=0;i<x;i++){
+               // int sizeLength=20-list.getSizeTables().size();
+                for (int i=0;i<(x/*+sizeLength*/);i++){
                     Cell cell = row.createCell(i);//横向
                     cell.setCellStyle(cellStyle);
-                    if(i>=6&&i<6+list.getSizeTables().size()){
+                    if(i>=6&&i<6/*+sizeLength*/){
                         //row.createCell(6).setCellValue("size");
                         Cell cell2= row.createCell(6);
                         cell2.setCellStyle(cellStyle2);
@@ -1447,9 +1454,9 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                         cell.setCellValue(args2[i]);
                         cell.setCellStyle(cellStyle);
                     }
-                    else if(i>=5+list.getSizeTables().size()&&i<9+list.getSizeTables().size()){
+                    else if(i>=5/*+sizeLength*/&&i<9/*+sizeLength*/){
                         //System.out.println("i\t"+i);
-                        cell.setCellValue(args2[i-list.getSizeTables().size()]);
+                        cell.setCellValue(args2[i/*-sizeLength*/]);
                         cell.setCellStyle(cellStyle);
                     }
                     else{
@@ -1460,7 +1467,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                     }
                 }
                 Row row2 = sheet.createRow(num1+1);
-                for (int i=0;i<x;i++){
+                for (int i=0;i<(x/*+sizeLength*/);i++){
                     Cell cell = row2.createCell(i);//横向
                     cell.setCellStyle(cellStyle);
                     if(i==0){
@@ -1490,8 +1497,11 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                 //cell6.setCellStyle(cellStyle);
                 num1++;
                 num1++;
+               /* if(list.getSizeTables()!=null&&list.getSizeTables().size()>max){
+                    max=list.getSizeTables().size();
+                }*/
             }
-
+           // System.out.println("最长的sizetables为"+max);
         }
     }
 

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

@@ -721,51 +721,68 @@ public class SyPackingListFabricController implements Job {
 		 Map<String,SyPackingListFabric> maps=new HashMap<>();
 		 Iterator sheets=workbook1.sheetIterator();
 		 //while (sheets.hasNext()){
-			 Sheet sheet=(Sheet) sheets.next();
-			 SyPackingListFabric main =new SyPackingListFabric();
-			 List<SyPackingListFabricItem> items=new ArrayList<>();
-			 List<String> mainStrs=new ArrayList<>();
-			 for (int x=0;x<=sheet.getLastRowNum();x++){
-				 Row row=sheet.getRow(x);
-				 if(x<2) {
-					 mainStrs.add(row.getCell(4)==null?"":row.getCell(4).toString());
-					 mainStrs.add(row.getCell(8)==null?"":row.getCell(8).toString());
-					 mainStrs.add(row.getCell(12)==null?"":row.getCell(12).toString());
-					 mainStrs.add(row.getCell(16)==null?"":row.getCell(16).toString());
-					 mainStrs.add(row.getCell(20)==null?"":row.getCell(16).toString());
-				 }else if(x==2){
-					 main =new SyPackingListFabric(mainStrs.toArray(new String[mainStrs.size()]));
-				 }else if(x>3){
-					 if(oConvertUtils.isEmpty(row.getCell(1))||row.getCell(1).toString().length()<10){//如果这一列为空就退出
-						 break;
-					 }
-					 List<String> itemStrs=new ArrayList<>();
-					 for (int i=0;i<row.getLastCellNum();i++){
-						 Cell cell=row.getCell(i);
-						 if(i<18&&i>14){
-							 if(cell==null||cell.equals("")||cell.toString().length()<1){
-								 throw new JeecgBootException("请填写第"+(x+1)+"行里的"+sheet.getRow(3).getCell(i));
-							 }
-						 }
-						 if(cell!=null){
-							 cell.setCellType(CellType.STRING);//获取的都转换成String
-							 itemStrs.add(cell.toString());
-						 }else{
-							 itemStrs.add("");
+		 Sheet sheet=(Sheet) sheets.next();
+		 SyPackingListFabric main =new SyPackingListFabric();
+		 List<SyPackingListFabricItem> items=new ArrayList<>();
+		 List<String> mainStrs=new ArrayList<>();
+		 for (int x=0;x<=sheet.getLastRowNum();x++){
+			 Row row=sheet.getRow(x);
+			 if(x<2) {
+				 mainStrs.add(row.getCell(4)==null?"":row.getCell(4).toString());
+				 mainStrs.add(row.getCell(8)==null?"":row.getCell(8).toString());
+				 mainStrs.add(row.getCell(12)==null?"":row.getCell(12).toString());
+				 mainStrs.add(row.getCell(16)==null?"":row.getCell(16).toString());
+				 mainStrs.add(row.getCell(20)==null?"":row.getCell(16).toString());
+			 }else if(x==2){
+				 main =new SyPackingListFabric(mainStrs.toArray(new String[mainStrs.size()]));
+			 }else if(x>3){
+				 if(oConvertUtils.isEmpty(row.getCell(1))||row.getCell(1).toString().length()<10){//如果这一列为空就退出
+					 break;
+				 }
+				 List<String> itemStrs=new ArrayList<>();
+				 for (int i=0;i<row.getLastCellNum();i++){
+					 Cell cell=row.getCell(i);
+					 if(i<18&&i>14){
+						 if(cell==null||cell.equals("")||cell.toString().length()<1){
+							 throw new JeecgBootException("请填写第"+(x+1)+"行里的"+sheet.getRow(3).getCell(i));
 						 }
 					 }
-					 SyPackingListFabricItem syPackingListFabricItem=new SyPackingListFabricItem(itemStrs.toArray(new String[itemStrs.size()]),x+1);
-					 items.add(syPackingListFabricItem);
+					 if(cell!=null){
+						 cell.setCellType(CellType.STRING);//获取的都转换成String
+						 itemStrs.add(cell.toString());
+					 }else{
+						 itemStrs.add("");
+					 }
 				 }
+				 SyPackingListFabricItem syPackingListFabricItem=new SyPackingListFabricItem(itemStrs.toArray(new String[itemStrs.size()]),x+1);
+				 items.add(syPackingListFabricItem);
 			 }
-             main.setSyPackingListFabricItem(items);
-			 if(main.getGarmentFactory()!=null){
+		 }
+		 main.setSyPackingListFabricItem(items);
+		 for (SyPackingListFabricItem fabricItem : items){
+		 	System.out.println("供应商\t"+fabricItem.getSupplier());
+			if(maps.containsKey(fabricItem.getSupplier())){
+				SyPackingListFabric syPackingListFabric=maps.get(fabricItem.getSupplier());
+				syPackingListFabric.getSyPackingListFabricItem().add(fabricItem);
+			}else{
+				SyPackingListFabric syPackingListFabric=new SyPackingListFabric();
+				BeanUtils.copyProperties(main, syPackingListFabric);
+				List<SyPackingListFabricItem> listFabricItems=new ArrayList<>();
+				listFabricItems.add(fabricItem);
+				syPackingListFabric.setSyPackingListFabricItem(listFabricItems);
+				maps.put(fabricItem.getSupplier(),syPackingListFabric);
+			}
+		 }
+		 System.out.println("maps.size\t"+maps.size());
+		 System.out.println("maps\t"+maps);
+		 return maps;
+			 /*if(main.getGarmentFactory()!=null){
 				 maps.put(main.getGarmentFactory(),main);
 			 }else{
 				 maps.put(sheet.getSheetName(),main);
-			 }
+			 }*/
 		 //}
-		 return maps;
+		 //return maps;
 	 }
 
 	 public Map<String,SyPackingListFabric>  refreshSheet2(Workbook workbook1) throws ParseException {

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

@@ -423,6 +423,7 @@ public class SyPackingListFabricItem implements Serializable {
 		supplierDyeingPlant=strs[11];//供应商(染厂)
 		//supplierCodePrintingPlant=strs[13];//供应商编码(印厂)
 		supplierPrintingPlant=strs[12];//供应商(印厂)
+		supplier=strs[12];//供应商(印厂)
 		specificationAndModel=strs[13];//规格型号
 		masterMetering=strs[14];//单位
 		dyelotNumber=strs[15];//缸号

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

@@ -901,6 +901,8 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				syPackingListFabricMapper.insert(syPackingListFabric);
 				List<SyPackingListFabricItem> items=syPackingListFabric.getSyPackingListFabricItem();
 				for(SyPackingListFabricItem item :items){
+					item.setDelFlag("0");//是否删除
+					item.setSyPackingListFabricId(syPackingListFabric.getId());
 					SyShippingDetailsItem syShippingDetailsItem=syShippingDetailsItemMapper.selectById(item.getSyShippingDetailsItemId());//itemid
 					if(syShippingDetailsItem==null){
 						System.out.println("ids\t"+item.getSyShippingDetailsItemId());
@@ -915,7 +917,9 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					item.setOmpoId(syShippingDetailsItem.getOmpoId());//采购/委外订单主表id
 					item.setOmpoIdItem(syShippingDetailsItem.getOmpoIdItem());//采购/委外订单子表id
 					item.setOmpoAccount(syShippingDetailsItem.getOmpoAccount());//采购/委外订单账套号
-					item.setSupplier(syShippingDetailsItem.getSupplier());
+					if(item.getSupplier()==null||item.getSupplier().equals("")){
+						item.setSupplier(syShippingDetailsItem.getSupplier());
+					}
 					item.setSupplierCode(syShippingDetailsItem.getSupplierCode());
 					item.setAccount(syShippingDetailsItem.getAccount());//账套号
 					item.setSyOrderDataItemId(syShippingDetailsItem.getSyOrderDataItemId());//销售订单主表id
@@ -930,9 +934,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					item.setManualYarnProportion(syShippingDetailsItem.getManualYarnProportion());//手册纱占比%
 					item.setInventoryName(syShippingDetailsItem.getInventoryName());//存货名称(辅料名称)
 					item.setComposition(syShippingDetailsItem.getInventoryName());//成分/Composition
-					item.setDelFlag("0");//是否删除
 					item.setFactoryUnitPrice(syShippingDetailsItem.getFactoryUnitPrice());
-					item.setSyPackingListFabricId(syPackingListFabric.getId());
 					item.setOrderNumber(syShippingDetailsItem.getOrderNumber());
 					if((item.getInventoryCcode().substring(0,2).equals("03")&&!item.getInventoryCcode().equals("0399")) ||
 							(item.getInventoryCcode().substring(0,2).equals("02")&&!item.getInventoryCcode().equals("0299"))||