From a8e475e169d2f8817cec2ee894a66083fe21ac5a Mon Sep 17 00:00:00 2001 From: philip <244793088@qq.com> Date: Wed, 7 Jul 2021 08:51:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=80=E9=AA=8C=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mesnac/common/constant/Constants.java | 19 +- .../controller/InspectionTaskController.java | 152 ++++++ .../InspectionTaskDetailController.java | 128 +++++ .../mesnac/common/enums/HandleEnum.java | 6 + .../common/mapper/InspectionItemMapper.java | 9 + .../mapper/InspectionTaskDetailMapper.java | 18 + .../common/mapper/InspectionTaskMapper.java | 18 + .../mesnac/common/model/InspectionTask.java | 358 +++++++++++++ .../common/model/InspectionTaskDetail.java | 233 ++++++++ .../common/service/InspectionItemService.java | 4 + .../service/InspectionTaskDetailService.java | 28 + .../common/service/InspectionTaskService.java | 33 ++ .../impl/InspectionItemServiceImpl.java | 105 +++- .../impl/InspectionTaskDetailServiceImpl.java | 46 ++ .../impl/InspectionTaskServiceImpl.java | 219 ++++++++ .../resources/mapper/InspectionItemMapper.xml | 28 + .../mapper/InspectionTaskDetailMapper.xml | 434 +++++++++++++++ .../resources/mapper/InspectionTaskMapper.xml | 500 ++++++++++++++++++ .../controller/PodTemplateController.java | 20 +- .../service/PodTemplateService.java | 2 + .../service/impl/PodTemplateServiceImpl.java | 117 +--- 21 files changed, 2346 insertions(+), 131 deletions(-) create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/controller/InspectionTaskController.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/controller/InspectionTaskDetailController.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/mapper/InspectionTaskDetailMapper.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/mapper/InspectionTaskMapper.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/model/InspectionTask.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/model/InspectionTaskDetail.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskDetailService.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskDetailServiceImpl.java create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskServiceImpl.java create mode 100644 common/src/main/resources/mapper/InspectionTaskDetailMapper.xml create mode 100644 common/src/main/resources/mapper/InspectionTaskMapper.xml diff --git a/common/src/main/java/com/foreverwin/mesnac/common/constant/Constants.java b/common/src/main/java/com/foreverwin/mesnac/common/constant/Constants.java index 64ff2733..837e59d6 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/constant/Constants.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/constant/Constants.java @@ -12,7 +12,8 @@ public interface Constants { String BOOL_TRUE = "true"; String BOOL_FALSE = "false"; - + String RSESULT_OK = "OK"; + String RSESULT_NG = "NG"; String STATUS_Y = "Y"; String STATUS_N = "N"; @@ -20,6 +21,22 @@ public interface Constants { String RESOURCE_INSPECT_TASK = "RESOURCE_INSPECT_TASK"; String SITE_ADMIN = "SITE_ADMIN"; + + //--------------------检验项目|任务----------------------------------------------------------------------------------- + String INSPECTION_TASK_STATUS_NEW="NEW"; + + String INSPECTION_TASK_STATUS_COMPLETE="COMPLETE"; + + String INSPECTION_TASK_STATUS_DOING="DOING"; + //附加类型物料 + String ADDITIONAL_OBJECT_TYPE_ITEM="ITEM"; + //附加类型工序 + String ADDITIONAL_OBJECT_TYPE_OPERATION="OPERATION"; + //附加类型工步 + String ADDITIONAL_OBJECT_TYPE_STEP="SUB_STEP"; + //附加类型设备类型 + String ADDITIONAL_OBJECT_TYPE_RESOURCE_TYPE="RESOURCE_TYPE"; + //首件检验 String INSPECTION_TYPE_S="S"; //互检检验 diff --git a/common/src/main/java/com/foreverwin/mesnac/common/controller/InspectionTaskController.java b/common/src/main/java/com/foreverwin/mesnac/common/controller/InspectionTaskController.java new file mode 100644 index 00000000..388fadb8 --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/controller/InspectionTaskController.java @@ -0,0 +1,152 @@ +package com.foreverwin.mesnac.common.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.common.model.InspectionTask; +import com.foreverwin.mesnac.common.service.InspectionTaskService; +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 java.util.List; +import java.util.Map; + +/** + * + * @author Philip + * @since 2021-07-05 + */ +@RestController +@RequestMapping("/Z-INSPECTION-TASK") +public class InspectionTaskController { + + @Autowired + public InspectionTaskService inspectionTaskService; + + /** + * 查询所有数据 + * + * @return + */ + @ResponseBody + @PostMapping("/save") + public R getInspectionTaskList(@RequestBody Map paramMap){ + inspectionTaskService.save(paramMap); + return R.ok("保存成功"); + } + @ResponseBody + @RequestMapping(method = RequestMethod.POST, value = "/createTask") + public R createTask(@RequestBody Map paramMap) { + inspectionTaskService.createTask(paramMap); + return R.ok("创建任务成功!"); + } + + /** + * 根据id查询 + * + * @param id 主键 + * @return + */ + @ResponseBody + @GetMapping("/{id:.+}") + public R getInspectionTaskById(@PathVariable String id) { + return R.ok( inspectionTaskService.getById(id)); + } + + /** + * 查询所有数据 + * + * @return + */ + @ResponseBody + @GetMapping("") + public R getInspectionTaskList(InspectionTask inspectionTask){ + List result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(inspectionTask); + result = inspectionTaskService.list(queryWrapper); + return R.ok(result); + } + + /** + * 分页查询数据 + * + * @param frontPage 分页信息 + * @return + */ + @ResponseBody + @GetMapping("/page") + public R page(FrontPage frontPage, InspectionTask inspectionTask){ + IPage result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(inspectionTask); + if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) { + //TODO modify global query + queryWrapper.lambda().and(wrapper -> wrapper + .like(InspectionTask::getHandle, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getSite, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getCategory, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getTaskNo, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getDescription, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getStatus, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getInspectionItemBo, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getWorkCenter, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getShopOrder, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getSfc, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getOperation, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getStepId, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getResrce, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getResult, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getComments, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getCreateUser, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getModifyUser, frontPage.getGlobalQuery()) + .or().like(InspectionTask::getSfcDispatchBo, frontPage.getGlobalQuery()) + ); + } + result = inspectionTaskService.page(frontPage.getPagePlus(), queryWrapper); + return R.ok(result); + } + + /** + * 新增 + * @param inspectionTask 传递的实体 + * @return null 失败 实体成功 + */ + @PostMapping + public R save(@RequestBody InspectionTask inspectionTask) { + return R.ok(inspectionTaskService.save(inspectionTask)); + } + + /** + * 修改 + * @param inspectionTask 传递的实体 + * @return null 失败 实体成功 + */ + @PutMapping + public R updateById(@RequestBody InspectionTask inspectionTask) { + return R.ok(inspectionTaskService.updateById(inspectionTask)); + } + + /** + * 根据id删除对象 + * @param id 实体ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}") + public R removeById(@PathVariable("id") String id){ + return R.ok(inspectionTaskService.removeById(id)); + } + + /** + * 批量删除对象 + * @param ids 实体集合ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.POST, value = "/delete-batch") + public R removeByIds(List ids){ + return R.ok(inspectionTaskService.removeByIds(ids)); + } +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/controller/InspectionTaskDetailController.java b/common/src/main/java/com/foreverwin/mesnac/common/controller/InspectionTaskDetailController.java new file mode 100644 index 00000000..85f89652 --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/controller/InspectionTaskDetailController.java @@ -0,0 +1,128 @@ +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 org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import com.foreverwin.mesnac.common.service.InspectionTaskDetailService; +import com.foreverwin.mesnac.common.model.InspectionTaskDetail; +import java.util.List; + +/** + * + * @author Philip + * @since 2021-07-05 + */ +@RestController +@RequestMapping("/Z-INSPECTION-TASK-DETAIL") +public class InspectionTaskDetailController { + + @Autowired + public InspectionTaskDetailService inspectionTaskDetailService; + + /** + * 根据id查询 + * + * @param id 主键 + * @return + */ + @ResponseBody + @GetMapping("/{id:.+}") + public R getInspectionTaskDetailById(@PathVariable String id) { + return R.ok( inspectionTaskDetailService.getById(id)); + } + + /** + * 查询所有数据 + * + * @return + */ + @ResponseBody + @GetMapping("") + public R getInspectionTaskDetailList(InspectionTaskDetail inspectionTaskDetail){ + List result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(inspectionTaskDetail); + result = inspectionTaskDetailService.list(queryWrapper); + return R.ok(result); + } + + /** + * 分页查询数据 + * + * @param frontPage 分页信息 + * @return + */ + @ResponseBody + @GetMapping("/page") + public R page(FrontPage frontPage, InspectionTaskDetail inspectionTaskDetail){ + IPage result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(inspectionTaskDetail); + if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) { + //TODO modify global query + queryWrapper.lambda().and(wrapper -> wrapper + .like(InspectionTaskDetail::getHandle, frontPage.getGlobalQuery()) + .or().like(InspectionTaskDetail::getSite, frontPage.getGlobalQuery()) + .or().like(InspectionTaskDetail::getTaskBo, frontPage.getGlobalQuery()) + .or().like(InspectionTaskDetail::getInspectionItemDetailBo, frontPage.getGlobalQuery()) + .or().like(InspectionTaskDetail::getCheckValues, frontPage.getGlobalQuery()) + .or().like(InspectionTaskDetail::getResult, frontPage.getGlobalQuery()) + .or().like(InspectionTaskDetail::getCheckUser, frontPage.getGlobalQuery()) + .or().like(InspectionTaskDetail::getRemark, frontPage.getGlobalQuery()) + .or().like(InspectionTaskDetail::getPictureNo, frontPage.getGlobalQuery()) + .or().like(InspectionTaskDetail::getSfc, frontPage.getGlobalQuery()) + .or().like(InspectionTaskDetail::getPictureQty, frontPage.getGlobalQuery()) + ); + } + result = inspectionTaskDetailService.page(frontPage.getPagePlus(), queryWrapper); + return R.ok(result); + } + + /** + * 新增 + * @param inspectionTaskDetail 传递的实体 + * @return null 失败 实体成功 + */ + @PostMapping + public R save(@RequestBody InspectionTaskDetail inspectionTaskDetail) { + return R.ok(inspectionTaskDetailService.save(inspectionTaskDetail)); + } + + /** + * 修改 + * @param inspectionTaskDetail 传递的实体 + * @return null 失败 实体成功 + */ + @PutMapping + public R updateById(@RequestBody InspectionTaskDetail inspectionTaskDetail) { + return R.ok(inspectionTaskDetailService.updateById(inspectionTaskDetail)); + } + + /** + * 根据id删除对象 + * @param id 实体ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}") + public R removeById(@PathVariable("id") String id){ + return R.ok(inspectionTaskDetailService.removeById(id)); + } + + /** + * 批量删除对象 + * @param ids 实体集合ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.POST, value = "/delete-batch") + public R removeByIds(List ids){ + return R.ok(inspectionTaskDetailService.removeByIds(ids)); + } +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/enums/HandleEnum.java b/common/src/main/java/com/foreverwin/mesnac/common/enums/HandleEnum.java index bb9d27db..110efc76 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/enums/HandleEnum.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/enums/HandleEnum.java @@ -113,6 +113,12 @@ public enum HandleEnum { /**设备检验任务的检验项**/ RESOURCE_INSPECT_TASK_SPARE("ResourceInspectTaskSpareBo","ResourceInspectTaskSpareBo:{0},{1}"), + /**检验任务**/ + INSPECTION_TASK("InspectionBO:","InspectionBO:{0},{1}"), + + /**检验任务明细**/ + INSPECTION_TASK_DETAIL("InspectionTaskDetailBO:","InspectionTaskDetailBO:{0},{1}"), + /**用户**/ USR("UserBo","UserBo:{0},{1}"); diff --git a/common/src/main/java/com/foreverwin/mesnac/common/mapper/InspectionItemMapper.java b/common/src/main/java/com/foreverwin/mesnac/common/mapper/InspectionItemMapper.java index 69471e83..7e528157 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/mapper/InspectionItemMapper.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/mapper/InspectionItemMapper.java @@ -2,8 +2,12 @@ package com.foreverwin.mesnac.common.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.foreverwin.mesnac.common.model.InspectionItem; +import com.foreverwin.mesnac.common.model.InspectionItemDetail; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.util.List; + /** *

* 检验项目维护主表 Mapper 接口 @@ -15,4 +19,9 @@ import org.springframework.stereotype.Repository; @Repository public interface InspectionItemMapper extends BaseMapper { + List selectQualityInspection(@Param("site")String site,@Param("sfc")String sfc,@Param("operation") String operation, @Param("stepId")String stepId,@Param("inspectionType") String inspectionType); + + List selectWidestQualityInspection(@Param("site")String site,@Param("inspectionType")String inspectionType,@Param("additionalObject")String additionalObject); + + Integer checkRouterStep(@Param("site")String site,@Param("operation") String operation,@Param("step") String step); } \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/mapper/InspectionTaskDetailMapper.java b/common/src/main/java/com/foreverwin/mesnac/common/mapper/InspectionTaskDetailMapper.java new file mode 100644 index 00000000..6e9799bc --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/mapper/InspectionTaskDetailMapper.java @@ -0,0 +1,18 @@ +package com.foreverwin.mesnac.common.mapper; + +import com.foreverwin.mesnac.common.model.InspectionTaskDetail; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + *

+ * 检验任务-明细表 Mapper 接口 + *

+ * + * @author Philip + * @since 2021-07-05 + */ +@Repository +public interface InspectionTaskDetailMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/mapper/InspectionTaskMapper.java b/common/src/main/java/com/foreverwin/mesnac/common/mapper/InspectionTaskMapper.java new file mode 100644 index 00000000..0d654dc4 --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/mapper/InspectionTaskMapper.java @@ -0,0 +1,18 @@ +package com.foreverwin.mesnac.common.mapper; + +import com.foreverwin.mesnac.common.model.InspectionTask; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + *

+ * 检验任务表 Mapper 接口 + *

+ * + * @author Philip + * @since 2021-07-05 + */ +@Repository +public interface InspectionTaskMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/model/InspectionTask.java b/common/src/main/java/com/foreverwin/mesnac/common/model/InspectionTask.java new file mode 100644 index 00000000..800ecaaa --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/model/InspectionTask.java @@ -0,0 +1,358 @@ +package com.foreverwin.mesnac.common.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 检验任务表 + *

+ * + * @author Philip + * @since 2021-07-05 + */ + +@TableName("Z_INSPECTION_TASK") + +public class InspectionTask extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableField("HANDLE") + private String handle; + /** + * 站点 + */ + @TableField("SITE") + private String site; + /** + * 检验类型 + */ + @TableField("CATEGORY") + private String category; + /** + * 任务编号 + */ + @TableField("TASK_NO") + private String taskNo; + /** + * 任务描述 + */ + @TableField("DESCRIPTION") + private String description; + /** + * 任务状态 + */ + @TableField("STATUS") + private String status; + /** + * 检验项目表HANDLE + */ + @TableField("INSPECTION_ITEM_BO") + private String inspectionItemBo; + /** + * 生产车间 + */ + @TableField("WORK_CENTER") + private String workCenter; + /** + * 工单编号 + */ + @TableField("SHOP_ORDER") + private String shopOrder; + /** + * 生产批次 + */ + @TableField("SFC") + private String sfc; + /** + * 工序编号 + */ + @TableField("OPERATION") + private String operation; + /** + * 工艺路线步骤标识 + */ + @TableField("STEP_ID") + private String stepId; + /** + * 资源编号 + */ + @TableField("RESRCE") + private String resrce; + /** + * 任务结果 + */ + @TableField("RESULT") + private String result; + /** + * 备注 + */ + @TableField("COMMENTS") + private String comments; + /** + * 创建用户 + */ + @TableField("CREATE_USER") + private String createUser; + /** + * 创建时间 + */ + @TableField("CREATED_DATE_TIME") + private LocalDateTime createdDateTime; + /** + * 修改用户 + */ + @TableField("MODIFY_USER") + private String modifyUser; + /** + * 修改时间 + */ + @TableField("MODIFIED_DATE_TIME") + private LocalDateTime modifiedDateTime; + /** + * 派工明细表BO + */ + @TableField("SFC_DISPATCH_BO") + private String sfcDispatchBo; + + + public String getHandle() { + return handle; + } + + public void setHandle(String handle) { + this.handle = handle; + } + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getTaskNo() { + return taskNo; + } + + public void setTaskNo(String taskNo) { + this.taskNo = taskNo; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getInspectionItemBo() { + return inspectionItemBo; + } + + public void setInspectionItemBo(String inspectionItemBo) { + this.inspectionItemBo = inspectionItemBo; + } + + public String getWorkCenter() { + return workCenter; + } + + public void setWorkCenter(String workCenter) { + this.workCenter = workCenter; + } + + public String getShopOrder() { + return shopOrder; + } + + public void setShopOrder(String shopOrder) { + this.shopOrder = shopOrder; + } + + public String getSfc() { + return sfc; + } + + public void setSfc(String sfc) { + this.sfc = sfc; + } + + public String getOperation() { + return operation; + } + + public void setOperation(String operation) { + this.operation = operation; + } + + public String getStepId() { + return stepId; + } + + public void setStepId(String stepId) { + this.stepId = stepId; + } + + public String getResrce() { + return resrce; + } + + public void setResrce(String resrce) { + this.resrce = resrce; + } + + public String getResult() { + return result; + } + + public void setResult(String result) { + this.result = result; + } + + public String getComments() { + return comments; + } + + public void setComments(String comments) { + this.comments = comments; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public LocalDateTime getCreatedDateTime() { + return createdDateTime; + } + + public void setCreatedDateTime(LocalDateTime createdDateTime) { + this.createdDateTime = createdDateTime; + } + + public String getModifyUser() { + return modifyUser; + } + + public void setModifyUser(String modifyUser) { + this.modifyUser = modifyUser; + } + + public LocalDateTime getModifiedDateTime() { + return modifiedDateTime; + } + + public void setModifiedDateTime(LocalDateTime modifiedDateTime) { + this.modifiedDateTime = modifiedDateTime; + } + + public String getSfcDispatchBo() { + return sfcDispatchBo; + } + + public void setSfcDispatchBo(String sfcDispatchBo) { + this.sfcDispatchBo = sfcDispatchBo; + } + +public static final String HANDLE = "HANDLE"; + +public static final String SITE = "SITE"; + +public static final String CATEGORY = "CATEGORY"; + +public static final String TASK_NO = "TASK_NO"; + +public static final String DESCRIPTION = "DESCRIPTION"; + +public static final String STATUS = "STATUS"; + +public static final String INSPECTION_ITEM_BO = "INSPECTION_ITEM_BO"; + +public static final String WORK_CENTER = "WORK_CENTER"; + +public static final String SHOP_ORDER = "SHOP_ORDER"; + +public static final String SFC = "SFC"; + +public static final String OPERATION = "OPERATION"; + +public static final String STEP_ID = "STEP_ID"; + +public static final String RESRCE = "RESRCE"; + +public static final String RESULT = "RESULT"; + +public static final String COMMENTS = "COMMENTS"; + +public static final String CREATE_USER = "CREATE_USER"; + +public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME"; + +public static final String MODIFY_USER = "MODIFY_USER"; + +public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME"; + +public static final String SFC_DISPATCH_BO = "SFC_DISPATCH_BO"; + + + @Override + protected Serializable pkVal() { + return this.handle; + } + + @Override + public String toString() { + return "InspectionTask{" + + "handle = " + handle + + ", site = " + site + + ", category = " + category + + ", taskNo = " + taskNo + + ", description = " + description + + ", status = " + status + + ", inspectionItemBo = " + inspectionItemBo + + ", workCenter = " + workCenter + + ", shopOrder = " + shopOrder + + ", sfc = " + sfc + + ", operation = " + operation + + ", stepId = " + stepId + + ", resrce = " + resrce + + ", result = " + result + + ", comments = " + comments + + ", createUser = " + createUser + + ", createdDateTime = " + createdDateTime + + ", modifyUser = " + modifyUser + + ", modifiedDateTime = " + modifiedDateTime + + ", sfcDispatchBo = " + sfcDispatchBo + + "}"; + } +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/model/InspectionTaskDetail.java b/common/src/main/java/com/foreverwin/mesnac/common/model/InspectionTaskDetail.java new file mode 100644 index 00000000..d493cefe --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/model/InspectionTaskDetail.java @@ -0,0 +1,233 @@ +package com.foreverwin.mesnac.common.model; + +import java.io.Serializable; + +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; + +/** + *

+ * 检验任务-明细表 + *

+ * + * @author Philip + * @since 2021-07-05 + */ + +@TableName("Z_INSPECTION_TASK_DETAIL") + +public class InspectionTaskDetail extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "HANDLE", type = IdType.INPUT) + private String handle; + /** + * 站点 + */ + @TableField("SITE") + private String site; + /** + * 检验任务主表 + */ + @TableField("TASK_BO") + private String taskBo; + /** + * 检验项目明细 + */ + @TableField("INSPECTION_ITEM_DETAIL_BO") + private String inspectionItemDetailBo; + /** + * 检验实际量 + */ + @TableField("CHECK_VALUES") + private String checkValues; + /** + * OK,NG + */ + @TableField("RESULT") + private String result; + /** + * 检验时间 + */ + @TableField("CHECK_DATE") + private LocalDateTime checkDate; + /** + * 检验人 + */ + @TableField("CHECK_USER") + private String checkUser; + /** + * 备注 + */ + @TableField("REMARK") + private String remark; + /** + * 图片/上传地址 + */ + @TableField("PICTURE_NO") + private String pictureNo; + /** + * 批次 + */ + @TableField("SFC") + private String sfc; + /** + * 上传图片数量 + */ + @TableField("PICTURE_QTY") + private String pictureQty; + + + public String getHandle() { + return handle; + } + + public void setHandle(String handle) { + this.handle = handle; + } + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getTaskBo() { + return taskBo; + } + + public void setTaskBo(String taskBo) { + this.taskBo = taskBo; + } + + public String getInspectionItemDetailBo() { + return inspectionItemDetailBo; + } + + public void setInspectionItemDetailBo(String inspectionItemDetailBo) { + this.inspectionItemDetailBo = inspectionItemDetailBo; + } + + public String getCheckValues() { + return checkValues; + } + + public void setCheckValues(String checkValues) { + this.checkValues = checkValues; + } + + public String getResult() { + return result; + } + + public void setResult(String result) { + this.result = result; + } + + public LocalDateTime getCheckDate() { + return checkDate; + } + + public void setCheckDate(LocalDateTime checkDate) { + this.checkDate = checkDate; + } + + public String getCheckUser() { + return checkUser; + } + + public void setCheckUser(String checkUser) { + this.checkUser = checkUser; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getPictureNo() { + return pictureNo; + } + + public void setPictureNo(String pictureNo) { + this.pictureNo = pictureNo; + } + + public String getSfc() { + return sfc; + } + + public void setSfc(String sfc) { + this.sfc = sfc; + } + + public String getPictureQty() { + return pictureQty; + } + + public void setPictureQty(String pictureQty) { + this.pictureQty = pictureQty; + } + +public static final String HANDLE = "HANDLE"; + +public static final String SITE = "SITE"; + +public static final String TASK_BO = "TASK_BO"; + +public static final String INSPECTION_ITEM_DETAIL_BO = "INSPECTION_ITEM_DETAIL_BO"; + +public static final String CHECK_VALUES = "CHECK_VALUES"; + +public static final String RESULT = "RESULT"; + +public static final String CHECK_DATE = "CHECK_DATE"; + +public static final String CHECK_USER = "CHECK_USER"; + +public static final String REMARK = "REMARK"; + +public static final String PICTURE_NO = "PICTURE_NO"; + +public static final String SFC = "SFC"; + +public static final String PICTURE_QTY = "PICTURE_QTY"; + + + @Override + protected Serializable pkVal() { + return this.handle; + } + + @Override + public String toString() { + return "InspectionTaskDetail{" + + "handle = " + handle + + ", site = " + site + + ", taskBo = " + taskBo + + ", inspectionItemDetailBo = " + inspectionItemDetailBo + + ", checkValues = " + checkValues + + ", result = " + result + + ", checkDate = " + checkDate + + ", checkUser = " + checkUser + + ", remark = " + remark + + ", pictureNo = " + pictureNo + + ", sfc = " + sfc + + ", pictureQty = " + pictureQty + + "}"; + } +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionItemService.java b/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionItemService.java index 775e54fb..9b7a4155 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionItemService.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionItemService.java @@ -3,6 +3,7 @@ package com.foreverwin.mesnac.common.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.foreverwin.mesnac.common.model.InspectionItem; import com.baomidou.mybatisplus.extension.service.IService; +import com.foreverwin.mesnac.common.model.InspectionItemDetail; import com.foreverwin.modular.core.util.FrontPage; import java.util.List; @@ -33,4 +34,7 @@ public interface InspectionItemService extends IService { void saveAll(InspectionItem inspectionItem); void deleteServece(InspectionItem inspectionItem); + + //是否存在质量检验项目 + List selectQualityInspection(String sfc, String operation, String stepId, String inspectionType); } \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskDetailService.java b/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskDetailService.java new file mode 100644 index 00000000..9a0e8529 --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskDetailService.java @@ -0,0 +1,28 @@ +package com.foreverwin.mesnac.common.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.common.model.InspectionTaskDetail; +import com.baomidou.mybatisplus.extension.service.IService; +import com.foreverwin.modular.core.util.FrontPage; + +import java.util.List; + +/** + *

+ * 检验任务-明细表 服务类 + *

+ * + * @author Philip + * @since 2021-07-05 + */ +public interface InspectionTaskDetailService extends IService { + + /** + * 分页查询 + * @param frontPage + * @return + */ + IPage selectPage(FrontPage frontPage, InspectionTaskDetail inspectionTaskDetail); + + List selectList(InspectionTaskDetail inspectionTaskDetail); +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java b/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java new file mode 100644 index 00000000..639d37a2 --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java @@ -0,0 +1,33 @@ +package com.foreverwin.mesnac.common.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.common.model.InspectionTask; +import com.baomidou.mybatisplus.extension.service.IService; +import com.foreverwin.modular.core.util.FrontPage; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 检验任务表 服务类 + *

+ * + * @author Philip + * @since 2021-07-05 + */ +public interface InspectionTaskService extends IService { + + /** + * 分页查询 + * @param frontPage + * @return + */ + IPage selectPage(FrontPage frontPage, InspectionTask inspectionTask); + + List selectList(InspectionTask inspectionTask); + + void save(Map paramMap); + + void createTask(Map paramMap); +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionItemServiceImpl.java b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionItemServiceImpl.java index e17f3d49..cd7fd634 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionItemServiceImpl.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionItemServiceImpl.java @@ -15,6 +15,10 @@ import com.foreverwin.mesnac.common.service.InspectionItemAdditionService; import com.foreverwin.mesnac.common.service.InspectionItemDetailService; import com.foreverwin.mesnac.common.service.InspectionItemService; import com.foreverwin.mesnac.common.util.StringUtil; +import com.foreverwin.mesnac.meapi.model.Item; +import com.foreverwin.mesnac.meapi.model.ResourceType; +import com.foreverwin.mesnac.meapi.service.ItemService; +import com.foreverwin.mesnac.meapi.service.ResourceTypeService; import com.foreverwin.modular.core.util.CommonMethods; import com.foreverwin.modular.core.util.FrontPage; import com.visiprise.common.exception.BaseException; @@ -39,7 +43,10 @@ import java.util.UUID; @Transactional(rollbackFor = Exception.class) public class InspectionItemServiceImpl extends ServiceImpl implements InspectionItemService { - + @Autowired + private ItemService itemService; + @Autowired + private ResourceTypeService resourceTypeService; @Autowired private InspectionItemMapper inspectionItemMapper; @Autowired @@ -64,12 +71,12 @@ public class InspectionItemServiceImpl extends ServiceImpl lambdaQuery=new LambdaQueryWrapper<>(); - lambdaQuery.eq(InspectionItem::getInspectionItemNo,inspectionItemNo); + LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); + lambdaQuery.eq(InspectionItem::getInspectionItemNo, inspectionItemNo); lambdaQuery.eq(InspectionItem::getCurrentRevision, Constants.BOOL_TRUE); lambdaQuery.eq(InspectionItem::getSite, site); InspectionItem one = getOne(lambdaQuery, false); - if (one!=null){ + if (one != null) { return one.getRevision(); } return null; @@ -78,37 +85,38 @@ public class InspectionItemServiceImpl extends ServiceImpl inspectionItemAdditionList = inspectionItem.getInspectionItemAdditionList(); - StringBuilder inspectionItemNo=new StringBuilder(); - inspectionItemAdditionList.forEach(inspectionItemAddition->inspectionItemNo.append(inspectionItemAddition.getAdditionalObject())); + StringBuilder inspectionItemNo = new StringBuilder(); + inspectionItemAdditionList.forEach(inspectionItemAddition -> inspectionItemNo.append(inspectionItemAddition.getAdditionalObject())); return inspectionItemNo.toString(); } @Override public void saveAll(InspectionItem inspectionItem) { + String site = CommonMethods.getSite(); boolean b = false; - if(StringUtil.isEmpty(inspectionItem.getInspectionItemNo())){ + if (StringUtil.isEmpty(inspectionItem.getInspectionItemNo())) { b = true; inspectionItem.setInspectionItemNo(inspectItemNoGenerationRules(inspectionItem)); } - if (inspectionItem.getInspectionType().length()>1){ + if (inspectionItem.getInspectionType().length() > 1) { inspectionItem.setCategory("EQ"); - }else { + } else { inspectionItem.setCategory("QC"); } - inspectionItem.setSite(CommonMethods.getSite()); - if (StringUtil.isBlank(inspectionItem.getRevision())){ + inspectionItem.setSite(site); + if (StringUtil.isBlank(inspectionItem.getRevision())) { inspectionItem.setRevision("1"); } inspectionItem.setHandle(HandleEnum - .INSPECTION_ITEM.getHandle(inspectionItem.getSite(),inspectionItem.getInspectionItemNo(),inspectionItem.getRevision())); + .INSPECTION_ITEM.getHandle(inspectionItem.getSite(), inspectionItem.getInspectionItemNo(), inspectionItem.getRevision())); //保存检验项目维护-副 //移除 HashMap removeCondition = new HashMap<>(); - removeCondition.put(InspectionItemDetail.INSPECTION_ITEM_BO,inspectionItem.getHandle()); + removeCondition.put(InspectionItemDetail.INSPECTION_ITEM_BO, inspectionItem.getHandle()); inspectionItemDetailService.removeByMap(removeCondition); inspectionItemAdditionService.removeByMap(removeCondition); - if(null != inspectionItem.getInspectionItemDetailList() && inspectionItem.getInspectionItemDetailList().size() > 0){ + if (null != inspectionItem.getInspectionItemDetailList() && inspectionItem.getInspectionItemDetailList().size() > 0) { List inspectionItemDetailList = inspectionItem.getInspectionItemDetailList(); for (InspectionItemDetail inspectionItemDetail : inspectionItemDetailList) { inspectionItemDetail.setHandle(UUID.randomUUID().toString()); @@ -121,9 +129,37 @@ public class InspectionItemServiceImpl extends ServiceImpl 0){ + if (null != inspectionItem.getInspectionItemAdditionList() && inspectionItem.getInspectionItemAdditionList().size() > 0) { List inspectionItemAdditionList = inspectionItem.getInspectionItemAdditionList(); + long count = inspectionItemAdditionList.stream().filter(inspectionItemAddition -> inspectionItemAddition.getAdditionalObject().equals("*")).count(); + if (count>0 && inspectionItemAdditionList.size()!=count){ + throw new BaseException("检验对象不能部分为*"); + } for (InspectionItemAddition inspectionItemAddition : inspectionItemAdditionList) { + String additionalObject = inspectionItemAddition.getAdditionalObject(); + String additionalObjectType = inspectionItemAddition.getAdditionalObjectType(); + if (additionalObjectType.equals(Constants.ADDITIONAL_OBJECT_TYPE_ITEM) && !additionalObject.equals("*")) { + Item item = itemService.selectCurrent(CommonMethods.getSite(), additionalObject); + if (item == null) { + throw new BaseException("物料[" + additionalObject + "]不存在"); + } + } + if (additionalObjectType.equals(Constants.ADDITIONAL_OBJECT_TYPE_OPERATION) && !additionalObject.equals("*")) { + String[] split = additionalObject.split("/"); + String operation = split[0]; + String step = split[1]; + Integer integer = inspectionItemMapper.checkRouterStep(site, operation, step); + if (integer < 1) { + throw new BaseException("工序/步骤[" + additionalObject + "]不存在"); + } + } + if (additionalObjectType.equals(Constants.ADDITIONAL_OBJECT_TYPE_RESOURCE_TYPE) && !additionalObject.equals("*")) { + String handle = HandleEnum.RESOURCE_TYPE.getHandle(site, additionalObject); + ResourceType byId = resourceTypeService.getById(handle); + if (byId == null) { + throw new BaseException("设备类型[" + additionalObject + "]不存在"); + } + } inspectionItemAddition.setHandle(UUID.randomUUID().toString()); inspectionItemAddition.setInspectionItemBo(inspectionItem.getHandle()); inspectionItemAddition.setCreatedDateTime(LocalDateTime.now()); @@ -136,25 +172,25 @@ public class InspectionItemServiceImpl extends ServiceImpl updateWrapper=new UpdateWrapper<>(); - updateWrapper.eq(InspectionItem.INSPECTION_ITEM_NO,inspectionItemNo); - updateWrapper.eq(InspectionItem.SITE,inspectionItem.getSite()); - updateWrapper.ne(InspectionItem.REVISION,inspectionItem.getRevision()); - updateWrapper.set(InspectionItem.CURRENT_REVISION,Constants.BOOL_FALSE); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq(InspectionItem.INSPECTION_ITEM_NO, inspectionItemNo); + updateWrapper.eq(InspectionItem.SITE, inspectionItem.getSite()); + updateWrapper.ne(InspectionItem.REVISION, inspectionItem.getRevision()); + updateWrapper.set(InspectionItem.CURRENT_REVISION, Constants.BOOL_FALSE); update(updateWrapper); } - if(inspectionItem.selectById(inspectionItem.getHandle()) == null){ + if (inspectionItem.selectById(inspectionItem.getHandle()) == null) { inspectionItem.setCreatedDateTime(LocalDateTime.now()); inspectionItem.setCreateUser(CommonMethods.getUser()); inspectionItem.setModifiedDateTime(LocalDateTime.now()); inspectionItem.setModifyUser(CommonMethods.getUser()); save(inspectionItem); - }else{ + } else { inspectionItem.setModifiedDateTime(LocalDateTime.now()); inspectionItem.setModifyUser(CommonMethods.getUser()); - if(b){ + if (b) { throw new BaseException("请先检索再保存"); } saveOrUpdate(inspectionItem); @@ -163,20 +199,33 @@ public class InspectionItemServiceImpl extends ServiceImpl removeCondition = new HashMap<>(); - removeCondition.put(InspectionItemAddition.INSPECTION_ITEM_BO,inspectionItem.getHandle()); + removeCondition.put(InspectionItemAddition.INSPECTION_ITEM_BO, inspectionItem.getHandle()); inspectionItemAdditionService.removeByMap(removeCondition); inspectionItemDetailService.removeByMap(removeCondition); removeById(inspectionItem.getHandle()); } + //是否存在质量自检互检任务 + @Override + public List selectQualityInspection(String sfc, String operation, String stepId, String inspectionType) { + String site = CommonMethods.getSite(); + List inspectionItemDetails = inspectionItemMapper.selectQualityInspection(site, sfc, operation, stepId, inspectionType); + if (inspectionItemDetails.isEmpty()) { + //是否有维护*的项目 + inspectionItemDetails = inspectionItemMapper.selectWidestQualityInspection(site, inspectionType, "*"); + } + + return inspectionItemDetails; + } + } \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskDetailServiceImpl.java b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskDetailServiceImpl.java new file mode 100644 index 00000000..6b45d127 --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskDetailServiceImpl.java @@ -0,0 +1,46 @@ +package com.foreverwin.mesnac.common.service.impl; + +import com.foreverwin.modular.core.util.FrontPage; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.common.model.InspectionTaskDetail; +import com.foreverwin.mesnac.common.mapper.InspectionTaskDetailMapper; +import com.foreverwin.mesnac.common.service.InspectionTaskDetailService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +/** + *

+ * 检验任务-明细表 服务实现类 + *

+ * + * @author Philip + * @since 2021-07-05 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class InspectionTaskDetailServiceImpl extends ServiceImpl implements InspectionTaskDetailService { + + + @Autowired + private InspectionTaskDetailMapper inspectionTaskDetailMapper; + + @Override + public IPage selectPage(FrontPage frontPage, InspectionTaskDetail inspectionTaskDetail) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(inspectionTaskDetail); + return super.page(frontPage.getPagePlus(), queryWrapper); + } + + @Override + public List selectList(InspectionTaskDetail inspectionTaskDetail) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(inspectionTaskDetail); + return super.list(queryWrapper); + } + + +} \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskServiceImpl.java b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskServiceImpl.java new file mode 100644 index 00000000..fd0ba2d0 --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskServiceImpl.java @@ -0,0 +1,219 @@ +package com.foreverwin.mesnac.common.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.foreverwin.mesnac.common.constant.Constants; +import com.foreverwin.mesnac.common.enums.HandleEnum; +import com.foreverwin.mesnac.common.mapper.InspectionTaskMapper; +import com.foreverwin.mesnac.common.model.InspectionItemDetail; +import com.foreverwin.mesnac.common.model.InspectionTask; +import com.foreverwin.mesnac.common.model.InspectionTaskDetail; +import com.foreverwin.mesnac.common.service.InspectionItemService; +import com.foreverwin.mesnac.common.service.InspectionTaskDetailService; +import com.foreverwin.mesnac.common.service.InspectionTaskService; +import com.foreverwin.mesnac.common.util.StringUtil; +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.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.util.*; + +/** + *

+ * 检验任务表 服务实现类 + *

+ * + * @author Philip + * @since 2021-07-05 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class InspectionTaskServiceImpl extends ServiceImpl implements InspectionTaskService { + + + @Autowired + private InspectionTaskMapper inspectionTaskMapper; + @Autowired + private InspectionTaskDetailService inspectionTaskDetailService; + @Autowired + private InspectionItemService inspectionItemService; + + @Override + public IPage selectPage(FrontPage frontPage, InspectionTask inspectionTask) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(inspectionTask); + return super.page(frontPage.getPagePlus(), queryWrapper); + } + + @Override + public List selectList(InspectionTask inspectionTask) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(inspectionTask); + return super.list(queryWrapper); + } + + @Override + public void save(Map paramMap) { + String site = CommonMethods.getSite(); + String user = CommonMethods.getUser(); + //类型(首检|S/巡检|X/专检|Y/FQC|F/尾检|W/自检|Z/互检|H) + String category = (String) paramMap.get("CATEGORY"); + //获取检验项目 + List> taskList = (List>) paramMap.get("TASK_LIST"); + //更新任务表 + InspectionTask task = new InspectionTask(); + String taskHandle = (String) paramMap.get("TASK_HANDLE"); + if(StringUtil.isEmpty(taskHandle)){ + throw new BaseException("保存失败,请先进行检索数据!"); + } + task.setHandle(taskHandle); + task.setComments((String) paramMap.get("COMMENTS")); + task.setStatus("COMPLETE"); + task.setModifyUser(user); + task.setModifiedDateTime(LocalDateTime.now()); + task.setResult((String) paramMap.get("RESULT")); + updateById(task); + //新增任务从表 + if (taskList != null && taskList.size() != 0) { + List detailList = new ArrayList<>(); + for (int i = 0; i < taskList.size(); i++) { + String taskListHandle = HandleEnum.INSPECTION_TASK_DETAIL.getHandle(site, UUID.randomUUID().toString()); + InspectionTaskDetail inspectionTaskDetail = new InspectionTaskDetail(); + inspectionTaskDetail.setHandle(taskListHandle); + inspectionTaskDetail.setSite(site); + inspectionTaskDetail.setTaskBo((String) paramMap.get("TASK_HANDLE")); + inspectionTaskDetail.setInspectionItemDetailBo((String) taskList.get(i).get("HANDLE")); + inspectionTaskDetail.setCheckUser((String) paramMap.get("CHECK_USER")); + String paramType = (String) taskList.get(i).get("PARAM_TYPE"); + String checkValue = ""; + if (paramType.equals("布尔")) { + checkValue = (String) taskList.get(i).get("CHECK_VALUE1"); + } else { + checkValue = (String) taskList.get(i).get("CHECK_VALUE2"); + } + inspectionTaskDetail.setCheckValues(checkValue); + inspectionTaskDetail.setResult((String) taskList.get(i).get("RESULT")); + + String remark = (String) taskList.get(i).get("REMARK"); + if (StringUtil.isBlank(remark)) { + inspectionTaskDetail.setRemark(""); + } else { + inspectionTaskDetail.setRemark(remark); + } + + String pictureNo = (String) taskList.get(i).get("PICTURE_NO"); + if (StringUtil.isBlank(pictureNo)) { + inspectionTaskDetail.setPictureNo(""); + } else { + inspectionTaskDetail.setPictureNo(pictureNo); + } + + String pictureQty = (String) taskList.get(i).get("PICTURE_QTY"); + if ("".equals(pictureQty) || null == pictureQty || "NULL".equals(pictureQty)) { + inspectionTaskDetail.setPictureQty("0"); + } else { + inspectionTaskDetail.setPictureQty(pictureQty); + } + detailList.add(inspectionTaskDetail); + } + inspectionTaskDetailService.saveBatch(detailList); + } + + } + + @Override + public void createTask(Map paramMap) { + + //站点 + String site = CommonMethods.getSite(); + //类型(自检|Z;互检|H;FQC|F;尾检|W) + String category = (String) paramMap.get("CATEGORY"); + //产品批次 + String sfc = (String) paramMap.get("SFC"); + //产品批次 + String shopOrder = (String) paramMap.get("SHOP_ORDER"); + //工序 + String operation = (String) paramMap.get("OPERATION"); + //工序标识 + String stepId = (String) paramMap.get("STEP_ID"); + + //自检/互检/包装 校验是否在当前工序+工序标识 做过检验任务 + InspectionTask createTask = isCreateTask(site, category, sfc, operation, stepId); + if (createTask!=null&&createTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)) { + throw new BaseException("当前产品批次[" + sfc + "]已做完检验任务"); + } + + + List inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, category); + if (inspectionItemDetails.size() == 0||StringUtil.isBlank(inspectionItemDetails.get(0).getInspectionItemBo())) { + throw new BaseException("创建任务失败,未维护数据收集组!"); + } + String handle = "InspectionTaskBO:" + site + "," + UUID.randomUUID().toString(); + Date date = new Date(System.currentTimeMillis()); + SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyyMMddHHmmss"); + String taskNo = ""; + String itemNumber = (String) paramMap.get("ITEM_NUMBER"); + String description = ""; + if (category.equals(Constants.INSPECTION_TYPE_Z)) { + if (StringUtil.isBlank(itemNumber) ) { + taskNo = "Z_" + dateFormat1.format(date); + } else{ + taskNo = "Z_" + itemNumber + "_" + dateFormat1.format(date); + } + description = "自检检验任务"; + } else if (category.equals(Constants.INSPECTION_TYPE_H)) { + if (StringUtil.isBlank(itemNumber)) { + taskNo = "H_" + dateFormat1.format(date); + } else { + taskNo = "H_" + itemNumber + "_" + dateFormat1.format(date); + } + description = "互检检验任务"; + } else { + throw new BaseException("生成任务号失败,请传入检验类型!"); + } + InspectionTask task = new InspectionTask(); + task.setHandle(handle); + task.setSite(site); + task.setCategory(category); + task.setTaskNo(taskNo); + task.setStatus(Constants.INSPECTION_TASK_STATUS_NEW); + task.setDescription(description); + task.setInspectionItemBo( inspectionItemDetails.get(0).getInspectionItemBo()); + task.setShopOrder(shopOrder); + task.setWorkCenter((String) paramMap.get("WORK_CENTER")); + task.setSfc(sfc); + task.setOperation(operation); + task.setStepId(stepId); + task.setResrce((String) paramMap.get("RESRCE")); + task.setCreateUser((String) paramMap.get("CREATE_USER")); + task.setCreatedDateTime(LocalDateTime.now()); + task.setModifyUser((String) paramMap.get("CREATE_USER")); + task.setModifiedDateTime(LocalDateTime.now()); + task.setSfcDispatchBo((String) paramMap.get("SFC_DISPATCH_DETAIL_BO")); + task.setSfc(sfc); + save(task); + } + public InspectionTask isCreateTask(String site,String category,String sfc,String operation ,String stepId) { + //自检/互检 校验是否在当前工序+工序标识 做过检验任务 + QueryWrapper queryWrapper=new QueryWrapper<>(); + queryWrapper.eq(InspectionTask.SITE,site); + queryWrapper.eq(InspectionTask.SFC,sfc); + queryWrapper.eq(InspectionTask.CATEGORY,category); + queryWrapper.eq(InspectionTask.OPERATION,operation); + queryWrapper.eq(InspectionTask.STEP_ID,stepId); + queryWrapper.orderByDesc(InspectionTask.CREATED_DATE_TIME); + List list = list(queryWrapper); + if (list.size() > 0) { + return list.get(0); + } + return null; + } + + +} \ No newline at end of file diff --git a/common/src/main/resources/mapper/InspectionItemMapper.xml b/common/src/main/resources/mapper/InspectionItemMapper.xml index 5f2ebdda..3838fa58 100644 --- a/common/src/main/resources/mapper/InspectionItemMapper.xml +++ b/common/src/main/resources/mapper/InspectionItemMapper.xml @@ -447,4 +447,32 @@ + + + + diff --git a/common/src/main/resources/mapper/InspectionTaskDetailMapper.xml b/common/src/main/resources/mapper/InspectionTaskDetailMapper.xml new file mode 100644 index 00000000..f3e8849d --- /dev/null +++ b/common/src/main/resources/mapper/InspectionTaskDetailMapper.xml @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + HANDLE, SITE, TASK_BO, INSPECTION_ITEM_DETAIL_BO, CHECK_VALUES, RESULT, CHECK_DATE, CHECK_USER, REMARK, PICTURE_NO, SFC, PICTURE_QTY + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO Z_INSPECTION_TASK_DETAIL + + HANDLE, + SITE, + TASK_BO, + INSPECTION_ITEM_DETAIL_BO, + CHECK_VALUES, + RESULT, + CHECK_DATE, + CHECK_USER, + REMARK, + PICTURE_NO, + SFC, + PICTURE_QTY, + VALUES + + #{handle}, + #{site}, + #{taskBo}, + #{inspectionItemDetailBo}, + #{checkValues}, + #{result}, + #{checkDate}, + #{checkUser}, + #{remark}, + #{pictureNo}, + #{sfc}, + #{pictureQty}, + + + + + INSERT INTO Z_INSPECTION_TASK_DETAIL + + + VALUES + + #{handle}, + #{site}, + #{taskBo}, + #{inspectionItemDetailBo}, + #{checkValues}, + #{result}, + #{checkDate}, + #{checkUser}, + #{remark}, + #{pictureNo}, + #{sfc}, + #{pictureQty}, + + + + + + UPDATE Z_INSPECTION_TASK_DETAIL + SITE=#{et.site}, + TASK_BO=#{et.taskBo}, + INSPECTION_ITEM_DETAIL_BO=#{et.inspectionItemDetailBo}, + CHECK_VALUES=#{et.checkValues}, + RESULT=#{et.result}, + CHECK_DATE=#{et.checkDate}, + CHECK_USER=#{et.checkUser}, + REMARK=#{et.remark}, + PICTURE_NO=#{et.pictureNo}, + SFC=#{et.sfc}, + PICTURE_QTY=#{et.pictureQty}, + WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} + + + + + UPDATE Z_INSPECTION_TASK_DETAIL + SITE=#{et.site}, + TASK_BO=#{et.taskBo}, + INSPECTION_ITEM_DETAIL_BO=#{et.inspectionItemDetailBo}, + CHECK_VALUES=#{et.checkValues}, + RESULT=#{et.result}, + CHECK_DATE=#{et.checkDate}, + CHECK_USER=#{et.checkUser}, + REMARK=#{et.remark}, + PICTURE_NO=#{et.pictureNo}, + SFC=#{et.sfc}, + PICTURE_QTY=#{et.pictureQty}, + WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} + + + + + UPDATE Z_INSPECTION_TASK_DETAIL + SITE=#{et.site}, + TASK_BO=#{et.taskBo}, + INSPECTION_ITEM_DETAIL_BO=#{et.inspectionItemDetailBo}, + CHECK_VALUES=#{et.checkValues}, + RESULT=#{et.result}, + CHECK_DATE=#{et.checkDate}, + CHECK_USER=#{et.checkUser}, + REMARK=#{et.remark}, + PICTURE_NO=#{et.pictureNo}, + SFC=#{et.sfc}, + PICTURE_QTY=#{et.pictureQty}, + + + + + HANDLE=#{ew.entity.handle} + AND SITE=#{ew.entity.site} + AND TASK_BO=#{ew.entity.taskBo} + AND INSPECTION_ITEM_DETAIL_BO=#{ew.entity.inspectionItemDetailBo} + AND CHECK_VALUES=#{ew.entity.checkValues} + AND RESULT=#{ew.entity.result} + AND CHECK_DATE=#{ew.entity.checkDate} + AND CHECK_USER=#{ew.entity.checkUser} + AND REMARK=#{ew.entity.remark} + AND PICTURE_NO=#{ew.entity.pictureNo} + AND SFC=#{ew.entity.sfc} + AND PICTURE_QTY=#{ew.entity.pictureQty} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + DELETE FROM Z_INSPECTION_TASK_DETAIL WHERE HANDLE=#{handle} + + + + DELETE FROM Z_INSPECTION_TASK_DETAIL + + + + + ${k} = #{cm[${k}]} + + + + + + + + DELETE FROM Z_INSPECTION_TASK_DETAIL + + + + + HANDLE=#{ew.entity.handle} + + AND SITE=#{ew.entity.site} + AND TASK_BO=#{ew.entity.taskBo} + AND INSPECTION_ITEM_DETAIL_BO=#{ew.entity.inspectionItemDetailBo} + AND CHECK_VALUES=#{ew.entity.checkValues} + AND RESULT=#{ew.entity.result} + AND CHECK_DATE=#{ew.entity.checkDate} + AND CHECK_USER=#{ew.entity.checkUser} + AND REMARK=#{ew.entity.remark} + AND PICTURE_NO=#{ew.entity.pictureNo} + AND SFC=#{ew.entity.sfc} + AND PICTURE_QTY=#{ew.entity.pictureQty} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + DELETE FROM Z_INSPECTION_TASK_DETAIL WHERE HANDLE IN ( + #{item} + ) + + + + diff --git a/common/src/main/resources/mapper/InspectionTaskMapper.xml b/common/src/main/resources/mapper/InspectionTaskMapper.xml new file mode 100644 index 00000000..fa626dd7 --- /dev/null +++ b/common/src/main/resources/mapper/InspectionTaskMapper.xml @@ -0,0 +1,500 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HANDLE, SITE, CATEGORY, TASK_NO, DESCRIPTION, STATUS, INSPECTION_ITEM_BO, WORK_CENTER, SHOP_ORDER, SFC, OPERATION, STEP_ID, RESRCE, RESULT, COMMENTS, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME, SFC_DISPATCH_BO + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO Z_INSPECTION_TASK + + HANDLE, + SITE, + CATEGORY, + TASK_NO, + DESCRIPTION, + STATUS, + INSPECTION_ITEM_BO, + WORK_CENTER, + SHOP_ORDER, + SFC, + OPERATION, + STEP_ID, + RESRCE, + RESULT, + COMMENTS, + CREATE_USER, + CREATED_DATE_TIME, + MODIFY_USER, + MODIFIED_DATE_TIME, + SFC_DISPATCH_BO, + VALUES + + #{handle}, + #{site}, + #{category}, + #{taskNo}, + #{description}, + #{status}, + #{inspectionItemBo}, + #{workCenter}, + #{shopOrder}, + #{sfc}, + #{operation}, + #{stepId}, + #{resrce}, + #{result}, + #{comments}, + #{createUser}, + #{createdDateTime}, + #{modifyUser}, + #{modifiedDateTime}, + #{sfcDispatchBo}, + + + + + INSERT INTO Z_INSPECTION_TASK + + + VALUES + + #{handle}, + #{site}, + #{category}, + #{taskNo}, + #{description}, + #{status}, + #{inspectionItemBo}, + #{workCenter}, + #{shopOrder}, + #{sfc}, + #{operation}, + #{stepId}, + #{resrce}, + #{result}, + #{comments}, + #{createUser}, + #{createdDateTime}, + #{modifyUser}, + #{modifiedDateTime}, + #{sfcDispatchBo}, + + + + + + + + + + UPDATE Z_INSPECTION_TASK + HANDLE=#{et.handle}, + SITE=#{et.site}, + CATEGORY=#{et.category}, + TASK_NO=#{et.taskNo}, + DESCRIPTION=#{et.description}, + STATUS=#{et.status}, + INSPECTION_ITEM_BO=#{et.inspectionItemBo}, + WORK_CENTER=#{et.workCenter}, + SHOP_ORDER=#{et.shopOrder}, + SFC=#{et.sfc}, + OPERATION=#{et.operation}, + STEP_ID=#{et.stepId}, + RESRCE=#{et.resrce}, + RESULT=#{et.result}, + COMMENTS=#{et.comments}, + CREATE_USER=#{et.createUser}, + CREATED_DATE_TIME=#{et.createdDateTime}, + MODIFY_USER=#{et.modifyUser}, + MODIFIED_DATE_TIME=#{et.modifiedDateTime}, + SFC_DISPATCH_BO=#{et.sfcDispatchBo}, + + + + + HANDLE=#{ew.entity.handle} + AND SITE=#{ew.entity.site} + AND CATEGORY=#{ew.entity.category} + AND TASK_NO=#{ew.entity.taskNo} + AND DESCRIPTION=#{ew.entity.description} + AND STATUS=#{ew.entity.status} + AND INSPECTION_ITEM_BO=#{ew.entity.inspectionItemBo} + AND WORK_CENTER=#{ew.entity.workCenter} + AND SHOP_ORDER=#{ew.entity.shopOrder} + AND SFC=#{ew.entity.sfc} + AND OPERATION=#{ew.entity.operation} + AND STEP_ID=#{ew.entity.stepId} + AND RESRCE=#{ew.entity.resrce} + AND RESULT=#{ew.entity.result} + AND COMMENTS=#{ew.entity.comments} + AND CREATE_USER=#{ew.entity.createUser} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND MODIFY_USER=#{ew.entity.modifyUser} + AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} + AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + + DELETE FROM Z_INSPECTION_TASK + + + + + ${k} = #{cm[${k}]} + + + + + + + + DELETE FROM Z_INSPECTION_TASK + + + + + HANDLE=#{ew.entity.handle} + + AND SITE=#{ew.entity.site} + AND CATEGORY=#{ew.entity.category} + AND TASK_NO=#{ew.entity.taskNo} + AND DESCRIPTION=#{ew.entity.description} + AND STATUS=#{ew.entity.status} + AND INSPECTION_ITEM_BO=#{ew.entity.inspectionItemBo} + AND WORK_CENTER=#{ew.entity.workCenter} + AND SHOP_ORDER=#{ew.entity.shopOrder} + AND SFC=#{ew.entity.sfc} + AND OPERATION=#{ew.entity.operation} + AND STEP_ID=#{ew.entity.stepId} + AND RESRCE=#{ew.entity.resrce} + AND RESULT=#{ew.entity.result} + AND COMMENTS=#{ew.entity.comments} + AND CREATE_USER=#{ew.entity.createUser} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND MODIFY_USER=#{ew.entity.modifyUser} + AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} + AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + + 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 index 0e34c706..00d1cfb2 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java @@ -6,9 +6,7 @@ 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.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -47,12 +45,24 @@ public class PodTemplateController { * @return */ @ResponseBody - @GetMapping("/sfcStart") - public R sfcStart(List sfcDtoList) { + @PostMapping("/sfcStart") + public R sfcStart(@RequestBody List sfcDtoList) { podTemplateService.sfcStart(sfcDtoList); return R.ok(); } + /** + * sfc完成 + * @param sfcDtoList + * @return + */ + @ResponseBody + @PostMapping("/sfcComplete") + public R sfcComplete(@RequestBody List sfcDtoList) { + podTemplateService.sfcComplete(sfcDtoList); + return R.ok(); + } + /** * 生产操作员面板工作列表 * @param 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 index b2200c76..6859913c 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java @@ -14,4 +14,6 @@ public interface PodTemplateService { Object getSfcInfo(SfcDto sfcDto); void sfcStart(List sfcDto); + + void sfcComplete(List sfcDtoList); } diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java index e2f1567f..b3453b38 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java @@ -65,7 +65,8 @@ public class PodTemplateServiceImpl implements PodTemplateService { //查询在该设备存在活动中的SFC List sfcList = sfcService.getSfcListByResrceBO(resrceBO); - //List> proReadyList = sfcDataMainMapper.queryPrdReadyByResrce(site, resrce); + //List> proReadyList = sfcDa + // taMainMapper.queryPrdReadyByResrce(site, resrce); Map resultMap = new HashMap(); resultMap.put("SFC_LIST", sfcList); //resultMap.put("READY_LIST", proReadyList); @@ -111,105 +112,10 @@ public class PodTemplateServiceImpl implements PodTemplateService { resultMap.put("SFC_STEP_LIST", substepList); String stepId = (String) resultMap.get("STEP_ID"); - //2021/1/20 roc 根据SFC和步骤标识查找是否维护了尾检项 - /*List> 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"); - }*/ resultMap.put("IS_CREATE_W", "N"); String isCreateH = "N"; String isCreateZ = "N"; - /*if(!"403".equals(resultMap.get("STATUS"))) { - //SFC未开始 - //判断对否需要进行互检 - *//* List> checkOperationCheckH = sfcDataMainMapper.checkOperationCheckH(site, sfc, stepId); - if(checkOperationCheckH.size() > 0 ){ - resultMap.put("IS_CHECK_H", "Y"); - //自检/互检 校验是否在当前工序+工序标识 做过检验任务 - List> 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(StringUtil.isEmpty(substep)){ - //判断对否需要进行自检(无工步) - List> checkOperationCheckZ = sfcDataMainMapper.checkOperationCheckZ(site, sfc, stepId); - if(checkOperationCheckZ.size() > 0 ){ - resultMap.put("IS_CHECK_Z", "Y"); - //自检/互检 校验是否在当前工序+工序标识 做过检验任务 - List> 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> checkOperationCheckH = sfcDataMainMapper.checkOperationCheckH(site, sfc, stepId); - if(checkOperationCheckH.size() > 0 ){ - resultMap.put("IS_CHECK_H", "Y"); - //自检/互检 校验是否在当前工序+工序标识 做过检验任务 - List> 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> checkSubstepCheckZ = sfcDataMainMapper.checkSubstepCheckZ(substepHandle); - if(checkSubstepCheckZ.size() > 0 ){ - resultMap.put("IS_CHECK_Z", "Y"); - //自检/互检 校验是否在当前工序+工序+工步标识 做过检验任务 - List> 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> checkSubstepCheckH = sfcDataMainMapper.checkSubstepCheckH(substepHandle); - if(checkSubstepCheckH.size() > 0 ){ - resultMap.put("IS_CHECK_H", "Y"); - //自检/互检 校验是否在当前工序+工序标识 做过检验任务 - List> 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 resultMap; @@ -232,7 +138,7 @@ public class PodTemplateServiceImpl implements PodTemplateService { Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, operation); String resrce = sfcDto.getResrce(); String sfc = sfcDto.getSfc(); - Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(sfc, sfc)); + Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(site, sfc)); BigDecimal qty=new BigDecimal(sfcServiceById.getQty().toString()); try { sfcCrossService.startAction(site, currentRevisionRef.getHandle(),resrce,sfcServiceById.getHandle(),qty); @@ -241,4 +147,21 @@ public class PodTemplateServiceImpl implements PodTemplateService { } }); } + @Override + public void sfcComplete(List sfcDtoList) { + sfcDtoList.forEach(sfcDto -> { + String site = CommonMethods.getSite(); + String operation = sfcDto.getOperation(); + Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, operation); + String resrce = sfcDto.getResrce(); + String sfc = sfcDto.getSfc(); + Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(site, sfc)); + BigDecimal qty=new BigDecimal(sfcServiceById.getQty().toString()); + try { + sfcCrossService.completeAction(site, currentRevisionRef.getHandle(),resrce,sfcServiceById.getHandle(),qty); + } catch (Exception e) { + ExceptionUtil.throwException(e); + } + }); + } }