From 2cd7248e81c29b9f2cc0073e451680152667bafe Mon Sep 17 00:00:00 2001
From: yangwl <1726150332@qq.com>
Date: Thu, 29 Sep 2022 17:39:16 +0800
Subject: [PATCH] =?UTF-8?q?=E8=BF=94=E4=BF=AE=E8=AE=A2=E5=8D=95=E5=91=A8?=
 =?UTF-8?q?=E8=BD=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../service/impl/AbnormalBillServiceImpl.java | 66 ++++++++++++++++++-
 .../service/impl/AbnormalPlanServiceImpl.java | 20 +++---
 .../service/impl/ReportServiceImpl.java       | 24 ++++---
 .../main/resources/mapper/ReportMapper.xml    |  4 +-
 .../common/ftp/WorkmanshipCardFtpClient.java  |  1 +
 .../resources/mapper/ReportDataMapper.xml     | 63 ++++++++++++++++++
 .../mapper/LogisticsTurnoverMapper.xml        |  5 +-
 .../impl/InspectionTaskManageServiceImpl.java | 29 ++++----
 8 files changed, 176 insertions(+), 36 deletions(-)

diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java
index 5bdcc555..a72e6c37 100644
--- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java
+++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java
@@ -206,6 +206,8 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
     @Autowired
     private RouterStepcontentMapper routerStepcontentMapper;
 
+    @Autowired
+    public LogisticsTurnoverService logisticsTurnoverService;
 
 
     @Override
@@ -253,6 +255,17 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
         }else if(StringUtils.isBlank(abnormalBill.getStepId())){
             throw new BaseException("根据SFC找不到StepId");
         }
+        if (StringUtil.notBlank(abnormalBill.getShopOrder())){
+           ShopOrder  shopOrder = shopOrderService.findByShopOrderBo(HandleEnum.SHOP_ORDER.getHandle(site,abnormalBill.getShopOrder()));
+           if (StringUtil.notBlank(shopOrder.getStatusBo()) && shopOrder.getStatusBo().equals("StatusBO:1000,501") && (abnormalBill.getSfc()==null || abnormalBill.getSfc()==" ") )
+           {
+               throw new BaseException("在产订单的异常必须按照SFC来提报!");
+           }
+        }
+
+
+
+
         if(!StringUtils.isBlank(abnormalBill.getObjectBo())){
             if("J".equals(abnormalBill.getReportFrom())){
                 abnormalBill.setObjectBo(HandleEnum.INSPECTION_TASK.getHandle(site,abnormalBill.getObjectBo()));
@@ -496,7 +509,13 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
         if(StringUtil.isEmpty(abnormalBill.getAbnormalNo())){
             return null;
         }
-        return abnormalBillDisposeMapper.findAllByAbnormalNo(abnormalBill,local);
+        Map paramMap=new HashMap();
+        paramMap.put("routerBo",abnormalBill.getDisRouterBo());
+        paramMap.put("site",site);
+
+        AbnormalBillDisposeDto abnormalBillDisposeDto=abnormalBillDisposeMapper.findAllByAbnormalNo(abnormalBill,local);
+        abnormalBillDisposeDto.setList(routerStepcontentMapper.selectDisRouterInfo(paramMap));
+        return abnormalBillDisposeDto;
     }
 
     @Override
@@ -573,6 +592,49 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
             }
         }
 
+        /**
+         * 根据返修订单找到第一个返修工序
+         */
+        RouterStep routerStep =new RouterStep();
+        QueryWrapper<RouterStep> queryWrapper = new QueryWrapper<>();
+        routerStep.setRouterBo(abnormalBillDispose.getRouterBo());
+        routerStep.setSequence(Long.parseLong("1"));
+        queryWrapper.setEntity(routerStep);
+        routerStep=routerStepService.getOne(queryWrapper);
+        String[] items = abnormalBill.getItemBo().split(",");
+        String item=items[1];
+
+        if (StringUtil.notBlank(routerStep.getDescription())){
+            String disRouterfirtOperation = routerStep.getDescription().substring(0, routerStep.getDescription().indexOf("_"));
+            if (StringUtil.notBlank(abnormalBill.getOperation()) && StringUtil.notBlank(abnormalBill.getSfc()) && StringUtil.notBlank(abnormalBill.getStepId())){
+                /**
+                 * 在产的找
+                 */
+                String abnormalOperation = abnormalBill.getOperation().substring(0, abnormalBill.getOperation().indexOf("_"));
+                if (!disRouterfirtOperation.equals(abnormalOperation)){
+                    //生成返修物流周转任务
+                    LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
+                    logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
+                    logisticsTurnover.setSfcDispatchBo(HandleEnum.SFC_DISPATCH.getHandle(site, abnormalBill.getSfc()+"-"+abnormalBill.getStepId()));
+                    logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
+                    logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
+                    logisticsTurnover.setOther1(routerStep.getDescription());
+                    logisticsTurnover.setOther2(abnormalBill.getStepId());
+                    logisticsTurnover.setIsReceive("N");
+                    logisticsTurnover.setTurnoverWorkCenter(disRouterfirtOperation);
+                    logisticsTurnover.setTurnoutItem(item);
+                    logisticsTurnover.setTurnoutWorkcenter(abnormalOperation);
+                    try {
+                        logisticsTurnoverService.save(logisticsTurnover);
+                    } catch (Exception e) {
+                        throw new BaseException("返修件周转任务生成失败");
+                    }
+
+                }
+            }
+
+        }
+
         //判断返修工单是否正确
         if(!StringUtil.isBlank(abnormalBillDispose.getResolveShopOrder())){
             ShopOrder shopOrder = shopOrderMapper.selectById(HandleEnum.SHOP_ORDER.getHandle(site, abnormalBillDispose.getResolveShopOrder()));
@@ -1655,10 +1717,12 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
     @Override
     public boolean deviceRepairComplete( List<AbnormalBill> abnormalBills) {
         boolean flag=this.updateBatchById(abnormalBills);
+        String site=CommonMethods.getSite();
         if (flag){
             //发送维修完成的消息给相关人员
             for (AbnormalBill abnormalBill : abnormalBills){
                 abnormalBill.setType("S");
+                abnormalBill.setSite(site);
                 abnormalBill.setReportSendUserGroup("SBYCSB-REPAIRCOMPLETE");
                 this.sendMessageToDeviceRepairComplete(abnormalBill);
             }
diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java
index 2ba64b64..9032262e 100644
--- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java
+++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java
@@ -201,17 +201,19 @@ public class AbnormalPlanServiceImpl extends ServiceImpl<AbnormalPlanMapper, Abn
         for (int i = 0; i < findAbnormalPlan.size(); i++) {
             String abnormalBo = findAbnormalPlan.get(i).getAbnormalNo();
             String routerBo=findAbnormalPlan.get(i).getRtHandle();
-            //map.put("abnormalBo",abnormalBo);
-            map.put("routerBo",routerBo);
-            List<Map<String, Object>> result =routerStepcontentService.selectDisRouterInfo(map);
-            String ReapirContent="";
-            if(result!=null&&result.size()!=0){
-                for (int j = 0; j < result.size(); j++) {
-                    ReapirContent=ReapirContent+"【"+(String) result.get(j).get("STEP_ID")+"】"+
-                            (String) result.get(j).get("ROUTER_STEP_CONTENT");
+            if(StringUtil.notBlank(routerBo)){
+                //map.put("abnormalBo",abnormalBo);
+                map.put("routerBo",routerBo);
+                List<Map<String, Object>> result =routerStepcontentService.selectDisRouterInfo(map);
+                String ReapirContent="";
+                if(result!=null&&result.size()!=0){
+                    for (int j = 0; j < result.size(); j++) {
+                        ReapirContent=ReapirContent+"【"+(String) result.get(j).get("STEP_ID")+"】"+
+                                (String) result.get(j).get("ROUTER_STEP_CONTENT");
+                    }
                 }
+                findAbnormalPlan.get(i).setReapirContent(ReapirContent);
             }
-            findAbnormalPlan.get(i).setReapirContent(ReapirContent);
         }
 
 //        for (AbnormalPlanDto planDto:findAbnormalPlan){
diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java
index e201c58d..782023c2 100644
--- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java
+++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java
@@ -8,6 +8,7 @@ import com.foreverwin.mesnac.anomaly.service.ReportService;
 import com.foreverwin.mesnac.anomaly.utils.DateReportUtils;
 import com.foreverwin.mesnac.common.enums.HandleEnum;
 import com.foreverwin.mesnac.common.util.DateUtil;
+import com.foreverwin.mesnac.common.util.StringUtil;
 import com.foreverwin.mesnac.meapi.mapper.DataFieldListMapper;
 import com.foreverwin.mesnac.meapi.mapper.ItemMapper;
 import com.foreverwin.mesnac.meapi.mapper.ShopOrderMapper;
@@ -238,17 +239,22 @@ public class ReportServiceImpl implements ReportService {
             Map<String, Object> temporaryMap = qualityInspectionReport.get(i);
             String abnormalBo = (String) temporaryMap.get("ABNORMAL_NO");
             String routerBo = (String) temporaryMap.get("ROUTER_BO");
-          //  map.put("abnormalBo", abnormalBo);
-            map.put("routerBo", routerBo);
-            List<Map<String, Object>> result = routerStepcontentService.selectDisRouterInfo(map);
-            String ReapirContent = "";
-            if (result != null && result.size() != 0) {
-                for (int j = 0; j < result.size(); j++) {
-                    ReapirContent = ReapirContent + "【" + (String) result.get(j).get("STEP_ID") + "】" +
-                            (String) result.get(j).get("ROUTER_STEP_CONTENT");
+
+
+            if(StringUtil.notBlank(routerBo)){
+                //  map.put("abnormalBo", abnormalBo);
+                map.put("routerBo", routerBo);
+                List<Map<String, Object>> result = routerStepcontentService.selectDisRouterInfo(map);
+                String ReapirContent = "";
+                if (result != null && result.size() != 0) {
+                    for (int j = 0; j < result.size(); j++) {
+                        ReapirContent = ReapirContent + "【" + (String) result.get(j).get("STEP_ID") + "】" +
+                                (String) result.get(j).get("ROUTER_STEP_CONTENT");
+                    }
                 }
+                qualityInspectionReport.get(i).put("ROUTER_STEP_CONTENT", ReapirContent);
             }
-            qualityInspectionReport.get(i).put("ROUTER_STEP_CONTENT", ReapirContent);
+
         }
 
 
diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml
index f3818a92..7506be78 100644
--- a/anomaly/src/main/resources/mapper/ReportMapper.xml
+++ b/anomaly/src/main/resources/mapper/ReportMapper.xml
@@ -441,7 +441,7 @@
 
     <select id="findQualityInspectionReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
         SELECT Szsd.PROD_HOURS* CFPT.VALUE*zab.PB_QTY PRICE,CFPT.VALUE PRICE_TIME,zab.CREATED_DATE_TIME,zab.ABNORMAL_NO
-        ABNORMAL_NO,
+        ABNORMAL_NO,zab.SFC,zab.PB_USER,zab.REPORT_FROM,
         dflt.DATA_TAG PRODUCT_CATEGORY,
         dflt2.DATA_TAG DISCOVER,
         i.ITEM ITEM ,it.DESCRIPTION ITEM_DESCRIPTION,
@@ -563,7 +563,7 @@
         zsd.EMPLOYEE_DESCRIPTION ,ot.DESCRIPTION ,RES.RESRCE,RES.DESCRIPTION,
         r2.RESRCE,r2.DESCRIPTION,zsd.RESOURCE_TYPE,ot2.DESCRIPTION,rt2.DESCRIPTION,
         rt.DESCRIPTION, dflt.DATA_TAG,zabd.DUTY_CAUSE_TYPE,zabd.DUTY_TYPE ,zabd.DUTY_DEPART,zab.SFC,
-        znu.FULL_NAME,znu2.FULL_NAME,zab.RESPONSE_DATE_TIME,dflt2.DATA_TAG,Szsd.HANDLE, Szsd.PROD_HOURS,zabd.ROUTER_BO
+        znu.FULL_NAME,znu2.FULL_NAME,zab.RESPONSE_DATE_TIME,dflt2.DATA_TAG,Szsd.HANDLE, Szsd.PROD_HOURS,zabd.ROUTER_BO,zab.PB_USER,zab.REPORT_FROM
         ORDER BY zab.CREATED_DATE_TIME DESC
     </select>
 
diff --git a/common/src/main/java/com/foreverwin/mesnac/common/ftp/WorkmanshipCardFtpClient.java b/common/src/main/java/com/foreverwin/mesnac/common/ftp/WorkmanshipCardFtpClient.java
index 93096923..cf772b66 100644
--- a/common/src/main/java/com/foreverwin/mesnac/common/ftp/WorkmanshipCardFtpClient.java
+++ b/common/src/main/java/com/foreverwin/mesnac/common/ftp/WorkmanshipCardFtpClient.java
@@ -348,6 +348,7 @@ public class WorkmanshipCardFtpClient {
     }
     public FTPClient login() throws IOException{
         this.ftp=new FTPClient();
+
         this.ftp.connect(address,port);
         this.ftp.setFileType(FTP.BINARY_FILE_TYPE);
         if(FTPReply.isPositiveCompletion(this.ftp.getReplyCode())){
diff --git a/common/src/main/resources/mapper/ReportDataMapper.xml b/common/src/main/resources/mapper/ReportDataMapper.xml
index 682b5111..cc449511 100644
--- a/common/src/main/resources/mapper/ReportDataMapper.xml
+++ b/common/src/main/resources/mapper/ReportDataMapper.xml
@@ -792,6 +792,69 @@
     </select>
     <select id="selectItemMoveWaitTime" resultType="java.util.Map">
 
+        SELECT
+            C1.VALUE WORK_ORDER,
+            C2.VALUE ITEM_NUMBER,
+            SO.SHOP_ORDER,
+            IT.ITEM,
+            T.DESCRIPTION ITEM_DESCRIPTION,
+            ZSD.DISPATCH_QTY,
+            WCT.DESCRIPTION TURNOUT_WORKCENTER_DESCRIPTION,
+            WCT1.DESCRIPTION TURNOVER_WORKCENTER_DESCRIPTION,
+            OT.DESCRIPTION TURNOUT_WORKCENTER_OPERATION,
+            OT1.DESCRIPTION TURNOVER_WORKCENTER_OPERATION,
+            ZLT.CREATED_DATE_TIME,
+            ZLT.COM_DATE_TIME,
+            ZLT.OTHER4 RECEIVETIME,
+        CASE
+
+                WHEN ZLT.COM_DATE_TIME IS NOT NULL THEN
+                TO_CHAR( TO_NUMBER( ZLT.COM_DATE_TIME - ZLT.CREATED_DATE_TIME ) * 24, 'FM9999990.000' ) ELSE ''
+            END TRANSPORT_TIME
+        FROM
+            Z_LOGISTICS_TURNOVER ZLT
+            LEFT JOIN Z_SFC_DISPATCH ZSD ON ZLT.SFC_DISPATCH_BO = ZSD.HANDLE
+            LEFT JOIN SHOP_ORDER SO ON ZSD.SHOP_ORDER = SO.SHOP_ORDER
+            LEFT JOIN CUSTOM_FIELDS C1 ON C1.HANDLE = SO.HANDLE
+            AND C1."ATTRIBUTE" = 'WORK_ORDER'
+            LEFT JOIN CUSTOM_FIELDS C2 ON C2.HANDLE = SO.HANDLE
+            AND C2."ATTRIBUTE" = 'ITEM_NUMBER'
+            LEFT JOIN ITEM IT ON SO.ITEM_BO = IT.HANDLE
+            LEFT JOIN ITEM_T T ON IT.HANDLE = T.ITEM_BO
+            LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZLT.TURNOUT_WORKCENTER
+            LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE
+            LEFT JOIN WORK_CENTER WC1 ON WC1.WORK_CENTER = ZLT.TURNOVER_WORK_CENTER
+            LEFT JOIN WORK_CENTER_T WCT1 ON WCT1.WORK_CENTER_BO = WC1.HANDLE
+            LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION
+            LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = O.HANDLE
+            LEFT JOIN OPERATION O1 ON O1.OPERATION = ZLT.OTHER1
+            LEFT JOIN OPERATION_T OT1 ON OT1.OPERATION_BO = O1.HANDLE
+        <where>
+            ZSD.SITE=#{site}
+            <if test="Status!=null"> AND ZLT.STATUS=#{Status}</if>
+            <if test="turnoutWorkcenter!=null"> AND ZLT.TURNOUT_WORKCENTER=#{turnoutWorkcenter}</if>
+            <if test="nextWorkCenter!=null"> AND ZLT.TURNOVER_WORK_CENTER=#{nextWorkCenter}</if>
+            <if test="isReceive!=null"> AND ZLT.IS_RECEIVE=#{isReceive}</if>
+            <if test="turnoutItem!=null"> AND ZLT.TURNOUT_ITEM=#{turnoutItem}</if>
+            <if test="itemDescription!=null"> AND IT.DESCRIPTION LIKE  '%'||#{itemDescription}||'%'</if>
+            <if test="workOrder!=null"> AND C1.VALUE LIKE  '%'||#{workOrder}||'%'</if>
+            <if test="shopOrder!=null"> AND SO.SHOP_ORDER=#{shopOrder}</if>
+            <if test="startFromDate != null">
+                AND ZLT.COM_DATE_TIME >= TO_DATE(#{startFromDate}, 'YYYY-MM-DD')
+            </if>
+            <if test="startToDate != null">
+                AND ZLT.COM_DATE_TIME &lt;= TO_DATE(#{startToDate}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS')
+            </if>
+            <if test="completeFromDate != null">
+                AND ZLT.OTHER4 >= TO_DATE(#{completeFromDate}, 'YYYY-MM-DD')
+            </if>
+            <if test="completeToDate != null">
+                AND ZLT.OTHER4  &lt;=  TO_DATE(#{completeToDate}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS')
+            </if>
+
+        </where>
+
+
     </select>
 
     <update id="doItemMove">
diff --git a/meapi/src/main/resources/mapper/LogisticsTurnoverMapper.xml b/meapi/src/main/resources/mapper/LogisticsTurnoverMapper.xml
index 822dadc8..8d851a33 100644
--- a/meapi/src/main/resources/mapper/LogisticsTurnoverMapper.xml
+++ b/meapi/src/main/resources/mapper/LogisticsTurnoverMapper.xml
@@ -595,8 +595,7 @@
                 Z_LOGISTICS_TURNOVER ZLT
                 LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZLT.TURNOVER_WORK_CENTER
                 LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE
-                LEFT JOIN Z_INSPECTION_TASK ZIT ON ZLT.OTHER3 = ZIT.HANDLE
-                LEFT JOIN Z_SFC_DISPATCH ZSD ON ZIT.SFC = ZSD.SFC AND ZIT.STEP_ID=ZSD.STEP_ID
+                LEFT JOIN Z_SFC_DISPATCH ZSD ON ZLT.SFC_DISPATCH_BO = ZSD.HANDLE
                 LEFT JOIN OPERATION O1 ON O1.OPERATION = ZSD.OPERATION
                 LEFT JOIN OPERATION_T OT1 ON OT1.OPERATION_BO = O1.HANDLE
                 LEFT JOIN OPERATION O ON O.OPERATION = ZLT.OTHER1
@@ -744,7 +743,7 @@
         <where>
 
                     <if test="status!=null"> AND STATUS=#{status}</if>
-                   <if test="turnoutWorkcenter!=null"> AND TURNOUT_WORKCENTER=#{turnoutWorkcenter}</if>
+                    <if test="turnoutWorkcenter!=null"> AND TURNOUT_WORKCENTER=#{turnoutWorkcenter}</if>
                     <if test="nextWorkCenter!=null"> AND TURNOVER_WORK_CENTER=#{nextWorkCenter}</if>
                     <if test="isReceive!=null"> AND IS_RECEIVE=#{isReceive}</if>
                     <if test="turnoutItem!=null"> AND TURNOUT_ITEM=#{turnoutItem}</if>
diff --git a/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/InspectionTaskManageServiceImpl.java b/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/InspectionTaskManageServiceImpl.java
index e1aa7490..a2084bd0 100644
--- a/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/InspectionTaskManageServiceImpl.java
+++ b/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/InspectionTaskManageServiceImpl.java
@@ -237,6 +237,8 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
              */
             InspectionTaskManageRequest request=new InspectionTaskManageRequest();
             request.setSfcdispatchBo(inspectionTaskManage.getSfcdispatchBo());
+            request.setSfc(inspectionTaskManage.getSfc());
+            request.setStepId(inspectionTaskManage.getStepId());
             this.CreateLogisticsTask(request);
         }
         inspectionTaskModel.setStatus("SAVE".equals(type) ? Constants.INSPECTION_TASK_STATUS_DOING : Constants.INSPECTION_TASK_STATUS_COMPLETE);
@@ -274,6 +276,7 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
     public void CreateLogisticsTask(InspectionTaskManageRequest request) {
         SfcDispatch sfcDispatchById = sfcDispatchService.getById(request.getSfcdispatchBo());
         Router router = routerService.getById(sfcDispatchById.getRouterBo());
+        String site=CommonMethods.getSite();
         //找下道工序 (返修工序除外)
         if (!router.getRouterType().equals("C")) {
             QueryWrapper<SfcDispatch> queryWrapper = new QueryWrapper<>();
@@ -281,16 +284,17 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
             queryWrapper.eq(SfcDispatch.SHOP_ORDER, sfcDispatchById.getShopOrder());
             queryWrapper.eq(SfcDispatch.DISPATCH_SEQ, String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq()) + 1));
             SfcDispatch nextsfcDispatch = sfcDispatchService.getOne(queryWrapper);
+            String dispatchNo = request.getSfc() + "-" + request.getStepId();
             //判断下道工序是否为空
             if (nextsfcDispatch != null && !nextsfcDispatch.getOperation().equals("HJ_6106JYGX") && !nextsfcDispatch.getOperation().equals("HJ_6106JRGX")) {
-                logger.error("质检工序合格" + sfcDispatchById.getOperation() + "的下道工序不为空,下道工序为" + nextsfcDispatch.getOperation());
                 //如果不等于空,判断下道工序的工作中心和质检完的工作中心是否一致
                 if (!sfcDispatchById.getWorkCenter().equals(nextsfcDispatch.getWorkCenter())) {
-                    logger.error("下道工序和质检工序的工作中心不相同");
                     //如果不相等的话 插入周转任务表
                     LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
                     logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
-                    logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
+                    //HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo)
+                    logisticsTurnover.setSfcDispatchBo(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo));
+                  //  logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
                     logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
                     logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
                     logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
@@ -309,15 +313,15 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
             }
             //如果下道工序不为空且下道工序是检验,继续找下道工序
             else if (nextsfcDispatch != null && nextsfcDispatch.getOperation().equals("HJ_6106JYGX")) {
-                QueryWrapper<SfcDispatch> queryWrappers = new QueryWrapper<>();
-                queryWrappers.eq(SfcDispatch.SFC, sfcDispatchById.getSfc());
-                queryWrappers.eq(SfcDispatch.SHOP_ORDER, sfcDispatchById.getShopOrder());
-                queryWrappers.eq(SfcDispatch.DISPATCH_SEQ, String.valueOf(Integer.parseInt(nextsfcDispatch.getDispatchSeq()) + 1));
-                SfcDispatch nextssfcDispatch = sfcDispatchService.getOne(queryWrappers);
+                    QueryWrapper<SfcDispatch> queryWrappers = new QueryWrapper<>();
+                    queryWrappers.eq(SfcDispatch.SFC, sfcDispatchById.getSfc());
+                    queryWrappers.eq(SfcDispatch.SHOP_ORDER, sfcDispatchById.getShopOrder());
+                    queryWrappers.eq(SfcDispatch.DISPATCH_SEQ, String.valueOf(Integer.parseInt(nextsfcDispatch.getDispatchSeq()) + 1));
+                    SfcDispatch  nextssfcDispatch = sfcDispatchService.getOne(queryWrappers);
                 if (nextssfcDispatch != null && !nextssfcDispatch.getWorkCenter().equals(sfcDispatchById.getWorkCenter())) {
                     LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
                     logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
-                    logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
+                    logisticsTurnover.setSfcDispatchBo(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo));
                     logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
                     logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
                     logisticsTurnover.setOther1(nextssfcDispatch.getOperation());
@@ -335,7 +339,7 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
                 }else if (Constants.RK.equals(nextsfcDispatch.getOther2())){
                     LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
                     logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
-                    logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
+                    logisticsTurnover.setSfcDispatchBo(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo));
                     logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
                     logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
                     logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
@@ -358,7 +362,7 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
                 //下工序为空,本工序为检入工序生成转序任务
                 LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
                 logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
-                logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
+                logisticsTurnover.setSfcDispatchBo(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo));
                 logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
                 logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
                 logisticsTurnover.setOther2(sfcDispatchById.getStepId());
@@ -373,7 +377,7 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
                 //如果为空值 则判断入库标识
                 LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
                 logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
-                logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
+                logisticsTurnover.setSfcDispatchBo(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo));
                 logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
                 logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
                 logisticsTurnover.setOther2(sfcDispatchById.getStepId());
@@ -387,4 +391,5 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
         }
     }
 
+
 }