新火炬后端单体项目初始化代码
zhangherong
2 天以前 7acd9609e6fd88500f6056165a021b1f6ce0f697
art: 物料拉动业务相关接口添加,物料拉动新增接口,表设计修改
已添加2个文件
已修改14个文件
446 ■■■■■ 文件已修改
db/双林新火炬MES数据库设计.pdma.json 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/base/service/ILineSideWarehouseService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java 267 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/entity/MesMaterialTransferRequest.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/enums/MaterialTransferPublishStatus.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/enums/MaterialTransferRequestStatus.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/pms/controller/PmsProcessBillMaterialsDetailController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/pms/mapper/PmsProcessBillMaterialsDetailMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/pms/mapper/xml/PmsProcessBillMaterialsDetailMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/pms/service/IPmsProcessBillMaterialsDetailService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/pms/service/impl/PmsProcessBillMaterialsDetailServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/Ë«ÁÖлð¾æMESÊý¾Ý¿âÉè¼Æ.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": "",
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);
     }
}
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);
}
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;
    }
}
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";
    /**
     * å²—位编码
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));
    }
}
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;
}
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, //已发布
    ;
}
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, //已入库
    ;
}
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);
}
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;
    }
}
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);
    }
}
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);
}
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>
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);
}
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);
    }
}