From e5199245eb5304daf88b86621e829d5711788de8 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期一, 25 八月 2025 15:58:21 +0800
Subject: [PATCH] art: 物料拉动相关接口

---
 src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java |  357 +++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 224 insertions(+), 133 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java b/src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java
index a2fe846..80a891c 100644
--- a/src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java
+++ b/src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java
@@ -6,164 +6,255 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.eam.constant.BusinessCodeConst;
 import org.jeecg.modules.mes.entity.MesMaterialTransferRequest;
+import org.jeecg.modules.mes.enums.MaterialTransferPublishStatus;
 import org.jeecg.modules.mes.service.IMesMaterialTransferRequestService;
+import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
 
 /**
-* @Description: 鐗╂枡鎷夊姩鐢宠
-* @Author: jeecg-boot
-* @Date:   2025-07-04
-* @Version: V1.0
-*/
-@Api(tags="鐗╂枡鎷夊姩鐢宠")
+ * @Description: 鐗╂枡鎷夊姩鐢宠
+ * @Author: jeecg-boot
+ * @Date: 2025-07-04
+ * @Version: V1.0
+ */
+@Api(tags = "鐗╂枡鎷夊姩鐢宠")
 @RestController
 @RequestMapping("/mes/mesMaterialTransferRequest")
 @Slf4j
 public class MesMaterialTransferRequestController extends JeecgController<MesMaterialTransferRequest, IMesMaterialTransferRequestService> {
-   @Autowired
-   private IMesMaterialTransferRequestService mesMaterialTransferRequestService;
+    @Autowired
+    private IMesMaterialTransferRequestService mesMaterialTransferRequestService;
+    @Autowired
+    private ISysBusinessCodeRuleService businessCodeRuleService;
 
-   /**
-    * 鍒嗛〉鍒楄〃鏌ヨ
-    *
-    * @param mesMaterialTransferRequest
-    * @param pageNo
-    * @param pageSize
-    * @param req
-    * @return
-    */
-   //@AutoLog(value = "鐗╂枡鎷夊姩鐢宠-鍒嗛〉鍒楄〃鏌ヨ")
-   @ApiOperation(value="鐗╂枡鎷夊姩鐢宠-鍒嗛〉鍒楄〃鏌ヨ", notes="鐗╂枡鎷夊姩鐢宠-鍒嗛〉鍒楄〃鏌ヨ")
-   @GetMapping(value = "/list")
-   public Result<IPage<MesMaterialTransferRequest>> queryPageList(MesMaterialTransferRequest mesMaterialTransferRequest,
-                                  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-                                  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-                                  HttpServletRequest req) {
-       QueryWrapper<MesMaterialTransferRequest> queryWrapper = QueryGenerator.initQueryWrapper(mesMaterialTransferRequest, req.getParameterMap());
-       Page<MesMaterialTransferRequest> page = new Page<MesMaterialTransferRequest>(pageNo, pageSize);
-       IPage<MesMaterialTransferRequest> pageList = mesMaterialTransferRequestService.page(page, queryWrapper);
-       return Result.OK(pageList);
-   }
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param mesMaterialTransferRequest
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    //@AutoLog(value = "鐗╂枡鎷夊姩鐢宠-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "鐗╂枡鎷夊姩鐢宠-鍒嗛〉鍒楄〃鏌ヨ", notes = "鐗╂枡鎷夊姩鐢宠-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<IPage<MesMaterialTransferRequest>> queryPageList(MesMaterialTransferRequest mesMaterialTransferRequest,
+                                                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                                   HttpServletRequest req) {
+        QueryWrapper<MesMaterialTransferRequest> queryWrapper = QueryGenerator.initQueryWrapper(mesMaterialTransferRequest, req.getParameterMap());
+        Page<MesMaterialTransferRequest> page = new Page<MesMaterialTransferRequest>(pageNo, pageSize);
+        IPage<MesMaterialTransferRequest> pageList = mesMaterialTransferRequestService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
 
-   /**
-    *   娣诲姞
-    *
-    * @param mesMaterialTransferRequest
-    * @return
-    */
-   @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-娣诲姞")
-   @ApiOperation(value="鐗╂枡鎷夊姩鐢宠-娣诲姞", notes="鐗╂枡鎷夊姩鐢宠-娣诲姞")
-   //@RequiresPermissions("org.jeecg.modules:mes_material_transfer_request:add")
-   @PostMapping(value = "/add")
-   public Result<String> add(@RequestBody MesMaterialTransferRequest mesMaterialTransferRequest) {
-       mesMaterialTransferRequestService.save(mesMaterialTransferRequest);
-       return Result.OK("娣诲姞鎴愬姛锛�");
-   }
+    /**
+     *   娣诲姞
+     *
+     * @param request
+     * @return
+     */
+    @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-娣诲姞")
+    @ApiOperation(value = "鐗╂枡鎷夊姩鐢宠-娣诲姞", notes = "鐗╂枡鎷夊姩鐢宠-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<String> add(@RequestBody MesMaterialTransferRequest request) {
+        String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MATERIAL_TRANSFER_CODE_RULE);
+        request.setRequestCode(codeSeq);
+        boolean b = mesMaterialTransferRequestService.addMaterialTransferRequest(request);
+        if (!b) {
+            return Result.error("娣诲姞澶辫触锛�");
+        }
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
 
-   /**
-    *  缂栬緫
-    *
-    * @param mesMaterialTransferRequest
-    * @return
-    */
-   @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-缂栬緫")
-   @ApiOperation(value="鐗╂枡鎷夊姩鐢宠-缂栬緫", notes="鐗╂枡鎷夊姩鐢宠-缂栬緫")
-   //@RequiresPermissions("org.jeecg.modules:mes_material_transfer_request:edit")
-   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-   public Result<String> edit(@RequestBody MesMaterialTransferRequest mesMaterialTransferRequest) {
-       mesMaterialTransferRequestService.updateById(mesMaterialTransferRequest);
-       return Result.OK("缂栬緫鎴愬姛!");
-   }
+    /**
+     *  缂栬緫
+     *
+     * @param mesMaterialTransferRequest
+     * @return
+     */
+    @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-缂栬緫")
+    @ApiOperation(value = "鐗╂枡鎷夊姩鐢宠-缂栬緫", notes = "鐗╂枡鎷夊姩鐢宠-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> edit(@RequestBody MesMaterialTransferRequest mesMaterialTransferRequest) {
+        mesMaterialTransferRequestService.updateById(mesMaterialTransferRequest);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
 
-   /**
-    *   閫氳繃id鍒犻櫎
-    *
-    * @param id
-    * @return
-    */
-   @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-閫氳繃id鍒犻櫎")
-   @ApiOperation(value="鐗╂枡鎷夊姩鐢宠-閫氳繃id鍒犻櫎", notes="鐗╂枡鎷夊姩鐢宠-閫氳繃id鍒犻櫎")
-   //@RequiresPermissions("org.jeecg.modules:mes_material_transfer_request:delete")
-   @DeleteMapping(value = "/delete")
-   public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-       mesMaterialTransferRequestService.removeById(id);
-       return Result.OK("鍒犻櫎鎴愬姛!");
-   }
+    /**
+     *   閫氳繃id鍒犻櫎
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-閫氳繃id鍒犻櫎")
+    @ApiOperation(value = "鐗╂枡鎷夊姩鐢宠-閫氳繃id鍒犻櫎", notes = "鐗╂枡鎷夊姩鐢宠-閫氳繃id鍒犻櫎")
+    @DeleteMapping(value = "/delete")
+    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+        MesMaterialTransferRequest entity = mesMaterialTransferRequestService.getById(id);
+        if (entity == null) {
+            return Result.error("鍒犻櫎鐨勬暟鎹笉瀛樺湪锛岃鍒锋柊閲嶈瘯锛�");
+        }
+        if (!MaterialTransferPublishStatus.WAIT_PUBLISH.name().equals(entity.getPublishStatus())) {
+            return Result.error("鏁版嵁宸插彂甯冿紝鏃犳硶鍒犻櫎锛�");
+        }
+        entity.setDelFlag(CommonConstant.DEL_FLAG_1);
+        mesMaterialTransferRequestService.updateById(entity);
+        return Result.OK("鍒犻櫎鎴愬姛锛�");
+    }
 
-   /**
-    *  鎵归噺鍒犻櫎
-    *
-    * @param ids
-    * @return
-    */
-   @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-鎵归噺鍒犻櫎")
-   @ApiOperation(value="鐗╂枡鎷夊姩鐢宠-鎵归噺鍒犻櫎", notes="鐗╂枡鎷夊姩鐢宠-鎵归噺鍒犻櫎")
-   //@RequiresPermissions("org.jeecg.modules:mes_material_transfer_request:deleteBatch")
-   @DeleteMapping(value = "/deleteBatch")
-   public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-       this.mesMaterialTransferRequestService.removeByIds(Arrays.asList(ids.split(",")));
-       return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
-   }
+    /**
+     *  鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "鐗╂枡鎷夊姩鐢宠-鎵归噺鍒犻櫎", notes = "鐗╂枡鎷夊姩鐢宠-鎵归噺鍒犻櫎")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        if (StringUtils.isBlank(ids)) {
+            return Result.error("鍙傛暟閿欒锛�");
+        }
+        String[] split = ids.split(",");
+        for (String id : split) {
+            MesMaterialTransferRequest entity = mesMaterialTransferRequestService.getById(id);
+            if (entity == null || !MaterialTransferPublishStatus.WAIT_PUBLISH.name().equals(entity.getPublishStatus())) {
+                //涓嶅仛澶勭悊
+                continue;
+            }
+            entity.setDelFlag(CommonConstant.DEL_FLAG_1);
+            mesMaterialTransferRequestService.updateById(entity);
+        }
+        return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+    }
 
-   /**
-    * 閫氳繃id鏌ヨ
-    *
-    * @param id
-    * @return
-    */
-   //@AutoLog(value = "鐗╂枡鎷夊姩鐢宠-閫氳繃id鏌ヨ")
-   @ApiOperation(value="鐗╂枡鎷夊姩鐢宠-閫氳繃id鏌ヨ", notes="鐗╂枡鎷夊姩鐢宠-閫氳繃id鏌ヨ")
-   @GetMapping(value = "/queryById")
-   public Result<MesMaterialTransferRequest> queryById(@RequestParam(name="id",required=true) String id) {
-       MesMaterialTransferRequest mesMaterialTransferRequest = mesMaterialTransferRequestService.getById(id);
-       if(mesMaterialTransferRequest==null) {
-           return Result.error("鏈壘鍒板搴旀暟鎹�");
-       }
-       return Result.OK(mesMaterialTransferRequest);
-   }
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    //@AutoLog(value = "鐗╂枡鎷夊姩鐢宠-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "鐗╂枡鎷夊姩鐢宠-閫氳繃id鏌ヨ", notes = "鐗╂枡鎷夊姩鐢宠-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<MesMaterialTransferRequest> queryById(@RequestParam(name = "id", required = true) String id) {
+        MesMaterialTransferRequest mesMaterialTransferRequest = mesMaterialTransferRequestService.getById(id);
+        if (mesMaterialTransferRequest == null) {
+            return Result.error("鏈壘鍒板搴旀暟鎹�");
+        }
+        return Result.OK(mesMaterialTransferRequest);
+    }
 
-   /**
-   * 瀵煎嚭excel
-   *
-   * @param request
-   * @param mesMaterialTransferRequest
-   */
-   //@RequiresPermissions("org.jeecg.modules:mes_material_transfer_request:exportXls")
-   @RequestMapping(value = "/exportXls")
-   public ModelAndView exportXls(HttpServletRequest request, MesMaterialTransferRequest mesMaterialTransferRequest) {
-       return super.exportXls(request, mesMaterialTransferRequest, MesMaterialTransferRequest.class, "鐗╂枡鎷夊姩鐢宠");
-   }
+    /**
+     *  閫氳繃id鍙戝竷
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-鍙戝竷")
+    @ApiOperation(value = "鐗╂枡鎷夊姩鐢宠-鍙戝竷", notes = "鐗╂枡鎷夊姩鐢宠-鍙戝竷")
+    @PutMapping(value = "/publish")
+    public Result<String> publish(@RequestParam(name = "id", required = true) String id) {
+        boolean b = mesMaterialTransferRequestService.publish(id);
+        if (!b) {
+            return Result.error("鍙戝竷澶辫触锛�");
+        }
+        return Result.OK("鍙戝竷鎴愬姛锛�");
+    }
 
-   /**
-     * 閫氳繃excel瀵煎叆鏁版嵁
-   *
-   * @param request
-   * @param response
-   * @return
-   */
-   //@RequiresPermissions("mes_material_transfer_request:importExcel")
-   @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-   public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-       return super.importExcel(request, response, MesMaterialTransferRequest.class);
-   }
-   /*
-   * 閫氳繃workOrderId 鏌ヨmesMaterialTransferRequest鏁版嵁
-   *@param workOrderId
-   * */
+    /**
+     *  鎵归噺鍙戝竷
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-鎵归噺鍙戝竷")
+    @ApiOperation(value = "鐗╂枡鎷夊姩鐢宠-鎵归噺鍙戝竷", notes = "鐗╂枡鎷夊姩鐢宠-鎵归噺鍙戝竷")
+    @PutMapping(value = "/publishBatch")
+    public Result<String> publishBatch(@RequestParam(name = "ids", required = true) String ids) {
+        if (StringUtils.isBlank(ids)) {
+            return Result.error("鍙傛暟閿欒锛�");
+        }
+        String[] split = ids.split(",");
+        int count = 0;
+        for (String id : split) {
+            try {
+                boolean b = mesMaterialTransferRequestService.publish(id);
+                if(b) {
+                    count++;
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
+        }
+        return Result.OK("鎴愬姛鍙戝竷" + count + "鏉℃暟鎹紒");
+    }
+
+    /**
+     *  閫氳繃id璇锋眰WMS
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-璇锋眰WMS")
+    @ApiOperation(value = "鐗╂枡鎷夊姩鐢宠-璇锋眰WMS", notes = "鐗╂枡鎷夊姩鐢宠-璇锋眰WMS")
+    @PutMapping(value = "/request")
+    public Result<String> request(@RequestParam(name = "id", required = true) String id) {
+        boolean b = mesMaterialTransferRequestService.request(id);
+        if (!b) {
+            return Result.error("璇锋眰澶辫触锛�");
+        }
+        return Result.OK("璇锋眰鎴愬姛锛�");
+    }
+
+    /**
+     *  鎵归噺璇锋眰WMS
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-鎵归噺璇锋眰WMS")
+    @ApiOperation(value = "鐗╂枡鎷夊姩鐢宠-鎵归噺璇锋眰WMS", notes = "鐗╂枡鎷夊姩鐢宠-鎵归噺璇锋眰WMS")
+    @PutMapping(value = "/requestBatch")
+    public Result<String> requestBatch(@RequestParam(name = "ids", required = true) String ids) {
+        if (StringUtils.isBlank(ids)) {
+            return Result.error("鍙傛暟閿欒锛�");
+        }
+        String[] split = ids.split(",");
+        int count = 0;
+        for (String id : split) {
+            try {
+                boolean b = mesMaterialTransferRequestService.request(id);
+                if(b) {
+                    count++;
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
+        }
+        return Result.OK("鎴愬姛璇锋眰WMS" + count + "鏉℃暟鎹紒");
+    }
+
+    /*
+     * 閫氳繃workOrderId 鏌ヨmesMaterialTransferRequest鏁版嵁
+     *@param workOrderId
+     * */
     @GetMapping(value = "/queryMaterialTransferRequestByWorkOrderId")
-    public Result<?> queryMaterialTransferRequestByWorkOrderId(@RequestParam(name="workOrderId",required=true) String workOrderId) {
-       return Result.OK(mesMaterialTransferRequestService.queryMaterialTransferRequestByWorkOrderId(workOrderId));
+    public Result<?> queryMaterialTransferRequestByWorkOrderId(@RequestParam(name = "workOrderId", required = true) String workOrderId) {
+        return Result.OK(mesMaterialTransferRequestService.queryMaterialTransferRequestByWorkOrderId(workOrderId));
     }
 
 }

--
Gitblit v1.9.3