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 | 355 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 227 insertions(+), 128 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 202bf22..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,156 +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("/mesmaterialtransferrequest/mesMaterialTransferRequest") +@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); - } + /** + * 鎵归噺鍙戝竷 + * + * @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)); + } } -- Gitblit v1.9.3