diff --git a/src/main/java/com/dev/swms/server/service/base/pojo/DefaultImportFileManager.java b/src/main/java/com/dev/swms/server/service/base/pojo/DefaultImportFileManager.java index 7ced310..afbfa44 100644 --- a/src/main/java/com/dev/swms/server/service/base/pojo/DefaultImportFileManager.java +++ b/src/main/java/com/dev/swms/server/service/base/pojo/DefaultImportFileManager.java @@ -73,6 +73,7 @@ import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; import org.apache.pdfbox.pdfparser.PDFParser; import org.apache.pdfbox.pdmodel.PDDocument; @@ -87,6 +88,7 @@ import java.io.OutputStreamWriter; import java.io.FileOutputStream; import java.io.FileReader; + //import org.pdfbox.pdfparser.PDFParser; //import org.pdfbox.pdmodel.PDDocument; //import org.pdfbox.util.PDFTextStripper; @@ -1545,15 +1547,11 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo break; } String code=sheet.getCell(j++,i).getContents().trim();//工单号 - String orderDate1=sheet.getCell(j++,i).getContents().trim();//需求日期 - String billTypeName=sheet.getCell(j++,i).getContents().trim();//单据类型 - String status=sheet.getCell(j++,i).getContents().trim();//状态 - String packageQuantity=sheet.getCell(j++,i).getContents().trim();//需求行数 - String BOLQuantity=sheet.getCell(j++,i).getContents().trim();//完成行数 - String orderQuantity=sheet.getCell(j++,i).getContents().trim();//需求数量 - String allocatedQuantity=sheet.getCell(j++,i).getContents().trim();//预分配数量 - String pickedQuantity=sheet.getCell(j++,i).getContents().trim();//拣货数量 - String shippedQuantity=sheet.getCell(j++,i).getContents().trim();//发运数量 + +// String packageQuantity=sheet.getCell(j++,i).getContents().trim();//需求行数 +// String BOLQuantity=sheet.getCell(j++,i).getContents().trim();//完成行数 +// String orderQuantity=sheet.getCell(j++,i).getContents().trim();//需求数量 + String relatedBill3=sheet.getCell(j++,i).getContents().trim();//头物料 String workerName1=sheet.getCell(j++,i).getContents().trim();//工厂 String printCount=sheet.getCell(j++,i).getContents().trim();//SAP状态 @@ -1577,56 +1575,12 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo }else { pickTicket=new PickTicket(); } - pickTicket.setSourceType(sourceType); - pickTicket.setCode(code); - try { - pickTicket.setOrderDate(sdf.parse(orderDate1)); - } catch (Exception e) { - e.printStackTrace(); - } - for (BillType billType : billTypes) { - if (billType.getName().equals(billTypeName)) { - pickTicket.setBillType(billType); - break; - } - } - if (status.equals("交单完成")) { - status="JIAODAN"; - }else if (status.equals("未处理")){ - status="OPEN"; - }else if (status.equals("已完成")){ - status="CLOSE"; - } - pickTicket.setStatus(status); - pickTicket.setPackageQuantity(Double.valueOf(packageQuantity)); - pickTicket.setBOLQuantity(Double.valueOf(BOLQuantity)); - pickTicket.setOrderQuantity(Double.valueOf(orderQuantity)); - pickTicket.setAllocatedQuantity(Double.valueOf(allocatedQuantity)); - pickTicket.setPickedQuantity(Double.valueOf(pickedQuantity)); - pickTicket.setShippedQuantity(Double.valueOf(shippedQuantity)); - pickTicket.setRelatedBill3(relatedBill3); - pickTicket.setWorkerName1(workerName1); - pickTicket.setPrintCount(Integer.valueOf(printCount)); - pickTicket.setPriority(Integer.valueOf(priority)); - try { - pickTicket.setUpdateTime(sdfa.parse(updateTime1+" "+updateTime2)); - pickTicket.getUpdateTime(); - } catch (Exception e) { - e.printStackTrace(); - } - pickTicket.setRelatedBill1(relatedBill1); - pickTicket.setRelatedBill2(relatedBill2); - try { - pickTicket.setShipDate(sdfa.parse(shipDateStart1+" "+shipDateStart2)); - } catch (Exception e) { - e.printStackTrace(); - } - pickTicket.setLictrailer(lictrailer); - pickTicket.setLogisticsCompany(logisticsCompany); - pickTicket.setDriverName(driverName); - pickTicket.setUserName(userName); - pickTicket.setWarehouse(warehouse); - commonDao.store(pickTicket); + + + + + + } } catch (BiffException e) { // TODO Auto-generated catch block @@ -1639,6 +1593,7 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo @Override public void importOrderDetail(File file) { + List pickTickets=new ArrayList(); try { Workbook workbook = Workbook.getWorkbook(file); Sheet sheet = workbook.getSheet(0);// 得到excel第一页的内容 @@ -1647,42 +1602,74 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo "from BillType bt"); Warehouse warehouse=this.load(Warehouse.class, 1l); for (int i = 1; i pickTickets=commonDao.findByQuery( - "from PickTicket pt where pt.code=:code and CONVERT(varchar(10), pt.updateTime, 120)=:updateTime1", - new String[] { "code","updateTime1" }, new Object[] { code,updateTime1 }); - if (pickTickets.size()>0) { + String relatedBill3=sheet.getCell(j++,i).getContents().trim();//头物料 + String logisticsCompany=sheet.getCell(j++,i).getContents().trim();//工作中心 + + + + PickTicket pickTicket=new PickTicket(); + List resultList = pickTickets.stream() + .filter(PickTicket -> PickTicket.getCode() == code) + .collect(Collectors.toList()); + if (resultList.size()>0) { pickTicket=pickTickets.get(0); }else { - break; + /* 新建工单*/ + pickTicket.setSourceType(sourceType); + pickTicket.setCode(code); + try { + pickTicket.setOrderDate(sdf.parse(orderDate1)); + } catch (Exception e) { + e.printStackTrace(); + } + pickTicket.setStatus(status); + pickTickets.add(pickTicket); + pickTicket.setPackageQuantity(0); + pickTicket.setBOLQuantity(0); + pickTicket.setOrderQuantity(0); + pickTicket.setAllocatedQuantity(0); + pickTicket.setPickedQuantity(0); + pickTicket.setShippedQuantity(0); + for (BillType billType : billTypes) { + if (billType.getName().equals(billTypeName)) { + pickTicket.setBillType(billType); + break; + } + } + pickTicket.setRelatedBill3(relatedBill3); + pickTicket.setWorkerName1(lotPropC9); + pickTicket.setRelatedBill2(relatedBill2); + pickTicket.setUpdateTime(new Date()); + pickTicket.setLogisticsCompany(logisticsCompany); + pickTicket.setWarehouse(warehouse); + commonDao.store(pickTicket); + + pickTickets.add(pickTicket); + } Item item=null; List itemList=commonDao.findByQuery( @@ -1699,6 +1686,13 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo new String[] { "ptId","lineNumber","itemCode" }, new Object[] { pickTicket.getId(),lineNumber,itemCode }); if (pickTicketDetailList.size()>0) { pickTicketDetail=pickTicketDetailList.get(0); + pickTicket.setOrderQuantity(pickTicket.getOrderQuantity()+Double.valueOf(orderQuantity)-pickTicketDetail.getOrderQuantity()); + commonDao.store(pickTicket); + }else { + /* 出库单*/ + pickTicket.setOrderQuantity(pickTicket.getOrderQuantity()+Double.valueOf(orderQuantity)); + pickTicket.setPackageQuantity(pickTicket.getPackageQuantity()+1); + commonDao.store(pickTicket); } pickTicketDetail.setItem(item); pickTicketDetail.setLineNumber(lineNumber); @@ -1706,13 +1700,12 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo pickTicketDetail.getLineNumber(); pickTicketDetail.setSOI(SOI); pickTicketDetail.setOrderQuantity(Double.valueOf(orderQuantity)); - pickTicketDetail.setAllocatedQuantity(Double.valueOf(allocatedQuantity)); - pickTicketDetail.setPickedQuantity(Double.valueOf(pickedQuantity)); + pickTicketDetail.setAllocatedQuantity(0); + pickTicketDetail.setPickedQuantity(0); NewLotInfo newLotInfo=new NewLotInfo(); newLotInfo.setPropC2(lotPropC2); newLotInfo.setPropC9(lotPropC9); pickTicketDetail.setNewLotInfo(newLotInfo); - pickTicketDetail.setStrBill2(strBill2); pickTicketDetail.setStrBill12(strBill12); commonDao.store(pickTicketDetail); }