no message

main
暴炳林 2025-01-21 15:12:19 +08:00
parent 8553b089ba
commit 030554aa7b
1 changed files with 75 additions and 82 deletions

View File

@ -73,6 +73,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors;
import org.apache.pdfbox.pdfparser.PDFParser; import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocument;
@ -87,6 +88,7 @@ import java.io.OutputStreamWriter;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.FileReader; import java.io.FileReader;
//import org.pdfbox.pdfparser.PDFParser; //import org.pdfbox.pdfparser.PDFParser;
//import org.pdfbox.pdmodel.PDDocument; //import org.pdfbox.pdmodel.PDDocument;
//import org.pdfbox.util.PDFTextStripper; //import org.pdfbox.util.PDFTextStripper;
@ -1545,15 +1547,11 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo
break; break;
} }
String code=sheet.getCell(j++,i).getContents().trim();//工单号 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 packageQuantity=sheet.getCell(j++,i).getContents().trim();//需求行数
String status=sheet.getCell(j++,i).getContents().trim();//状态 // String BOLQuantity=sheet.getCell(j++,i).getContents().trim();//完成行数
String packageQuantity=sheet.getCell(j++,i).getContents().trim();//需求行数 // String orderQuantity=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 relatedBill3=sheet.getCell(j++,i).getContents().trim();//头物料 String relatedBill3=sheet.getCell(j++,i).getContents().trim();//头物料
String workerName1=sheet.getCell(j++,i).getContents().trim();//工厂 String workerName1=sheet.getCell(j++,i).getContents().trim();//工厂
String printCount=sheet.getCell(j++,i).getContents().trim();//SAP状态 String printCount=sheet.getCell(j++,i).getContents().trim();//SAP状态
@ -1577,56 +1575,12 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo
}else { }else {
pickTicket=new PickTicket(); 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) { } catch (BiffException e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
@ -1639,6 +1593,7 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo
@Override @Override
public void importOrderDetail(File file) { public void importOrderDetail(File file) {
List<PickTicket> pickTickets=new ArrayList<PickTicket>();
try { try {
Workbook workbook = Workbook.getWorkbook(file); Workbook workbook = Workbook.getWorkbook(file);
Sheet sheet = workbook.getSheet(0);// 得到excel第一页的内容 Sheet sheet = workbook.getSheet(0);// 得到excel第一页的内容
@ -1647,43 +1602,75 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo
"from BillType bt"); "from BillType bt");
Warehouse warehouse=this.load(Warehouse.class, 1l); Warehouse warehouse=this.load(Warehouse.class, 1l);
for (int i = 1; i <sheet.getRows(); i++) { for (int i = 1; i <sheet.getRows(); i++) {
int j=0; int j=0;
j++; String sourceType=sheet.getCell(j++,i).getContents().trim();//出库类型
if (sourceType.length()<1) {
break;
}
String code=sheet.getCell(j++,i).getContents().trim();//工单号 String code=sheet.getCell(j++,i).getContents().trim();//工单号
if (code.length()<1) { if (code.length()<1) {
break; break;
} }
j++; String orderDate1=sheet.getCell(j++,i).getContents().trim();//需求日期
String SOI=sheet.getCell(j++,i).getContents().trim();//优先级 String SOI=sheet.getCell(j++,i).getContents().trim();//优先级
j++; String billTypeName=sheet.getCell(j++,i).getContents().trim();//单据类型
j++; String status=PickTicketStatus.OPEN;//状态
String itemCode=sheet.getCell(j++,i).getContents().trim();//料号 String itemCode=sheet.getCell(j++,i).getContents().trim();//料号
j++; j++;
j++; j++;
String orderQuantity=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 lotPropC2=sheet.getCell(j++,i).getContents().trim();//LOC String lotPropC2=sheet.getCell(j++,i).getContents().trim();//LOC
String lotPropC9=sheet.getCell(j++,i).getContents().trim();//工厂 String lotPropC9=sheet.getCell(j++,i).getContents().trim();//工厂
j++; String relatedBill2=sheet.getCell(j++,i).getContents().trim();//相关单号
String lineNumber=sheet.getCell(j++,i).getContents().trim();//项号 String lineNumber=sheet.getCell(j++,i).getContents().trim();//项号
String strBill2=sheet.getCell(j++,i).getContents().trim();//更新标识 String packageQuantity=sheet.getCell(j++,i).getContents().trim();//需求行数
String updateTime1 = sheet.getCell(j++,i).getContents().trim();//创建日期
j++;
j++;
j++;
String strBill12=sheet.getCell(j++,i).getContents().trim();//机台号 String strBill12=sheet.getCell(j++,i).getContents().trim();//机台号
j++; String relatedBill3=sheet.getCell(j++,i).getContents().trim();//头物料
j++; String logisticsCompany=sheet.getCell(j++,i).getContents().trim();//工作中心
PickTicket pickTicket=null;
List<PickTicket> 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 }); PickTicket pickTicket=new PickTicket();
if (pickTickets.size()>0) { List<PickTicket> resultList = pickTickets.stream()
.filter(PickTicket -> PickTicket.getCode() == code)
.collect(Collectors.toList());
if (resultList.size()>0) {
pickTicket=pickTickets.get(0); pickTicket=pickTickets.get(0);
}else { }else {
/* 新建工单*/
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; 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; Item item=null;
List<Item> itemList=commonDao.findByQuery( List<Item> itemList=commonDao.findByQuery(
"from Item i where i.code=:code", "from Item i where i.code=:code",
@ -1699,6 +1686,13 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo
new String[] { "ptId","lineNumber","itemCode" }, new Object[] { pickTicket.getId(),lineNumber,itemCode }); new String[] { "ptId","lineNumber","itemCode" }, new Object[] { pickTicket.getId(),lineNumber,itemCode });
if (pickTicketDetailList.size()>0) { if (pickTicketDetailList.size()>0) {
pickTicketDetail=pickTicketDetailList.get(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.setItem(item);
pickTicketDetail.setLineNumber(lineNumber); pickTicketDetail.setLineNumber(lineNumber);
@ -1706,13 +1700,12 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo
pickTicketDetail.getLineNumber(); pickTicketDetail.getLineNumber();
pickTicketDetail.setSOI(SOI); pickTicketDetail.setSOI(SOI);
pickTicketDetail.setOrderQuantity(Double.valueOf(orderQuantity)); pickTicketDetail.setOrderQuantity(Double.valueOf(orderQuantity));
pickTicketDetail.setAllocatedQuantity(Double.valueOf(allocatedQuantity)); pickTicketDetail.setAllocatedQuantity(0);
pickTicketDetail.setPickedQuantity(Double.valueOf(pickedQuantity)); pickTicketDetail.setPickedQuantity(0);
NewLotInfo newLotInfo=new NewLotInfo(); NewLotInfo newLotInfo=new NewLotInfo();
newLotInfo.setPropC2(lotPropC2); newLotInfo.setPropC2(lotPropC2);
newLotInfo.setPropC9(lotPropC9); newLotInfo.setPropC9(lotPropC9);
pickTicketDetail.setNewLotInfo(newLotInfo); pickTicketDetail.setNewLotInfo(newLotInfo);
pickTicketDetail.setStrBill2(strBill2);
pickTicketDetail.setStrBill12(strBill12); pickTicketDetail.setStrBill12(strBill12);
commonDao.store(pickTicketDetail); commonDao.store(pickTicketDetail);
} }