From 7ddd82b292e67aa7fcba17d68e67a311b69b79aa Mon Sep 17 00:00:00 2001 From: yxw Date: Tue, 24 Oct 2023 15:57:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9E=9A=E4=B8=BE=EF=BC=9A?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/base/jx/ManageCodeController.java | 117 ++++++++++ .../serviceimpl/base/jx/ManageCodeService.java | 125 +++++++++++ .../excel/jx/ManageCodeExcelService.java | 245 +++++++++++++++++++++ .../i3plus/ext/mes/pojo/sqlpack/MesExtHqlPack.java | 10 + .../i3plus/ext/mes/pojo/util/MesExtConstWords.java | 3 + .../i3plus/ext/mes/pojo/util/MesExtEnumUtil.java | 13 +- 6 files changed, 509 insertions(+), 4 deletions(-) create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/ManageCodeController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/jx/ManageCodeService.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/jx/ManageCodeExcelService.java diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/ManageCodeController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/ManageCodeController.java new file mode 100644 index 0000000..4f56fb2 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/ManageCodeController.java @@ -0,0 +1,117 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.base.jx; + +import cn.estsh.i3plus.ext.mes.api.base.jx.IManageCodeService; +import cn.estsh.i3plus.ext.mes.pojo.bean.MesManageCode; +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; +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.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.slf4j.Logger; +import org.slf4j.LoggerFactory; +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(CommonConstWords.BASE_URL_MES + "/manage-code") +public class ManageCodeController { + public static final Logger LOGGER = LoggerFactory.getLogger(ManageCodeController.class); + + @Autowired + private IManageCodeService manageCodeService; + + @PostMapping(value = "/insert") + @ApiOperation(value = "添加MES_管理码信息") + public ResultBean insertMesManageCode(MesManageCode mesManageCode) { + try { + //条件验证 + ValidatorBean.beginValid(mesManageCode) + .notNull(MesExtConstWords.MANAGE_CODE,mesManageCode.getManageCode()) + .notNull(MesExtConstWords.WORK_CENTER_CODE,mesManageCode.getWorkCenterCode()) + .notNull(MesExtConstWords.WORK_CENTER_NAME, mesManageCode.getWorkCenterName()); + mesManageCode.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + manageCodeService.insertMesManageCode(mesManageCode); + 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 updateMesManageCode(MesManageCode mesManageCode) { + try { + //条件验证 + ValidatorBean.beginValid(mesManageCode) + .notNull(MesExtConstWords.MANAGE_CODE,mesManageCode.getManageCode()) + .notNull(MesExtConstWords.WORK_CENTER_CODE,mesManageCode.getWorkCenterCode()) + .notNull(MesExtConstWords.WORK_CENTER_NAME, mesManageCode.getWorkCenterName()); + + if (mesManageCode.getId() == null || mesManageCode.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(); + } + + manageCodeService.updateMesManageCode(mesManageCode, 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") + @ApiOperation(value = "按条件分页查询MES_管理码项目信息", notes = "按条件分页查询MES_管理码项目信息") + public ResultBean queryMesManageCodeByPager(MesManageCode mesManageCode, Pager pager) { + try { + mesManageCode.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + return ResultBean.success().setListPager(manageCodeService.queryMesManageCodeByPager(mesManageCode, pager)) + .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 updateMesManageCodeStatus(String[] idsStr, int status) { + try { + ConvertBean.modelSafeArrayNumber(idsStr, true); + //登陆用户 + SessionUser user = AuthUtil.getSessionUser(); + + manageCodeService.updateMesManageCodeStatus(idsStr, status, 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); + } + } +} 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 new file mode 100644 index 0000000..63d8d3e --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/jx/ManageCodeService.java @@ -0,0 +1,125 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base.jx; + +import cn.estsh.i3plus.ext.mes.api.base.jx.IManageCodeService; +import cn.estsh.i3plus.ext.mes.pojo.bean.MesManageCode; +import cn.estsh.i3plus.ext.mes.pojo.repository.MesManageCodeRepository; +import cn.estsh.i3plus.ext.mes.pojo.sqlpack.MesExtHqlPack; +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.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.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; +import org.springframework.stereotype.Service; + +import java.util.List; +/** + * @Author: xinwang.yi + * @CreateDate: 2023/10/09 11:41 上午 + * @Description: + **/ +@Service +public class ManageCodeService implements IManageCodeService { + + @Autowired + private MesManageCodeRepository mesManageCodeRDao; + + @Override + public MesManageCode insertMesManageCode(MesManageCode mesManageCode) { + //数据唯一性校验 + StringBuffer whereStr = new StringBuffer(); + + // 封装唯一校验查询条件 + HqlPack.getStringEqualPack(mesManageCode.getOrganizeCode(), MesExtConstWords.ORGANIZE_CODE, whereStr); + HqlPack.getStringEqualPack(mesManageCode.getManageCode(), MesExtConstWords.MANAGE_CODE, whereStr); + + if (mesManageCodeRDao.isExitByHqlWhere(whereStr.toString())) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("管理码【%s】在管理码信息中已存在" + , mesManageCode.getManageCode()) + .setErrorSolution("请更换新增参数") + .build(); + } + + ConvertBean.serviceModelInitialize(mesManageCode, AuthUtil.getSessionUser().getUserName()); + return mesManageCodeRDao.insert(mesManageCode); + } + + @Override + public void updateMesManageCode(MesManageCode mesManageCode, String userName) { + MesManageCode manageCodeDb = mesManageCodeRDao.getById(mesManageCode.getId()); + + if (null == manageCodeDb) + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("ID[%s]记录不存在", manageCodeDb.getId()) + .build(); + + // 封装唯一校验查询条件 + DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesManageCode.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(mesManageCode.getOrganizeCode(), MesExtConstWords.ORGANIZE_CODE, packBean); + DdlPreparedPack.getStringEqualPack(mesManageCode.getManageCode(), MesExtConstWords.MANAGE_CODE, packBean); + MesManageCode manageCodeDbIsExist = mesManageCodeRDao.getByProperty(packBean); + + if (null != manageCodeDbIsExist && manageCodeDbIsExist.getId().compareTo(manageCodeDbIsExist.getId()) != 0) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("管理码【%s】在管理码信息启用或禁用数据中已存在" + , mesManageCode.getManageCode()) + .setErrorSolution("请更换新增参数") + .build(); + } + + manageCodeDb.setWorkCenterCode(mesManageCode.getWorkCenterCode()); + manageCodeDb.setWorkCenterName(mesManageCode.getWorkCenterName()); + + ConvertBean.serviceModelUpdate(manageCodeDb, userName); + mesManageCodeRDao.save(manageCodeDb); + } + + @Override + public ListPager queryMesManageCodeByPager(MesManageCode mesManageCode, Pager pager) { + if (mesManageCode == null) { + pager = PagerHelper.getPager(pager, mesManageCodeRDao.listCount()); + return new ListPager(mesManageCodeRDao.listPager(pager), pager); + } else { + + DdlPackBean hqlPack = MesExtHqlPack.getMesManageCode(mesManageCode); + hqlPack.setOrderByStr(mesManageCode.orderBy()); + pager = PagerHelper.getPager(pager, mesManageCodeRDao.findByHqlWhereCount(hqlPack)); + List byHqlWherePage = mesManageCodeRDao.findByHqlWherePage(hqlPack, pager); + return new ListPager(byHqlWherePage, pager); + } + } + + @Override + public void deleteWeaklyMesManageCodeByIds(Long[] ids, String userName) { + mesManageCodeRDao.deleteWeaklyByIds(ids, userName); + } + + @Override + public int updateMesManageCodeStatus(String[] ids, int status, String userName) { + StringBuffer wheres = new StringBuffer(); + HqlPack.getInPack(String.join(",", ids), MesExtConstWords.ID, wheres); + + int num = mesManageCodeRDao.updateByHqlWhere( + wheres.toString(), + new String[]{MesExtConstWords.IS_VALID, MesExtConstWords.MODIFY_USER, MesExtConstWords.MODIFY_DATE_TIME}, + new Object[]{status, userName, TimeTool.getNowTime(true)} + ); + return num; + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/jx/ManageCodeExcelService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/jx/ManageCodeExcelService.java new file mode 100644 index 0000000..c3adaa4 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/jx/ManageCodeExcelService.java @@ -0,0 +1,245 @@ +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.MesManageCode; +import cn.estsh.i3plus.ext.mes.pojo.bean.MesWorkCenterExt; +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.MesManageCodeRepository; +import cn.estsh.i3plus.ext.mes.pojo.repository.MesWorkCenterExtRepository; +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.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.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @Description : 管理码导入 + * @Reference : + * @Author : xinwang.yi + * @CreateDate : 2023-10-23 + * @Modify: + **/ +@Service +public class ManageCodeExcelService implements IExcelImportExtService { + + @Autowired + private MesManageCodeRepository manageCodeRepository; + + @Autowired + private MesWorkCenterExtRepository workCenterExtRepository; + + @Autowired + private CommonExtService commonExtService; + + /** + * 管理码配置导入 + * + * @param workbook + * @param organizeCode + * @param userName + * @return + */ + @Override + public ExcelImportResultExtModel insertDataByExcel(Workbook workbook, String organizeCode, String userName) { + //读取表格 + ExcelImportResultExtModel excelImportResultExtModel = this.sheetExtractMesManageCode(workbook.getSheetAt(0), organizeCode, userName); + //数据入库 + this.insertExcelMesManageCode(excelImportResultExtModel); + return excelImportResultExtModel; + } + + /** + * 管理码配置导入-读取表格 + * + * @param sheetAt + * @param organizeCode + * @param userName + * @return + */ + private ExcelImportResultExtModel sheetExtractMesManageCode(Sheet sheetAt, String organizeCode, String userName) { + //从0行开始读取 + int totalNumberOfRows = sheetAt.getLastRowNum() + 1; + + //MesManageCode集合 + List mesManageCodeList = new ArrayList<>(); + + //成功数量 + Integer successRowNum = 0; + //失败数量 + Integer failRowNum = 0; + //错误的行号 + String errorRows = ""; + + //错误行信息集合 + List excelImportErrorExtModels = new ArrayList<>(); + + //用于EXCEL表中的 管理码 唯一校验 + Map manageCodeByOnlyMap = new HashMap<>(); + + //根据管理码 查询替代料中是否存在数据 + List manageCodeList = manageCodeRepository.findByProperty( + new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()}); + Map manageCodeMap = CollectionUtils.isEmpty(manageCodeList) ? null : + manageCodeList.stream().filter(o -> null != o).collect(Collectors.toMap(MesManageCode::getManageCode, Function.identity(), (x,y) -> y)); + + List workCenterList = workCenterExtRepository.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()}); + Map workCenterCodeMap = CollectionUtils.isEmpty(workCenterList) ? null : + workCenterList.stream().filter(o -> null != o).collect(Collectors.toMap(MesWorkCenterExt::getWorkCenterCode, 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 manageCode = row.getCell(0, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).getStringCellValue().trim(); + + + //产线代码 + String workCenterCode = null; + String workCenterName = null; + try { + row.getCell(1).setCellType(CellType.STRING); + workCenterCode = row.getCell(1, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).getStringCellValue().trim(); + } catch (Exception e) { + } + + //校验管理码 + if (!StringUtils.isEmpty(manageCode)) { + if (!manageCodeMap.containsKey(manageCode)) { + errorNum++; + cellNum += "A;"; + errorInfo += "第A列数据无效;"; + } + } else { + errorNum++; + cellNum += "A;"; + errorInfo += "第A列数据必填;"; + } + + //产线代码 + if (StringUtils.isEmpty(workCenterCode)) { + errorNum++; + cellNum += "B;"; + errorInfo += "第B列数据必填;"; + } else if ((CollectionUtils.isEmpty(workCenterCodeMap)) || (!workCenterCodeMap.containsKey(workCenterCode))){ + errorNum++; + cellNum += "B;"; + errorInfo += "第B列数据无效;"; + } else { + workCenterName = workCenterCodeMap.get(workCenterCode).getWorkCenterName(); + } + + String key = manageCode; + + Boolean isExist = false; + + //校验唯一性 不重复 + if (!manageCodeByOnlyMap.containsKey(key)) { + manageCodeByOnlyMap.put(key, String.valueOf(rowNum)); + //根据管理码查询替代信息中是否存在数据 + + if (StringUtils.isEmpty(errorInfo) && !CollectionUtils.isEmpty(manageCodeMap) && manageCodeMap.containsKey(key)) { + errorNum++; + cellNum += "A;"; + errorInfo += "第A列数据已经存在数据库;"; + } + + //校验是否已经存在数据库 + if (!CollectionUtils.isEmpty(manageCodeMap) && manageCodeMap.containsKey(key)) isExist = true; + } else { + errorNum++; + cellNum += "A;"; + errorInfo += "第A列数据跟第" + manageCodeByOnlyMap.get(key) + + "行的第A列数据重复;"; + } + + //没有错误的时候,封装MesManageCode + if (errorNum == 0) { + MesManageCode mesManageCode; + if (isExist) { + mesManageCode = manageCodeMap.get(key); + ConvertBean.serviceModelUpdate(mesManageCode, userName); + + } else { + mesManageCode = new MesManageCode(); + ConvertBean.serviceModelInitialize(mesManageCode, userName); + mesManageCode.setManageCode(manageCode); + + } + + mesManageCode.setWorkCenterCode(workCenterCode); + mesManageCode.setWorkCenterName(workCenterName); + mesManageCode.setSystemSyncStatus(MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue()); + + mesManageCodeList.add(mesManageCode); + + 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 : mesManageCodeList); + return excelImportResultExtModel; + } + + /** + * 管理码导入-数据入库 + * + * @param excelImportResultExtModel + */ + private void insertExcelMesManageCode(ExcelImportResultExtModel excelImportResultExtModel) { + //导入数据 + if (null != excelImportResultExtModel) { + List processTorqueManageList = excelImportResultExtModel.getExcelList(); + if (!CollectionUtils.isEmpty(processTorqueManageList)) manageCodeRepository.saveAll(processTorqueManageList); + } + } +} 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 e335fb9..9e9d053 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 @@ -786,6 +786,7 @@ public class MesExtHqlPack { DdlPreparedPack.getStringLikerPack(torqueManage.getPartNo(), MesExtConstWords.PART_NO, packBean); DdlPreparedPack.getStringLikerPack(torqueManage.getProcessCode(), MesExtConstWords.PROCESS_CODE, packBean); DdlPreparedPack.getStringLikerPack(torqueManage.getFasteningPosition(), MesExtConstWords.FASTENING_POSITION, packBean); + DdlPreparedPack.getStringLikerPack(torqueManage.getSpecification(), MesExtConstWords.SPECIFICATION, packBean); DdlPreparedPack.getNumEqualPack(torqueManage.getIsValid(), MesExtConstWords.IS_VALID, packBean); return packBean; } @@ -796,6 +797,7 @@ public class MesExtHqlPack { DdlPreparedPack.getStringLikerPack(torqueManageTaskDetail.getProcessCode(), MesExtConstWords.PROCESS_CODE, packBean); DdlPreparedPack.getStringLikerPack(torqueManageTaskDetail.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, packBean); DdlPreparedPack.getStringEqualPack(torqueManageTaskDetail.getShiftCode(), MesExtConstWords.SHIFT_CODE, packBean); + DdlPreparedPack.getStringLikerPack(torqueManageTaskDetail.getSpecification(), MesExtConstWords.SPECIFICATION, packBean); DdlPreparedPack.getNumEqualPack(torqueManageTaskDetail.getCheckResult(), MesExtConstWords.CHECK_RESULT, packBean); if (!StringUtils.isEmpty(torqueManageTaskDetail.getCheckTimeStart()) || !StringUtils.isEmpty(torqueManageTaskDetail.getCheckTimeEnd())) { DdlPreparedPack.timeBuilder(torqueManageTaskDetail.getCheckTimeStart(), torqueManageTaskDetail.getCheckTimeEnd(), MesExtConstWords.CHECK_TIME, packBean, true); @@ -804,4 +806,12 @@ public class MesExtHqlPack { return packBean; } + public static DdlPackBean getMesManageCode(MesManageCode manageCode) { + DdlPackBean packBean = getAllBaseData(manageCode.getOrganizeCode()); + DdlPreparedPack.getStringLikerPack(manageCode.getManageCode(), MesExtConstWords.MANAGE_CODE, packBean); + DdlPreparedPack.getStringLikerPack(manageCode.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, packBean); + DdlPreparedPack.getStringLikerPack(manageCode.getWorkCenterName(), MesExtConstWords.WORK_CENTER_NAME, packBean); + 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 7cdd8d4..3c2f6eb 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 @@ -800,4 +800,7 @@ public class MesExtConstWords { //规格 public static final String SPECIFICATION = "specification"; + //管理码 + public static final String MANAGE_CODE = "manageCode"; + } 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 b034467..fde336a 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 @@ -80,7 +80,8 @@ public class MesExtEnumUtil { MES_OFFICIAL_LOSS_DETAIL_RECORD(880, "sxOfficialLossDetailRecordExcelService", "仕损明细记录"), MES_WORK_BIND_UNBIND_SN(890, "sxWorkOrderBindUnbindSnExcelService", "条码绑定导入"), MES_CAREER_CATEGORY_WORK_CENTER_CORRELATION_CFG(900, "sxCareerAndCategoryAndWorkCenterCfgExcelService", "综合能率目标导入"), - MES_PROCESS_TORQUE_MANAGE(910, "torqueManageExcelService", "扭矩管理项目导入"); + MES_PROCESS_TORQUE_MANAGE(910, "torqueManageExcelService", "扭矩管理项目导入"), + MES_MANAGE_CODE(920, "manageCodeExcelService", "管理码信息导入"); private int value; private String service; @@ -1216,7 +1217,11 @@ public class MesExtEnumUtil { SPE_ENVIRONMENT(50, "特殊环境"), FIVE_S(60, "5S"), CHECK(70, "检查"), - ELSE(80, "其他"); + ELSE(80, "其他"), + ONTOLOGY_LOGISTICS(90, "本体物流"), + ONTOLOGY_U_PART(100, "本体U部品"), + ONTOLOGY_ASSEMBLE(110, "本体组装"), + ONTOLOGY_CHECK(120, "本体检查"); private int value; @@ -4640,8 +4645,8 @@ public class MesExtEnumUtil { @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum MANAGE_USE_STATUS { - LEISURE(10, "空闲"), - OCCUPY(20, "占用"); + OFFLINE(10, "下线"), + ONLINE(20, "上线"); private int value; private String description;