huxy 2 роки тому
батько
коміт
0a1f8ea028

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

@@ -472,7 +472,10 @@ public class SyPackingListFabricController {
 			  InputStream inputStream=file.getInputStream();
 			  Workbook workbook=new XSSFWorkbook(inputStream);
 			  Map<String,SyPackingListFabric> maps=refreshSheet(workbook);
-			  syPackingListFabricService.excelAdd(maps);//循环
+			  boolean bool= syPackingListFabricService.excelAdd(maps);//循环
+			  if(bool==false){
+				  return Result.error("文件导入失败");
+			  }
 			  return Result.OK("文件导入成功!数据行数:" + maps.size());
 		  } catch (Exception e) {
 			  log.error(e.getMessage(),e);
@@ -519,8 +522,9 @@ public class SyPackingListFabricController {
 		 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++){
+			 for (int x=0;x<sheet.getLastRowNum()-1;x++){
 				 Row row=sheet.getRow(x);
 				 if(x<2) {
 					 mainStrs.add(row.getCell(4)==null?"":row.getCell(4).toString());
@@ -530,27 +534,29 @@ public class SyPackingListFabricController {
 				 }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+"行里的"+sheet.getRow(3).getCell(i));
+								 throw new JeecgBootException("请填写第"+(x+1)+"行里的"+sheet.getRow(3).getCell(i));
 							 }
 						 }
 						 itemStrs.add(cell.toString());
 					 }
 					 SyPackingListFabricItem syPackingListFabricItem=new SyPackingListFabricItem(itemStrs.toArray(new String[itemStrs.size()]));
-					 if(!maps.containsKey(syPackingListFabricItem.getGarmentFactory())){
-						//main.setGarmentFactory(syPackingListFabricItem.getGarmentFactory());//成衣工厂
-						 main.setSyPackingListFabricItem(new ArrayList<>());
-						 main.getSyPackingListFabricItem().add(syPackingListFabricItem);
-						 maps.put(syPackingListFabricItem.getGarmentFactory(),main);
-					 }else{
-						 maps.get(syPackingListFabricItem.getGarmentFactory()).getSyPackingListFabricItem().add(syPackingListFabricItem);
-					 }
+					 items.add(syPackingListFabricItem);
 				 }
-			 } 
+			 }
+             main.setSyPackingListFabricItem(items);
+			 if(main.getGarmentFactory()!=null){
+				 maps.put(main.getGarmentFactory(),main);
+			 }else{
+				 maps.put(sheet.getSheetName(),main);
+			 }
 		 }
 		 return maps;
 	 }

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

@@ -194,7 +194,7 @@ public class SyPackingListFabric implements Serializable {
 		garmentFactory=strs[2];
 		plumbumNo=strs[3];
 		exportInvoiceNo=strs[4];
-		createTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(strs[5]);
+		//createTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(strs[5]);
 		preparedDate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(strs[5]);
 		//createTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(strs[0]) ;
 		//documentNo=strs[0];

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

@@ -532,15 +532,16 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					s1.setSurplusQuantity(item.getSurplusQuantity().subtract(s1.getActualDeclaredQuantity()).intValue());//剩余数量
 					item.setExcessQuantity(s1.getActualDeclaredQuantity().subtract(item.getSurplusQuantity()));
 					item.setSurplusQuantity(item.getSurplusQuantity().subtract(s1.getActualDeclaredQuantity()));
+					s1.setMasterMetering(item.getMasterMetering());//单位
 					syShippingDetailsItemMapper.updateById(item);
 					if(s1.getActualDeclaredQuantity()!=null){
 						s1.setTotalPrice(s1.getActualDeclaredQuantity().multiply(s1.getPrice()));//实际报关数量*单价
 					}
 					if((s1.getInventoryCode().indexOf("03")!=-1&&!s1.getInventoryCode().equals("0399")) ||
 						(s1.getInventoryCode().indexOf("04")!=-1&&!s1.getInventoryCode().equals("0499"))){
-						if(s1!=null&&s1.getMasterMetering().equals("KG")){//当单位为KG时
+						if(s1.getMasterMetering()!=null&&s1.getMasterMetering().equals("KG")){//当单位为KG时
 							s1.setTotalPrice(s1.getNetWeight().multiply(s1.getPrice()));//净重*单价
-						}else if(s1!=null&&s1.getMasterMetering().equals("M")){
+						}else if(s1.getMasterMetering()!=null&&s1.getMasterMetering().equals("M")){
 							s1.setTotalPrice(s1.getMeter().multiply(s1.getPrice()));//米数*单价
 						}
 					}
@@ -568,7 +569,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				syPackingListFabric.setStatus("0");//状态
 				syPackingListFabric.setPreparedBy("admin");//制单人
 				syPackingListFabric.setCreateBy("admin");//制单人
-				syPackingListFabric.setPreparedDate(new SimpleDateFormat("yyyy-MM-dd").parse(new SimpleDateFormat("yyyy-MM-dd").format(System.currentTimeMillis())));
+				//syPackingListFabric.setPreparedDate(new SimpleDateFormat("yyyy-MM-dd").parse(new SimpleDateFormat("yyyy-MM-dd").format(System.currentTimeMillis())));
 				syPackingListFabric.setDelFlag("0");//是否删除
 				syPackingListFabricMapper.insert(syPackingListFabric);
 				List<SyPackingListFabricItem> items=syPackingListFabric.getSyPackingListFabricItem();