diff --git a/common/src/main/java/com/foreverwin/mesnac/common/controller/ProdReadyTaskController.java b/common/src/main/java/com/foreverwin/mesnac/common/controller/ProdReadyTaskController.java
index 381a4ade..36e05cc9 100644
--- a/common/src/main/java/com/foreverwin/mesnac/common/controller/ProdReadyTaskController.java
+++ b/common/src/main/java/com/foreverwin/mesnac/common/controller/ProdReadyTaskController.java
@@ -1,17 +1,17 @@
 package com.foreverwin.mesnac.common.controller;
 
-import com.foreverwin.modular.core.util.R;
-import com.foreverwin.modular.core.util.FrontPage;
-import com.foreverwin.modular.core.util.CommonMethods;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.foreverwin.mesnac.common.model.ProdReadyTask;
+import com.foreverwin.mesnac.common.service.ProdReadyTaskService;
+import com.foreverwin.modular.core.util.CommonMethods;
+import com.foreverwin.modular.core.util.FrontPage;
+import com.foreverwin.modular.core.util.R;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import com.foreverwin.mesnac.common.service.ProdReadyTaskService;
-import com.foreverwin.mesnac.common.model.ProdReadyTask;
 import java.util.List;
+import java.util.Map;
 
 /**
  *
@@ -25,6 +25,20 @@ public class ProdReadyTaskController {
     @Autowired
     public ProdReadyTaskService prodReadyTaskService;
 
+    /**
+     * 查询所有数据
+     *
+     * @return
+     */
+    @ResponseBody
+    @GetMapping("")
+    public R getProdReadyTaskList(ProdReadyTask prodReadyTask){
+        List<ProdReadyTask> result;
+        QueryWrapper<ProdReadyTask> queryWrapper = new QueryWrapper<>();
+        queryWrapper.setEntity(prodReadyTask);
+        result = prodReadyTaskService.list(queryWrapper);
+        return R.ok(result);
+    }
     /**
     * 根据id查询
     *
@@ -38,17 +52,53 @@ public class ProdReadyTaskController {
     }
 
     /**
-     * 查询所有数据
+     *检验明细
      *
      * @return
      */
     @ResponseBody
-    @GetMapping("")
-    public R getProdReadyTaskList(ProdReadyTask prodReadyTask){
+    @PostMapping("/getInspectionDetailList")
+    public R getInspectionDetailList(@RequestBody Map<String,String> param){
+        List<Map<String, Object>> result;
+        result = prodReadyTaskService.getInspectionDetailList(param);
+        return R.ok(result);
+    }
+
+    /**
+     * 检索
+     *
+     * @return
+     */
+    @ResponseBody
+    @GetMapping("/getTaskList")
+    public R getTaskList(ProdReadyTask prodReadyTask){
         List<ProdReadyTask> result;
-        QueryWrapper<ProdReadyTask> queryWrapper = new QueryWrapper<>();
-        queryWrapper.setEntity(prodReadyTask);
-        result = prodReadyTaskService.list(queryWrapper);
+        prodReadyTask.setSite(CommonMethods.getSite());
+        result = prodReadyTaskService.getTaskList(prodReadyTask);
+        return R.ok(result);
+    }
+    /**
+     * 生产准备执行检索
+     *
+     * @return
+     */
+    @ResponseBody
+    @GetMapping("/loadProExecute")
+    public R loadProExecute(String taskBo){
+        ProdReadyTask result;
+        result = prodReadyTaskService.loadProExecute(taskBo);
+        return R.ok(result);
+    }
+    /**
+     * 查询所有数据
+     *
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/save")
+    public R saveResult(@RequestBody ProdReadyTask prodReadyTask){
+        boolean result=
+         prodReadyTaskService.saveResult(prodReadyTask);
         return R.ok(result);
     }
 
@@ -78,7 +128,7 @@ public class ProdReadyTaskController {
                 .or().like(ProdReadyTask::getStepId, frontPage.getGlobalQuery())
                 .or().like(ProdReadyTask::getItem, frontPage.getGlobalQuery())
                 .or().like(ProdReadyTask::getResrce, frontPage.getGlobalQuery())
-                .or().like(ProdReadyTask::getReslut, frontPage.getGlobalQuery())
+                .or().like(ProdReadyTask::getResult, frontPage.getGlobalQuery())
                 .or().like(ProdReadyTask::getStatus, frontPage.getGlobalQuery())
                 .or().like(ProdReadyTask::getCreateUser, frontPage.getGlobalQuery())
                 .or().like(ProdReadyTask::getModifyUser, frontPage.getGlobalQuery())
diff --git a/common/src/main/java/com/foreverwin/mesnac/common/controller/ProdReadyTaskDetailController.java b/common/src/main/java/com/foreverwin/mesnac/common/controller/ProdReadyTaskDetailController.java
index 37e90a49..60787212 100644
--- a/common/src/main/java/com/foreverwin/mesnac/common/controller/ProdReadyTaskDetailController.java
+++ b/common/src/main/java/com/foreverwin/mesnac/common/controller/ProdReadyTaskDetailController.java
@@ -1,16 +1,14 @@
 package com.foreverwin.mesnac.common.controller;
 
-import com.foreverwin.modular.core.util.R;
-import com.foreverwin.modular.core.util.FrontPage;
-import com.foreverwin.modular.core.util.CommonMethods;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.foreverwin.mesnac.common.model.ProdReadyTaskDetail;
+import com.foreverwin.mesnac.common.service.ProdReadyTaskDetailService;
+import com.foreverwin.modular.core.util.FrontPage;
+import com.foreverwin.modular.core.util.R;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import com.foreverwin.mesnac.common.service.ProdReadyTaskDetailService;
-import com.foreverwin.mesnac.common.model.ProdReadyTaskDetail;
 import java.util.List;
 
 /**
@@ -70,7 +68,7 @@ public class ProdReadyTaskDetailController {
                 .like(ProdReadyTaskDetail::getHandle, frontPage.getGlobalQuery())
                 .or().like(ProdReadyTaskDetail::getProdReadyTaskBo, frontPage.getGlobalQuery())
                 .or().like(ProdReadyTaskDetail::getInspectionItem, frontPage.getGlobalQuery())
-                .or().like(ProdReadyTaskDetail::getReslut, frontPage.getGlobalQuery())
+                .or().like(ProdReadyTaskDetail::getResult, frontPage.getGlobalQuery())
                 .or().like(ProdReadyTaskDetail::getRemarks, frontPage.getGlobalQuery())
                 .or().like(ProdReadyTaskDetail::getCreateUser, frontPage.getGlobalQuery())
                 .or().like(ProdReadyTaskDetail::getModifyUser, frontPage.getGlobalQuery())
diff --git a/common/src/main/java/com/foreverwin/mesnac/common/mapper/ProdReadyTaskMapper.java b/common/src/main/java/com/foreverwin/mesnac/common/mapper/ProdReadyTaskMapper.java
index 7f4b4ead..c5127473 100644
--- a/common/src/main/java/com/foreverwin/mesnac/common/mapper/ProdReadyTaskMapper.java
+++ b/common/src/main/java/com/foreverwin/mesnac/common/mapper/ProdReadyTaskMapper.java
@@ -1,9 +1,13 @@
 package com.foreverwin.mesnac.common.mapper;
 
-import com.foreverwin.mesnac.common.model.ProdReadyTask;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.foreverwin.mesnac.common.model.ProdReadyTask;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 生产准备任务主表 Mapper 接口
@@ -15,4 +19,11 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface ProdReadyTaskMapper extends BaseMapper<ProdReadyTask> {
 
+    List<ProdReadyTask> getTaskList(@Param("entity")ProdReadyTask prodReadyTask, @Param("locale") String locale);
+
+    ProdReadyTask loadProExecute(@Param("site")String site,  @Param("taskBo")String taskBo, @Param("locale") String language);
+
+    List<Map<String, Object>> getItemDetail(@Param("site")String site, @Param("locale")String locale, @Param("dispatchNo")String dispatchNo);
+
+    List<Map<String, Object>> getToolDetail(@Param("site")String site, @Param("locale")String locale, @Param("dispatchNo")String dispatchNo);
 }
\ No newline at end of file
diff --git a/common/src/main/java/com/foreverwin/mesnac/common/model/ProdReadyTask.java b/common/src/main/java/com/foreverwin/mesnac/common/model/ProdReadyTask.java
index 1bee25cf..e4961636 100644
--- a/common/src/main/java/com/foreverwin/mesnac/common/model/ProdReadyTask.java
+++ b/common/src/main/java/com/foreverwin/mesnac/common/model/ProdReadyTask.java
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.activerecord.Model;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * <p>
@@ -82,8 +83,8 @@ public class ProdReadyTask extends Model<ProdReadyTask> {
     /**
      * 检验结果
      */
-   @TableField("RESLUT")
-   private String reslut;
+   @TableField("RESULT")
+   private String result;
     /**
      * 待准备、准备中、完成、取消
      */
@@ -145,6 +146,96 @@ public class ProdReadyTask extends Model<ProdReadyTask> {
    @TableField("REMARKS")
    private String remarks;
 
+   @TableField(exist = false)
+   private String dispatchNo;
+
+   @TableField(exist = false)
+   private String sfcStepStatus;
+
+   @TableField(exist = false)
+   private String resourceType;
+
+   @TableField(exist = false)
+   private String planStartDate;
+
+   @TableField(exist = false)
+   private String resrceDesc;
+
+   @TableField(exist = false)
+   private String operationDesc;
+
+   @TableField(exist = false)
+   private String itemDesc;
+
+   @TableField(exist = false)
+   private List<ProdReadyTaskDetail> prodReadyTaskDetailList;
+
+   @TableField(exist = false)
+   private String workCenterDesc;
+
+   public List<ProdReadyTaskDetail> getProdReadyTaskDetailList() {
+      return prodReadyTaskDetailList;
+   }
+
+   public void setProdReadyTaskDetailList(List<ProdReadyTaskDetail> prodReadyTaskDetailList) {
+      this.prodReadyTaskDetailList = prodReadyTaskDetailList;
+   }
+
+   public String getDispatchNo() {
+      return dispatchNo;
+   }
+
+   public void setDispatchNo(String dispatchNo) {
+      this.dispatchNo = dispatchNo;
+   }
+
+   public String getSfcStepStatus() {
+      return sfcStepStatus;
+   }
+
+   public void setSfcStepStatus(String sfcStepStatus) {
+      this.sfcStepStatus = sfcStepStatus;
+   }
+
+   public String getResourceType() {
+      return resourceType;
+   }
+
+   public void setResourceType(String resourceType) {
+      this.resourceType = resourceType;
+   }
+
+   public String getPlanStartDate() {
+      return planStartDate;
+   }
+
+   public void setPlanStartDate(String planStartDate) {
+      this.planStartDate = planStartDate;
+   }
+
+   public String getResrceDesc() {
+      return resrceDesc;
+   }
+
+   public void setResrceDesc(String resrceDesc) {
+      this.resrceDesc = resrceDesc;
+   }
+
+   public String getOperationDesc() {
+      return operationDesc;
+   }
+
+   public void setOperationDesc(String operationDesc) {
+      this.operationDesc = operationDesc;
+   }
+
+   public String getItemDesc() {
+      return itemDesc;
+   }
+
+   public void setItemDesc(String itemDesc) {
+      this.itemDesc = itemDesc;
+   }
 
    public String getHandle() {
       return handle;
@@ -234,12 +325,12 @@ public class ProdReadyTask extends Model<ProdReadyTask> {
       this.resrce = resrce;
    }
 
-   public String getReslut() {
-      return reslut;
+   public String getResult() {
+      return result;
    }
 
-   public void setReslut(String reslut) {
-      this.reslut = reslut;
+   public void setResult(String result) {
+      this.result = result;
    }
 
    public String getStatus() {
@@ -406,7 +497,7 @@ public static final String REMARKS = "REMARKS";
          ", stepId = " + stepId +
          ", item = " + item +
          ", resrce = " + resrce +
-         ", reslut = " + reslut +
+         ", result = " + result +
          ", status = " + status +
          ", createUser = " + createUser +
          ", createdDateTime = " + createdDateTime +
@@ -421,4 +512,12 @@ public static final String REMARKS = "REMARKS";
          ", remarks = " + remarks +
          "}";
    }
+
+   public void setWorkCenterDesc(String workCenterDesc) {
+      this.workCenterDesc = workCenterDesc;
+   }
+
+   public String getWorkCenterDesc() {
+      return workCenterDesc;
+   }
 }
\ No newline at end of file
diff --git a/common/src/main/java/com/foreverwin/mesnac/common/model/ProdReadyTaskDetail.java b/common/src/main/java/com/foreverwin/mesnac/common/model/ProdReadyTaskDetail.java
index 7840d246..0f1554d6 100644
--- a/common/src/main/java/com/foreverwin/mesnac/common/model/ProdReadyTaskDetail.java
+++ b/common/src/main/java/com/foreverwin/mesnac/common/model/ProdReadyTaskDetail.java
@@ -1,14 +1,13 @@
 package com.foreverwin.mesnac.common.model;
 
-import java.io.Serializable;
-
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
-import com.baomidou.mybatisplus.annotation.TableField;
+
 import java.io.Serializable;
-import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
 
 /**
  * <p>
@@ -43,8 +42,8 @@ public class ProdReadyTaskDetail extends Model<ProdReadyTaskDetail> {
     /**
      * 检验结果
      */
-   @TableField("RESLUT")
-   private String reslut;
+   @TableField("RESULT")
+   private String result;
     /**
      * 备注
      */
@@ -96,12 +95,12 @@ public class ProdReadyTaskDetail extends Model<ProdReadyTaskDetail> {
       this.inspectionItem = inspectionItem;
    }
 
-   public String getReslut() {
-      return reslut;
+   public String getResult() {
+      return result;
    }
 
-   public void setReslut(String reslut) {
-      this.reslut = reslut;
+   public void setResult(String result) {
+      this.result = result;
    }
 
    public String getRemarks() {
@@ -174,7 +173,7 @@ public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME";
          "handle = " + handle +
          ", prodReadyTaskBo = " + prodReadyTaskBo +
          ", inspectionItem = " + inspectionItem +
-         ", reslut = " + reslut +
+         ", result = " + result +
          ", remarks = " + remarks +
          ", createUser = " + createUser +
          ", createdDateTime = " + createdDateTime +
diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/ProdReadyTaskService.java b/common/src/main/java/com/foreverwin/mesnac/common/service/ProdReadyTaskService.java
index c1c26c60..c9ea11d3 100644
--- a/common/src/main/java/com/foreverwin/mesnac/common/service/ProdReadyTaskService.java
+++ b/common/src/main/java/com/foreverwin/mesnac/common/service/ProdReadyTaskService.java
@@ -1,11 +1,12 @@
 package com.foreverwin.mesnac.common.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.foreverwin.mesnac.common.model.ProdReadyTask;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.foreverwin.mesnac.common.model.ProdReadyTask;
 import com.foreverwin.modular.core.util.FrontPage;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -27,4 +28,12 @@ public interface ProdReadyTaskService extends IService<ProdReadyTask> {
     List<ProdReadyTask> selectList(ProdReadyTask prodReadyTask);
 
     void createTask(String sfcDispatchBO, String dispatchStatus, String shopOrder, String sfc,String operation, String resrce, String stepId, String workCenter, String planStartTime);
+
+    List<ProdReadyTask> getTaskList(ProdReadyTask queryWrapper);
+
+    ProdReadyTask loadProExecute(String taskBo);
+
+    List<Map<String, Object>> getInspectionDetailList(Map<String, String> param);
+
+    boolean saveResult(ProdReadyTask prodReadyTask);
 }
\ No newline at end of file
diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/ProdReadyTaskServiceImpl.java b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/ProdReadyTaskServiceImpl.java
index 0f31a9cc..59fa60b6 100644
--- a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/ProdReadyTaskServiceImpl.java
+++ b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/ProdReadyTaskServiceImpl.java
@@ -15,13 +15,16 @@ import com.foreverwin.mesnac.common.service.ProdReadyTaskService;
 import com.foreverwin.mesnac.common.util.StringUtil;
 import com.foreverwin.mesnac.meapi.dto.BomComponentDto;
 import com.foreverwin.mesnac.meapi.model.ShopOrder;
+import com.foreverwin.mesnac.meapi.model.WorkCenter;
 import com.foreverwin.mesnac.meapi.service.BomComponentService;
 import com.foreverwin.mesnac.meapi.service.CustomFieldsService;
 import com.foreverwin.mesnac.meapi.service.ShopOrderService;
+import com.foreverwin.mesnac.meapi.service.WorkCenterService;
 import com.foreverwin.modular.core.exception.BaseException;
 import com.foreverwin.modular.core.util.CommonMethods;
 import com.foreverwin.modular.core.util.FrontPage;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.i18n.LocaleContextHolder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -30,6 +33,7 @@ import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -46,10 +50,11 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl<ProdReadyTaskMapper, P
     public static final String P01="P01";
     public static final String P02="P02";
     public static final String P03="P03";
-    public static final String STATUS_CANCEL="C";
+    public static final String STATUS_WAITING="W";
     public static final String STATUS_DOING="I";
     public static final String STATUS_FINSH="F";
-    public static final String STATUS_WAITING="W";
+    public static final String STATUS_CANCEL="C";
+
     @Autowired
     private ProdReadyTaskMapper prodReadyTaskMapper;
     @Autowired
@@ -60,6 +65,8 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl<ProdReadyTaskMapper, P
     private CustomFieldsService customFieldsService;
     @Autowired
     private ShopOrderService shopOrderService;
+    @Autowired
+    private WorkCenterService workCenterService;
     @Override
     public IPage<ProdReadyTask> selectPage(FrontPage<ProdReadyTask> frontPage, ProdReadyTask prodReadyTask) {
         QueryWrapper<ProdReadyTask> queryWrapper = new QueryWrapper<>();
@@ -119,7 +126,7 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl<ProdReadyTaskMapper, P
                             prodReadyTaskDetail.setHandle(HandleEnum.PROD_READY_TASK_DETAIL.getHandle(prodReadyTask.getHandle(),P01));
                             prodReadyTaskDetail.setProdReadyTaskBo(prodReadyTask.getHandle());
                             prodReadyTaskDetail.setInspectionItem(P01);
-                            prodReadyTaskDetail.setReslut("");
+                            prodReadyTaskDetail.setResult("");
                             prodReadyTaskDetail.setRemarks("");
                             prodReadyTaskDetail.setCreateUser(user);
                             prodReadyTaskDetail.setCreatedDateTime(LocalDateTime.now());
@@ -132,7 +139,7 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl<ProdReadyTaskMapper, P
                             prodReadyTaskDetail.setHandle(HandleEnum.PROD_READY_TASK_DETAIL.getHandle(prodReadyTask.getHandle(),P02));
                             prodReadyTaskDetail.setProdReadyTaskBo(prodReadyTask.getHandle());
                             prodReadyTaskDetail.setInspectionItem(P02);
-                            prodReadyTaskDetail.setReslut("");
+                            prodReadyTaskDetail.setResult("");
                             prodReadyTaskDetail.setRemarks("");
                             prodReadyTaskDetail.setCreateUser(user);
                             prodReadyTaskDetail.setCreatedDateTime(LocalDateTime.now());
@@ -152,7 +159,7 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl<ProdReadyTaskMapper, P
                     prodReadyTaskDetail.setHandle(HandleEnum.PROD_READY_TASK_DETAIL.getHandle(prodReadyTask.getHandle(),P03));
                     prodReadyTaskDetail.setProdReadyTaskBo(prodReadyTask.getHandle());
                     prodReadyTaskDetail.setInspectionItem(P03);
-                    prodReadyTaskDetail.setReslut("");
+                    prodReadyTaskDetail.setResult("");
                     prodReadyTaskDetail.setRemarks("");
                     prodReadyTaskDetail.setCreateUser(user);
                     prodReadyTaskDetail.setCreatedDateTime(LocalDateTime.now());
@@ -191,6 +198,79 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl<ProdReadyTaskMapper, P
 
     }
 
+    @Override
+    public List<ProdReadyTask> getTaskList(ProdReadyTask prodReadyTask) {
+        return prodReadyTaskMapper.getTaskList(prodReadyTask, LocaleContextHolder.getLocale().getLanguage());
+    }
+
+    @Override
+    public ProdReadyTask loadProExecute(String taskBo) {
+        ProdReadyTask prodReadyTask = prodReadyTaskMapper.selectById(taskBo);
+        if (prodReadyTask.getStatus().equals(STATUS_WAITING)){
+            prodReadyTask.setReadyUser(CommonMethods.getUser());
+            prodReadyTask.setReadyDateTime(LocalDateTime.now());
+            prodReadyTask.setModifyUser(CommonMethods.getUser());
+            prodReadyTask.setModifiedDateTime(LocalDateTime.now());
+            prodReadyTask.setStatus(STATUS_DOING);
+            updateById(prodReadyTask);
+        }
+        WorkCenter workCenter=new WorkCenter();
+        workCenter.setWorkCenter(prodReadyTask.getWorkCenter());
+        workCenter.setSite(CommonMethods.getSite());
+        List<WorkCenter> workCenters = workCenterService.selectList(workCenter);
+        prodReadyTask.setWorkCenterDesc(workCenters.get(0).getDescription());
+        prodReadyTask.setDispatchNo(StringUtil.trimHandle(prodReadyTask.getSfcDispatchBo()));
+        LambdaQueryWrapper<ProdReadyTaskDetail> lambdaQuery=new LambdaQueryWrapper<>();
+        lambdaQuery.eq(ProdReadyTaskDetail::getProdReadyTaskBo,taskBo);
+        List<ProdReadyTaskDetail> list = prodReadyTaskDetailService.list(lambdaQuery);
+        prodReadyTask.setProdReadyTaskDetailList(list);
+        return prodReadyTask;
+    }
+
+    @Override
+    public List<Map<String, Object>> getInspectionDetailList(Map<String, String> param) {
+        String type = param.get("type");
+        String dispatchNo = param.get("dispatchNo");
+        List<Map<String, Object>> returnMap = null;
+        String site = CommonMethods.getSite();
+        if (type.equals(P01)){
+            //物料接收数据
+             returnMap=prodReadyTaskMapper.getItemDetail(site,LocaleContextHolder.getLocale().getLanguage(),dispatchNo);
+        }else if (type.equals(P02)){
+            //刀具
+            returnMap=prodReadyTaskMapper.getToolDetail(site,LocaleContextHolder.getLocale().getLanguage(),dispatchNo);
+        }else {
+            //通过加工的零件号、设备类型、设备获取发布状态的工控程序
+        }
+        return returnMap;
+    }
+
+    @Override
+    public boolean saveResult(ProdReadyTask prodReadyTask) {
+        String user = CommonMethods.getUser();
+        ProdReadyTask byId = getById(prodReadyTask.getHandle());
+        if (byId.getStatus().equals(STATUS_CANCEL)){
+            throw new BaseException("产前准备任务任务已取消");
+        }
+        if (byId.getStatus().equals(STATUS_FINSH)){
+            throw new BaseException("产前准备任务任务已完成");
+        }
+        List<ProdReadyTaskDetail> prodReadyTaskDetailList = prodReadyTask.getProdReadyTaskDetailList();
+        prodReadyTask.setStatus(STATUS_FINSH);
+        prodReadyTask.setCompleteUser(user);
+        prodReadyTask.setCompleteDateTime(LocalDateTime.now());
+        prodReadyTask.setModifyUser(user);
+        prodReadyTask.setModifiedDateTime(LocalDateTime.now());
+        boolean update = updateById(prodReadyTask);
+        if (prodReadyTaskDetailList!=null&&prodReadyTaskDetailList.size()>0){
+            for (ProdReadyTaskDetail prodReadyTaskDetail:prodReadyTaskDetailList) {
+                prodReadyTaskDetail.setModifyUser(user);
+                prodReadyTaskDetail.setModifiedDateTime(LocalDateTime.now());
+                prodReadyTaskDetailService.updateById(prodReadyTaskDetail);
+            }
+        }
+        return update;
+    }
 
 
 }
\ No newline at end of file
diff --git a/common/src/main/resources/mapper/ProdReadyTaskDetailMapper.xml b/common/src/main/resources/mapper/ProdReadyTaskDetailMapper.xml
index 662a0b7d..2022a1bf 100644
--- a/common/src/main/resources/mapper/ProdReadyTaskDetailMapper.xml
+++ b/common/src/main/resources/mapper/ProdReadyTaskDetailMapper.xml
@@ -7,7 +7,7 @@
         <id column="HANDLE" property="handle" />
         <result column="PROD_READY_TASK_BO" property="prodReadyTaskBo" />
         <result column="INSPECTION_ITEM" property="inspectionItem" />
-        <result column="RESLUT" property="reslut" />
+        <result column="RESULT" property="result" />
         <result column="REMARKS" property="remarks" />
         <result column="CREATE_USER" property="createUser" />
         <result column="CREATED_DATE_TIME" property="createdDateTime" />
@@ -17,7 +17,7 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        HANDLE, PROD_READY_TASK_BO, INSPECTION_ITEM, RESLUT, REMARKS, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME
+        HANDLE, PROD_READY_TASK_BO, INSPECTION_ITEM, RESULT, REMARKS, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME
     </sql>
 
     <!-- BaseMapper标准查询/修改/删除 -->
@@ -54,7 +54,7 @@
             </if>
             <if test="ew.entity.prodReadyTaskBo!=null"> AND PROD_READY_TASK_BO=#{ew.entity.prodReadyTaskBo}</if>
             <if test="ew.entity.inspectionItem!=null"> AND INSPECTION_ITEM=#{ew.entity.inspectionItem}</if>
-            <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+            <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
             <if test="ew.entity.remarks!=null"> AND REMARKS=#{ew.entity.remarks}</if>
             <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
             <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -73,7 +73,7 @@
                 </if>
                 <if test="ew.entity.prodReadyTaskBo!=null"> AND PROD_READY_TASK_BO=#{ew.entity.prodReadyTaskBo}</if>
                 <if test="ew.entity.inspectionItem!=null"> AND INSPECTION_ITEM=#{ew.entity.inspectionItem}</if>
-                <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                 <if test="ew.entity.remarks!=null"> AND REMARKS=#{ew.entity.remarks}</if>
                 <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                 <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -100,7 +100,7 @@
                     </if>
                     <if test="ew.entity.prodReadyTaskBo!=null"> AND PROD_READY_TASK_BO=#{ew.entity.prodReadyTaskBo}</if>
                     <if test="ew.entity.inspectionItem!=null"> AND INSPECTION_ITEM=#{ew.entity.inspectionItem}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.remarks!=null"> AND REMARKS=#{ew.entity.remarks}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -127,7 +127,7 @@
                     </if>
                     <if test="ew.entity.prodReadyTaskBo!=null"> AND PROD_READY_TASK_BO=#{ew.entity.prodReadyTaskBo}</if>
                     <if test="ew.entity.inspectionItem!=null"> AND INSPECTION_ITEM=#{ew.entity.inspectionItem}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.remarks!=null"> AND REMARKS=#{ew.entity.remarks}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -154,7 +154,7 @@
                     </if>
                     <if test="ew.entity.prodReadyTaskBo!=null"> AND PROD_READY_TASK_BO=#{ew.entity.prodReadyTaskBo}</if>
                     <if test="ew.entity.inspectionItem!=null"> AND INSPECTION_ITEM=#{ew.entity.inspectionItem}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.remarks!=null"> AND REMARKS=#{ew.entity.remarks}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -181,7 +181,7 @@
                     </if>
                     <if test="ew.entity.prodReadyTaskBo!=null"> AND PROD_READY_TASK_BO=#{ew.entity.prodReadyTaskBo}</if>
                     <if test="ew.entity.inspectionItem!=null"> AND INSPECTION_ITEM=#{ew.entity.inspectionItem}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.remarks!=null"> AND REMARKS=#{ew.entity.remarks}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -208,7 +208,7 @@
                     </if>
                     <if test="ew.entity.prodReadyTaskBo!=null"> AND PROD_READY_TASK_BO=#{ew.entity.prodReadyTaskBo}</if>
                     <if test="ew.entity.inspectionItem!=null"> AND INSPECTION_ITEM=#{ew.entity.inspectionItem}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.remarks!=null"> AND REMARKS=#{ew.entity.remarks}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -231,7 +231,7 @@
             HANDLE,
             <if test="prodReadyTaskBo!=null">PROD_READY_TASK_BO,</if>
             <if test="inspectionItem!=null">INSPECTION_ITEM,</if>
-            <if test="reslut!=null">RESLUT,</if>
+            <if test="result!=null">RESULT,</if>
             <if test="remarks!=null">REMARKS,</if>
             <if test="createUser!=null">CREATE_USER,</if>
             <if test="createdDateTime!=null">CREATED_DATE_TIME,</if>
@@ -242,7 +242,7 @@
             #{handle},
             <if test="prodReadyTaskBo!=null">#{prodReadyTaskBo},</if>
             <if test="inspectionItem!=null">#{inspectionItem},</if>
-            <if test="reslut!=null">#{reslut},</if>
+            <if test="result!=null">#{result},</if>
             <if test="remarks!=null">#{remarks},</if>
             <if test="createUser!=null">#{createUser},</if>
             <if test="createdDateTime!=null">#{createdDateTime},</if>
@@ -260,7 +260,7 @@
             #{handle},
             #{prodReadyTaskBo},
             #{inspectionItem},
-            #{reslut},
+            #{result},
             #{remarks},
             #{createUser},
             #{createdDateTime},
@@ -274,7 +274,7 @@
         UPDATE Z_PROD_READY_TASK_DETAIL <trim prefix="SET" suffixOverrides=",">
         <if test="et.prodReadyTaskBo!=null">PROD_READY_TASK_BO=#{et.prodReadyTaskBo},</if>
         <if test="et.inspectionItem!=null">INSPECTION_ITEM=#{et.inspectionItem},</if>
-        <if test="et.reslut!=null">RESLUT=#{et.reslut},</if>
+        <if test="et.result!=null">RESULT=#{et.result},</if>
         <if test="et.remarks!=null">REMARKS=#{et.remarks},</if>
         <if test="et.createUser!=null">CREATE_USER=#{et.createUser},</if>
         <if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if>
@@ -288,7 +288,7 @@
         UPDATE Z_PROD_READY_TASK_DETAIL <trim prefix="SET" suffixOverrides=",">
         PROD_READY_TASK_BO=#{et.prodReadyTaskBo},
         INSPECTION_ITEM=#{et.inspectionItem},
-        RESLUT=#{et.reslut},
+        RESULT=#{et.result},
         REMARKS=#{et.remarks},
         CREATE_USER=#{et.createUser},
         CREATED_DATE_TIME=#{et.createdDateTime},
@@ -302,7 +302,7 @@
         UPDATE Z_PROD_READY_TASK_DETAIL <trim prefix="SET" suffixOverrides=",">
         <if test="et.prodReadyTaskBo!=null">PROD_READY_TASK_BO=#{et.prodReadyTaskBo},</if>
         <if test="et.inspectionItem!=null">INSPECTION_ITEM=#{et.inspectionItem},</if>
-        <if test="et.reslut!=null">RESLUT=#{et.reslut},</if>
+        <if test="et.result!=null">RESULT=#{et.result},</if>
         <if test="et.remarks!=null">REMARKS=#{et.remarks},</if>
         <if test="et.createUser!=null">CREATE_USER=#{et.createUser},</if>
         <if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if>
@@ -315,7 +315,7 @@
                     HANDLE=#{ew.entity.handle}
                     <if test="ew.entity.prodReadyTaskBo!=null"> AND PROD_READY_TASK_BO=#{ew.entity.prodReadyTaskBo}</if>
                     <if test="ew.entity.inspectionItem!=null"> AND INSPECTION_ITEM=#{ew.entity.inspectionItem}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.remarks!=null"> AND REMARKS=#{ew.entity.remarks}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -359,7 +359,7 @@
                     </if>
                     <if test="ew.entity.prodReadyTaskBo!=null"> AND PROD_READY_TASK_BO=#{ew.entity.prodReadyTaskBo}</if>
                     <if test="ew.entity.inspectionItem!=null"> AND INSPECTION_ITEM=#{ew.entity.inspectionItem}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.remarks!=null"> AND REMARKS=#{ew.entity.remarks}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
diff --git a/common/src/main/resources/mapper/ProdReadyTaskMapper.xml b/common/src/main/resources/mapper/ProdReadyTaskMapper.xml
index e71491a6..4a42e76e 100644
--- a/common/src/main/resources/mapper/ProdReadyTaskMapper.xml
+++ b/common/src/main/resources/mapper/ProdReadyTaskMapper.xml
@@ -15,7 +15,7 @@
         <result column="STEP_ID" property="stepId" />
         <result column="ITEM" property="item" />
         <result column="RESRCE" property="resrce" />
-        <result column="RESLUT" property="reslut" />
+        <result column="RESULT" property="result" />
         <result column="STATUS" property="status" />
         <result column="CREATE_USER" property="createUser" />
         <result column="CREATED_DATE_TIME" property="createdDateTime" />
@@ -28,11 +28,15 @@
         <result column="CANCEL_DATE_TIME" property="cancelDateTime" />
         <result column="CANCEL_USER" property="cancelUser" />
         <result column="REMARKS" property="remarks" />
+        <result column="DISPATCH_NO" property="dispatchNo" />
+        <result column="ITEM_DESC" property="itemDesc" />
+        <result column="RESOURCE_TYPE" property="resourceType" />
+        <result column="RESRCE_DESC" property="resrceDesc" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        HANDLE, SITE, TASK_NO, SFC_DISPATCH_BO, SHOP_ORDER, WORK_CENTER, SFC, OPERATION, STEP_ID, ITEM, RESRCE, RESLUT, STATUS, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME, READY_USER, READY_DATE_TIME, COMPLETE_DATE_TIME, COMPLETE_USER, CANCEL_DATE_TIME, CANCEL_USER, REMARKS
+        HANDLE, SITE, TASK_NO, SFC_DISPATCH_BO, SHOP_ORDER, WORK_CENTER, SFC, OPERATION, STEP_ID, ITEM, RESRCE, RESULT, STATUS, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME, READY_USER, READY_DATE_TIME, COMPLETE_DATE_TIME, COMPLETE_USER, CANCEL_DATE_TIME, CANCEL_USER, REMARKS
     </sql>
 
     <!-- BaseMapper标准查询/修改/删除 -->
@@ -77,7 +81,7 @@
             <if test="ew.entity.stepId!=null"> AND STEP_ID=#{ew.entity.stepId}</if>
             <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
             <if test="ew.entity.resrce!=null"> AND RESRCE=#{ew.entity.resrce}</if>
-            <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+            <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
             <if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
             <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
             <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -111,7 +115,7 @@
                 <if test="ew.entity.stepId!=null"> AND STEP_ID=#{ew.entity.stepId}</if>
                 <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
                 <if test="ew.entity.resrce!=null"> AND RESRCE=#{ew.entity.resrce}</if>
-                <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                 <if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
                 <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                 <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -153,7 +157,7 @@
                     <if test="ew.entity.stepId!=null"> AND STEP_ID=#{ew.entity.stepId}</if>
                     <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
                     <if test="ew.entity.resrce!=null"> AND RESRCE=#{ew.entity.resrce}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -195,7 +199,7 @@
                     <if test="ew.entity.stepId!=null"> AND STEP_ID=#{ew.entity.stepId}</if>
                     <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
                     <if test="ew.entity.resrce!=null"> AND RESRCE=#{ew.entity.resrce}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -237,7 +241,7 @@
                     <if test="ew.entity.stepId!=null"> AND STEP_ID=#{ew.entity.stepId}</if>
                     <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
                     <if test="ew.entity.resrce!=null"> AND RESRCE=#{ew.entity.resrce}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -279,7 +283,7 @@
                     <if test="ew.entity.stepId!=null"> AND STEP_ID=#{ew.entity.stepId}</if>
                     <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
                     <if test="ew.entity.resrce!=null"> AND RESRCE=#{ew.entity.resrce}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -321,7 +325,7 @@
                     <if test="ew.entity.stepId!=null"> AND STEP_ID=#{ew.entity.stepId}</if>
                     <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
                     <if test="ew.entity.resrce!=null"> AND RESRCE=#{ew.entity.resrce}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -359,7 +363,7 @@
             <if test="stepId!=null">STEP_ID,</if>
             <if test="item!=null">ITEM,</if>
             <if test="resrce!=null">RESRCE,</if>
-            <if test="reslut!=null">RESLUT,</if>
+            <if test="result!=null">RESULT,</if>
             <if test="status!=null">STATUS,</if>
             <if test="createUser!=null">CREATE_USER,</if>
             <if test="createdDateTime!=null">CREATED_DATE_TIME,</if>
@@ -385,7 +389,7 @@
             <if test="stepId!=null">#{stepId},</if>
             <if test="item!=null">#{item},</if>
             <if test="resrce!=null">#{resrce},</if>
-            <if test="reslut!=null">#{reslut},</if>
+            <if test="result!=null">#{result},</if>
             <if test="status!=null">#{status},</if>
             <if test="createUser!=null">#{createUser},</if>
             <if test="createdDateTime!=null">#{createdDateTime},</if>
@@ -418,7 +422,7 @@
             #{stepId},
             #{item},
             #{resrce},
-            #{reslut},
+            #{result},
             #{status},
             #{createUser},
             #{createdDateTime},
@@ -447,7 +451,7 @@
         <if test="et.stepId!=null">STEP_ID=#{et.stepId},</if>
         <if test="et.item!=null">ITEM=#{et.item},</if>
         <if test="et.resrce!=null">RESRCE=#{et.resrce},</if>
-        <if test="et.reslut!=null">RESLUT=#{et.reslut},</if>
+        <if test="et.result!=null">RESULT=#{et.result},</if>
         <if test="et.status!=null">STATUS=#{et.status},</if>
         <if test="et.createUser!=null">CREATE_USER=#{et.createUser},</if>
         <if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if>
@@ -476,7 +480,7 @@
         STEP_ID=#{et.stepId},
         ITEM=#{et.item},
         RESRCE=#{et.resrce},
-        RESLUT=#{et.reslut},
+        RESULT=#{et.result},
         STATUS=#{et.status},
         CREATE_USER=#{et.createUser},
         CREATED_DATE_TIME=#{et.createdDateTime},
@@ -505,7 +509,7 @@
         <if test="et.stepId!=null">STEP_ID=#{et.stepId},</if>
         <if test="et.item!=null">ITEM=#{et.item},</if>
         <if test="et.resrce!=null">RESRCE=#{et.resrce},</if>
-        <if test="et.reslut!=null">RESLUT=#{et.reslut},</if>
+        <if test="et.result!=null">RESULT=#{et.result},</if>
         <if test="et.status!=null">STATUS=#{et.status},</if>
         <if test="et.createUser!=null">CREATE_USER=#{et.createUser},</if>
         <if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if>
@@ -533,7 +537,7 @@
                     <if test="ew.entity.stepId!=null"> AND STEP_ID=#{ew.entity.stepId}</if>
                     <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
                     <if test="ew.entity.resrce!=null"> AND RESRCE=#{ew.entity.resrce}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -592,7 +596,7 @@
                     <if test="ew.entity.stepId!=null"> AND STEP_ID=#{ew.entity.stepId}</if>
                     <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
                     <if test="ew.entity.resrce!=null"> AND RESRCE=#{ew.entity.resrce}</if>
-                    <if test="ew.entity.reslut!=null"> AND RESLUT=#{ew.entity.reslut}</if>
+                    <if test="ew.entity.result!=null"> AND RESULT=#{ew.entity.result}</if>
                     <if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
                     <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
                     <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
@@ -622,5 +626,73 @@
         </foreach>)
     </delete>
     <!-- BaseMapper标准查询/修改/删除 -->
+    <select id="getTaskList" resultMap="BaseResultMap">
+         SELECT zprt.*,zsd.DISPATCH_NO,zsd.RESOURCE_TYPE,RES.DESCRIPTION RESRCE_DESC,ITT.DESCRIPTION ITEM_DESC
+  		FROM Z_PROD_READY_TASK zprt
+  		JOIN Z_SFC_DISPATCH zsd ON ZPRT.SFC_DISPATCH_BO=ZSD.HANDLE
+  		JOIN OPERATION OP ON OP.OPERATION = zprt.OPERATION AND OP.SITE = zprt.SITE AND OP.CURRENT_REVISION = 'true'
+        LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = OP.HANDLE AND OT.LOCALE =#{locale}
+        JOIN ITEM I ON zprt.ITEM = I.ITEM AND I.SITE = zprt.SITE AND I.CURRENT_REVISION = 'true'
+        LEFT JOIN ITEM_T ITT ON ITT.ITEM_BO = I.HANDLE AND ITT.LOCALE =#{locale}
+        JOIN RESRCE RES ON RES.RESRCE = zprt.RESRCE AND RES.SITE = zprt.SITE
+        WHERE ZPRT.SITE=#{entity.site}
+        <if test="entity.workCenter!=null and entity.workCenter!='' "> AND ZPRT.WORK_CENTER=#{entity.workCenter}</if>
+        <if test="entity.resrce!=null and entity.resrce!='' "> AND ZPRT.RESRCE=#{entity.resrce}</if>
+        <if test="entity.dispatchNo!=null and entity.dispatchNo!='' "> AND ZSD.DISPATCH_NO=#{entity.dispatchNo}</if>
+        <if test="entity.status!=null and entity.status!='' "> AND ZPRT.STATUS=#{entity.status}</if>
+        <if test="entity.sfcStepStatus!=null and entity.sfcStepStatus!='' "> AND ZSD.DISPATCH_STATUS=#{entity.sfcStepStatus}</if>
+        <if test="entity.sfc!=null and entity.sfc!='' "> AND ZPRT.SFC=#{entity.sfc}</if>
+        <if test="entity.resourceType!=null and entity.resourceType!='' "> AND ZSD.RESOURCE_TYPE=#{entity.resourceType}</if>
+        <if test="entity.shopOrder!=null and entity.shopOrder!='' "> AND ZPRT.SHOP_ORDER=#{entity.shopOrder}</if>
+        <if test="entity.item!=null and entity.item!='' "> AND ZPRT.ITEM=#{entity.item}</if>
+        <if test="entity.planStartDate!=null and entity.planStartDate!='' "> AND TO_CHAR(ZSD.PLANNED_START_DATE,'YYYY-MM-DD')=#{entity.planStartDate}</if>
+    </select>
+
+    <select id="loadProExecute" resultMap="BaseResultMap">
+        SELECT zprt.*,zsd.DISPATCH_NO,zsd.RESOURCE_TYPE,RES.DESCRIPTION RESRCE_DESC,ITT.DESCRIPTION ITEM_DESC
+        FROM Z_PROD_READY_TASK zprt
+        JOIN Z_SFC_DISPATCH zsd ON ZPRT.SFC_DISPATCH_BO=ZSD.HANDLE
+        JOIN OPERATION OP ON OP.OPERATION = zprt.OPERATION AND OP.SITE = zprt.SITE AND OP.CURRENT_REVISION = 'true'
+        LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = OP.HANDLE AND OT.LOCALE =#{locale}
+        JOIN ITEM I ON zprt.ITEM = I.ITEM AND I.SITE = zprt.SITE AND I.CURRENT_REVISION = 'true'
+        LEFT JOIN ITEM_T ITT ON ITT.ITEM_BO = I.HANDLE AND ITT.LOCALE =#{locale}
+        JOIN RESRCE RES ON RES.RESRCE = zprt.RESRCE AND RES.SITE = zprt.SITE
+        WHERE ZPRT.SITE=#{entity.site}
+        <if test="entity.workCenter!=null and entity.workCenter!='' "> AND ZPRT.WORK_CENTER=#{entity.workCenter}</if>
+        <if test="entity.resrce!=null and entity.resrce!='' "> AND ZPRT.RESRCE=#{entity.resrce}</if>
+    </select>
 
+    <select id="getItemDetail" resultType="map">
+        SELECT zsd.OPERATION||'/'||zsd.STEP_ID OPERATION_STEP_ID, I.ITEM,0 RECEIVE_QTY,
+        ITT.DESCRIPTION ITEM_DESC,S.QTY * BC.QTY NEED_QTY
+        FROM Z_SFC_DISPATCH zsd
+        INNER JOIN SFC S ON S.SFC = zsd.SFC AND S.SITE = zsd.SITE
+        INNER JOIN SFC_BOM SB ON SB.SFC_BO = S.HANDLE
+        INNER JOIN BOM_COMPONENT BC ON BC.BOM_BO = SB.BOM_BO
+        INNER JOIN ITEM I ON I.HANDLE = BC.COMPONENT_GBO
+        LEFT JOIN CUSTOM_FIELDS CF2 ON CF2.HANDLE = I.HANDLE AND CF2."ATTRIBUTE" = 'ACCESSORY_TYPE'
+        INNER JOIN ITEM_T ITT ON ITT.ITEM_BO = I.HANDLE AND ITT.LOCALE =#{locale}
+        INNER JOIN BOM_OPERATION BO ON BO.BOM_COMPONENT_BO = BC.HANDLE
+        INNER JOIN OPERATION O ON o.OPERATION=zsd.OPERATION AND o.SITE=ZSD.SITE
+        INNER JOIN CUSTOM_FIELDS CF ON CF.HANDLE = BC.HANDLE AND CF."ATTRIBUTE" = 'STEP_ID' AND CF.VALUE = zsd.STEP_ID
+        AND BO.OPERATION_BO = 'OperationBO:'||S.SITE||','||zsd.OPERATION||',#'
+        WHERE ZSD.SITE=#{site} AND ZSD.DISPATCH_NO=#{dispatchNo}
+        AND (CF2.VALUE IS NULL OR cf2.VALUE='0')
+    </select>
+    <select id="getToolDetail" resultType="map">
+        SELECT zsd.OPERATION||'/'||zsd.STEP_ID OPERATION_STEP_ID, I.ITEM,
+        ITT.DESCRIPTION ITEM_DESC
+        FROM Z_SFC_DISPATCH zsd
+        INNER JOIN SFC S ON S.SFC = zsd.SFC AND S.SITE = zsd.SITE
+        INNER JOIN SFC_BOM SB ON SB.SFC_BO = S.HANDLE
+        INNER JOIN BOM_COMPONENT BC ON BC.BOM_BO = SB.BOM_BO
+        INNER JOIN ITEM I ON I.HANDLE = BC.COMPONENT_GBO
+        INNER JOIN CUSTOM_FIELDS CF2 ON CF2.HANDLE = I.HANDLE AND CF2."ATTRIBUTE" = 'ACCESSORY_TYPE' AND CF2.VALUE = '1'
+        INNER JOIN ITEM_T ITT ON ITT.ITEM_BO = I.HANDLE AND ITT.LOCALE =#{locale}
+        INNER JOIN BOM_OPERATION BO ON BO.BOM_COMPONENT_BO = BC.HANDLE
+        INNER JOIN OPERATION O ON o.OPERATION=zsd.OPERATION AND o.SITE=ZSD.SITE
+        INNER JOIN CUSTOM_FIELDS CF ON CF.HANDLE = BC.HANDLE AND CF."ATTRIBUTE" = 'STEP_ID' AND CF.VALUE = zsd.STEP_ID
+        AND BO.OPERATION_BO = 'OperationBO:'||S.SITE||','||zsd.OPERATION||',#'
+        WHERE ZSD.SITE=#{site} AND ZSD.DISPATCH_NO=#{dispatchNo}
+    </select>
 </mapper>
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SfcDispatchController.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SfcDispatchController.java
index 9dadfdc4..c162e7b5 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SfcDispatchController.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SfcDispatchController.java
@@ -1,23 +1,20 @@
 package com.foreverwin.mesnac.dispatch.controller;
 
 import cn.hutool.core.date.DateUtil;
-import com.foreverwin.mesnac.dispatch.model.ShopOrderRelease;
-import com.foreverwin.modular.core.util.R;
-import com.foreverwin.modular.core.util.FrontPage;
-import com.foreverwin.modular.core.util.CommonMethods;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.foreverwin.mesnac.dispatch.model.SfcDispatch;
+import com.foreverwin.mesnac.dispatch.model.ShopOrderRelease;
+import com.foreverwin.mesnac.dispatch.service.SfcDispatchService;
+import com.foreverwin.modular.core.util.CommonMethods;
+import com.foreverwin.modular.core.util.FrontPage;
+import com.foreverwin.modular.core.util.R;
 import org.apache.ibatis.annotations.Param;
-import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-
-import com.foreverwin.mesnac.dispatch.service.SfcDispatchService;
-import com.foreverwin.mesnac.dispatch.model.SfcDispatch;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.websocket.server.PathParam;
-import java.io.File;
 import java.util.List;
 
 /**
@@ -151,6 +148,7 @@ public class SfcDispatchController {
         IPage result;
         QueryWrapper<SfcDispatch> queryWrapper = new QueryWrapper<>();
         queryWrapper.setEntity(sfcDispatch);
+        sfcDispatch.setSite(CommonMethods.getSite());
         if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) {
             //TODO modify global query
             queryWrapper.lambda().and(wrapper -> wrapper
diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResourceTypeController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResourceTypeController.java
index a0c778df..4ff5481e 100644
--- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResourceTypeController.java
+++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResourceTypeController.java
@@ -53,6 +53,7 @@ public class ResourceTypeController {
         IPage result;
         QueryWrapper<ResourceType> queryWrapper = new QueryWrapper<>();
         queryWrapper.setEntity(resourceType);
+        resourceType.setSite(CommonMethods.getSite());
         if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) {
             queryWrapper.lambda().and(wrapper -> wrapper
                 .like(ResourceType::getHandle, frontPage.getGlobalQuery())
diff --git a/meapi/src/main/resources/mapper/SfcBomMapper.xml b/meapi/src/main/resources/mapper/SfcBomMapper.xml
index 09a7a870..d1b75279 100644
--- a/meapi/src/main/resources/mapper/SfcBomMapper.xml
+++ b/meapi/src/main/resources/mapper/SfcBomMapper.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.foreverwin.mesnac.common.mapper.SfcBomMapper">
+<mapper namespace="com.foreverwin.mesnac.meapi.mapper.SfcBomMapper">
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.foreverwin.mesnac.meapi.model.SfcBom">
diff --git a/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java b/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java
new file mode 100644
index 00000000..7efdf9f5
--- /dev/null
+++ b/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java
@@ -0,0 +1,41 @@
+package com.foreverwin.mesnac.production.controller;
+
+import com.foreverwin.mesnac.meapi.dto.WorkCenterDto;
+import com.foreverwin.mesnac.meapi.dto.SfcDto;
+import com.foreverwin.mesnac.production.service.PodTemplateService;
+import com.foreverwin.modular.core.util.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+@Controller
+@RequestMapping("/sfcDataMains")
+public class PodTemplateController {
+
+    @Autowired
+    public PodTemplateService podTemplateService;
+
+    /**
+     * 资源回车
+     * @param workCenterDto
+     * @return
+     */
+    @ResponseBody
+    @GetMapping("/resrceEnter")
+    public R resrceEnter(@RequestBody WorkCenterDto workCenterDto) {
+        return R.ok(podTemplateService.resrceEnter(workCenterDto));
+    }
+
+    /**
+     * sfc回车
+     * @param sfcDto
+     * @return
+     */
+    @ResponseBody
+    @GetMapping("/sfcEnter")
+    public R sfcEnter(@RequestBody SfcDto sfcDto) {
+        return R.ok(podTemplateService.sfcEnter(sfcDto));
+    }
+}
diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java b/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java
new file mode 100644
index 00000000..d6fd1bb0
--- /dev/null
+++ b/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java
@@ -0,0 +1,12 @@
+package com.foreverwin.mesnac.production.service;
+
+import com.foreverwin.mesnac.meapi.dto.SfcDto;
+import com.foreverwin.mesnac.meapi.dto.WorkCenterDto;
+
+import java.util.Map;
+
+public interface PodTemplateService {
+    Map<String, Object> resrceEnter(WorkCenterDto workCenterDto);
+
+    Object sfcEnter(SfcDto workCenterDto);
+}
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
new file mode 100644
index 00000000..d1c314e6
--- /dev/null
+++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java
@@ -0,0 +1,194 @@
+package com.foreverwin.mesnac.production.service.impl;
+
+import com.foreverwin.mesnac.common.enums.HandleEnum;
+import com.foreverwin.mesnac.common.service.CommonService;
+import com.foreverwin.mesnac.common.util.StringUtil;
+import com.foreverwin.mesnac.meapi.dto.SfcDto;
+import com.foreverwin.mesnac.meapi.dto.WorkCenterDto;
+import com.foreverwin.mesnac.meapi.model.Resrce;
+import com.foreverwin.mesnac.meapi.model.Sfc;
+import com.foreverwin.mesnac.meapi.service.ResrceService;
+import com.foreverwin.mesnac.meapi.service.SfcService;
+import com.foreverwin.mesnac.production.service.PodTemplateService;
+import com.foreverwin.modular.core.exception.BaseException;
+import com.foreverwin.modular.core.util.CommonMethods;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class PodTemplateServiceImpl implements PodTemplateService {
+    @Autowired
+    private ResrceService resrceService;
+    @Autowired
+    private SfcService sfcService;
+    @Autowired
+    private CommonService commonService;
+
+    @Override
+    public Map<String, Object> resrceEnter(WorkCenterDto workCenterDto) {
+        String site = CommonMethods.getSite();
+        String resrce = workCenterDto.getResrce();
+        String resrceBO = HandleEnum.RESOURCE.getHandle(site, resrce);
+        Resrce model = resrceService.getById(resrceBO);
+        if (model==null){
+            throw new BaseException("资源 "+resrce+" 不存在");
+        }
+        String workCenter = workCenterDto.getWorkCenter();
+        //校验
+        String workShopBo = commonService.getWorkShopBo(resrceBO);
+        if (StringUtil.isBlank(workShopBo)){
+            throw new BaseException("资源 "+resrce+" 未匹配到车间");
+        }
+        if (!workCenter.equals(StringUtil.trimHandle(workShopBo))){
+            throw new BaseException("资源 "+resrce+" 与车间不匹配");
+        }
+
+        //查询在该设备存在活动中的SFC
+        List<Sfc> sfcList = sfcService.getSfcListByResrceBO(resrceBO);
+        //List<Map<String, Object>> proReadyList = sfcDataMainMapper.queryPrdReadyByResrce(site, resrce);
+        Map<String, Object> resultMap = new HashMap<String, Object>();
+        resultMap.put("SFC_LIST", sfcList);
+        //resultMap.put("READY_LIST", proReadyList);
+        return resultMap;
+    }
+
+    @Override
+    public Object sfcEnter(SfcDto sfcDto) {
+//        String site = CommonMethods.getSite();
+//        String sfc = sfcDto.getSfc();
+//        String operation = sfcDto.getOperation();
+//        //校验产品条码是否存在
+//        Sfc sfcById = sfcService.getById(HandleEnum.SFC.getHandle(site, sfc));
+//        if (sfcById==null){
+//            throw new BaseException("产品条码"+sfc+"不存在");
+//        }
+//        //校验产品条码是否在当前工序排队
+//        Operation operationBySfcBo = commonService.getOperationBySfcBo(sfcById.getHandle());
+//        if (!operationBySfcBo.getOperation().equals(operation)){
+//            throw new BaseException("产品条码"+sfc+"在"+operationBySfcBo.getDescription()+"工序");
+//        }
+//        //校验SFC+工序+设备+STEP_ID是否与当前设备确认的派工单匹配
+//
+//        String substep = "";
+//        String substepHandle = "";
+//        //构造前台所需要的数据
+//        Map<String, Object> resultMap = sfcDataMainMapper.querySfcData(paramMap);
+//        if(resultMap == null){
+//            throw new BaseException("根据当前资源未找到条码[" + sfc + "]的基本信息!");
+//        }
+//        List<Map<String, Object>> substepList = sfcDataMainMapper.querySfcStep(site, sfc, operation);
+//        resultMap.put("SFC_STEP_LIST", substepList);
+//
+//        String stepId = (String) resultMap.get("STEP_ID");
+//        //2021/1/20 roc 根据SFC和步骤标识查找是否维护了尾检项
+//        List<Map<String, Object>> checkOperationCheckW = sfcDataMainMapper.checkOperationCheckW(site, sfc, stepId);
+//        if(null != checkOperationCheckW && checkOperationCheckW.size() >0){
+//            resultMap.put("IS_CREATE_W", "Y");
+//        }else{
+//            resultMap.put("IS_CREATE_W", "N");
+//        }
+//
+//        String isCreateH = "Y";
+//        String isCreateZ = "Y";
+//        if(!"403".equals(resultMap.get("STATUS"))) {
+//            //SFC未开始
+//            //判断对否需要进行互检
+//            List<Map<String, Object>> checkOperationCheckH = sfcDataMainMapper.checkOperationCheckH(site, sfc, stepId);
+//            if(checkOperationCheckH.size() > 0 ){
+//                resultMap.put("IS_CHECK_H", "Y");
+//                //自检/互检 校验是否在当前工序+工序标识 做过检验任务
+//                List<Map<String, Object>> checkList = taskMapper.checkCreateTaskSfc(sfc, site, "H", (String) resultMap.get("OPERATION"), stepId);
+//                if (checkList.size() > 0) {
+//                    for (int i = 0; i < checkList.size(); i++) {
+//                        if (checkList.get(i).get("STATUS").equals("COMPLETE") && checkList.get(i).get("RESULT").equals("OK")) {
+//                            isCreateH = "N";
+//                        }
+//                    }
+//                }
+//
+//            }
+//        }else{
+//            //sfc已开始
+//            for (int i = 0; i < substepList.size(); i++) {
+//                if ("READY".equals(substepList.get(i).get("STATE")) && "true".equals(substepList.get(i).get("IS_SEQTRUE"))) {
+//                    substep = (String) substepList.get(i).get("STEP_ID");
+//                    substepHandle = (String) substepList.get(i).get("HANDLE");
+//                }
+//            }
+//            //判断是否存在工步
+//            if(StringUtils.isEmpty(substep)){
+//                //判断对否需要进行自检(无工步)
+//                List<Map<String, Object>> checkOperationCheckZ = sfcDataMainMapper.checkOperationCheckZ(site, sfc, stepId);
+//                if(checkOperationCheckZ.size() > 0 ){
+//                    resultMap.put("IS_CHECK_Z", "Y");
+//                    //自检/互检 校验是否在当前工序+工序标识 做过检验任务
+//                    List<Map<String, Object>> checkList = taskMapper.checkCreateTaskSfc(sfc, site, "Z", (String) resultMap.get("OPERATION"), stepId);
+//                    if (checkList.size() > 0) {
+//                        for (int i = 0; i < checkList.size(); i++) {
+//                            if (checkList.get(i).get("STATUS").equals("COMPLETE") && "OK".equals(checkList.get(i).get("RESULT"))) {
+//                                isCreateZ = "N";
+//                            }
+//                        }
+//                    }
+//
+//                }
+//
+//                //判断对否需要进行互检(无工步)
+//                List<Map<String, Object>> checkOperationCheckH = sfcDataMainMapper.checkOperationCheckH(site, sfc, stepId);
+//                if(checkOperationCheckH.size() > 0 ){
+//                    resultMap.put("IS_CHECK_H", "Y");
+//                    //自检/互检 校验是否在当前工序+工序标识 做过检验任务
+//                    List<Map<String, Object>> checkList = taskMapper.checkCreateTaskSfc(sfc, site, "H", (String) resultMap.get("OPERATION"), stepId);
+//                    if (checkList.size() > 0) {
+//                        for (int i = 0; i < checkList.size(); i++) {
+//                            if (checkList.get(i).get("STATUS").equals("COMPLETE") && "OK".equals(checkList.get(i).get("RESULT"))) {
+//                                isCreateH = "N";
+//                            }
+//                        }
+//                    }
+//                }
+//            }else{
+//                //判断对否需要进行自检(有工步)
+//                List<Map<String, Object>> checkSubstepCheckZ = sfcDataMainMapper.checkSubstepCheckZ(substepHandle);
+//                if(checkSubstepCheckZ.size() > 0 ){
+//                    resultMap.put("IS_CHECK_Z", "Y");
+//                    //自检/互检 校验是否在当前工序+工序+工步标识 做过检验任务
+//                    List<Map<String, Object>> checkList = taskMapper.checkCreateTaskSfcDetail(sfc, site, "Z", (String) resultMap.get("OPERATION"), stepId, substep);
+//                    if (checkList.size() > 0) {
+//                        for (int i = 0; i < checkList.size(); i++) {
+//                            if (checkList.get(i).get("STATUS").equals("COMPLETE") && "OK".equals(checkList.get(i).get("RESULT"))) {
+//                                isCreateZ = "N";
+//                            }
+//                        }
+//                    }
+//
+//                }
+//
+//                //判断对否需要进行互检(有工步)
+//                List<Map<String, Object>> checkSubstepCheckH = sfcDataMainMapper.checkSubstepCheckH(substepHandle);
+//                if(checkSubstepCheckH.size() > 0 ){
+//                    resultMap.put("IS_CHECK_H", "Y");
+//                    //自检/互检 校验是否在当前工序+工序标识 做过检验任务
+//                    List<Map<String, Object>> checkList = taskMapper.checkCreateTaskSfcDetail(sfc, site, "H", (String) resultMap.get("OPERATION"), stepId, substep);
+//                    if (checkList.size() > 0) {
+//                        for (int i = 0; i < checkList.size(); i++) {
+//                            if (checkList.get(i).get("STATUS").equals("COMPLETE") && "OK".equals(checkList.get(i).get("RESULT"))) {
+//                                isCreateH = "N";
+//                            }
+//                        }
+//                    }
+//                }
+//            }
+//        }
+//        resultMap.put("IS_CREATE_H", isCreateH);
+//        resultMap.put("IS_CREATE_Z", isCreateZ);
+        return null;
+    }
+}