diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/IProdExtOrgService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/IProdExtOrgService.java index b3dea35..9a234c5 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/IProdExtOrgService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/IProdExtOrgService.java @@ -256,6 +256,14 @@ public interface IProdExtOrgService { @ApiOperation(value = "更新工位参数配置状态(启用、禁用)") int updateMesWorkCellParamCfgStatusById(Long id, int status, String userName); + /** + * 根据配置新增工位按钮 + * @param organizeCode + * @param id + */ + @ApiOperation(value = "新增工位按钮") + void insertWorkCellModuleByCfg(String organizeCode, String id); + /*************MES工位参数配置服务*****end***********/ } diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesProductionAssembly.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesProductionAssembly.groovy index 98de858..9f9e46e 100644 --- a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesProductionAssembly.groovy +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesProductionAssembly.groovy @@ -47,10 +47,11 @@ class MesToPiscesProductionAssembly { if (!Objects.isNull(mesProduceSn)) { rowMap.put("ASSEMBLY_BARCODE_ID", mesProduceSn.getId()) } else { + rowMap.put("ASSEMBLY_BARCODE_ID", 0) LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("assembly_sn"))) } }else{ - rowMap.put("ASSEMBLY_BARCODE_ID", null) + rowMap.put("ASSEMBLY_BARCODE_ID", 0) } //条码 if (!StringUtils.isEmpty(rowMap.get("product_sn"))) { @@ -58,10 +59,11 @@ class MesToPiscesProductionAssembly { if (!Objects.isNull(mesProduceSn)) { rowMap.put("BARCODE_ID", mesProduceSn.getId()) } else { + rowMap.put("BARCODE_ID", 0) LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("product_sn"))) } }else{ - rowMap.put("BARCODE_ID", null) + rowMap.put("BARCODE_ID", 0) } //加工记录表 if (!StringUtils.isEmpty(rowMap.get("production_record_id"))) { @@ -75,6 +77,7 @@ class MesToPiscesProductionAssembly { if (!Objects.isNull(mesProductionRecord)) { rowMap.put("PRODUCTION_LOG_FID", mesProductionRecord.getFid()) } else { + rowMap.put("PRODUCTION_LOG_FID", null) LOGGER.info("加工记录id:{},信息不存在", String.valueOf(rowMap.get("production_record_id"))) } }else{ @@ -86,6 +89,7 @@ class MesToPiscesProductionAssembly { if (!Objects.isNull(mesEquipment)) { rowMap.put("EQUIPMENT_FID", mesEquipment.getFid()) } else { + rowMap.put("EQUIPMENT_FID", null) LOGGER.info("设备代码:{}信息不存在", String.valueOf(rowMap.get("equipment_code"))) } }else{ diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/ExtProdOrgController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/ExtProdOrgController.java index 4ef7d1b..8453c29 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/ExtProdOrgController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/ExtProdOrgController.java @@ -7,6 +7,7 @@ import cn.estsh.i3plus.ext.mes.api.busi.IEquipmentExtService; import cn.estsh.i3plus.ext.mes.api.busi.IProdExtOrgService; import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; import cn.estsh.i3plus.mes.apiservice.util.MesCommConstWords; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; @@ -16,7 +17,10 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; -import cn.estsh.i3plus.pojo.mes.bean.*; +import cn.estsh.i3plus.pojo.mes.bean.MesArea; +import cn.estsh.i3plus.pojo.mes.bean.MesWcEquipment; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter; import cn.estsh.i3plus.pojo.mes.model.ProdOrgExtModel; import cn.estsh.impp.framework.base.controller.MesBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; @@ -30,9 +34,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; /** * @Description: @@ -388,4 +394,17 @@ public class ExtProdOrgController extends MesBaseController { } } + @PostMapping(value = "/work-cell-module/by-cfg/inset") + @ApiOperation(value = "根据配置新增工位按钮") + public ResultBean insertWorkCellModuleByCfg(@RequestBody Map params) { + try { + if (!CollectionUtils.isEmpty(params)) prodOrgService.insertWorkCellModuleByCfg((String) params.get(MesExtConstWords.ORGANIZE_CODE), (String) params.get(MesExtConstWords.ID)); + 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/MesPartPtrService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartPtrService.java index 4718f15..1f516b8 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartPtrService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartPtrService.java @@ -1,19 +1,27 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesPartPtrService; -import cn.estsh.i3plus.ext.mes.api.base.IMesPartService; +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; -import cn.estsh.i3plus.pojo.mes.bean.MesArea; import cn.estsh.i3plus.pojo.mes.bean.MesPartPtr; -import cn.estsh.i3plus.pojo.mes.bean.MesPartPtrDetail; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @Service @Slf4j public class MesPartPtrService extends BaseMesService implements IMesPartPtrService { + + @Override protected void setPackQueryBean(MesPartPtr bean, DdlPackBean packBean) { - DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean); + DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, packBean); + DdlPreparedPack.getStringEqualPack(bean.getSrcPartNo(), "srcPartNo", packBean); + DdlPreparedPack.getStringEqualPack(bean.getDestPartNo(), "destPartNo", packBean); + DdlPreparedPack.getNumEqualPack(bean.getStatus(), MesExtConstWords.STATUS, packBean); + DdlPreparedPack.getNumEqualPack(bean.getPrtVehicleCount(), "prtVehicleCount", packBean); + DdlPreparedPack.getNumEqualPack(bean.getPrtVehicleActualCount(), "prtVehicleActualCount", packBean); + DdlPreparedPack.getStringLikerPack(bean.getSeqInfoPrtPart(), "seqInfoPrtPart", packBean); + DdlPreparedPack.timeBuilder(bean.getStartTimeStart(), bean.getStartTimeEnd(), MesExtConstWords.START_TIME, packBean, false); } + } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementService.java index ea22990..26d758f 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementService.java @@ -74,8 +74,9 @@ public class MesShippingOrderManagementService extends BaseMesService implements DdlPreparedPack.getStringSmallerPack(bean.getStartTimeEnd(), "planStartTime", packBean); DdlPreparedPack.getStringBiggerPack(bean.getEndTimeStart(), "planEndTime", packBean); DdlPreparedPack.getStringSmallerPack(bean.getEndTimeEnd(), "planEndTime", packBean); - packBean.setOrderByStr(" order by createDatetime desc,workOrderSeq asc,productSeq asc,workOrderNo asc "); + packBean.setOrderByStr(" order by workOrderSeq desc, createDatetime desc, productSeq asc, workOrderNo asc "); } @Override @@ -296,9 +296,9 @@ public class MesWorkOrderService extends BaseMesService implements if (CollectionUtils.isEmpty(mesWorkCenterList)) { return; } - Map mesWorkCenterMap = mesWorkCenterList.stream().collect(Collectors.toMap(MesWorkCenter::getWorkCenterCode, MesWorkCenter::getWorkCenterName)); + Map> mesWorkCenterMap = mesWorkCenterList.stream().collect(Collectors.groupingBy(MesWorkCenter::getWorkCenterCode)); mesWorkOrderList.forEach(t -> { - t.setWorkCenterName(mesWorkCenterMap.get(t.getWorkCenterCode())); + t.setWorkCenterName(mesWorkCenterMap.containsKey(t.getWorkCenterCode()) ? mesWorkCenterMap.get(t.getWorkCenterCode()).iterator().next().getWorkCenterName() : ""); }); } @@ -1587,10 +1587,11 @@ public class MesWorkOrderService extends BaseMesService implements newMesProductOffLine.setItemUnit(mesBom.getItemUnit()); newMesProductOffLine.setWorkOrderNo(mesWorkOrder.getWorkOrderNo()); newMesProductOffLine.setWorkOrderType(mesWorkOrder.getWorkOrderType()); - newMesProductOffLine.setWorkCenterCode(mesWorkOrder.getWorkCenterCode()); newMesProductOffLine.setWorkCellCode(mesWorkOrder.getWorkCellCode()); newMesProductOffLine.setReportType(mesWorkOrder.getReportType()); - newMesProductOffLine.setSapWorkCenter(mesWorkOrder.getErpWorkCenter()); + newMesProductOffLine.setWorkCenterCode(mesProductVersion.getWorkCenterCode()); + newMesProductOffLine.setSapWorkCenter(mesProductVersion.getWorkCenterCode()); + newMesProductOffLine.setOrganizeCode(mesWorkOrder.getOrganizeCode()); newMesProductOffLine.setDescription(nowTime); newMesProductOffLine.setBomCode(mesBom.getBomCode()); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/ProdExtOrgService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/ProdExtOrgService.java index 9711233..e9c4896 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/ProdExtOrgService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/ProdExtOrgService.java @@ -192,7 +192,7 @@ public class ProdExtOrgService implements IProdExtOrgService { .build(); } workCell.setGrade(prodOrgModel.getGrade()); - insertWorkCellModule(workCell); + insertWorkCellModuleByCfg(workCell, workCell.getModifyUser()); return workCellRepository.insert(workCell); } return null; @@ -406,7 +406,7 @@ public class ProdExtOrgService implements IProdExtOrgService { ConvertBean.serviceModelUpdate(workCell, AuthUtil.getSessionUser().getUserName()); - insertWorkCellModule(workCell); + insertWorkCellModuleByCfg(workCell, workCell.getModifyUser()); return workCellRepository.save(workCell); } @@ -595,7 +595,14 @@ public class ProdExtOrgService implements IProdExtOrgService { new Object[]{status, userName, TimeTool.getNowTime(true)}); } - private void insertWorkCellModule(MesWorkCell workCell) { + @Override + public void insertWorkCellModuleByCfg(String organizeCode, String id) { + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(id)) return; + insertWorkCellModuleByCfg(workCellRepository.getById(Long.valueOf(id)), "系统"); + } + + private void insertWorkCellModuleByCfg(MesWorkCell workCell, String userInfo) { + if (null == workCell) return; if (StringUtils.isEmpty(workCell.getGrade()) || workCell.getGrade().compareTo(MesExtEnumUtil.WORK_CELL_GRADE.SCAN.getValue()) != 0) return; List workCellModuleList = getWorkCellModuleButtonList(workCell.getOrganizeCode(), workCell.getWorkCenterCode(), workCell.getWorkCellCode()); if (!CollectionUtils.isEmpty(workCellModuleList)) return; @@ -606,6 +613,7 @@ public class ProdExtOrgService implements IProdExtOrgService { MesWorkCellModule workCellModule = new MesWorkCellModule(); BeanUtils.copyProperties(workCell, workCellModule, MesExtConstWords.ID); workCellModule.setModuleCode(workModule.getModuleCode()); + ConvertBean.serviceModelInitialize(workCellModule, userInfo); workCellModuleRepository.insert(workCellModule); } }