From 7acd9609e6fd88500f6056165a021b1f6ce0f697 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 20 八月 2025 18:14:18 +0800 Subject: [PATCH] art: 物料拉动业务相关接口添加,物料拉动新增接口,表设计修改 --- src/main/java/org/jeecg/modules/pms/service/impl/PmsProcessBillMaterialsDetailServiceImpl.java | 10 + db/双林新火炬MES数据库设计.pdma.json | 8 src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java | 2 src/main/java/org/jeecg/modules/pms/controller/PmsProcessBillMaterialsDetailController.java | 13 + src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java | 12 + src/main/java/org/jeecg/modules/mes/entity/MesMaterialTransferRequest.java | 28 +-- src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java | 6 src/main/java/org/jeecg/modules/base/service/ILineSideWarehouseService.java | 6 src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java | 29 +++ src/main/java/org/jeecg/modules/pms/mapper/PmsProcessBillMaterialsDetailMapper.java | 8 + src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java | 267 +++++++++++++++++---------------- src/main/java/org/jeecg/modules/mes/enums/MaterialTransferRequestStatus.java | 11 + src/main/java/org/jeecg/modules/pms/mapper/xml/PmsProcessBillMaterialsDetailMapper.xml | 9 + src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java | 14 + src/main/java/org/jeecg/modules/pms/service/IPmsProcessBillMaterialsDetailService.java | 13 + src/main/java/org/jeecg/modules/mes/enums/MaterialTransferPublishStatus.java | 10 + 16 files changed, 292 insertions(+), 154 deletions(-) diff --git "a/db/\345\217\214\346\236\227\346\226\260\347\201\253\347\202\254MES\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" "b/db/\345\217\214\346\236\227\346\226\260\347\201\253\347\202\254MES\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" index 9295952..f55f7b8 100644 --- "a/db/\345\217\214\346\236\227\346\226\260\347\201\253\347\202\254MES\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" +++ "b/db/\345\217\214\346\236\227\346\226\260\347\201\253\347\202\254MES\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" @@ -4,7 +4,7 @@ "avatar": "", "version": "4.9.2", "createdTime": "2025-3-10 16:38:19", - "updatedTime": "2025-8-18 15:02:20", + "updatedTime": "2025-8-20 15:14:16", "dbConns": [], "profile": { "default": { @@ -64844,7 +64844,7 @@ "autoIncrement": false, "defaultValue": "", "hideInGraph": false, - "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", "refDict": "", "extProps": {}, "notes": {}, @@ -64889,8 +64889,8 @@ "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { - "defKey": "priority", - "defName": "浼樺厛绾э紙鎷夊姩绫诲瀷锛�", + "defKey": "material_transfer_category", + "defName": "鎷夊姩绫诲瀷", "comment": "", "type": "", "len": "", diff --git a/src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java b/src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java index 0379a86..0f5d3c9 100644 --- a/src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java +++ b/src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java @@ -191,4 +191,16 @@ return Result.ok("鎿嶄綔鎴愬姛锛�"); } + + //@AutoLog(value = "绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ") + @ApiOperation(value="绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ", notes="绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryByFactoryId") + public Result<LineSideWarehouse> queryByFactoryId(@RequestParam(name="factoryId") String factoryId) { + LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.queryByFactoryId(factoryId); + if(lineSideWarehouse==null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(lineSideWarehouse); + } + } diff --git a/src/main/java/org/jeecg/modules/base/service/ILineSideWarehouseService.java b/src/main/java/org/jeecg/modules/base/service/ILineSideWarehouseService.java index 202b90d..5d89f62 100644 --- a/src/main/java/org/jeecg/modules/base/service/ILineSideWarehouseService.java +++ b/src/main/java/org/jeecg/modules/base/service/ILineSideWarehouseService.java @@ -11,4 +11,10 @@ */ public interface ILineSideWarehouseService extends IService<LineSideWarehouse> { + /** + * 鏍规嵁鏌ヨID鏌ヨ绾胯竟搴� + * @param factoryId + * @return + */ + LineSideWarehouse queryByFactoryId(String factoryId); } diff --git a/src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java b/src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java index a430910..8b205e9 100644 --- a/src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java +++ b/src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java @@ -1,11 +1,11 @@ package org.jeecg.modules.base.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.modules.base.entity.LineSideWarehouse; import org.jeecg.modules.base.mapper.LineSideWarehouseMapper; import org.jeecg.modules.base.service.ILineSideWarehouseService; import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 绾胯竟浠撳簱淇℃伅 @@ -16,4 +16,14 @@ @Service public class LineSideWarehouseServiceImpl extends ServiceImpl<LineSideWarehouseMapper, LineSideWarehouse> implements ILineSideWarehouseService { + @Override + public LineSideWarehouse queryByFactoryId(String factoryId) { + LambdaQueryWrapper<LineSideWarehouse> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(LineSideWarehouse::getFactoryId, factoryId); + LineSideWarehouse entity = this.getBaseMapper().selectOne(wrapper); + if(entity != null) { + entity.setWarehouseName(entity.getWarehouseName() + "(" + entity.getWarehouseCode() + ")"); + } + return entity; + } } diff --git a/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java b/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java index c03d5e4..fa8ba2a 100644 --- a/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java +++ b/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java @@ -15,6 +15,8 @@ String MAINTENANCE_CODE_RULE = "MaintenanceCodeRule"; // 缁翠慨宸ュ崟缂栫爜瑙勫垯 String REPAIR_ORDER_CODE_RULE = "RepairOrderCodeRule"; + // 鐗╂枡鎷夊姩缂栫爜瑙勫垯 + String MATERIAL_TRANSFER_CODE_RULE = "MaterialTransferCodeRule"; /** * 宀椾綅缂栫爜 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..461882f 100644 --- a/src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java +++ b/src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java @@ -10,8 +10,10 @@ import org.jeecg.common.aspect.annotation.AutoLog; 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.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; @@ -21,149 +23,156 @@ 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 = "鐗╂枡鎷夊姩鐢宠-缂栬緫") + //@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("缂栬緫鎴愬姛!"); + } - /** - * 閫氳繃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鍒犻櫎") + //@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("鍒犻櫎鎴愬姛!"); + } - /** - * 鎵归噺鍒犻櫎 - * - * @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 = "鐗╂枡鎷夊姩鐢宠-鎵归噺鍒犻櫎") + //@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("鎵归噺鍒犻櫎鎴愬姛!"); + } - /** - * 閫氳繃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, "鐗╂枡鎷夊姩鐢宠"); - } + /** + * 瀵煎嚭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, "鐗╂枡鎷夊姩鐢宠"); + } - /** + /** * 閫氳繃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 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 + * */ @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)); } } diff --git a/src/main/java/org/jeecg/modules/mes/entity/MesMaterialTransferRequest.java b/src/main/java/org/jeecg/modules/mes/entity/MesMaterialTransferRequest.java index af2443c..44f2ef6 100644 --- a/src/main/java/org/jeecg/modules/mes/entity/MesMaterialTransferRequest.java +++ b/src/main/java/org/jeecg/modules/mes/entity/MesMaterialTransferRequest.java @@ -57,16 +57,17 @@ private String requestCode; /**宸ュ崟ID*/ @ApiModelProperty(value = "宸ュ崟ID") + @Dict(dictTable = "mes_production_work_order", dicText = "work_order_code", dicCode = "id") private String workOrderId; /**SAP棰勭暀鍙�*/ @ApiModelProperty(value = "SAP棰勭暀鍙�") private String reservationCode; /**鍙戝竷鐘舵��*/ - @Dict(dicCode = "publish_status") + @Dict(dicCode = "material_transfer_publish_status") @ApiModelProperty(value = "鍙戝竷鐘舵��") private String publishStatus; /**璇锋眰鐘舵��*/ - @Dict(dicCode = "request_status") + @Dict(dicCode = "material_transfer_request_status") @ApiModelProperty(value = "璇锋眰鐘舵��") private String requestStatus; /**璇锋眰鏃堕棿*/ @@ -74,19 +75,21 @@ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "璇锋眰鏃堕棿") private Date requestTime; - /**鍘熷簱瀛樺湴*/ - @ApiModelProperty(value = "鍘熷簱瀛樺湴") + /**璧疯繍搴撳瓨鍦�*/ + @ApiModelProperty(value = "璧疯繍搴撳瓨鍦�") + @Dict(dicCode = "original_warehouse_list") private String originalWarehouseId; /**鐩爣搴撳瓨鍦�*/ @ApiModelProperty(value = "鐩爣搴撳瓨鍦�") + @Dict(dictTable = "base_line_side_warehouse", dicText = "warehouse_name", dicCode = "id") private String targetWarehouseId; /**浼樺厛绾э紙鎷夊姩绫诲瀷锛�*/ @Dict(dicCode = "material_transfer_category") @ApiModelProperty(value = "鎷夊姩绫诲瀷") private String materialTransferCategory; /**鏈�鏅氶厤閫佹椂闂�*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "鏈�鏅氶厤閫佹椂闂�") private Date latestDeliveryTime; /**鐗╂枡缂栫爜*/ @@ -101,17 +104,4 @@ /**瀹為檯鎷夊姩鏁伴噺*/ @ApiModelProperty(value = "瀹為檯鎷夊姩鏁伴噺") private Double actualQuantity; - /**杞﹂棿鍓╀綑鏁伴噺*/ - @ApiModelProperty(value = "杞﹂棿鍓╀綑鏁伴噺") - private Double remainingQuantity; - - @TableField(exist = false) - @ApiModelProperty(value = "宸ュ崟鍙�") - private String workOrderCode; - @TableField(exist = false) - @ApiModelProperty(value = "鐩爣搴撳瓨鍦�") - private String targetWarehouseName; - @TableField(exist = false) - @ApiModelProperty(value = "鍘熷簱瀛樺湴") - private String originalWarehouseName; } diff --git a/src/main/java/org/jeecg/modules/mes/enums/MaterialTransferPublishStatus.java b/src/main/java/org/jeecg/modules/mes/enums/MaterialTransferPublishStatus.java new file mode 100644 index 0000000..b084ceb --- /dev/null +++ b/src/main/java/org/jeecg/modules/mes/enums/MaterialTransferPublishStatus.java @@ -0,0 +1,10 @@ +package org.jeecg.modules.mes.enums; + +/** + * 鐗╂枡鎷夊姩 鍙戝竷鐘舵�� + */ +public enum MaterialTransferPublishStatus { + WAIT_PUBLISH, //寰呭彂甯� + PUBLISHED, //宸插彂甯� + ; +} diff --git a/src/main/java/org/jeecg/modules/mes/enums/MaterialTransferRequestStatus.java b/src/main/java/org/jeecg/modules/mes/enums/MaterialTransferRequestStatus.java new file mode 100644 index 0000000..a6b226b --- /dev/null +++ b/src/main/java/org/jeecg/modules/mes/enums/MaterialTransferRequestStatus.java @@ -0,0 +1,11 @@ +package org.jeecg.modules.mes.enums; + +/** + * 鐗╂枡鎷夊姩璇锋眰鐘舵�� + */ +public enum MaterialTransferRequestStatus { + WAIT_REQUEST, //寰呰姹� + REQUESTED, //宸茶姹� + CHECKED_IN, //宸插叆搴� + ; +} diff --git a/src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java b/src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java index d84cc33..cae934a 100644 --- a/src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java +++ b/src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java @@ -13,4 +13,10 @@ */ public interface IMesMaterialTransferRequestService extends IService<MesMaterialTransferRequest> { List<MesMaterialTransferRequest> queryMaterialTransferRequestByWorkOrderId(String workOrderId); + + /** + * 鐗╂枡鎷夊姩鏂板 + * @param request + */ + boolean addMaterialTransferRequest(MesMaterialTransferRequest request); } diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java index fb4b473..87c4ad6 100644 --- a/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java +++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java @@ -1,10 +1,19 @@ package org.jeecg.modules.mes.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.mes.entity.MesMaterialTransferRequest; +import org.jeecg.modules.mes.entity.MesProductionWorkOrder; +import org.jeecg.modules.mes.enums.MaterialTransferPublishStatus; +import org.jeecg.modules.mes.enums.MaterialTransferRequestStatus; +import org.jeecg.modules.mes.enums.ProductionWorkOrderStatus; import org.jeecg.modules.mes.mapper.MesMaterialTransferRequestMapper; import org.jeecg.modules.mes.service.IMesMaterialTransferRequestService; +import org.jeecg.modules.mes.service.IMesProductionWorkOrderService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -17,8 +26,28 @@ @Service public class MesMaterialTransferRequestServiceImpl extends ServiceImpl<MesMaterialTransferRequestMapper, MesMaterialTransferRequest> implements IMesMaterialTransferRequestService { + @Autowired + private IMesProductionWorkOrderService productionWorkOrderService; + @Override public List<MesMaterialTransferRequest> queryMaterialTransferRequestByWorkOrderId(String workOrderId) { return baseMapper.queryMaterialTransferRequestByWorkOrderId(workOrderId); } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addMaterialTransferRequest(MesMaterialTransferRequest request) { + MesProductionWorkOrder order = productionWorkOrderService.getById(request.getWorkOrderId()); + if(order == null){ + throw new JeecgBootException("鎺掍骇宸ュ崟涓嶅瓨鍦�"); + } + if(!ProductionWorkOrderStatus.PUBLISHED.name().equals(order.getWorkOrderStatus())){ + throw new JeecgBootException("鍙湁鍙戝竷鐘舵�佺殑鎺掍骇宸ュ崟鎵嶅彲鐢宠鐗╂枡"); + } + request.setPublishStatus(MaterialTransferPublishStatus.WAIT_PUBLISH.name()); + request.setRequestStatus(MaterialTransferRequestStatus.WAIT_REQUEST.name()); + request.setDelFlag(CommonConstant.DEL_FLAG_0); + this.getBaseMapper().insert(request); + return true; + } } diff --git a/src/main/java/org/jeecg/modules/pms/controller/PmsProcessBillMaterialsDetailController.java b/src/main/java/org/jeecg/modules/pms/controller/PmsProcessBillMaterialsDetailController.java index 583065a..c712f31 100644 --- a/src/main/java/org/jeecg/modules/pms/controller/PmsProcessBillMaterialsDetailController.java +++ b/src/main/java/org/jeecg/modules/pms/controller/PmsProcessBillMaterialsDetailController.java @@ -36,4 +36,17 @@ return Result.OK(list); } + /** + * 鐗╂枡鎷夊姩閫夋嫨鐗╂枡浣跨敤 + * 鏍规嵁鎴愬搧銆佸崐鎴愬搧鐗╂枡鍙� 鏌ヨ鍙�夋嫨鐨勭墿鏂欐暟鎹� + * @param materialNumber 鎴愬搧銆佸崐鎴愬搧鐗╂枡缂栫爜 + * @return + */ + @ApiOperation(value = "鐗╂枡娓呭崟-閫氳繃鐗╂枡鍙锋煡璇�", notes = "鐗╂枡娓呭崟-閫氳繃鐗╂枡鍙锋煡璇�") + @GetMapping(value = "/queryByMaterialNumber") + public Result<?> queryByMaterialNumber(@RequestParam(name = "materialNumber") String materialNumber) { + List<PmsProcessBillMaterialsDetail> list = pmsProcessBillMaterialsDetailService.queryByMaterialNumber(materialNumber); + return Result.OK(list); + } + } diff --git a/src/main/java/org/jeecg/modules/pms/mapper/PmsProcessBillMaterialsDetailMapper.java b/src/main/java/org/jeecg/modules/pms/mapper/PmsProcessBillMaterialsDetailMapper.java index 802724a..319825a 100644 --- a/src/main/java/org/jeecg/modules/pms/mapper/PmsProcessBillMaterialsDetailMapper.java +++ b/src/main/java/org/jeecg/modules/pms/mapper/PmsProcessBillMaterialsDetailMapper.java @@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Param; import org.jeecg.modules.pms.entity.PmsProcessBillMaterialsDetail; +import java.util.List; import java.util.Map; /** @@ -16,4 +17,11 @@ public interface PmsProcessBillMaterialsDetailMapper extends BaseMapper<PmsProcessBillMaterialsDetail> { PmsProcessBillMaterialsDetail queryByMaterialId(@Param("materialId") String materialId); IPage<Map<String, Object>> getpmsProcessBillMaterialsDetailListData(IPage<Map> pageData, @Param("params")Map<String, String> paramMap); + /** + * 鐗╂枡鎷夊姩閫夋嫨鐗╂枡浣跨敤 + * 鏍规嵁鎴愬搧銆佸崐鎴愬搧鐗╂枡鍙� 鏌ヨ鍙�夋嫨鐨勭墿鏂欐暟鎹� + * @param materialNumber 鎴愬搧銆佸崐鎴愬搧鐗╂枡缂栫爜 + * @return + */ + List<PmsProcessBillMaterialsDetail> queryByMaterialNumber(String materialNumber); } diff --git a/src/main/java/org/jeecg/modules/pms/mapper/xml/PmsProcessBillMaterialsDetailMapper.xml b/src/main/java/org/jeecg/modules/pms/mapper/xml/PmsProcessBillMaterialsDetailMapper.xml index 3d45db9..c569fbd 100644 --- a/src/main/java/org/jeecg/modules/pms/mapper/xml/PmsProcessBillMaterialsDetailMapper.xml +++ b/src/main/java/org/jeecg/modules/pms/mapper/xml/PmsProcessBillMaterialsDetailMapper.xml @@ -14,4 +14,13 @@ AND material_name LIKE CONCAT('%', #{params.materialName}, '%') </if> </select> + <select id="queryByMaterialNumber" resultType="org.jeecg.modules.pms.entity.PmsProcessBillMaterialsDetail"> + select DISTINCT t1.material_number, t1.material_name, t1.production_unit + from pms_process_bill_materials_detail t1 + where EXISTS(select t2.id + from pms_process_bill_materials t2 + where t2.material_number = #{materialNumber} + and t1.material_id = t2.id) + + </select> </mapper> \ No newline at end of file diff --git a/src/main/java/org/jeecg/modules/pms/service/IPmsProcessBillMaterialsDetailService.java b/src/main/java/org/jeecg/modules/pms/service/IPmsProcessBillMaterialsDetailService.java index 4a5e867..ec7809e 100644 --- a/src/main/java/org/jeecg/modules/pms/service/IPmsProcessBillMaterialsDetailService.java +++ b/src/main/java/org/jeecg/modules/pms/service/IPmsProcessBillMaterialsDetailService.java @@ -13,6 +13,11 @@ * @Version: V1.0 */ public interface IPmsProcessBillMaterialsDetailService extends IService<PmsProcessBillMaterialsDetail> { + /** + * 鏍规嵁鐗╂枡Id鏌ヨ鏄庣粏 + * @param materialId + * @return + */ List<PmsProcessBillMaterialsDetail> queryByMaterialId(String materialId); /** @@ -27,4 +32,12 @@ * @param collect */ void saveBatchDetail(String materialsId, List<OrderBomDTO> collect); + + /** + * 鐗╂枡鎷夊姩閫夋嫨鐗╂枡浣跨敤 + * 鏍规嵁鎴愬搧銆佸崐鎴愬搧鐗╂枡鍙� 鏌ヨ鍙�夋嫨鐨勭墿鏂欐暟鎹� + * @param materialNumber 鎴愬搧銆佸崐鎴愬搧鐗╂枡缂栫爜 + * @return + */ + List<PmsProcessBillMaterialsDetail> queryByMaterialNumber(String materialNumber); } diff --git a/src/main/java/org/jeecg/modules/pms/service/impl/PmsProcessBillMaterialsDetailServiceImpl.java b/src/main/java/org/jeecg/modules/pms/service/impl/PmsProcessBillMaterialsDetailServiceImpl.java index d8480a8..feec4a1 100644 --- a/src/main/java/org/jeecg/modules/pms/service/impl/PmsProcessBillMaterialsDetailServiceImpl.java +++ b/src/main/java/org/jeecg/modules/pms/service/impl/PmsProcessBillMaterialsDetailServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; import org.jeecg.modules.pms.entity.PmsProcessBillMaterialsDetail; import org.jeecg.modules.pms.mapper.PmsProcessBillMaterialsDetailMapper; import org.jeecg.modules.pms.service.IPmsProcessBillMaterialsDetailService; @@ -10,6 +11,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -46,4 +48,12 @@ List<PmsProcessBillMaterialsDetail> list = collect.stream().map(orderBomDTO -> new PmsProcessBillMaterialsDetail(materialsId, orderBomDTO)).collect(Collectors.toList()); super.saveBatch(list); } + + @Override + public List<PmsProcessBillMaterialsDetail> queryByMaterialNumber(String materialNumber) { + if (StringUtils.isBlank(materialNumber)) { + return Collections.emptyList(); + } + return this.getBaseMapper().queryByMaterialNumber(materialNumber); + } } -- Gitblit v1.9.3