diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/jx/IJxBomPendingPartService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/jx/IJxBomPendingPartService.java new file mode 100644 index 0000000..a3bb2da --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/jx/IJxBomPendingPartService.java @@ -0,0 +1,13 @@ +package cn.estsh.i3plus.ext.mes.api.busi.jx; + +import cn.estsh.i3plus.ext.mes.pojo.bean.MesBomPendingPart; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import io.swagger.annotations.ApiOperation; + +public interface IJxBomPendingPartService { + + @ApiOperation("按条件分页查询待BOM生效成品") + ListPager queryBomPendingPartByPager(MesBomPendingPart bomPendingPart, Pager pager); + +} 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 index 2b29f2a..5d1c859 100644 --- 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 @@ -16,5 +16,4 @@ 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/busi/jx/JxBadnessClassifyController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/JxBadnessClassifyController.java similarity index 98% rename from modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxBadnessClassifyController.java rename to modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/JxBadnessClassifyController.java index 870f627..10db371 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxBadnessClassifyController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/JxBadnessClassifyController.java @@ -1,4 +1,4 @@ -package cn.estsh.i3plus.ext.mes.apiservice.controller.busi.jx; +package cn.estsh.i3plus.ext.mes.apiservice.controller.base.jx; import cn.estsh.i3plus.ext.mes.api.base.jx.IJxBadnessClassifyService; import cn.estsh.i3plus.ext.mes.pojo.bean.MesBadnessClassify; diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxBadnessClassifyDetailController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/JxBadnessClassifyDetailController.java similarity index 98% rename from modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxBadnessClassifyDetailController.java rename to modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/JxBadnessClassifyDetailController.java index 3138c0a..416a9b0 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxBadnessClassifyDetailController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/JxBadnessClassifyDetailController.java @@ -1,4 +1,4 @@ -package cn.estsh.i3plus.ext.mes.apiservice.controller.busi.jx; +package cn.estsh.i3plus.ext.mes.apiservice.controller.base.jx; import cn.estsh.i3plus.ext.mes.api.base.jx.IJxBadnessClassifyDetailService; import cn.estsh.i3plus.ext.mes.pojo.bean.MesBadnessClassifyDetail; diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxBadnessTypeController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/JxBadnessTypeController.java similarity index 98% rename from modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxBadnessTypeController.java rename to modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/JxBadnessTypeController.java index fb3a10c..64319d9 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxBadnessTypeController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/JxBadnessTypeController.java @@ -1,4 +1,4 @@ -package cn.estsh.i3plus.ext.mes.apiservice.controller.busi.jx; +package cn.estsh.i3plus.ext.mes.apiservice.controller.base.jx; import cn.estsh.i3plus.ext.mes.api.base.jx.IJxBadnessTypeService; import cn.estsh.i3plus.ext.mes.pojo.bean.MesBadnessType; diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxOqcProjectController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/JxOqcProjectController.java similarity index 98% rename from modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxOqcProjectController.java rename to modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/JxOqcProjectController.java index 8ca29a9..1f068d8 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/jx/JxOqcProjectController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/jx/JxOqcProjectController.java @@ -1,4 +1,4 @@ -package cn.estsh.i3plus.ext.mes.apiservice.controller.busi.jx; +package cn.estsh.i3plus.ext.mes.apiservice.controller.base.jx; import cn.estsh.i3plus.ext.mes.api.base.jx.IJxOqcProjectService; import cn.estsh.i3plus.ext.mes.pojo.bean.MesOqcRuleNoteDetail; 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 index 7bb8aba..62f0090 100644 --- 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 @@ -1,7 +1,9 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.busi.jx; import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxBadStatisticsReportFormService; +import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxBomPendingPartService; import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxProductReportService; +import cn.estsh.i3plus.ext.mes.pojo.bean.MesBomPendingPart; import cn.estsh.i3plus.ext.mes.pojo.bean.MesProdBindRecordExt; import cn.estsh.i3plus.ext.mes.pojo.model.BadStatisticsReportParamModel; import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; @@ -38,6 +40,9 @@ public class JxReportController extends MesBaseController { @Autowired private IJxBadStatisticsReportFormService badStatisticsReportFormService; + @Autowired + private IJxBomPendingPartService bomPendingPartService; + @GetMapping(value = "/mes-prod-bind-record/query") @ApiOperation(value = "按条件分页查询MES物料绑定记录数据") public ResultBean queryMesProdBindRecord(MesProdBindRecordExt prodBindRecordExt, Pager pager) { @@ -69,4 +74,18 @@ public class JxReportController extends MesBaseController { } } + @GetMapping(value = "/bom-pending-part/query") + @ApiOperation(value = "待BOM生效成品报表") + public ResultBean query(MesBomPendingPart bomPendingPart, Pager pager) { + try { + bomPendingPart.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setListPager(bomPendingPartService.queryBomPendingPartByPager(bomPendingPart, pager)); + } 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/busi/jx/JxBomPendingPartService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxBomPendingPartService.java new file mode 100644 index 0000000..6283c1c --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxBomPendingPartService.java @@ -0,0 +1,34 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi.jx; + +import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxBomPendingPartService; +import cn.estsh.i3plus.ext.mes.pojo.bean.MesBomPendingPart; +import cn.estsh.i3plus.ext.mes.pojo.repository.MesBomPendingPartRepository; +import cn.estsh.i3plus.ext.mes.pojo.sqlpack.MesExtHqlPack; +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 org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @PROJECT_NAME: i3plus-mes-panasonic-jx + * @DESCRIPTION: + * @USER: xinwang.yi + * @DATE: 2023-11-20 10:55 + */ +@Service +public class JxBomPendingPartService implements IJxBomPendingPartService { + + @Autowired + private MesBomPendingPartRepository bomPendingPartRepository; + + @Override + public ListPager queryBomPendingPartByPager(MesBomPendingPart bomPendingPart, Pager pager) { + DdlPackBean hqlPack = MesExtHqlPack.getBomPendingPart(bomPendingPart); + int count = bomPendingPartRepository.findByHqlWhereCount(hqlPack); + pager = PagerHelper.getPager(pager, count); + hqlPack.setOrderByStr(bomPendingPart.orderBy()); + return new ListPager(bomPendingPartRepository.findByHqlWherePage(hqlPack, pager), pager); + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxOqcReportFormService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxOqcReportFormService.java index aabd2c9..124bdd7 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxOqcReportFormService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxOqcReportFormService.java @@ -16,10 +16,8 @@ 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.JsonUtilTool; import cn.estsh.i3plus.platform.common.tool.MathOperation; import cn.estsh.i3plus.platform.common.tool.TimeTool; -import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; @@ -843,9 +841,6 @@ public class JxOqcReportFormService implements IJxOqcReportFormService { if (null == oqcCheck) { continue; } - JxOqcCheckReportModel result = new JxOqcCheckReportModel(); - BeanUtils.copyProperties(oqcCheck, result); - resultList.add(packResult4OqcCheckReport(oqcCheck, badnessTypeMap, badnessClassifyMap)); } } @@ -1028,38 +1023,40 @@ public class JxOqcReportFormService implements IJxOqcReportFormService { .build(); } - //编码规则 - String[] serialNoArray = numberRuleModel.getNumberRule().split("}\\{"); - //规则属性长度拼接 - String[] ruleLengthSpiltArray = numberRuleModel.getRuleLengthSpilt().split(","); - String serialNoStr = "serialno"; - int serialNoIndex = -1; - for (int index = 0; index < serialNoArray.length; index++) { - if(serialNoArray[index].contains(serialNoStr)) serialNoIndex = index; - } - - int ruleLengthTotal = 0; - if(serialNoIndex != -1){ - for (int index = 0; index < serialNoIndex; index++) { - ruleLengthTotal += Integer.parseInt(ruleLengthSpiltArray[index]); + if (!StringUtils.isEmpty(numberRuleModel.getRuleLengthSpilt())) { + //编码规则 + String[] serialNoArray = numberRuleModel.getNumberRule().split("}\\{"); + //规则属性长度拼接 + String[] ruleLengthSpiltArray = numberRuleModel.getRuleLengthSpilt().split(","); + String serialNoStr = "serialno"; + int serialNoIndex = -1; + for (int index = 0; index < serialNoArray.length; index++) { + if(serialNoArray[index].contains(serialNoStr)) serialNoIndex = index; } - } - int finalRuleLengthTotal = ruleLengthTotal; - int finalSerialNoIndex = serialNoIndex; - if (!StringUtils.isEmpty(model.getBatchLimitStart()) && !StringUtils.isEmpty(model.getBatchLimitEnd())) { - oqcPackageDetailList = oqcPackageDetailList.stream().filter(oqcCheckPackageDetail -> - model.getBatchLimitStart() <= Integer.parseInt(oqcCheckPackageDetail.getSerialNumber().substring(finalRuleLengthTotal, finalRuleLengthTotal + Integer.parseInt(ruleLengthSpiltArray[finalSerialNoIndex]))) && - model.getBatchLimitEnd() >= Integer.parseInt(oqcCheckPackageDetail.getSerialNumber().substring(finalRuleLengthTotal, finalRuleLengthTotal + Integer.parseInt(ruleLengthSpiltArray[finalSerialNoIndex]))) - ).collect(Collectors.toList()); - } else if(!StringUtils.isEmpty(model.getBatchLimitStart())){ - oqcPackageDetailList = oqcPackageDetailList.stream().filter(oqcCheckPackageDetail -> - model.getBatchLimitStart() <= Integer.parseInt(oqcCheckPackageDetail.getSerialNumber().substring(finalRuleLengthTotal, finalRuleLengthTotal + Integer.parseInt(ruleLengthSpiltArray[finalSerialNoIndex]))) - ).collect(Collectors.toList()); - } else if(!StringUtils.isEmpty(model.getBatchLimitEnd())){ - oqcPackageDetailList = oqcPackageDetailList.stream().filter(oqcCheckPackageDetail -> - model.getBatchLimitEnd() >= Integer.parseInt(oqcCheckPackageDetail.getSerialNumber().substring(finalRuleLengthTotal, finalRuleLengthTotal + Integer.parseInt(ruleLengthSpiltArray[finalSerialNoIndex]))) - ).collect(Collectors.toList()); + int ruleLengthTotal = 0; + if(serialNoIndex != -1){ + for (int index = 0; index < serialNoIndex; index++) { + ruleLengthTotal += Integer.parseInt(ruleLengthSpiltArray[index]); + } + } + int finalRuleLengthTotal = ruleLengthTotal; + int finalSerialNoIndex = serialNoIndex; + + if (!StringUtils.isEmpty(model.getBatchLimitStart()) && !StringUtils.isEmpty(model.getBatchLimitEnd())) { + oqcPackageDetailList = oqcPackageDetailList.stream().filter(oqcCheckPackageDetail -> + model.getBatchLimitStart() <= Integer.parseInt(oqcCheckPackageDetail.getSerialNumber().substring(finalRuleLengthTotal, finalRuleLengthTotal + Integer.parseInt(ruleLengthSpiltArray[finalSerialNoIndex]))) && + model.getBatchLimitEnd() >= Integer.parseInt(oqcCheckPackageDetail.getSerialNumber().substring(finalRuleLengthTotal, finalRuleLengthTotal + Integer.parseInt(ruleLengthSpiltArray[finalSerialNoIndex]))) + ).collect(Collectors.toList()); + } else if(!StringUtils.isEmpty(model.getBatchLimitStart())){ + oqcPackageDetailList = oqcPackageDetailList.stream().filter(oqcCheckPackageDetail -> + model.getBatchLimitStart() <= Integer.parseInt(oqcCheckPackageDetail.getSerialNumber().substring(finalRuleLengthTotal, finalRuleLengthTotal + Integer.parseInt(ruleLengthSpiltArray[finalSerialNoIndex]))) + ).collect(Collectors.toList()); + } else if(!StringUtils.isEmpty(model.getBatchLimitEnd())){ + oqcPackageDetailList = oqcPackageDetailList.stream().filter(oqcCheckPackageDetail -> + model.getBatchLimitEnd() >= Integer.parseInt(oqcCheckPackageDetail.getSerialNumber().substring(finalRuleLengthTotal, finalRuleLengthTotal + Integer.parseInt(ruleLengthSpiltArray[finalSerialNoIndex]))) + ).collect(Collectors.toList()); + } } if (!StringUtils.isEmpty(model.getSerialNumber())) { 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 index 63450e1..8003001 100644 --- 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 @@ -5,7 +5,6 @@ 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; @@ -15,14 +14,10 @@ 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; diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/ProcedureProjectExcelService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/ProcedureProjectExcelService.java index 2555bf4..905329f 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/ProcedureProjectExcelService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/ProcedureProjectExcelService.java @@ -20,10 +20,8 @@ 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.*; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -99,8 +97,8 @@ public class ProcedureProjectExcelService implements IExcelImportExtService { List procedureProjects = procedureProjectRepository.findByProperty( new String[]{MesExtConstWords.ORGANIZE_CODE, MesExtConstWords.IS_DELETED}, new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()}); - Map> procedureProjectMap = CollectionUtils.isEmpty(procedureProjects) ? null : - procedureProjects.stream().filter(o -> null != o).collect(Collectors.groupingBy(o -> o.getProjectSortNo() + "&" + o.getProjectCode())); + Map procedureProjectMap = CollectionUtils.isEmpty(procedureProjects) ? null : + procedureProjects.stream().filter(o -> null != o).collect(Collectors.toMap(o -> new StringJoiner(MesExtConstWords.AND).add(o.getProjectSortNo()).add(o.getProjectCode()).toString(), Function.identity(), (x, y) -> y)); //从excel表的第5行数据开始导入,getFirstRowNum是从0行开始读取 for (int i = (sheetAt.getFirstRowNum() + 4); i < totalNumberOfRows; i ++) { @@ -162,7 +160,16 @@ public class ProcedureProjectExcelService implements IExcelImportExtService { if (!existMap.containsKey(key)) { existMap.put(key, String.valueOf(rowNum)); //校验 项目分类代码+项目代码 是否已经存在数据库 + if (StringUtils.isEmpty(errorInfo) && !CollectionUtils.isEmpty(procedureProjectMap) && procedureProjectMap.containsKey(key)) { + + MesProcedureProject mesProcedureProject = procedureProjectMap.get(key); + if (mesProcedureProject.getIsValid() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) { + errorNum ++; + cellNum += "A+B;"; + errorInfo += "第A+B列数据已存在,状态为禁用;"; + } + isExist = true; } } else { @@ -182,8 +189,7 @@ public class ProcedureProjectExcelService implements IExcelImportExtService { if (errorNum == 0) { MesProcedureProject procedureProject; if(isExist) { - List mesProcedureProjects = procedureProjectMap.get(procedureProjectNo + "&" + projectCode); - procedureProject = mesProcedureProjects.get(0); + procedureProject = procedureProjectMap.get(new StringJoiner(MesExtConstWords.AND).add(procedureProjectNo).add(projectCode).toString()); ConvertBean.serviceModelUpdate(procedureProject, userName); }else{ procedureProject = new MesProcedureProject(); diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesBomPendingPart.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesBomPendingPart.java new file mode 100644 index 0000000..0ad926f --- /dev/null +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesBomPendingPart.java @@ -0,0 +1,108 @@ +package cn.estsh.i3plus.ext.mes.pojo.bean; + +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtEnumUtil; +import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; +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 org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Index; +import javax.persistence.Table; +import java.io.Serializable; + +/** + * @Description: + * @Author: xiangming.liao + * @Date: 2021/01/14 20:03 + * @Modify: + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "MES_BOM_PENDING_PART", indexes = { + @Index(columnList = "SYSTEM_SYNC_STATUS"), + @Index(columnList = "PART_NO"), + @Index(columnList = "ITEM_PART_NO"), + @Index(columnList = "PART_NO,IS_TOOK_EFFECT"), + @Index(columnList = "IS_REMIND,IS_TOOK_EFFECT") +}) +@Api("MES_BOM待生效成品表") +public class MesBomPendingPart extends BaseBean implements Serializable { + + private static final long serialVersionUID = 5035017176127870246L; + + @Column(name = "PART_NO") + @ApiParam("父零件号") + private String partNo; + + @Column(name = "PART_NAME") + @ApiParam("父零件名称") + private String partName; + + @Column(name = "UNIT") + @ApiParam("单位") + private String unit; + + @Column(name = "QTY" ) + @ColumnDefault("0") + @ApiParam(value = "数量",example = "0") + private Double qty; + + @Column(name = "ITEM_PART_NO") + @ApiParam("子零件编码") + private String itemPartNo; + + @Column(name = "ITEM_PART_NAME") + @ApiParam("子零件名称") + private String itemPartName; + + @Column(name = "ITEM_UNIT") + @ApiParam("子零件单位") + private String itemUnit; + + @Column(name = "ITEM_QTY") + @ColumnDefault("0") + @ApiParam(value = "子零件数量",example = "0") + private Double itemQty; + + @Column(name = "BOM_VERSION") + @ApiParam("BOM版本") + private String bomVersion; + + @Column(name = "EFF_START_TIME") + @ApiParam("生效时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String effStartTime; + + @Column(name = "EFF_END_TIME") + @ApiParam("失效时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String effEndTime; + + @Column(name = "IS_REMIND") + @ApiParam("是否已提醒") + @ColumnDefault("2") + @AnnoOutputColumn(refClass = MesExtEnumUtil.TRUE_OR_FALSE.class, refForeignKey = "value", value = "description") + private Integer isReminded; + + @Column(name = "IS_TOOK_EFFECT") + @ApiParam("是否已生效") + @ColumnDefault("2") + @AnnoOutputColumn(refClass = MesExtEnumUtil.TRUE_OR_FALSE.class, refForeignKey = "value", value = "description") + private Integer isTookEffect; + + @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/MesEquipmentCheckDetail.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesEquipmentCheckDetail.java index 12bdf6b..ecd9d77 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesEquipmentCheckDetail.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/bean/MesEquipmentCheckDetail.java @@ -141,6 +141,10 @@ public class MesEquipmentCheckDetail extends BaseBean implements Serializable { @ApiParam("结果值") private String resultValue; + @Column(name = "PROBE_NO") + @ApiParam("探头号") + private String probeNo; + @Transient @ApiParam(value = "班组确认名称") public String shiftGroupCheckName; diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/jx/JxOqcCheckReportModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/jx/JxOqcCheckReportModel.java index 5d40997..0a15dd4 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/jx/JxOqcCheckReportModel.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/jx/JxOqcCheckReportModel.java @@ -59,6 +59,9 @@ public class JxOqcCheckReportModel implements Serializable { @ApiParam("产品条码") private String serialNumber; + @ApiParam("产品条码") + private String productSn; + @ApiParam("包装条码") private String packageNo; diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/repository/MesBomPendingPartRepository.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/repository/MesBomPendingPartRepository.java new file mode 100644 index 0000000..e81abe4 --- /dev/null +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/repository/MesBomPendingPartRepository.java @@ -0,0 +1,15 @@ +package cn.estsh.i3plus.ext.mes.pojo.repository; + +import cn.estsh.i3plus.ext.mes.pojo.bean.MesBomPendingPart; +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import org.springframework.stereotype.Repository; + +/** + * @author xinwang.yi + * @version 1.0 + * @date 2023/11/16 9:17 + **/ +@Repository +public interface MesBomPendingPartRepository 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 5025eb4..c727e34 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 @@ -924,5 +924,17 @@ public class MesExtHqlPack { return packBean; } + public static DdlPackBean getBomPendingPart(MesBomPendingPart bomPendingPart) { + DdlPackBean packBean = getAllValidData(bomPendingPart.getOrganizeCode()); + DdlPreparedPack.getStringLikerPack(bomPendingPart.getPartNo(), MesExtConstWords.PART_NO, packBean); + DdlPreparedPack.getStringLikerPack(bomPendingPart.getItemPartNo(), MesExtConstWords.ITEM_PART_NO, packBean); + DdlPreparedPack.getNumEqualPack(bomPendingPart.getIsReminded(), "isReminded", packBean); + DdlPreparedPack.getNumEqualPack(bomPendingPart.getIsTookEffect(), "isTookEffect", packBean); + if (!StringUtils.isEmpty(bomPendingPart.getModifyDateTimeStart()) || !StringUtils.isEmpty(bomPendingPart.getModifyDateTimeEnd())) { + DdlPreparedPack.timeBuilder(bomPendingPart.getModifyDateTimeStart(), bomPendingPart.getModifyDateTimeEnd(), MesExtConstWords.MODIFY_DATE_TIME, packBean, true); + } + return packBean; + } + }