docs/mes_item_status_control.md
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,58 @@ # MES ç©æç¶ææ§å¶ - å端èè°æ¹æ¡ ## åæ´æ¦è¿° - MES 模å**ä¸åå 许æ§å¶ç©æç¶æ**ï¼ç¶æåªè½ç±åºç¡æ°æ®ï¼MDMï¼ç©æç®¡çæ§å¶ã - ç§»é¤ MES æ¥å£ `PUT /mes/md/item/update-status`ã - MDM ç©æåæ¥å° MES æ¶ä¼ éç¶æï¼å¯ç¨/ç¦ç¨ï¼ï¼MES ç©æç¶æè·é MDM ä¿æåæ¥ã ## æ¶åé¡µé¢ - MES ç©æå表页ï¼`src/views/mes/md/item/index.vue`ï¼ç§»é¤ç¶æå¼å ³ï¼æ¹ä¸ºåªè¯»å±ç¤ºï¼ - MES ç©ææ°å¢/ç¼è¾è¡¨åï¼`src/views/mes/md/item/modules/form.vue`ï¼ç¶æå段æ¹ä¸ºç¦ç¨/åªè¯»ï¼ - åºç¡æ°æ®ç©æç®¡ç页ï¼`src/views/basicData/mdm/index.vue`ï¼ç¶ææ§å¶å ¥å£ï¼ä¿æä¸åï¼ ## API | æ¹æ³ | è·¯å¾ | 说æ | |------|------|------| | PUTï¼å·²ç§»é¤ï¼ | `/mes/md/item/update-status` | MES ä¾§ç¶ææ§å¶æ¥å£ï¼å·²åºå¼ï¼å端**ä¸å¾åè°ç¨** | MDM ç¶ææ§å¶æ¥å£ï¼ä¿æä¸åï¼ç¶æä¼åæ¥å° MESï¼ï¼ | æ¹æ³ | è·¯å¾ | 说æ | |------|------|------| | POST | `/mdm/item/create` | åå»ºç©æï¼status éåæ¥å¸¦å ¥ MES | | PUT | `/mdm/item/update` | æ´æ°ç©æï¼status éåæ¥å¸¦å ¥ MES | | PUT | `/mdm/item/update-status` | æ´æ°ç©æç¶æï¼å®æ¶åæ¥å° MES | ## æ°æ®å¸¦å ¥è¯´æ 1. MDM å建/ç¼è¾ç©ææ¶ï¼`status`ï¼0=å¯ç¨ï¼1=ç¦ç¨ï¼é忥é¾è·¯å¸¦å ¥ MESï¼MES ç©ææ°å»ºæ²¿ç¨ MDM ç¶æã 2. MDM ç©æå¯ç¨/ç¦ç¨ï¼`update-status`ï¼ï¼ç¶æå®æ¶åæ¥å° MESã 3. MES æ¬å°æ°å¢ç©æï¼ä¸ç»è¿ MDM 忥ï¼é»è®¤ç¶æä¸º**ç¦ç¨**ï¼ä¸ MES ä¾§æ æ³èªè¡å¯ç¨ï¼é¡»å¨ MDM ä¸å¯ç¨å忥å MESã ## åæ®µå±ç¤ºè§å | åæ®µ | å±ç¤ºä½ç½® | 说æ | |------|----------|------| | ç¶æ | MES ç©æå表 | åªè¯»å±ç¤ºï¼æ¥æºä¸º MDM åæ¥ç¶æï¼ä¸åæä¾å¼å ³åæ¢ | | ç¶æ | MES æ°å¢/ç¼è¾è¡¨å | ç¦ç¨/éèï¼ä¸å è®¸ä¿®æ¹ | | ç¶æ | MDM ç©æå表/表å | å¯ç¼è¾ï¼ä¸ºç¶æå¯ä¸æ§å¶å ¥å£ | ## ä¸å¡è§å说æ | åºæ¯ | è§å | |------|------| | MDM å建/ç¼è¾ç©æ | ç¶æéåæ¥å° MESï¼MES ç©æç¶æä¿æä¸è´ | | MDM å¯ç¨/ç¦ç¨ç©æ | ç¶æå®æ¶åæ¥å° MES | | MES æ¬å°æ°å¢ç©æ | é»è®¤ç¦ç¨ï¼MES ä¾§æ æ³å¯ç¨ï¼é¡»å¨ MDM ä¸å¯ç¨ | | MES ç¼è¾ç©æ | ä¸å 许修æ¹ç¶æå段 | | MES ç¶ææ§å¶ | ä¸åæä¾å¯ç¨/ç¦ç¨å ¥å£ | ## 注æäºé¡¹ - MES å表页éç§»é¤ç¶æå¼å ³ï¼`updateItemStatus` ç¸å ³è°ç¨ï¼ï¼ç¶æåæ¹ä¸ºåªè¯»ææ¬/æ ç¾å±ç¤ºï¼æä¿çå±ç¤ºåä½å»æå¯åæ¢è½åã - MES æ°å¢/ç¼è¾è¡¨åä¸çç¶æåæ®µéç¦ç¨æéèï¼é¿å è¯¯ä¼ å¯¼è´ç¶æè¢«ä¿®æ¹ã - å端 `src/api/mes/md/item/index.ts` ä¸ç `updateItemStatus` 彿°å¯ä¸å¹¶æ¸ çï¼æ¥å£å·²ç§»é¤ï¼ã - MDM å¯ç¨ç©ææ¶ï¼è¥è¯¥ç©æå¨ MES ä¾§å¯ç¨äºæ¹æ¬¡ç®¡ç使ªé ç½®æ¹æ¬¡å±æ§ãæä¸ºäº§å使ªé ç½® BOMï¼MES åæ¥æ ¡éªå¯è½æ¦æªå¯ç¨æä½ï¼éå å¨ MES ä¾§è¡¥é½å¯¹åºé ç½®ã yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java
@@ -143,6 +143,7 @@ syncReqDTO.setMaxStock(reqVO.getMaxStock()); syncReqDTO.setHighValue(reqVO.getIsHighValue()); syncReqDTO.setBatchFlag(reqVO.getIsBatchManaged()); syncReqDTO.setStatus(reqVO.getStatus()); syncReqDTO.setRemark(reqVO.getRemark()); // æ¹æ¬¡é ç½®åæ®µ syncReqDTO.setProduceDateFlag(reqVO.getProduceDateFlag()); yudao-module-mes-api/src/main/java/cn/iocoder/yudao/module/mes/api/item/dto/MesMdItemSyncReqDTO.java
@@ -42,6 +42,9 @@ @Schema(description = "夿³¨", example = "夿³¨") private String remark; @Schema(description = "ç¶æ", example = "1") private Integer status; // ========== æ¹æ¬¡å±æ§é ç½® ========== @Schema(description = "çäº§æ¥æå¿ å¡«", example = "true") yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdItemController.java
@@ -19,7 +19,6 @@ import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; @@ -62,19 +61,6 @@ @PreAuthorize("@ss.hasPermission('mes:md-item:update')") public CommonResult<Boolean> updateItem(@Valid @RequestBody MesMdItemSaveReqVO updateReqVO) { itemService.updateItem(updateReqVO); return success(true); } @PutMapping("/update-status") @Operation(summary = "æ´æ°ç©æäº§åç¶æ") @Parameters({ @Parameter(name = "id", description = "ç¼å·", required = true), @Parameter(name = "status", description = "ç¶æ", required = true) }) @PreAuthorize("@ss.hasPermission('mes:md-item:update')") public CommonResult<Boolean> updateItemStatus(@RequestParam("id") Long id, @RequestParam("status") Integer status) { itemService.updateItemStatus(id, status); return success(true); } yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/vo/MesMdItemSaveReqVO.java
@@ -51,6 +51,9 @@ @Schema(description = "夿³¨", example = "夿³¨") private String remark; @Schema(description = "ç¶æ", example = "1") private Integer status; @Schema(description = "æ¯å¦åæ¥å° MDM", example = "true") private Boolean syncMdm; yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java
@@ -84,7 +84,9 @@ // æå ¥ MesMdItemDO item = BeanUtils.toBean(createReqVO, MesMdItemDO.class); item.setStatus(CommonStatusEnum.DISABLE.getStatus()); // é»è®¤ç¦ç¨ãä¿¡æ¯å®æåï¼åå¯ç¨ // ç¶æåªè½ç±åºç¡æ°æ®ï¼MDMï¼æ§å¶ï¼MDM åæ¥æ¶æ²¿ç¨å ¶ç¶æï¼MES æ¬å°æ°å¢é»è®¤ç¦ç¨ item.setStatus(createReqVO.getMdmItemId() != null && createReqVO.getStatus() != null ? createReqVO.getStatus() : CommonStatusEnum.DISABLE.getStatus()); clearStockIfNotSafe(item); // 妿æªå¯ç¨å®å ¨åºåï¼æ¸ é¶åºåä¸ä¸é itemMapper.insert(item); @@ -111,6 +113,10 @@ // æ´æ° MesMdItemDO updateObj = BeanUtils.toBean(updateReqVO, MesMdItemDO.class); clearStockIfNotSafe(updateObj); // 妿æªå¯ç¨å®å ¨åºåï¼æ¸ é¶åºåä¸ä¸é // ç¶æåªè½ç±åºç¡æ°æ®ï¼MDMï¼æ§å¶ï¼MES æ¬å°æ´æ°ä¸å 许修æ¹ç¶æ if (updateReqVO.getMdmItemId() == null) { updateObj.setStatus(null); } itemMapper.updateById(updateObj); // åæ¥å° MDMï¼å¾é syncMdm æ¶ï¼