diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesLabelTemplateService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesLabelTemplateService.java index 1b5f617..effa39d 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesLabelTemplateService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesLabelTemplateService.java @@ -1,5 +1,7 @@ package cn.estsh.i3plus.ext.mes.api.base; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate; /** @@ -10,4 +12,6 @@ import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate; * @Modify: **/ public interface IMesLabelTemplateService extends IBaseMesService { + + ListPager queryMesLabelTemplateAndParamListByPager(MesLabelTemplate labelTemplate, Pager pager); } diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPartInspectionService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPartInspectionService.java new file mode 100644 index 0000000..b16b48c --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPartInspectionService.java @@ -0,0 +1,13 @@ +package cn.estsh.i3plus.ext.mes.api.base; + +import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspection; + +/** + * @Description: + * @CreateDate 2024/09/09 + * @Author gsz + */ +public interface IMesPartInspectionService extends IBaseMesService { + + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesLabelTemplateController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesLabelTemplateController.java index eb82a7a..7b1c2c1 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesLabelTemplateController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesLabelTemplateController.java @@ -1,8 +1,24 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.base; +import cn.estsh.i3plus.ext.mes.api.base.IMesLabelTemplateService; +import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +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.i3plus.pojo.mes.bean.MesLabelTemplate; +import cn.estsh.i3plus.pojo.mes.bean.MesSpotCheckOrder; +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.apache.poi.ss.formula.functions.T; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -17,4 +33,21 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping(MesCommonConstant.MES_YANFEN + "/mesLabelTemplate") @Api(tags = "打印模板") public class MesLabelTemplateController extends BaseMesController { + + @Autowired + private IMesLabelTemplateService mesLabelTemplateService; + + @GetMapping("/query-template-param") + @ApiOperation(value = "查询打印模板和明细") + public ResultBean queryMesLabelTemplateAndParamListByPager(MesLabelTemplate labelTemplate, Pager pager) { + + try { + return ResultBean.success("查询成功").setListPager(mesLabelTemplateService.queryMesLabelTemplateAndParamListByPager(labelTemplate, pager)); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } 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/base/MesPartInspectionController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPartInspectionController.java new file mode 100644 index 0000000..1834a31 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPartInspectionController.java @@ -0,0 +1,17 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.base; + +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspection; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 零件检测 + */ +@Api("零件检测") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesPartInspection") +public class MesPartInspectionController extends BaseMesController { + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentVariableService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentVariableService.java index f851067..6a96e42 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentVariableService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentVariableService.java @@ -95,6 +95,7 @@ public class MesEquipmentVariableService extends BaseMesService implements IMesLabelTemplateService { + @Autowired + private MesLabelTemplateParamRepository mesLabelTemplateParamRDao; @Override protected void setPackQueryBean(MesLabelTemplate bean, DdlPackBean packBean) { @@ -25,4 +40,27 @@ public class MesLabelTemplateServiceImpl extends BaseMesService resultList = baseRDao.findByHqlWherePage(packBean, pager); + if (!CollectionUtils.isEmpty(resultList)){ + for (MesLabelTemplate mesLabelTemplate : resultList) { + // 根据模板代码查询模板参数信息 + List templateParamList = mesLabelTemplateParamRDao.findByProperty( + new String[]{"templateCode", MesPcnConstWords.IS_VALID, MesPcnConstWords.IS_DELETED, MesExtConstWords.ORGANIZE_CODE}, + new Object[]{mesLabelTemplate.getTemplateCode(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), + CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),labelTemplate.getOrganizeCode()}); + + if (!CollectionUtils.isEmpty(templateParamList)) { + mesLabelTemplate.setLabelTemplateParamList(templateParamList); + } + } + } + return new ListPager<>(resultList, pager); + } } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartInspectionService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartInspectionService.java new file mode 100644 index 0000000..68e037b --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartInspectionService.java @@ -0,0 +1,31 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesPartInspectionService; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspection; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class MesPartInspectionService extends BaseMesService implements IMesPartInspectionService { + + @Override + protected void setPackQueryBean(MesPartInspection bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getSn(), "sn", packBean); + DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean); + DdlPreparedPack.getStringLikerPack(bean.getPartName(), "partName", packBean); + DdlPreparedPack.getStringLikerPack(bean.getWorkCenterCode(), "workCenterCode", packBean); + DdlPreparedPack.getNumEqualPack(bean.getNcStatus(), "ncStatus", packBean); + if (StringUtils.isNotBlank(bean.getCreateDateTimeStart()) && StringUtils.isNotBlank(bean.getCreateDateTimeEnd())) { + DdlPreparedPack.timeBuilder(bean.getCreateDateTimeStart(), bean.getCreateDateTimeEnd(), "createDatetime", packBean, true); + } + if (StringUtils.isNotBlank(bean.getModifyDateTimeStart()) && StringUtils.isNotBlank(bean.getModifyDateTimeEnd())) { + DdlPreparedPack.timeBuilder(bean.getModifyDateTimeStart(), bean.getModifyDateTimeEnd(), "modifyDatetime", packBean, true); + } +// DdlPreparedPack.getStringLikerPack(bean.getInspectionDate(), "inspectionDate", packBean); + } + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index 12d15d3..e75e9e0 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java @@ -664,6 +664,10 @@ public class MesWorkOrderService extends BaseMesService implements } item.setWorkCenterCode(mesWorkCenter.getWorkCenterCode()); item.setErpWorkCenter(mesWorkCenter.getErpWorkCenter()); + //校验产线零件是否存在 + if (!checkWorkCenterPartRelation(item.getWorkCenterCode(),item.getPartNo()) && (StringUtil.isEmpty(item.getOrderFlag()) || !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag()))){ + MesException.throwMesBusiException(String.format("工单产线【%s】与工单零件【%s】没有维护产线零件关系",mesWorkCenter.getWorkCenterCode(),item.getPartNo())); + } //获取客户物料信息 MesCustomerPart customerPart = null == mesCustomerPartMap ? null : mesCustomerPartMap.get(item.getPartNo()); if (!Objects.isNull(customerPart)) { @@ -1038,15 +1042,21 @@ public class MesWorkOrderService extends BaseMesService implements return; } log.info("关闭工单个数{},工单:{}",mesWorkOrderList.size(),mesWorkOrderList.stream().map(MesWorkOrder::getWorkOrderNo).collect(Collectors.toList())); - //关闭工单回传 - List partNoAndDataKey = mesWorkOrderList.stream().map(t -> new StringJoiner(MesExtConstWords.COMMA).add(t.getPartNo()).add(t.getProductVersion()).add(t.getPlanStartTime().substring(0, 10)).toString()).distinct().collect(Collectors.toList()); - List mesWorkOrderToSapList = new ArrayList<>(); - for (String partNoAndData : partNoAndDataKey) { - MesWorkOrderToSap orderToSap = new MesWorkOrderToSap(organizeCode, partNoAndData.split(MesExtConstWords.COMMA)[0], partNoAndData.split(MesExtConstWords.COMMA)[1], 0d, partNoAndData.split(MesExtConstWords.COMMA)[2]); - ConvertBean.serviceModelInitialize(orderToSap,userName); - mesWorkOrderToSapList.add(orderToSap); - } - mesWorkOrderToSapRepository.saveAll(mesWorkOrderToSapList); + //查询自制件零件 + List partNoList = mesPartSapService.findMesPartSapByPartNoList(mesWorkOrderList.stream().map(MesWorkOrder::getPartNo).distinct().collect(Collectors.toList()), organizeCode).stream().filter(t -> t.getIsTestPiece() == CommonEnumUtil.FALSE).map(MesPartSap::getPartNo).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(partNoList)) { + //关闭工单回传 + List partNoAndDataKey = mesWorkOrderList.stream().filter(t -> !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(t.getOrderFlag()) && partNoList.contains(t.getPartNo())).map(t -> new StringJoiner(MesExtConstWords.COMMA).add(t.getPartNo()).add(t.getProductVersion()).add(t.getPlanStartTime().substring(0, 10)).toString()).distinct().collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(partNoAndDataKey)) { + List mesWorkOrderToSapList = new ArrayList<>(); + for (String partNoAndData : partNoAndDataKey) { + MesWorkOrderToSap orderToSap = new MesWorkOrderToSap(organizeCode, partNoAndData.split(MesExtConstWords.COMMA)[0], partNoAndData.split(MesExtConstWords.COMMA)[1], 0d, partNoAndData.split(MesExtConstWords.COMMA)[2]); + ConvertBean.serviceModelInitialize(orderToSap, userName); + mesWorkOrderToSapList.add(orderToSap); + } + mesWorkOrderToSapRepository.saveAll(mesWorkOrderToSapList); + } + } //关闭工单 baseRDao.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "workOrderStatus","systemSyncStatus"}, new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(),CommonEnumUtil.FALSE}, ddlPackBean); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesEquipmentLogDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesEquipmentLogDetailService.java index 6009bae..21c9e0a 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesEquipmentLogDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesEquipmentLogDetailService.java @@ -30,17 +30,9 @@ public class MesEquipmentLogDetailService extends BaseMesService map = new HashMap<>(); for (int i = 0; i < row.size(); i++) { - map.put(read.getHeader().get(i), row.get(i)); + String key = read.getHeader().get(i); + if (key.startsWith("\ufeff")) { + key = key.substring(1); + } + map.put(key, row.get(i)); } mapList.add(map); }