From fb8643c9781fdb4ea4a86f682758a0c6349f12fa Mon Sep 17 00:00:00 2001
From: yangwl <1726150332@qq.com>
Date: Tue, 28 Dec 2021 16:45:34 +0800
Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E7=BA=B8=E6=9F=A5=E7=9C=8B=E9=80=BB?=
=?UTF-8?q?=E8=BE=91,=E9=93=AD=E6=89=AC=E4=BF=AE=E6=94=B9=E5=86=85?=
=?UTF-8?q?=E5=AE=B9=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/resources/mapper/ReportMapper.xml | 12 ++++---
common/pom.xml | 2 ++
.../common/controller/FileController.java | 13 ++++----
.../mesnac/common/service/FileService.java | 2 +-
.../common/service/impl/FileServiceImpl.java | 30 +++++++++++++-----
.../src/main/resources/application-local.yml | 2 +-
console/src/main/resources/application.yml | 2 +-
.../service/impl/SfcDispatchServiceImpl.java | 8 ++---
.../meapi/controller/ShopOrderController.java | 4 +--
.../mesnac/meapi/model/ShopOrder.java | 11 +++++++
.../service/SfcDispatchDrawingService.java | 31 +++++++++++++++++++
.../meapi/service/ShopOrderService.java | 2 +-
.../service/impl/ShopOrderServiceImpl.java | 3 +-
.../main/resources/mapper/ShopOrderMapper.xml | 3 ++
.../service/impl/PodTemplateServiceImpl.java | 6 ++--
.../main/resources/mapper/SfcCrossMapper.xml | 4 +--
16 files changed, 102 insertions(+), 33 deletions(-)
create mode 100644 meapi/src/main/java/com/foreverwin/mesnac/meapi/service/SfcDispatchDrawingService.java
diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml
index ca0ea7e5..1cda7a3c 100644
--- a/anomaly/src/main/resources/mapper/ReportMapper.xml
+++ b/anomaly/src/main/resources/mapper/ReportMapper.xml
@@ -743,11 +743,15 @@
WHEN zab.NC_QTY IS NOT NULL THEN ROUND((zsd.DISPATCH_QTY - TO_NUMBER(zab.NC_QTY))*ZSD.PROD_HOURS ,4)
ELSE ROUND(zsd.DISPATCH_QTY*ZSD.PROD_HOURS ,4) END TOTAL_PROD_HOURS ,
zsd.EMPLOYEE_DESCRIPTION,
- zsd.ACTUAL_START_DATE,
- zsd.ACTUAL_COMPLETE_DATE,
- zsd.REMARK
+ CASE WHEN ZUR.TEMPORARY_USER = 'true' THEN '临时'
+ WHEN ZUR.TEMPORARY_USER = 'false' THEN '正式' END EMPLOYEE_ATTR,
+ zsd.ACTUAL_START_DATE,
+ zsd.ACTUAL_COMPLETE_DATE,
+ zsd.REMARK
FROM Z_SFC_DISPATCH zsd
- INNER JOIN SHOP_ORDER so ON so.SHOP_ORDER = zsd.SHOP_ORDER AND so.SITE = zsd.SITE
+ LEFT JOIN Z_USER_RESOURCE ZUR ON zsd.RESRCE = ZUR.RESRCE
+ AND zsd.EMPLOYEE_DESCRIPTION like CONCAT(ZUR.USER_DESCRIPTION, '%')
+ INNER JOIN SHOP_ORDER so ON so.SHOP_ORDER = zsd.SHOP_ORDER AND so.SITE = zsd.SITE
LEFT JOIN CUSTOM_FIELDS cf ON cf.HANDLE = so.HANDLE AND cf."ATTRIBUTE" = 'ITEM_NUMBER'
LEFT JOIN CUSTOM_FIELDS cf2 ON cf2.HANDLE = so.HANDLE AND cf2."ATTRIBUTE" = 'WORK_ORDER'
INNER JOIN ITEM i ON i.HANDLE = so.ITEM_BO
diff --git a/common/pom.xml b/common/pom.xml
index 1b0d3575..cab7f265 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -83,6 +83,7 @@
meapi
+
org.apache.axis
axis
@@ -109,5 +110,6 @@
commons-net
commons-net
+
\ No newline at end of file
diff --git a/common/src/main/java/com/foreverwin/mesnac/common/controller/FileController.java b/common/src/main/java/com/foreverwin/mesnac/common/controller/FileController.java
index 28d12399..3d1aae91 100644
--- a/common/src/main/java/com/foreverwin/mesnac/common/controller/FileController.java
+++ b/common/src/main/java/com/foreverwin/mesnac/common/controller/FileController.java
@@ -4,6 +4,7 @@ import com.foreverwin.mesnac.common.ftp.CappFtpClient;
import com.foreverwin.mesnac.common.service.FileService;
import com.foreverwin.mesnac.meapi.util.StringUtils;
import com.foreverwin.modular.core.exception.BaseException;
+import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.R;
import org.apache.commons.net.ftp.FTPClient;
import org.slf4j.Logger;
@@ -11,10 +12,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -46,12 +44,13 @@ public class FileController {
*/
@ResponseBody
@RequestMapping(method = RequestMethod.GET, value = "/getPdfPath")
- public R getPdfPath(String sfc) {
+ public R getPdfPath(@RequestParam("sfc") String sfc, @RequestParam("operation") String operation,@RequestParam("step") String step) {
try {
if(StringUtils.isBlank(sfc)){
- throw new BaseException("产品条码不能为空!");
+ throw new BaseException("派工单号不能为空!");
}
- return R.ok(fileService.getFilePaths(sfc));
+ String site = CommonMethods.getSite();
+ return R.ok(fileService.getFilePaths(site,sfc,operation,step));
}catch (Exception e){
return R.failed("获取图纸路径失败:"+e.getMessage());
}
diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/FileService.java b/common/src/main/java/com/foreverwin/mesnac/common/service/FileService.java
index 019e0b5a..4ef3cda6 100644
--- a/common/src/main/java/com/foreverwin/mesnac/common/service/FileService.java
+++ b/common/src/main/java/com/foreverwin/mesnac/common/service/FileService.java
@@ -7,6 +7,6 @@ import java.util.Map;
*/
public interface FileService {
- Map getFilePaths(String sfc) throws Exception;
+ Map getFilePaths(String site,String sfc,String operation,String step) throws Exception;
Map getFilePathsByItemBo(String itemBo) throws Exception;
}
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 49057a89..849757f2 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
@@ -1,11 +1,14 @@
package com.foreverwin.mesnac.common.service.impl;
+import com.foreverwin.mesnac.common.dto.SfcDispatchDto;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.ftp.CappFtpClient;
import com.foreverwin.mesnac.common.service.FileService;
import com.foreverwin.mesnac.common.util.ExceptionUtil;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.meapi.model.Sfc;
+import com.foreverwin.mesnac.meapi.model.SfcDispatchDrawing;
+import com.foreverwin.mesnac.meapi.service.SfcDispatchDrawingService;
import com.foreverwin.mesnac.meapi.service.SfcService;
import com.foreverwin.modular.core.exception.BaseException;
import com.foreverwin.modular.core.util.CommonMethods;
@@ -14,8 +17,10 @@ import org.apache.commons.net.ftp.FTPFile;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.io.File;
import java.io.IOException;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
@Service
@@ -23,16 +28,23 @@ public class FileServiceImpl implements FileService {
@Autowired
private SfcService sfcService;
@Autowired
+ private SfcDispatchDrawingService sfcDispatchDrawingService;
+ @Autowired
private CappFtpClient cappFtpClient;
+
@Override
- public Map getFilePaths(String sfc) throws IOException {
+ public Map getFilePaths(String site,String sfc,String operation,String step) throws IOException {
Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(CommonMethods.getSite(), sfc));
if (sfcServiceById==null){
throw new BaseException("未找到产品条码"+sfc);
}
+ SfcDispatchDrawing sfcDispatchDrawing = sfcDispatchDrawingService.findSfcDispatch(site,sfc,operation,step);
+ if (sfcDispatchDrawing==null||sfcDispatchDrawing.getDrawingsRevision()==null){
+ throw new BaseException("未找到图纸相应信息");
+ }
String itemBo = sfcServiceById.getItemBo();
- String path="/"+ StringUtil.trimHandle(itemBo)+"_"+StringUtil.trimRevision(itemBo)+"/";
+ String path="/"+ StringUtil.trimHandle(itemBo)+"_"+sfcDispatchDrawing.getDrawingsRevision()+"/";
FTPClient connect = null;
Map pathMap = new HashMap<>();
try {
@@ -41,12 +53,17 @@ public class FileServiceImpl implements FileService {
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);
+ for (FTPFile ftpFile:files){
+ if (ftpFile.getName().equals(path.substring(1,path.length()-1))&&ftpFile.isFile()){
+ pathMap.put(ftpFile.getName(),path+ftpFile.getName());
}
}
+// for (int i = 0; i < files.length; i++) {
+// if(files[i].isFile()){
+// String filename=files[i].getName();
+// pathMap.put(filename,path+filename);
+// }
+// }
}
connect.disconnect();
}catch (Exception e){
@@ -88,7 +105,6 @@ public class FileServiceImpl implements FileService {
connect.disconnect();
}
}
-
return pathMap;
}
diff --git a/console/src/main/resources/application-local.yml b/console/src/main/resources/application-local.yml
index 10cf3217..31107874 100644
--- a/console/src/main/resources/application-local.yml
+++ b/console/src/main/resources/application-local.yml
@@ -6,7 +6,7 @@ spring:
primary: wip #设置默认的数据源或者数据源组,默认值即为master
datasource:
wip:
- url: jdbc:oracle:thin:@113.98.201.217:1521/ORD
+ url: jdbc:oracle:thin:@172.16.251.133:1521/ORQ
username: wip
password: wip
driver-class-name: oracle.jdbc.OracleDriver
diff --git a/console/src/main/resources/application.yml b/console/src/main/resources/application.yml
index c9cd59e3..29ee7c20 100644
--- a/console/src/main/resources/application.yml
+++ b/console/src/main/resources/application.yml
@@ -36,7 +36,7 @@ spring:
date-format: yyyy-MM-dd HH:mm:ss
profiles:
# active: prd
-# active: qas
+# active: qas
active: local
# active: dev
# 文件上传
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java
index 415c14d3..28de0ef8 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java
@@ -253,10 +253,10 @@ public class SfcDispatchServiceImpl extends ServiceImpl callItemList = callItemService.getEffectedCallItemByDispatchBo(sfcDispatchBo);
- if (callItemList != null && callItemList.size() > 0) {
- throw BusinessException.build("工单[" + shopOrder + "]的派工单[" + dispatchNo + "]已有发料,不能取消!");
- }
+// List callItemList = callItemService.getEffectedCallItemByDispatchBo(sfcDispatchBo);
+// if (callItemList != null && callItemList.size() > 0) {
+// throw BusinessException.build("工单[" + shopOrder + "]的派工单[" + dispatchNo + "]已有发料,不能取消!");
+// }
sfcDispatch = new SfcDispatch();
diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ShopOrderController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ShopOrderController.java
index 5fd6ecce..848dd89e 100644
--- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ShopOrderController.java
+++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ShopOrderController.java
@@ -92,8 +92,8 @@ public class ShopOrderController {
* 查出只有异常的工单
*/
@GetMapping("/findAbnormalShopOrder")
- public R findAbnormalShopOrder(ShopOrder shopOrder){
- return R.ok(shopOrderService.findAbnormalShopOrder(shopOrder));
+ public R findAbnormalShopOrder(String type,ShopOrder shopOrder){
+ return R.ok(shopOrderService.findAbnormalShopOrder(type,shopOrder));
}
diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/ShopOrder.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/ShopOrder.java
index 7b5fe9b1..6d315b42 100644
--- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/ShopOrder.java
+++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/ShopOrder.java
@@ -137,6 +137,17 @@ public class ShopOrder extends Model {
@TableField("TOLERANCE_DEFINED_IN")
private String toleranceDefinedIn;
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ //异常类型,查询异常工单时传参
+ private String type;
+
public String getHandle() {
return handle;
diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/SfcDispatchDrawingService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/SfcDispatchDrawingService.java
new file mode 100644
index 00000000..f1db9b3d
--- /dev/null
+++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/SfcDispatchDrawingService.java
@@ -0,0 +1,31 @@
+package com.foreverwin.mesnac.meapi.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import com.foreverwin.mesnac.meapi.model.SfcDispatchDrawing;
+
+import java.util.List;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author Leon.L
+ * @since 2021-06-02
+ */
+public interface SfcDispatchDrawingService extends IService {
+
+
+ /**
+ * 查询派工数据
+ *
+ * @param site
+ * @param sfc
+ * @param operation 非必须
+ * @param stepId 非必须
+ * @return
+ */
+ SfcDispatchDrawing findSfcDispatch(String site, String sfc, String operation, String stepId);
+
+}
\ No newline at end of file
diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ShopOrderService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ShopOrderService.java
index a9e924f3..adf598c6 100644
--- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ShopOrderService.java
+++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ShopOrderService.java
@@ -36,7 +36,7 @@ public interface ShopOrderService extends IService {
ShopOrderDto findByShopOrderBo(String handle);
- List findAbnormalShopOrder(ShopOrder shopOrder);
+ List findAbnormalShopOrder(String type,ShopOrder shopOrder);
}
\ No newline at end of file
diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ShopOrderServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ShopOrderServiceImpl.java
index 13ce5eee..2b6cec81 100644
--- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ShopOrderServiceImpl.java
+++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ShopOrderServiceImpl.java
@@ -65,9 +65,10 @@ public class ShopOrderServiceImpl extends ServiceImpl findAbnormalShopOrder(ShopOrder shopOrder) {
+ public List findAbnormalShopOrder(String type,ShopOrder shopOrder) {
String site = CommonMethods.getSite();
shopOrder.setSite(site);
+ shopOrder.setType(type);
return shopOrderMapper.findAbnormalShopOrder(shopOrder);
}
diff --git a/meapi/src/main/resources/mapper/ShopOrderMapper.xml b/meapi/src/main/resources/mapper/ShopOrderMapper.xml
index e0e4574a..34ef3ef9 100644
--- a/meapi/src/main/resources/mapper/ShopOrderMapper.xml
+++ b/meapi/src/main/resources/mapper/ShopOrderMapper.xml
@@ -1041,6 +1041,9 @@
INNER JOIN ITEM i ON i.HANDLE = so.PLANNED_ITEM_BO
so.SITE = #{site}
+
+ AND zab.TYPE = #{type}
+
diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java
index 47c5c856..eaf41cc1 100644
--- a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java
+++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java
@@ -165,10 +165,12 @@ public class PodTemplateServiceImpl implements PodTemplateService {
if (resultMap == null) {
throw new BaseException("根据当前资源未找到条码[" + sfc + "]的基本信息!");
}
+ if(resultMap.get("EMPLOYEE_DESCRIPTION")==null||resultMap.get("EMPLOYEE_DESCRIPTION").equals("")){
+ throw new BaseException("产品条码[" + sfc + "]的操作人员为空!请联系调度人员维护!");
+ }
//List