From db90ce0130fd5d220596a5d0843ebbdb9b399647 Mon Sep 17 00:00:00 2001 From: yxw Date: Tue, 14 Nov 2023 10:13:38 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=8D=95=E6=8D=AE=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=85=B3=E9=97=AD=E5=8E=9F=E5=9B=A0=E3=80=81?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E6=97=B6=E9=97=B4=E3=80=81=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E4=BA=BA=E5=91=98=202=E3=80=81=E8=BF=94?= =?UTF-8?q?=E4=BF=AE=E5=A2=9E=E5=8A=A0=E7=BB=B4=E4=BF=AE=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E6=97=B6=E7=BB=B4=E4=BF=AE=E5=88=A4=E5=AE=9A=E6=9E=9A=E4=B8=BE?= =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=B8=BA=E9=A1=B5=E9=9D=A2=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=EF=BC=8C=E6=B6=89=E5=8F=8A=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8=EF=BC=9A=E4=BF=AE=E7=90=86=E5=93=81=E7=A5=A8?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E6=8A=A5=E8=A1=A8=E3=80=81=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=8A=A5=E8=A1=A8=EF=BC=9B=EF=BC=88=E5=B7=A5?= =?UTF-8?q?=E7=A8=8B=E4=B8=8D=E8=89=AF=E6=8A=A5=E8=A1=A8=E5=BD=B1=E5=93=8D?= =?UTF-8?q?=E6=9C=80=E5=A4=A7=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=A4=A7=EF=BC=8C?= =?UTF-8?q?=E6=9A=82=E4=B8=8D=E4=BF=AE=E6=94=B9=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/api/base/jx/IJxRepairJudgeTypeService.java | 70 +++++++ .../ext/mes/api/base/jx/IManageCodeService.java | 2 +- .../mes/api/busi/jx/IJxProductReportService.java | 20 ++ .../base/jx/RepairJudgeTypeController.java | 154 +++++++++++++++ .../controller/busi/jx/JxReportController.java | 50 +++++ .../mes/apiservice/daoimpl/SxRepairRecordDao.java | 10 +- .../base/jx/JxMesRepairJudgeTypeService.java | 149 ++++++++++++++ .../serviceimpl/base/jx/ManageCodeService.java | 14 +- .../busi/SxBadStatisticsReportFormService.java | 26 +-- ...SxProdDataToSoftAdapterStrategyBlslService.java | 2 +- .../busi/jx/JxProductReportService.java | 86 +++++++++ .../excel/jx/RepairJudgeTypeExcelService.java | 215 +++++++++++++++++++++ .../i3plus/ext/mes/pojo/bean/MesOrderJob.java | 13 ++ .../ext/mes/pojo/bean/MesRepairJudgeType.java | 54 ++++++ .../ext/mes/pojo/bean/MesRepairRecordExt.java | 17 +- .../i3plus/ext/mes/pojo/model/SxOrderJobModel.java | 9 + .../mes/pojo/model/SxRepairRecordReportModel.java | 8 +- .../mes/pojo/model/bu3/SxProdDataBlslModel.java | 2 +- .../repository/MesRepairJudgeTypeRepository.java | 15 ++ .../i3plus/ext/mes/pojo/sqlpack/MesExtHqlPack.java | 38 ++++ .../i3plus/ext/mes/pojo/util/MesExtConstWords.java | 5 + .../i3plus/ext/mes/pojo/util/MesExtEnumUtil.java | 3 +- 22 files changed, 930 insertions(+), 32 deletions(-) create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/jx/IJxRepairJudgeTypeService.java create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/jx/IJxProductReportService.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/RepairJudgeTypeController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxReportController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/jx/JxMesRepairJudgeTypeService.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxProductReportService.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/jx/RepairJudgeTypeExcelService.java create mode 100644 modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesRepairJudgeType.java create mode 100644 modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/repository/MesRepairJudgeTypeRepository.java diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/jx/IJxRepairJudgeTypeService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/jx/IJxRepairJudgeTypeService.java new file mode 100644 index 0000000..90059e8 --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/jx/IJxRepairJudgeTypeService.java @@ -0,0 +1,70 @@ +package cn.estsh.i3plus.ext.mes.api.base.jx; + + +import cn.estsh.i3plus.ext.mes.pojo.bean.MesRepairJudgeType; +import cn.estsh.i3plus.ext.mes.pojo.model.BatchIdModel; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import io.swagger.annotations.ApiOperation; + +import java.util.List; +import java.util.Map; + +public interface IJxRepairJudgeTypeService { + + /** + * 分页查询出货检验项目 + * + * @param oqcProject 查询条件 + * @param pager 分页条件 + * @return 出货检验项目分页数据 + */ + @ApiOperation(value = "分页查询出货检验项目", notes = "分页查询出货检验项目") + ListPager queryRepairJudgeTypePager(MesRepairJudgeType oqcProject, Pager pager); + + /** + * 新增出货检验项目 + * @param model 出货检验项目信息 + */ + @ApiOperation(value = "新增出货检验项目", notes = "新增出货检验项目") + MesRepairJudgeType insertRepairJudgeType(MesRepairJudgeType model); + + /** + * 编辑出货检验项目 + * @param model 出货检验项目信息 + */ + @ApiOperation(value = "编辑出货检验项目", notes = "编辑出货检验项目") + void updateRepairJudgeType(MesRepairJudgeType model); + + /** + * 根据ID启用或禁用出货检验项目 + * @param model + * @param userName + */ + @ApiOperation(value = "根据ID启用或禁用出货检验项目", notes = "根据ID启用或禁用出货检验项目") + int updateRepairJudgeTypeValidById(BatchIdModel model, String userName); + + /** + * 根据ID启用或禁用出货检验项目 + * @param model + * @param userName + */ + @ApiOperation(value = "根据ID启用或禁用出货检验项目", notes = "根据ID启用或禁用出货检验项目") + int deleteRepairJudgeTypeValidById(BatchIdModel model, String userName); + + /** + * 获取维修判定类型信息集合 + * @param organizeCode 组织代码 + * @return 维修判定类型信息集合 + */ + @ApiOperation(value = "获取维修判定类型信息集合", notes = "获取维修判定类型信息集合") + List queryRepairJudgeList(String organizeCode); + + /** + * 获取维修判定类型信息集合 + * @param organizeCode 组织代码 + * @return 维修判定类型信息集合 + */ + @ApiOperation(value = "获取维修判定类型信息集合", notes = "获取维修判定类型信息集合") + Map queryRepairJudgeMap(String organizeCode); +} diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/jx/IManageCodeService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/jx/IManageCodeService.java index cf562bc..9d71dd2 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/jx/IManageCodeService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/jx/IManageCodeService.java @@ -49,7 +49,7 @@ public interface IManageCodeService { * @param userName 操作人 */ @ApiOperation("软删扭矩管理信息") - void deleteWeaklyMesManageCodeByIds(Long[] ids, String userName); + int deleteWeaklyMesManageCodeByIds(String[] ids, String userName); /** * 批量禁用/启用详情 diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/jx/IJxProductReportService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/jx/IJxProductReportService.java new file mode 100644 index 0000000..2b29f2a --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/jx/IJxProductReportService.java @@ -0,0 +1,20 @@ +package cn.estsh.i3plus.ext.mes.api.busi.jx; + +import cn.estsh.i3plus.ext.mes.pojo.bean.MesProdBindRecordExt; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.bean.MesProdBindRecord; +import io.swagger.annotations.ApiOperation; + +/** + * @PROJECT_NAME: i3plus-mes-panasonic-jx + * @DESCRIPTION: + * @USER: xinwang.yi + * @DATE: 2023-11-13 17:04 + */ +public interface IJxProductReportService { + + @ApiOperation("获取物料绑定记录") + ListPager queryMesProdBindRecordByPager(MesProdBindRecordExt prodBindRecordExt, Pager pager); + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/RepairJudgeTypeController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/RepairJudgeTypeController.java new file mode 100644 index 0000000..e592bb1 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/RepairJudgeTypeController.java @@ -0,0 +1,154 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.base.jx; + +import cn.estsh.i3plus.ext.mes.api.base.jx.IJxRepairJudgeTypeService; +import cn.estsh.i3plus.ext.mes.pojo.bean.MesRepairJudgeType; +import cn.estsh.i3plus.ext.mes.pojo.model.BatchIdModel; +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.impp.framework.base.controller.MesBaseController; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ResultBean; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @Author: xinwang.yi + * @CreateDate: 2021/01/18 13:33 下午 + * @Description: + **/ +@RestController +@Api(tags = "维修判定类型 控制层") +@RequestMapping(MesExtConstWords.BASE_URL_MES_JX + "/repair-judge-type") +public class RepairJudgeTypeController extends MesBaseController { + + @Autowired + private IJxRepairJudgeTypeService repairJudgeTypeService; + + @GetMapping(value = "/query") + @ApiOperation(value = "按条件分页查询MES_维修判定类型信息", notes = "按条件分页查询MES_维修判定类型信息") + public ResultBean queryMesRepairJudgeTypeByPager(MesRepairJudgeType model, Pager pager) { + try { + model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + return ResultBean.success().setListPager(repairJudgeTypeService.queryRepairJudgeTypePager(model, pager)) + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @PostMapping(value = "/insert") + @ApiOperation(value = "添加MES_维修判定类型信息") + public ResultBean insertMesRepairJudgeType(MesRepairJudgeType model) { + try { + //条件验证 + ValidatorBean.beginValid(model) + .notNull(MesExtConstWords.REPAIR_JUDGE_CODE, model.getRepairJudgeCode()) + .notNull(MesExtConstWords.REPAIR_JUDGE_NAME, model.getRepairJudgeName()) + .notNull(MesExtConstWords.SEQ, model.getSeq()); + model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + repairJudgeTypeService.insertRepairJudgeType(model); + return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException imppException) { + LOGGER.error(imppException.getErrorMsg() + ":{}", imppException.getErrorDetail(), imppException); + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @PostMapping(value = "/update") + @ApiOperation(value = "更新MES_维修判定类型项目") + public ResultBean updateMesRepairJudgeType(MesRepairJudgeType model) { + try { + //条件验证 + ValidatorBean.beginValid(model) + .notNull(MesExtConstWords.REPAIR_JUDGE_CODE, model.getRepairJudgeCode()) + .notNull(MesExtConstWords.REPAIR_JUDGE_NAME, model.getRepairJudgeName()) + .notNull(MesExtConstWords.SEQ, model.getSeq()); + + if (model.getId() == null || model.getId().longValue() < 1) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("请选择需要操作的资源。") + .build(); + } + model.setModifyUser(AuthUtil.getSessionUser().getUserName()); + repairJudgeTypeService.updateRepairJudgeType(model); + + return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @PutMapping(value = "/update-status-batch") + @ApiOperation(value = "批量禁用/启用详情", notes = "批量禁用/启用详情") + public ResultBean updateMesRepairJudgeTypeStatus(@RequestBody BatchIdModel model) { + try { + + ValidatorBean.checkNotNull(model.getStatus(), "未有启用禁用标志"); + ValidatorBean.checkNotNull(model.getIds(), "未选择启用/禁用资源"); + + ConvertBean.modelSafeArrayNumber(model.getIds(), true); + //登陆用户 + SessionUser user = AuthUtil.getSessionUser(); + + repairJudgeTypeService.updateRepairJudgeTypeValidById(model, user.getUserName()); + return ResultBean.success("修改成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @DeleteMapping(value = "/delete-status-batch") + @ApiOperation(value = "根据id删除产线班次固定作业内容信息") + public ResultBean deleteShiftProdCenterById(@RequestBody BatchIdModel model) { + try { + if (null == model.getIds()) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("请选择需要操作的资源。") + .build(); + } + + repairJudgeTypeService.deleteRepairJudgeTypeValidById(model, AuthUtil.getSessionUser().getUserName()); + return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping(value = "/query-all") + @ApiOperation(value = "查询所有MES_维修判定类型信息", notes = "查询所有MES_维修判定类型信息") + public ResultBean queryMesRepairJudgeTypeList() { + try { + return ResultBean.success().setResultList(repairJudgeTypeService.queryRepairJudgeList(AuthUtil.getOrganize().getOrganizeCode())) + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxReportController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxReportController.java new file mode 100644 index 0000000..0e41e31 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxReportController.java @@ -0,0 +1,50 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.busi.jx; + +import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxProductReportService; +import cn.estsh.i3plus.ext.mes.pojo.bean.MesProdBindRecordExt; +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.impp.framework.base.controller.MesBaseController; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @PROJECT_NAME: i3plus-mes-panasonic-jx + * @DESCRIPTION: + * @USER: xinwang.yi + * @DATE: 2023-11-13 17:18 + */ +@RestController +@RequestMapping(MesExtConstWords.BASE_URL_MES_JX + "/report") +@Api(tags = "嘉兴报表") +public class JxReportController extends MesBaseController { + + @Autowired + private IJxProductReportService productReportService; + + @GetMapping(value = "/mes-prod-bind-record/query") + @ApiOperation(value = "按条件分页查询MES物料绑定记录数据") + public ResultBean queryMesProdBindRecord(MesProdBindRecordExt prodBindRecordExt, Pager pager) { + try { + prodBindRecordExt.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + ListPager listPager = productReportService.queryMesProdBindRecordByPager(prodBindRecordExt, pager); + return ResultBean.success("操作成功").setListPager(listPager) + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/SxRepairRecordDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/SxRepairRecordDao.java index 86817e7..9cb1543 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/SxRepairRecordDao.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/SxRepairRecordDao.java @@ -44,7 +44,7 @@ public class SxRepairRecordDao implements ISxRepairRecordDao { StringBuffer hql = new StringBuffer(); hql.append(" select new " + SxRepairRecordReportModel.class.getName() + "(bcd.id, bcd.workTime, bcd.shiftCode, bcd.workOrderNo, bcd.workCenterCode, " + " bcd.workCellCode, bcd.serialNumber, bcd.productSn, bcd.partNo, bcd.partNameRdd, bcd.defectCode, bcd.defectName, bcd.defectType, bcd.defectTypeName, bcd.defectActionTime, " + - " bcd.repairStatus, bcd.createUser, rre.dcCode, rre.dcName, rre.repairCode, rre.repairName,bcd.approvalStatus, rre.memo, rre.repairJudge, rre.repairDatetime, rre.modifyUser) "); + " bcd.repairStatus, bcd.createUser, rre.dcCode, rre.dcName, rre.repairCode, rre.repairName,bcd.approvalStatus, rre.memo, rre.repairJudgeCode,rre.repairJudgeName, rre.repairDatetime, rre.modifyUser) "); packHqlForQueryRepairRecord(hql, model); @@ -100,8 +100,8 @@ public class SxRepairRecordDao implements ISxRepairRecordDao { if (!StringUtils.isEmpty(model.getRepairCode())) { hql.append(" and rre.repairCode = :repairCode "); } - if (!StringUtils.isEmpty(model.getRepairJudge())) { - hql.append(" and rre.repairJudge = :repairJudge "); + if (!StringUtils.isEmpty(model.getRepairJudgeCode())) { + hql.append(" and rre.repairJudgeCode = :repairJudgeCode "); } } @@ -142,8 +142,8 @@ public class SxRepairRecordDao implements ISxRepairRecordDao { if (!StringUtils.isEmpty(model.getRepairCode())) { query.setParameter(MesExtConstWords.REPAIR_CODE, model.getRepairCode()); } - if (!StringUtils.isEmpty(model.getRepairJudge())) { - query.setParameter(MesExtConstWords.REPAIR_JUDGE, model.getRepairJudge()); + if (!StringUtils.isEmpty(model.getRepairJudgeCode())) { + query.setParameter(MesExtConstWords.REPAIR_JUDGE, model.getRepairJudgeCode()); } } } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/jx/JxMesRepairJudgeTypeService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/jx/JxMesRepairJudgeTypeService.java new file mode 100644 index 0000000..952e25e --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/jx/JxMesRepairJudgeTypeService.java @@ -0,0 +1,149 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base.jx; + +import cn.estsh.i3plus.ext.mes.api.base.jx.IJxRepairJudgeTypeService; +import cn.estsh.i3plus.ext.mes.pojo.bean.MesRepairJudgeType; +import cn.estsh.i3plus.ext.mes.pojo.model.BatchIdModel; +import cn.estsh.i3plus.ext.mes.pojo.repository.MesRepairJudgeTypeRepository; +import cn.estsh.i3plus.ext.mes.pojo.sqlpack.MesExtHqlPack; +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtEnumUtil; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.common.PagerHelper; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.base.tool.HqlPack; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @PROJECT_NAME: i3plus-mes-panasonic-jx + * @DESCRIPTION: + * @USER: xinwang.yi + * @DATE: 2023-11-13 11:53 + */ +public class JxMesRepairJudgeTypeService implements IJxRepairJudgeTypeService { + + @Autowired + private MesRepairJudgeTypeRepository repairJudgeTypeRepository; + + @Override + public ListPager queryRepairJudgeTypePager(MesRepairJudgeType model, Pager pager) { + DdlPackBean hqlPack = MesExtHqlPack.getRepairJudgeType(model); + pager = PagerHelper.getPager(pager, repairJudgeTypeRepository.findByHqlWhereCount(hqlPack)); + hqlPack.setOrderByStr(" order by seq asc "); + return new ListPager(repairJudgeTypeRepository.findByHqlWherePage(hqlPack, pager), pager); + } + + @Override + public MesRepairJudgeType insertRepairJudgeType(MesRepairJudgeType model) { + //数据唯一性校验 + StringBuffer whereStr = new StringBuffer(); + + // 封装唯一校验查询条件 + HqlPack.getStringEqualPack(model.getOrganizeCode(), MesExtConstWords.ORGANIZE_CODE, whereStr); + HqlPack.getStringEqualPack(model.getRepairJudgeCode(), MesExtConstWords.REPAIR_JUDGE_CODE, whereStr); + + if (repairJudgeTypeRepository.isExitByHqlWhere(whereStr.toString())) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("维修判定类型代码【%s】在维修判定类型信息中已存在" + , model.getRepairJudgeCode()) + .setErrorSolution("请更换新增参数") + .build(); + } + + ConvertBean.serviceModelInitialize(model, AuthUtil.getSessionUser().getUserName()); + return repairJudgeTypeRepository.insert(model); + } + + @Override + public void updateRepairJudgeType(MesRepairJudgeType model) { + MesRepairJudgeType repairJudgeTypeDb = repairJudgeTypeRepository.getById(model.getId()); + + if (null == repairJudgeTypeDb) + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("ID[%s]记录不存在", model.getId()) + .build(); + + // 封装唯一校验查询条件 + DdlPackBean packBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(model.getRepairJudgeCode(), MesExtConstWords.REPAIR_JUDGE_CODE, packBean); + MesRepairJudgeType repairJudgeTypeDbIsExist = repairJudgeTypeRepository.getByProperty(packBean); + + if (null != repairJudgeTypeDbIsExist && repairJudgeTypeDbIsExist.getId().compareTo(repairJudgeTypeDbIsExist.getId()) != 0) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("维修判定类型代码【%s】在维修判定类型启用或禁用数据中已存在" + , model.getRepairJudgeCode()) + .setErrorSolution("请更换新增参数") + .build(); + } + + repairJudgeTypeDb.setRepairJudgeCode(model.getRepairJudgeCode()); + repairJudgeTypeDb.setRepairJudgeName(model.getRepairJudgeName()); + repairJudgeTypeDb.setSeq(model.getSeq()); + repairJudgeTypeDb.setSystemSyncStatus(MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue()); + + ConvertBean.serviceModelUpdate(repairJudgeTypeDb, model.getModifyUser()); + repairJudgeTypeRepository.save(repairJudgeTypeDb); + } + + @Override + public int updateRepairJudgeTypeValidById(BatchIdModel model, String userName) { + StringBuffer wheres = new StringBuffer(); + HqlPack.getInPack(String.join(",", model.getIds()), MesExtConstWords.ID, wheres); + + int num = repairJudgeTypeRepository.updateByHqlWhere( + wheres.toString(), + new String[]{MesExtConstWords.SYSTEM_SYNC_STATUS, MesExtConstWords.IS_VALID, MesExtConstWords.MODIFY_USER, MesExtConstWords.MODIFY_DATE_TIME}, + new Object[]{MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue(), model.getStatus(), userName, TimeTool.getNowTime(true)} + ); + return num; + } + + @Override + public int deleteRepairJudgeTypeValidById(BatchIdModel model, String userName) { + StringBuffer wheres = new StringBuffer(); + HqlPack.getInPack(String.join(",", model.getIds()), MesExtConstWords.ID, wheres); + + int num = repairJudgeTypeRepository.updateByHqlWhere( + wheres.toString(), + new String[]{MesExtConstWords.SYSTEM_SYNC_STATUS, MesExtConstWords.IS_VALID, MesExtConstWords.MODIFY_USER, MesExtConstWords.MODIFY_DATE_TIME}, + new Object[]{MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), userName, TimeTool.getNowTime(true)} + ); + return num; + } + + @Override + public List queryRepairJudgeList(String organizeCode) { + + return repairJudgeTypeRepository.findByProperty( + new String[]{MesExtConstWords.ORGANIZE_CODE, MesExtConstWords.IS_DELETED, MesExtConstWords.IS_VALID}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue()}); + } + + @Override + public Map queryRepairJudgeMap(String organizeCode) { + List mesRepairJudgeTypes = queryRepairJudgeList(organizeCode); + return CollectionUtils.isEmpty(mesRepairJudgeTypes) ? null : + mesRepairJudgeTypes.stream().collect(Collectors.toMap( + MesRepairJudgeType::getRepairJudgeCode, MesRepairJudgeType::getRepairJudgeName, (x,y) -> y)); + } + + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/jx/ManageCodeService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/jx/ManageCodeService.java index e0db1cd..389f8ed 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/jx/ManageCodeService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/jx/ManageCodeService.java @@ -16,7 +16,6 @@ import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.HqlPack; -import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellRepository; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import org.springframework.beans.factory.annotation.Autowired; @@ -109,8 +108,17 @@ public class ManageCodeService implements IManageCodeService { } @Override - public void deleteWeaklyMesManageCodeByIds(Long[] ids, String userName) { - mesManageCodeRDao.deleteWeaklyByIds(ids, userName); + public int deleteWeaklyMesManageCodeByIds(String[] ids, String userName) { + + StringBuffer wheres = new StringBuffer(); + HqlPack.getInPack(String.join(",", ids), MesExtConstWords.ID, wheres); + + int num = mesManageCodeRDao.updateByHqlWhere( + wheres.toString(), + new String[]{MesExtConstWords.SYSTEM_SYNC_STATUS, MesExtConstWords.IS_VALID, MesExtConstWords.MODIFY_USER, MesExtConstWords.MODIFY_DATE_TIME}, + new Object[]{MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), userName, TimeTool.getNowTime(true)} + ); + return num; } @Override diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/SxBadStatisticsReportFormService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/SxBadStatisticsReportFormService.java index c391ecc..a5599b7 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/SxBadStatisticsReportFormService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/SxBadStatisticsReportFormService.java @@ -108,16 +108,16 @@ public class SxBadStatisticsReportFormService implements ISxBadStatisticsReportF List itemOutPutStatisticsList = CollectionUtils.isEmpty(outPutStatisticsMap) ? null : outPutStatisticsMap.get(key); //总产量 result.setQty(getQty(itemOutPutStatisticsList)); - //误判数 - result.setMisjudgeQty(getBadQtyByType(itemList, MesExtEnumUtil.REPAIR_JUDGE.MISJUDGE.getValue())); - //误判率 - result.setMisjudgeRate(getRateDecimalOne(result.getMisjudgeQty(), result.getQty())); - //部品不良数 - result.setPartsBadQty(getBadQtyByType(itemList, MesExtEnumUtil.REPAIR_JUDGE.PARTS_BAD.getValue())); - //部品不良率 - result.setPartsBadRate(getRateDecimalOne(result.getPartsBadQty(), result.getQty())); - //作业不良数 - result.setTaskBadQty(getBadQtyByType(itemList, MesExtEnumUtil.REPAIR_JUDGE.TASK_BAD.getValue())); + ////误判数 + //result.setMisjudgeQty(getBadQtyByType(itemList, MesExtEnumUtil.REPAIR_JUDGE.MISJUDGE.getValue())); + ////误判率 + //result.setMisjudgeRate(getRateDecimalOne(result.getMisjudgeQty(), result.getQty())); + ////部品不良数 + //result.setPartsBadQty(getBadQtyByType(itemList, MesExtEnumUtil.REPAIR_JUDGE.PARTS_BAD.getValue())); + ////部品不良率 + //result.setPartsBadRate(getRateDecimalOne(result.getPartsBadQty(), result.getQty())); + ////作业不良数 + //result.setTaskBadQty(getBadQtyByType(itemList, MesExtEnumUtil.REPAIR_JUDGE.TASK_BAD.getValue())); //作业不良率 result.setTaskBadRate(getRateDecimalOne(result.getTaskBadQty(), result.getQty())); //总不良率 @@ -142,9 +142,9 @@ public class SxBadStatisticsReportFormService implements ISxBadStatisticsReportF .thenComparing(ProjectBadPerformanceReportModel::getWorkCenterCode)).collect(Collectors.toList()); } - private Double getBadQtyByType(List itemList, Integer type) { + private Double getBadQtyByType(List itemList, String type) { List list = CollectionUtils.isEmpty(itemList) ? null : - itemList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getRepairJudge()) && o.getRepairJudge().compareTo(type) == 0)).collect(Collectors.toList()); + itemList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getRepairJudgeCode()) && o.getRepairJudgeCode().compareTo(type) == 0)).collect(Collectors.toList()); return CollectionUtils.isEmpty(list) ? new Double(0) : new Double(list.size()); } @@ -366,7 +366,7 @@ public class SxBadStatisticsReportFormService implements ISxBadStatisticsReportF if (null != item) { item.setApprovalStatusName(!StringUtils.isEmpty(item.getApprovalStatus()) ? MesExtEnumUtil.BAD_CELL_DETAIL_APPROVAL_STATUS.valueOfDescription(item.getApprovalStatus()) : null); item.setRepairStatusName(!StringUtils.isEmpty(item.getRepairStatus()) ? MesExtEnumUtil.REPAIR_STATUS.valueOfDescription(item.getRepairStatus()) : null); - item.setRepairJudgeName(!StringUtils.isEmpty(item.getRepairJudge()) ? MesExtEnumUtil.REPAIR_JUDGE.valueOfDescription(item.getRepairJudge()) : null); + //item.setRepairJudgeName(!StringUtils.isEmpty(item.getRepairJudge()) ? MesExtEnumUtil.REPAIR_JUDGE.valueOfDescription(item.getRepairJudge()) : null); } } } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/bu3/SxProdDataToSoftAdapterStrategyBlslService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/bu3/SxProdDataToSoftAdapterStrategyBlslService.java index a31e9cc..7db4722 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/bu3/SxProdDataToSoftAdapterStrategyBlslService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/bu3/SxProdDataToSoftAdapterStrategyBlslService.java @@ -100,7 +100,7 @@ public class SxProdDataToSoftAdapterStrategyBlslService implements ISxProdDataTo if (null != centerArr && centerArr.length >= 3) result.setDontClass(centerArr[2]); if (StringUtils.isEmpty(result.getSerialNumber())) result.setSerialNumber(MesExtConstWords.EMPTY); if (StringUtils.isEmpty(result.getDefectType())) result.setDefectType(MesExtConstWords.EMPTY); - result.setRepairJudgeName(StringUtils.isEmpty(result.getRepairJudge()) ? null : MesExtEnumUtil.REPAIR_JUDGE.valueOfDescription(result.getRepairJudge())); + //result.setRepairJudgeName(StringUtils.isEmpty(result.getRepairJudge()) ? null : MesExtEnumUtil.REPAIR_JUDGE.valueOfDescription(result.getRepairJudge())); result.setRepairStatusName(MesExtEnumUtil.REPAIR_STATUS.REPAIRED.getDescription()); result.setCreateDate(!StringUtils.isEmpty(result.getCreateDatetime()) ? result.getCreateDatetime().substring(0, 10) : null); result.setModifyDate(!StringUtils.isEmpty(result.getModifyDatetime()) ? result.getModifyDatetime().substring(0, 10) : null); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxProductReportService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxProductReportService.java new file mode 100644 index 0000000..63450e1 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxProductReportService.java @@ -0,0 +1,86 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi.jx; + +import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxProductReportService; +import cn.estsh.i3plus.ext.mes.pojo.bean.MesPartExt; +import cn.estsh.i3plus.ext.mes.pojo.bean.MesProdBindRecordExt; +import cn.estsh.i3plus.ext.mes.pojo.repository.MesPartExtRepository; +import cn.estsh.i3plus.ext.mes.pojo.repository.MesProdBindRecordExtRepository; +import cn.estsh.i3plus.ext.mes.pojo.repository.MesProduceSnExtRepository; +import cn.estsh.i3plus.ext.mes.pojo.sqlpack.MesExtHqlPack; +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.common.PagerHelper; +import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.base.util.StringUtil; +import cn.estsh.i3plus.pojo.mes.bean.MesPart; +import cn.estsh.i3plus.pojo.mes.bean.MesProdBindRecord; +import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; +import cn.estsh.i3plus.pojo.mes.sqlpack.MesHqlPack; +import org.apache.shiro.util.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +/** + * @PROJECT_NAME: i3plus-mes-panasonic-jx + * @DESCRIPTION: + * @USER: xinwang.yi + * @DATE: 2023-11-13 17:06 + */ +@Service +public class JxProductReportService implements IJxProductReportService { + + @Autowired + private MesPartExtRepository partExtRepository; + + @Autowired + private MesProdBindRecordExtRepository prodBindRecordExtRepository; + + @Override + public ListPager queryMesProdBindRecordByPager(MesProdBindRecordExt prodBindRecordExtExt, Pager pager) { + DdlPackBean hqlPack = MesExtHqlPack.getMesProdBindRecordExt(prodBindRecordExtExt); + int count = prodBindRecordExtRepository.findByHqlWhereCount(hqlPack); + pager = PagerHelper.getPager(pager, count); + hqlPack.setOrderByStr(prodBindRecordExtExt.orderBy()); + List prodBindRecordExts = prodBindRecordExtRepository.findByHqlWherePage(hqlPack, pager); + if (CollectionUtils.isEmpty(prodBindRecordExts)) { + return new ListPager(prodBindRecordExts, pager); + } + + // 去重并获取物料代码 + Set itemPartNoSet = prodBindRecordExts.stream().map(MesProdBindRecord::getItemPartNo).collect(Collectors.toSet()); + Set partNoSet = prodBindRecordExts.stream().map(MesProdBindRecord::getPartNo).collect(Collectors.toSet()); + + partNoSet.addAll(itemPartNoSet); + DdlPackBean packBean = DdlPackBean.getDdlPackBean(prodBindRecordExtExt.getOrganizeCode()); + DdlPreparedPack.getInPackList(new ArrayList<>(partNoSet), MesExtConstWords.PART_NO, packBean); + List parts = partExtRepository.findByHqlWhere(packBean); + Map partMap = parts.stream().collect(Collectors.toMap(MesPartExt::getPartNo, MesPartExt::getPartName)); + + for (MesProdBindRecordExt mesProdBindRecord : prodBindRecordExts) { + if (!CollectionUtils.isEmpty(partMap)) { + if (!StringUtil.isEmpty(mesProdBindRecord.getPartNo()) && partMap.containsKey(mesProdBindRecord.getPartNo())) { + mesProdBindRecord.setPartName(partMap.get(mesProdBindRecord.getPartNo())); + } + if (!StringUtil.isEmpty(mesProdBindRecord.getItemPartNo()) && partMap.containsKey(mesProdBindRecord.getItemPartNo())) { + mesProdBindRecord.setItemPartName(partMap.get(mesProdBindRecord.getItemPartNo())); + } + } + mesProdBindRecord.setActionTypeName(StringUtil.isEmpty(mesProdBindRecord.getActionType()) ? + null : MesEnumUtil.MES_ACTION_TYPE.valueOfDescription(mesProdBindRecord.getActionType())); + mesProdBindRecord.setIsBindKeyName(mesProdBindRecord.getIsBindKey() == null ? + null : MesEnumUtil.MES_IS_BIND_KEY.valueOfDescription(mesProdBindRecord.getIsBindKey())); + } + + return new ListPager(prodBindRecordExts, pager); + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/jx/RepairJudgeTypeExcelService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/jx/RepairJudgeTypeExcelService.java new file mode 100644 index 0000000..32f78ed --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/jx/RepairJudgeTypeExcelService.java @@ -0,0 +1,215 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.excel.jx; + +import cn.estsh.i3plus.ext.mes.api.base.IExcelImportExtService; +import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base.CommonExtService; +import cn.estsh.i3plus.ext.mes.pojo.bean.MesRepairJudgeType; +import cn.estsh.i3plus.ext.mes.pojo.model.ExcelImportErrorExtModel; +import cn.estsh.i3plus.ext.mes.pojo.model.ExcelImportResultExtModel; +import cn.estsh.i3plus.ext.mes.pojo.repository.MesRepairJudgeTypeRepository; +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtEnumUtil; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.util.MesConstWords; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @Description : 维修判定类型导入 + * @Reference : + * @Author : xinwang.yi + * @CreateDate : 2023-10-23 + * @Modify: + **/ +@Service +public class RepairJudgeTypeExcelService implements IExcelImportExtService { + + @Autowired + private MesRepairJudgeTypeRepository repairJudgeTypeRepository; + + @Autowired + private CommonExtService commonExtService; + + /** + * 维修判定类型配置导入 + * + * @param workbook + * @param organizeCode + * @param userName + * @return + */ + @Override + public ExcelImportResultExtModel insertDataByExcel(Workbook workbook, String organizeCode, String userName) { + //读取表格 + ExcelImportResultExtModel excelImportResultExtModel = this.sheetExtractMesRepairJudgeType(workbook.getSheetAt(0), organizeCode, userName); + //数据入库 + this.insertExcelMesRepairJudgeType(excelImportResultExtModel); + return excelImportResultExtModel; + } + + /** + * 维修判定类型配置导入-读取表格 + * + * @param sheetAt + * @param organizeCode + * @param userName + * @return + */ + private ExcelImportResultExtModel sheetExtractMesRepairJudgeType(Sheet sheetAt, String organizeCode, String userName) { + //从0行开始读取 + int totalNumberOfRows = sheetAt.getLastRowNum() + 1; + + //MesRepairJudgeType集合 + List repairJudgeTypeList = new ArrayList<>(); + + //成功数量 + Integer successRowNum = 0; + //失败数量 + Integer failRowNum = 0; + //错误的行号 + String errorRows = ""; + + //错误行信息集合 + List excelImportErrorExtModels = new ArrayList<>(); + + //用于EXCEL表中的 维修判定类型 唯一校验 + Map repairJudgeTypeByOnlyMap = new HashMap<>(); + + //根据维修判定类型 查询替代料中是否存在数据 + List repairJudgeTypeDbList = repairJudgeTypeRepository.findByProperty( + new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()}); + Map repairJudgeTypeMapByCode = CollectionUtils.isEmpty(repairJudgeTypeDbList) ? null : + repairJudgeTypeDbList.stream().filter(o -> null != o).collect(Collectors.toMap(MesRepairJudgeType::getRepairJudgeCode, Function.identity(), (x,y) -> y)); + + //从excel表的第5行数据开始导入,getFirstRowNum是从0行开始读取 + for (int i = (sheetAt.getFirstRowNum() + 4); i < totalNumberOfRows; i++) { + Row row = sheetAt.getRow(i); + //空行跳过 + if (null == row) { + continue; + } + //获取总列数 + Short lastCellNum = row.getLastCellNum(); + if (lastCellNum > 0) { + + int rowNum = i + 1; //当前行号 + int errorNum = 0; //错误数量 + String cellNum = ""; //错误列号 + String errorInfo = ""; //错误信息 + + //维修判定类型代码 + try { + //第一列必须有值,否则跳过 + row.getCell(0).setCellType(CellType.STRING); + } catch (Exception e) { + continue; + } + String repairJudgeTypeCode = row.getCell(0, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).getStringCellValue().trim(); + + + //维修判定类型名称 + String repairJudgeTypeName = null; + try { + row.getCell(1).setCellType(CellType.STRING); + repairJudgeTypeName = row.getCell(1, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).getStringCellValue().trim(); + } catch (Exception e) { + } + + //序号 + String seq = null; + try { + row.getCell(2).setCellType(CellType.STRING); + seq = row.getCell(2, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).getStringCellValue().trim(); + } catch (Exception e) { + } + + String key = repairJudgeTypeCode; + + Boolean isExist = false; + + //校验唯一性 不重复 + if (!repairJudgeTypeByOnlyMap.containsKey(key)) { + repairJudgeTypeByOnlyMap.put(key, String.valueOf(rowNum)); + //根据维修判定类型查询替代信息中是否存在数据 + + if (StringUtils.isEmpty(errorInfo) && !CollectionUtils.isEmpty(repairJudgeTypeMapByCode) && repairJudgeTypeMapByCode.containsKey(key)) { + errorNum++; + cellNum += "A;"; + errorInfo += "第A列数据已经存在数据库;"; + } + + //校验是否已经存在数据库 + if (!CollectionUtils.isEmpty(repairJudgeTypeMapByCode) && repairJudgeTypeMapByCode.containsKey(key)) isExist = true; + } else { + errorNum++; + cellNum += "A;"; + errorInfo += "第A列数据跟第" + repairJudgeTypeByOnlyMap.get(key) + + "行的第A列数据重复;"; + } + + //没有错误的时候,封装MesRepairJudgeType + if (errorNum == 0) { + MesRepairJudgeType repairJudgeType; + if (isExist) { + repairJudgeType = repairJudgeTypeMapByCode.get(key); + ConvertBean.serviceModelUpdate(repairJudgeType, userName); + + } else { + repairJudgeType = new MesRepairJudgeType(); + ConvertBean.serviceModelInitialize(repairJudgeType, userName); + repairJudgeType.setRepairJudgeCode(repairJudgeTypeCode); + + } + + repairJudgeType.setRepairJudgeName(repairJudgeTypeName); + repairJudgeType.setSeq(seq); + repairJudgeType.setSystemSyncStatus(MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue()); + + repairJudgeTypeList.add(repairJudgeType); + + successRowNum++; + } else { + //封装错误行信息ExcelImportErrorExtModel + excelImportErrorExtModels = commonExtService.getExcelImportErrorModels(excelImportErrorExtModels, rowNum, errorNum, cellNum, errorInfo); + + errorRows += rowNum + ";"; + failRowNum++; + } + } + } + + //校验EXCEL数据 + commonExtService.checkExcelData(failRowNum, successRowNum, errorRows); + + //封装返回结果 + ExcelImportResultExtModel excelImportResultExtModel = commonExtService.getExcelImportResultModel(failRowNum, successRowNum, excelImportErrorExtModels, errorRows); + excelImportResultExtModel.setExcelList((failRowNum > 0) ? null : repairJudgeTypeList); + return excelImportResultExtModel; + } + + /** + * 维修判定类型导入-数据入库 + * + * @param excelImportResultExtModel + */ + private void insertExcelMesRepairJudgeType(ExcelImportResultExtModel excelImportResultExtModel) { + //导入数据 + if (null != excelImportResultExtModel) { + List repairJudgeTypeList = excelImportResultExtModel.getExcelList(); + if (!CollectionUtils.isEmpty(repairJudgeTypeList)) repairJudgeTypeRepository.saveAll(repairJudgeTypeList); + } + } +} diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesOrderJob.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesOrderJob.java index 57b51e1..66ab896 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesOrderJob.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesOrderJob.java @@ -113,6 +113,19 @@ public class MesOrderJob extends BaseBean implements Serializable { @ApiParam("工位集合") private String cellCollect; + @Lob + @Column(name = "CLOSE_REASON") + @ApiParam("关闭原因") + private String closeReason; + + @Column(name = "CLOSE_TIME") + @ApiParam("关闭时间") + private String closeTime; + + @Column(name = "CLOSE_USER") + @ApiParam("关闭人") + private String closeUser; + @Transient @ApiParam("生成时间开始") private String generateTimeStart; diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesRepairJudgeType.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesRepairJudgeType.java new file mode 100644 index 0000000..59fbaf3 --- /dev/null +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesRepairJudgeType.java @@ -0,0 +1,54 @@ +package cn.estsh.i3plus.ext.mes.pojo.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.ColumnDefault; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Index; +import javax.persistence.Table; +import java.io.Serializable; + +/** + * @PROJECT_NAME: i3plus-mes-panasonic-jx + * @DESCRIPTION: 维修判定类型 + * @USER: xinwang.yi + * @DATE: 2023-11-13 11:45 + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "MES_REPAIR_JUDGE_TYPE", indexes = { + @Index(columnList = "REPAIR_JUDGE_CODE") +}) +@Api("维修判定类型") +public class MesRepairJudgeType extends BaseBean implements Serializable { + + private static final long serialVersionUID = 9046361474577275908L; + + @Column(name = "REPAIR_JUDGE_CODE") + @ApiParam("维修判定代码") + private String repairJudgeCode; + + @Column(name = "REPAIR_JUDGE_NAME") + @ApiParam("维修判定名称") + private String repairJudgeName; + + @Column(name = "SEQ") + @ApiParam("排序") + private String seq; + + @Column(name = "SYSTEM_SYNC_STATUS") + @ColumnDefault("2") + @ApiParam(value = "系统同步标志") + public Integer systemSyncStatus = 2; + +} diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesRepairRecordExt.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesRepairRecordExt.java index 67005a8..96dabb6 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesRepairRecordExt.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesRepairRecordExt.java @@ -38,10 +38,19 @@ public class MesRepairRecordExt extends MesRepairRecord implements Serializable @Column(name = "WORK_ORDER_NO") private String workOrderNo; - //枚举:10=误判/20=部品不良/30=工程不良 - @Column(name = "REPAIR_JUDGE") - @ApiParam("维修判定") - private Integer repairJudge; + //枚举:由维修判定类型页面维护 + //@Column(name = "REPAIR_JUDGE") + //@ApiParam("维修判定") + //private String repairJudge; + + //枚举:由维修判定类型页面维护 + @Column(name = "REPAIR_JUDGE_CODE") + @ApiParam("维修判定代码") + private String repairJudgeCode; + + @Column(name = "REPAIR_JUDGE_NAME") + @ApiParam("维修判定名称") + private String repairJudgeName; @Column(name = "REPAIR_DATE_TIME") @ApiParam("维修时间") diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/SxOrderJobModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/SxOrderJobModel.java index d53b997..012c0be 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/SxOrderJobModel.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/SxOrderJobModel.java @@ -95,4 +95,13 @@ public class SxOrderJobModel implements Serializable { @ApiParam("是否手动创建 10手动创建 20自动创建") private String handlerMethodName; + @ApiParam("关闭原因") + private String closeReason; + + @ApiParam("关闭时间") + private String closeTime; + + @ApiParam("关闭人") + private String closeUser; + } diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/SxRepairRecordReportModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/SxRepairRecordReportModel.java index aee9a43..0c1d9bf 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/SxRepairRecordReportModel.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/SxRepairRecordReportModel.java @@ -99,7 +99,7 @@ public class SxRepairRecordReportModel implements Serializable { private String memo; @ApiParam("维修判定") - private Integer repairJudge; + private String repairJudgeCode; @ApiParam("维修判定描述") private String repairJudgeName; @@ -118,7 +118,8 @@ public class SxRepairRecordReportModel implements Serializable { public SxRepairRecordReportModel(Long id, String workTime, String shiftCode, String workOrderNo, String workCenterCode, String workCellCode, String serialNumber, String productSn, String partNo, String partNameRdd, String defectCode, String defectName, String defectType, String defectTypeName, String defectActionTime, Integer repairStatus, String createUser, String dcCode, String dcName, - String repairCode, String repairName, Integer approvalStatus,String memo, Integer repairJudge, String repairDatetime, String modifyUser) { + String repairCode, String repairName, Integer approvalStatus,String memo, String repairJudgeCode, String repairJudgeName, + String repairDatetime, String modifyUser) { this.id = id; this.workTime = workTime; this.shiftCode = shiftCode; @@ -142,7 +143,8 @@ public class SxRepairRecordReportModel implements Serializable { this.repairName = repairName; this.approvalStatus=approvalStatus; this.memo = memo; - this.repairJudge = repairJudge; + this.repairJudgeCode = repairJudgeCode; + this.repairJudgeName = repairJudgeName; this.repairDatetime = repairDatetime; this.modifyUser = modifyUser; } diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/bu3/SxProdDataBlslModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/bu3/SxProdDataBlslModel.java index d414e45..15168d2 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/bu3/SxProdDataBlslModel.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/bu3/SxProdDataBlslModel.java @@ -80,7 +80,7 @@ public class SxProdDataBlslModel implements Serializable { private String dcName; @ApiParam("维修判定") - private Integer repairJudge; + private String repairJudge; @ApiParam("维修判定") private String repairJudgeName; diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/repository/MesRepairJudgeTypeRepository.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/repository/MesRepairJudgeTypeRepository.java new file mode 100644 index 0000000..fd56854 --- /dev/null +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/repository/MesRepairJudgeTypeRepository.java @@ -0,0 +1,15 @@ +package cn.estsh.i3plus.ext.mes.pojo.repository; + +import cn.estsh.i3plus.ext.mes.pojo.bean.MesRepairJudgeType; +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import org.springframework.stereotype.Repository; + +/** + * @author xinwang.yi + * @version 1.0 + * @date 2023/11/13 9:17 + **/ +@Repository +public interface MesRepairJudgeTypeRepository extends BaseRepository { + +} diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/sqlpack/MesExtHqlPack.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/sqlpack/MesExtHqlPack.java index 4a0b0b6..af30d2b 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/sqlpack/MesExtHqlPack.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/sqlpack/MesExtHqlPack.java @@ -16,6 +16,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.*; import org.apache.commons.beanutils.ConvertUtils; +import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.util.ArrayList; @@ -879,4 +880,41 @@ public class MesExtHqlPack { return packBean; } + public static DdlPackBean getRepairJudgeType(MesRepairJudgeType model) { + DdlPackBean packBean = getAllBaseDataByNormalPro(model, model.getOrganizeCode()); + DdlPreparedPack.getStringLikerPack(model.getRepairJudgeCode(), MesExtConstWords.REPAIR_JUDGE_CODE, packBean); + DdlPreparedPack.getStringLikerPack(model.getRepairJudgeName(), MesExtConstWords.REPAIR_JUDGE_NAME, packBean); + DdlPreparedPack.getStringEqualPack(model.getSeq(), MesExtConstWords.SEQ, packBean); + return packBean; + } + + public static DdlPackBean getMesProdBindRecordExt(MesProdBindRecordExt mesProdBindRecord) { + DdlPackBean packBean = getAllBaseDataByNormalPro(mesProdBindRecord, mesProdBindRecord.getOrganizeCode()); + + DdlPreparedPack.getStringRightLikerPack(mesProdBindRecord.getItemPartNo(), MesExtConstWords.ITEM_PART_NO, packBean); + + DdlPreparedPack.getStringEqualPack(mesProdBindRecord.getSerialNumber(), MesExtConstWords.SERIAL_NUMBER, packBean); + + DdlPreparedPack.getStringEqualPack(mesProdBindRecord.getProductSn(), MesExtConstWords.PRODUCT_SN, packBean); + + DdlPreparedPack.getStringLikerPack(mesProdBindRecord.getKpSn(), "kpSn", packBean); + + DdlPreparedPack.getStringLikerPack(mesProdBindRecord.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, packBean); + + DdlPreparedPack.getStringLikerPack(mesProdBindRecord.getWorkCellCode(), MesExtConstWords.WORK_CELL_CODE, packBean); + + DdlPreparedPack.getStringLikerPack(mesProdBindRecord.getLotNo(), MesExtConstWords.LOT_NO, packBean); + + DdlPreparedPack.getNumEqualPack(mesProdBindRecord.getIsBindKey(), MesExtConstWords.IS_BIND_KEY, packBean); + + DdlPreparedPack.getNumEqualPack(mesProdBindRecord.getActionType(), "actionType", packBean); + + DdlPreparedPack.getStringLikerPack(mesProdBindRecord.getSupplierCode(), "supplierCode", packBean); + + DdlPreparedPack.timeBuilder(mesProdBindRecord.getCreateDateTimeStart(), mesProdBindRecord.getCreateDateTimeEnd(), MesExtConstWords.CREATE_DATE_TIME, packBean, true); + + return packBean; + } + + } diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java index 7820630..df6ecfa 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java @@ -883,4 +883,9 @@ public class MesExtConstWords { //检查数量 public static final String OQC_QTY = "oqcQty"; + //维修判定代码 + public static final String REPAIR_JUDGE_CODE = "repairJudgeCode"; + //维修判定名称 + public static final String REPAIR_JUDGE_NAME = "repairJudgeName"; + } diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtEnumUtil.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtEnumUtil.java index 2d479dd..5d6ba4d 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtEnumUtil.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtEnumUtil.java @@ -87,7 +87,8 @@ public class MesExtEnumUtil { MES_JX_BADNESS_TYPE(950, "jxBadnessTypeExcelService", "JX出货不良类型"), MES_JX_BADNESS_CLASSIFY(960, "jxBadnessClassifyExcelService", "JX出货不良分类"), MES_JX_BADNESS_CLASSIFY_DETAIL(970, "jxBadnessClassifyDetailExcelService", "JX不良分类明细"), - MES_WORK_CELL_EXT(980, "workCellExtExcelService", "工位信息导入"); + MES_WORK_CELL_EXT(980, "workCellExtExcelService", "工位信息导入"), + REPAIR_JUDGE_TYPE(990, "repairJudgeTypeExcelService", "返修判定类型导入"); private int value; private String service;