diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml
index 2f68aa5d..4eb91f36 100644
--- a/anomaly/src/main/resources/mapper/ReportMapper.xml
+++ b/anomaly/src/main/resources/mapper/ReportMapper.xml
@@ -798,6 +798,9 @@
AND cf.VALUE = #{itemNumber}
+
+ AND zsd.SFC = #{sfc}
+
AND zsd.EMPLOYEE_DESCRIPTION LIKE '%${operator}%'
diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/FileServiceImpl.java b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/FileServiceImpl.java
index d2e2ed43..e4bf28af 100644
--- a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/FileServiceImpl.java
+++ b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/FileServiceImpl.java
@@ -90,22 +90,33 @@ public class FileServiceImpl implements FileService {
public Map getFilePathsByItemBo(String itemBo) throws IOException {
FTPClient connect = null;
Map pathMap = new HashMap<>();
+ List list=new ArrayList();
try {
connect = cappFtpClient.login();
String vision= GetDrawingVersionUtil.GetDrawingVerson(itemBo, connect);
String path="/"+ StringUtil.trimHandle(itemBo)+"_"+vision+"/";
-
- connect.changeWorkingDirectory(path);
+ boolean flag=connect.changeWorkingDirectory(path);
connect.enterLocalPassiveMode();
-
FTPFile[] files = connect.listFiles();
- if(files!=null){
- for (int i = 0; i < files.length; i++) {
- if(files[i].isFile()){
- String filename=files[i].getName();
- pathMap.put(filename,path+filename);
+ if(files!=null&&flag){
+ for (FTPFile ftpFile:files){
+ String tmp=ftpFile.getName().substring(ftpFile.getName().lastIndexOf("_")+1,ftpFile.getName().lastIndexOf("_")+2);
+ Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
+ if (pattern.matcher(tmp).matches()){
+ list.add(Integer.parseInt(tmp));
+ }
+ if (ftpFile.getName().equals(path.substring(1,path.length()-1)+".pdf")&&ftpFile.isFile()){
+ pathMap.put(ftpFile.getName(),path+ftpFile.getName());
+ }
+ }
+ int max = (int) Collections.max(list);
+ for (FTPFile ftpFile:files){
+ if (ftpFile.getName().substring(ftpFile.getName().lastIndexOf("_")+1,ftpFile.getName().lastIndexOf("_")+2).equals(String.valueOf(max))&&ftpFile.isFile()){
+ pathMap.put(ftpFile.getName(),path+ftpFile.getName());
}
}
+ }else {
+ throw new BaseException("未找到当前工序的图纸版本号和工艺卡片相应信息,请联系计划部门确认");
}
connect.disconnect();
}catch (Exception e){
@@ -116,6 +127,9 @@ public class FileServiceImpl implements FileService {
connect.disconnect();
}
}
+ if (pathMap==null){
+ throw new BaseException("未找到当前工序的图纸版本号和工艺卡片相应信息,请联系计划部门确认");
+ }
return pathMap;
}
diff --git a/production/src/main/resources/mapper/AccessoryLogMapper.xml b/production/src/main/resources/mapper/AccessoryLogMapper.xml
index 945f1812..7f81b55f 100644
--- a/production/src/main/resources/mapper/AccessoryLogMapper.xml
+++ b/production/src/main/resources/mapper/AccessoryLogMapper.xml
@@ -535,7 +535,7 @@
SD.ACTUAL_START_DATE, SD.ACTUAL_COMPLETE_DATE, SD.REMARK, SD.DISPATCH_SEQ, SD.DISPATCH_SEQ-1 BEFORE_SEQ, SD.DISPATCH_SEQ+1 AFTER_SEQ, SD.EARLIEST_START_DATE, SD.LATEST_END_DATE,
CASE WHEN CC.VALUE = '9' THEN N'是' ELSE N'否' END IS_MAJOR, CASE WHEN SD.TURN_OPERATION = 'true' THEN N'是' ELSE N'否' END TURN_OPERATION, SD.IS_UPDATE_ZJH_COMPLETE, SD.BLANKING_SIZE, MAX(BC.COMPONENT_GBO) COMPONENT_BO,
WR.WORK_CENTER RESOURCE_WORK_CENTER,WT.DESCRIPTION WORK_CENTER_DESCRIPTION, MAX(CP.ITEM) COMPONENT, MAX(CT.DESCRIPTION) COMPONENT_DESCRIPTION, MAX(C3.VALUE) TEXTURE, MAX(C4.VALUE) MAT_SPEC ,SD.OTHER_2,
- ZAL.ITEM ACCESSORY_ITEM,NVL2(ZAL.ITEM, IT.DESCRIPTION, NULL) ACCESSORY_DESCRIPTION,ZAL.QTY ACCESSORY_QTY
+ ZAL.ITEM ACCESSORY_ITEM,IT1.DESCRIPTION ACCESSORY_DESCRIPTION,ZAL.QTY ACCESSORY_QTY
FROM Z_SFC_DISPATCH SD
INNER JOIN SFC SC ON SC.SITE = SD.SITE AND SC.SFC = SD.SFC
LEFT JOIN RESRCE RS ON SD.SITE = RS.SITE AND SD.RESRCE = RS.RESRCE
@@ -557,8 +557,10 @@
LEFT JOIN WORK_CENTER WR ON WR.HANDLE = WCM.WORK_CENTER_BO
LEFT JOIN WORK_CENTER WR1 ON WR1.WORK_CENTER = SD.WORK_CENTER
LEFT JOIN WORK_CENTER_T WT ON WT.WORK_CENTER_BO = WR1.HANDLE AND WT.LOCALE = 'zh'
- LEFT JOIN Z_ACCESSORY_LOG ZAL ON ZAL.SFC = SD.SFC AND ZAL.SHOP_ORDER = SD.SHOP_ORDER AND ZAL.STEP_ID = SD.STEP_ID
- WHERE SD.SITE = #{site}
+ LEFT JOIN Z_ACCESSORY_LOG ZAL ON ZAL.SFC = SD.SFC AND ZAL.STEP_ID = SD.STEP_ID
+ INNER JOIN ITEM IM1 ON IM1.ITEM = ZAL.ITEM
+ LEFT JOIN ITEM_T IT1 ON IT1.ITEM_BO = IM1.HANDLE AND IT1.LOCALE = 'zh'
+ WHERE SD.SITE = #{site} AND ZAL.ITEM IS NOT NULL
AND SD.OPERATION LIKE #{workCenter}||'%'
@@ -638,7 +640,7 @@
SD.STEP_ID, SD.OPERATION, OT.DESCRIPTION, SD.RESOURCE_TYPE, SD.RESRCE, SD.EMPLOYEE, SD.EMPLOYEE, SD.DISPATCH_QTY, SD.PROD_HOURS, RS.DESCRIPTION,
SD.DISPATCH_STATUS, SD.DISPATCH_QTY, SD.PLANNED_START_DATE, SD.PLANNED_COMP_DATE, SD.WORK_CENTER, SD.IS_DISPATCH, SD.EMPLOYEE_DESCRIPTION,
SD.ACTUAL_START_DATE, SD.ACTUAL_COMPLETE_DATE, SD.REMARK, SD.DISPATCH_SEQ, SD.EARLIEST_START_DATE, SD.LATEST_END_DATE,
- CC.VALUE, SD.TURN_OPERATION,SD.IS_UPDATE_ZJH_COMPLETE, SD.BLANKING_SIZE, WR.WORK_CENTER ,SD.OTHER_2,ZAL.ITEM ,ZAL.QTY,WT.DESCRIPTION
+ CC.VALUE, SD.TURN_OPERATION,SD.IS_UPDATE_ZJH_COMPLETE, SD.BLANKING_SIZE, WR.WORK_CENTER ,SD.OTHER_2,ZAL.ITEM ,ZAL.QTY,WT.DESCRIPTION,IT1.DESCRIPTION
) WIP
LEFT JOIN Z_SFC_DISPATCH V1 ON V1.SITE = WIP.SITE AND V1.SFC = WIP.SFC AND V1.ROUTER_BO = WIP.ROUTER_BO AND V1.DISPATCH_SEQ = WIP.BEFORE_SEQ
LEFT JOIN Z_SFC_DISPATCH V2 ON V2.SITE = WIP.SITE AND V2.SFC = WIP.SFC AND V2.ROUTER_BO = WIP.ROUTER_BO AND V2.DISPATCH_SEQ = WIP.AFTER_SEQ