zouyu
2025-10-23 0e5bddf6084d3dfb7bcad7217d4320898416eba3
拆分原材料和外购成品的业务流程(报检、下单、检验)
已添加14个文件
已修改16个文件
678 ■■■■■ 文件已修改
basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantitySupplierDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/pojo/IfsInventoryQuantity.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/controller/IfsOrderInspectionController.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/controller/IfsPartPropsRecordController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/controller/OutsourcingFinishProductInspectionController.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/controller/RawMaterialOrderController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/dto/IfsPartPropsRecordDTO.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsPartPropsRecordMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsSplitOrderRecordMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/pojo/IfsPartPropsRecord.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/IfsOrderInspectionService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/IfsPartPropsRecordService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/OutsourcingFinishProductInspectionService.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/RawMaterialOrderService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsOrderInspectionServiceImpl.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/OutsourcingFinishProductInspectionServiceImpl.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/vo/IfsOrderVO.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/IfsPartPropsRecordMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsOrderMapper.xml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/enums/OrderType.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/api/IfsApiUtils.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityDto.java
@@ -79,4 +79,7 @@
    @ApiModelProperty("检验人")
    private String userName;
    @ApiModelProperty("销售订单分类")
    private String orderType;
}
basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantitySupplierDto.java
@@ -29,6 +29,9 @@
    @ApiModelProperty("检验对象")
    private String sampleType;
    @ApiModelProperty("销售订单分类名称")
    private String orderTypeName;
    @ExcelProperty(index = 7, value = "样品名称")
    @ApiModelProperty("样品名称")
    private String sampleName;
basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java
@@ -9,6 +9,7 @@
import com.ruoyi.basic.pojo.StandardMethodList;
import com.ruoyi.basic.pojo.StandardProductList;
import com.ruoyi.basic.pojo.StandardTree;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -20,6 +21,7 @@
 * @createDate 2024-03-01 15:06:44
 * @Entity com.ruoyi.basic.pojo.StandardTree
 */
@Mapper
public interface StandardTreeMapper extends BaseMapper<StandardTree> {
    List<FactoryDto> selectStandardTreeList();
basic-server/src/main/java/com/ruoyi/basic/pojo/IfsInventoryQuantity.java
@@ -27,6 +27,9 @@
    @ApiModelProperty("订单号")
    private String orderNo;
    @ApiModelProperty("订单类型(01raw:原材料,02wg:外购成品)")
    private String orderType;
    @ApiModelProperty("行号")
    private String lineNo;
inspect-server/src/main/java/com/ruoyi/inspect/controller/IfsOrderInspectionController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
package com.ruoyi.inspect.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto;
import com.ruoyi.common.annotation.PersonalScope;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.inspect.service.IfsOrderInspectionService;
import com.ruoyi.inspect.service.RawMaterialOrderService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * ifs销售订单报检controller
 */
@RestController
@RequestMapping("/ifsOrderInspection")
public class IfsOrderInspectionController {
    @Autowired
    private IfsOrderInspectionService ifsOrderInspectionService;
    @ApiOperation(value = "销售订单报检查询全部")
    @PreAuthorize("@ss.hasPermi('get:Ifs:ByAll')")
    @GetMapping("/getIfsByAll")
    public Result getIfsByAll(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto){
        return Result.success(ifsOrderInspectionService.getIfsByOver(page, ifsInventoryQuantityDto));
    }
    @ApiOperation(value = "销售订单报检查看已完成信息")
    @GetMapping("/getIfsByFinish")
    public Result getIfsByFinish(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto) {
        ifsInventoryQuantityDto.setIsFinish(1);
        return Result.success(ifsOrderInspectionService.getIfsByOver(page, ifsInventoryQuantityDto));
    }
}
inspect-server/src/main/java/com/ruoyi/inspect/controller/IfsPartPropsRecordController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
package com.ruoyi.inspect.controller;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.inspect.dto.IfsPartPropsRecordDTO;
import com.ruoyi.inspect.pojo.IfsPartPropsRecord;
import com.ruoyi.inspect.service.IfsPartPropsRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
 * ifs零件属性controller
 */
@Api("ifs零件属性")
@RestController
@RequestMapping("/ifsPartProps")
public class IfsPartPropsRecordController {
    @Autowired
    private IfsPartPropsRecordService ifsPartPropsRecordService;
    @ApiOperation(value = "新增或保存零件属性")
    @PostMapping("/saveOrUpdateProps")
    public Result saveOrUpdateProps(@RequestBody  IfsPartPropsRecordDTO ifsPartPropsRecord){
        return Result.success(ifsPartPropsRecordService.saveOrUpdateProps(ifsPartPropsRecord));
    }
    @ApiOperation(value = "查询ifs订单的零件属性记录")
    @GetMapping("/getOneByIfsId/{ifsId}")
    public Result getOneByIfsId(@PathVariable("ifsId") Long ifsId){
        return Result.success(ifsPartPropsRecordService.getOneByIfsId(ifsId));
    }
}
inspect-server/src/main/java/com/ruoyi/inspect/controller/OutsourcingFinishProductInspectionController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
package com.ruoyi.inspect.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.IfsInventoryQuantityDto;
import com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto;
import com.ruoyi.basic.pojo.IfsInventoryQuantity;
import com.ruoyi.common.annotation.PersonalScope;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.inspect.service.OutsourcingFinishProductInspectionService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * å¤–购成品检验controller
 */
@RestController
@RequestMapping("/outsourcingFinishProduct")
public class OutsourcingFinishProductInspectionController {
    @Autowired
    private OutsourcingFinishProductInspectionService outsourcingFinishProductInspectionService;
    @ApiOperation(value = "仓库报检查询")
    @GetMapping("/getWarehouseSubmit")
    public Result getWarehouseSubmit(Page page, IfsInventoryQuantity ifsInventoryQuantity) {
        return Result.success(outsourcingFinishProductInspectionService.getWarehouseSubmit(page, ifsInventoryQuantity));
    }
    @ApiOperation(value = "外购成品检验查询检验中")
    @GetMapping("/getIfsByStateOne")
    @PreAuthorize("@ss.hasPermi('business:order')")
    @PersonalScope(permsName = "business:order", objectName = IfsInventoryQuantityDto.class, paramName = "createUser")
    public Result getIfsByStateOne(Page page, IfsInventoryQuantityDto ifsInventoryQuantityDto){
        return Result.success(outsourcingFinishProductInspectionService.getIfsByStateOne(page, ifsInventoryQuantityDto));
    }
    @ApiOperation(value = "外购成品检验查询已检验")
    @GetMapping("/getIfsByOver")
    @PreAuthorize("@ss.hasPermi('business:order')")
    @PersonalScope(permsName = "business:order", objectName = IfsInventoryQuantitySupplierDto.class, paramName = "createUser")
    public Result getIfsByOver(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto){
        return Result.success(outsourcingFinishProductInspectionService.getIfsByOver(page, ifsInventoryQuantityDto));
    }
    @ApiOperation(value = "原材料报检查询全部")
    @PreAuthorize("@ss.hasPermi('get:Ifs:ByAll')")
    @GetMapping("/getIfsByAll")
    public Result getIfsByAll(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto){
        return Result.success(outsourcingFinishProductInspectionService.getIfsByOver(page, ifsInventoryQuantityDto));
    }
}
inspect-server/src/main/java/com/ruoyi/inspect/controller/RawMaterialOrderController.java
@@ -7,6 +7,8 @@
import com.ruoyi.basic.dto.*;
import com.ruoyi.basic.pojo.IfsInventoryQuantity;
import com.ruoyi.common.annotation.PersonalScope;
import com.ruoyi.common.enums.OrderType;
import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.inspect.dto.InsPlaceOrderDto;
import com.ruoyi.inspect.dto.OrderSplitDTO;
import com.ruoyi.inspect.dto.SampleProductDto;
@@ -31,6 +33,7 @@
import java.io.File;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
 * @Author zhuo
@@ -106,7 +109,11 @@
    @PostMapping("/inspectionReport")
    public Result<?> inspectionReport(@RequestBody Map<String, Object> param) {
        List<Long> ids = (List<Long>) param.get("ids");
        return Result.success(rawMaterialOrderService.inspectionReport(ids));
        String orderType = Objects.nonNull(param.get("ids"))?param.get("ids").toString():"";
        if(!OrderType.validateValue(orderType)){
            throw new ErrorException("批量报检失败,非法的销售订单分类枚举");
        }
        return Result.success(rawMaterialOrderService.inspectionReport(ids,orderType));
    }
    /**
@@ -221,6 +228,7 @@
    @PreAuthorize("@ss.hasPermi('get:Ifs:ByAll')")
    @GetMapping("/getIfsByAll")
    public Result getIfsByAll(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto){
        ifsInventoryQuantityDto.setOrderType(OrderType.RAW.getValue());
        return Result.success(rawMaterialOrderService.getIfsByOver(page, ifsInventoryQuantityDto));
    }
@@ -236,6 +244,7 @@
    @GetMapping("/getIfsByFinish")
    public Result getIfsByFinish(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto) throws Exception {
        ifsInventoryQuantityDto.setIsFinish(1);
        ifsInventoryQuantityDto.setOrderType(OrderType.RAW.getValue());
        return Result.success(rawMaterialOrderService.getIfsByOver(page, ifsInventoryQuantityDto));
    }
inspect-server/src/main/java/com/ruoyi/inspect/dto/IfsPartPropsRecordDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.ruoyi.inspect.dto;
import com.ruoyi.inspect.pojo.IfsPartPropsRecord;
import lombok.Data;
@Data
public class IfsPartPropsRecordDTO extends IfsPartPropsRecord {
    private String partNo;
    private String lotBatchNo;
}
inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsPartPropsRecordMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.ruoyi.inspect.mapper;
import com.ruoyi.inspect.pojo.IfsPartPropsRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* @author 27233
* @description é’ˆå¯¹è¡¨ã€ifs_part_props_record(ifs订单零件属性记录表)】的数据库操作Mapper
* @createDate 2025-10-23 15:00:34
* @Entity com.ruoyi.inspect.pojo.IfsPartPropsRecord
*/
@Mapper
public interface IfsPartPropsRecordMapper extends BaseMapper<IfsPartPropsRecord> {
}
inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsSplitOrderRecordMapper.java
@@ -2,6 +2,7 @@
import com.ruoyi.inspect.pojo.IfsSplitOrderRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* @author 27233
@@ -9,6 +10,7 @@
* @createDate 2025-09-23 11:20:20
* @Entity com.ruoyi.inspect.pojo.IfsSplitOrderRecord
*/
@Mapper
public interface IfsSplitOrderRecordMapper extends BaseMapper<IfsSplitOrderRecord> {
}
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
@@ -12,6 +12,7 @@
import com.ruoyi.inspect.vo.IfsOrderVO;
import com.ruoyi.inspect.vo.InsOrderPrintingVo;
import com.ruoyi.inspect.vo.SampleDefectsFatherVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -24,6 +25,7 @@
 * @createDate 2024-03-12 16:17:55
 * @Entity com.yuanchu.mom.pojo.InsOrder
 */
@Mapper
public interface InsOrderMapper extends BaseMapper<InsOrder> {
    //获取检验下单数据
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java
@@ -8,6 +8,7 @@
import com.ruoyi.inspect.dto.SampleProductRawAnalysisDto;
import com.ruoyi.inspect.pojo.InsProduct;
import com.ruoyi.inspect.pojo.InsProductDeviationWarningDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -19,6 +20,7 @@
* @createDate 2024-03-08 09:45:03
* @Entity com.yuanchu.mom.pojo.InsProduct
*/
@Mapper
public interface InsProductMapper extends BaseMapper<InsProduct> {
    int selectOrderManDay(@Param("orderId") Integer orderId);
inspect-server/src/main/java/com/ruoyi/inspect/pojo/IfsPartPropsRecord.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
package com.ruoyi.inspect.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
/**
 * ifs订单零件属性记录表
 * @TableName ifs_part_props_record
 */
@TableName(value ="ifs_part_props_record")
@Data
public class IfsPartPropsRecord implements Serializable {
    /**
     * ä¸»é”®id
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * ifs订单id
     */
    private Long ifsInventoryId;
    /**
     * è½½å…·ç¼–号
     */
    private String drumNo;
    /**
     * èµ·å§‹ç±³æ ‡
     */
    private BigDecimal startMeterMark;
    /**
     * æˆªæ­¢ç±³æ ‡
     */
    private BigDecimal endMeterMark;
    /**
     * ç»ç¼˜é¢œè‰²
     */
    private String insulationColor;
    /**
     * å¤–护颜色
     */
    private String outerColor;
    /**
     * å°å­—信息
     */
    private String letteringInfo;
    /**
     * ifs零件属性更新标识
     */
    private Boolean partPropsFlag;
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
inspect-server/src/main/java/com/ruoyi/inspect/service/IfsOrderInspectionService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.ruoyi.inspect.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto;
import org.springframework.stereotype.Component;
@Component
public interface IfsOrderInspectionService {
    /**
     * æŸ¥è¯¢å·²æ£€éªŒ
     * @param page
     * @param ifsInventoryQuantityDto
     * @return
     */
    IPage<IfsInventoryQuantitySupplierDto> getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto);
}
inspect-server/src/main/java/com/ruoyi/inspect/service/IfsPartPropsRecordService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package com.ruoyi.inspect.service;
import com.ruoyi.inspect.dto.IfsPartPropsRecordDTO;
import com.ruoyi.inspect.pojo.IfsPartPropsRecord;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author 27233
* @description é’ˆå¯¹è¡¨ã€ifs_part_props_record(ifs订单零件属性记录表)】的数据库操作Service
* @createDate 2025-10-23 15:00:34
*/
public interface IfsPartPropsRecordService extends IService<IfsPartPropsRecord> {
    boolean saveOrUpdateProps(IfsPartPropsRecordDTO ifsPartPropsRecord);
    IfsPartPropsRecord getOneByIfsId(Long ifsId);
}
inspect-server/src/main/java/com/ruoyi/inspect/service/OutsourcingFinishProductInspectionService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
package com.ruoyi.inspect.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.IfsInventoryQuantityDto;
import com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto;
import com.ruoyi.basic.pojo.IfsInventoryQuantity;
import org.springframework.stereotype.Component;
@Component
public interface OutsourcingFinishProductInspectionService {
    /**
     * æŠ¥æ£€æŸ¥è¯¢
     * @param page
     * @param ifsInventoryQuantity
     * @return
     */
    IPage<IfsInventoryQuantity> getWarehouseSubmit(Page page, IfsInventoryQuantity ifsInventoryQuantity);
    /**
     * æŸ¥è¯¢å·²æ£€éªŒ
     * @param page
     * @param ifsInventoryQuantityDto
     * @return
     */
    IPage<IfsInventoryQuantitySupplierDto>  getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto);
    /**
     * æŸ¥è¯¢æ£€éªŒå€¼
     * @param page
     * @param ifsInventoryQuantityDto
     * @return
     */
    IPage<IfsInventoryQuantityDto> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, IfsInventoryQuantityDto ifsInventoryQuantityDto);
}
inspect-server/src/main/java/com/ruoyi/inspect/service/RawMaterialOrderService.java
@@ -42,7 +42,7 @@
     */
    IPage<IfsInventoryQuantityDto> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, IfsInventoryQuantityDto ifsInventoryQuantityDto);
    int inspectionReport(List<Long> ids);
    int inspectionReport(List<Long> ids,String orderType);
    int revokeInspectionReport(Long id);
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsOrderInspectionServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
package com.ruoyi.inspect.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto;
import com.ruoyi.basic.mapper.StandardTreeMapper;
import com.ruoyi.common.enums.OrderType;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.inspect.service.IfsOrderInspectionService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * é”€å”®è®¢å•报检service
 */
@Slf4j
@Service
public class IfsOrderInspectionServiceImpl implements IfsOrderInspectionService {
    @Autowired
    private StandardTreeMapper standardTreeMapper;
    @Override
    public IPage<IfsInventoryQuantitySupplierDto> getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto) {
        // todo: åªçœ‹æˆ‘
        String beginDeclareDate = ifsInventoryQuantityDto.getBeginDeclareDate();
        String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate();
        ifsInventoryQuantityDto.setBeginDeclareDate(null);
        ifsInventoryQuantityDto.setEndDeclareDate(null);
        IPage<IfsInventoryQuantitySupplierDto> ifsByOver = standardTreeMapper.getIfsByOver(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate);
        ifsByOver.getRecords().forEach(r->r.setOrderTypeName(OrderType.getLabelByValue(r.getOrderType())));
        return ifsByOver;
    }
}
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,111 @@
package com.ruoyi.inspect.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper;
import com.ruoyi.basic.pojo.IfsInventoryQuantity;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.utils.api.IfsApiUtils;
import com.ruoyi.inspect.dto.IfsPartPropsRecordDTO;
import com.ruoyi.inspect.mapper.IfsSplitOrderRecordMapper;
import com.ruoyi.inspect.pojo.IfsPartPropsRecord;
import com.ruoyi.inspect.pojo.IfsSplitOrderRecord;
import com.ruoyi.inspect.service.IfsPartPropsRecordService;
import com.ruoyi.inspect.mapper.IfsPartPropsRecordMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
/**
* @author 27233
* @description é’ˆå¯¹è¡¨ã€ifs_part_props_record(ifs订单零件属性记录表)】的数据库操作Service实现
* @createDate 2025-10-23 15:00:34
*/
@Slf4j
@Service
public class IfsPartPropsRecordServiceImpl extends ServiceImpl<IfsPartPropsRecordMapper, IfsPartPropsRecord>
    implements IfsPartPropsRecordService{
    @Autowired
    private IfsApiUtils ifsApiUtils;
    @Autowired
    private IfsInventoryQuantityMapper ifsInventoryQuantityMapper;
    @Autowired
    private IfsSplitOrderRecordMapper ifsSplitOrderRecordMapper;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean saveOrUpdateProps(IfsPartPropsRecordDTO ifsPartPropsRecord) {
        if(Objects.isNull(ifsPartPropsRecord)){
            throw new RuntimeException("参数不能为空");
        }
        //判断是新增还是更新
        String actionType = Objects.isNull(ifsPartPropsRecord.getId())?"New":"Modify";
        Map<String, Object> inAttrMap = new HashMap<>();
        inAttrMap.put("RECORD_ID", UUID.randomUUID().toString());
        inAttrMap.put("SYSCODE", "LIMS");
        inAttrMap.put("SYSMODEL", "库存物料批次属性修改");
        HashMap<String, Object> batchInfoMap = new HashMap<>();
        batchInfoMap.put("CONTRACT","ZTNS");//域
        batchInfoMap.put("PART_NO",ifsPartPropsRecord.getPartNo());//零件号
        batchInfoMap.put("LOT_BATCH_NO",ifsPartPropsRecord.getLotBatchNo());//批次号
        batchInfoMap.put("ATTR1",ifsPartPropsRecord.getDrumNo());//载具编号
        batchInfoMap.put("ATTR2",ifsPartPropsRecord.getStartMeterMark());//起始米标
        batchInfoMap.put("ATTR3",ifsPartPropsRecord.getEndMeterMark());//截止米标
        batchInfoMap.put("ATTR4", ifsPartPropsRecord.getInsulationColor());//绝缘颜色
        batchInfoMap.put("ATTR5",ifsPartPropsRecord.getOuterColor());//外护颜色
        batchInfoMap.put("ATTR8",ifsPartPropsRecord.getLetteringInfo());//印字信息
        batchInfoMap.put("ACTION_TYPE",actionType);//操作类型
        inAttrMap.put("BATCH_INFO", Collections.singletonList(batchInfoMap));
        Result result = ifsApiUtils.importPartLotAttr(JSONUtil.toJsonStr(inAttrMap));
        if(result.getCode()!=200){
            throw new RuntimeException("库存物料批次属性更新失败:"+result.getMessage());
        }
        return this.saveOrUpdate(ifsPartPropsRecord);
    }
    @Override
    public IfsPartPropsRecord getOneByIfsId(Long ifsId) {
        //查询ifs订单信息
        IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsId);
        if(Objects.isNull(ifsInventoryQuantity)){
            throw new RuntimeException("未找到对应的IFS订单信息");
        }
        //判断是否是拆分订单
        if(ifsInventoryQuantity.getIsSplitOrder().equals(1)){
            //查询拆分记录
            IfsSplitOrderRecord splitRecord = ifsSplitOrderRecordMapper.selectOne(Wrappers.<IfsSplitOrderRecord>lambdaQuery()
                    .eq(IfsSplitOrderRecord::getOrderNo, ifsInventoryQuantity.getOrderNo())
                    .eq(IfsSplitOrderRecord::getPartNo, ifsInventoryQuantity.getPartNo())
                    .eq(IfsSplitOrderRecord::getReleaseNo, ifsInventoryQuantity.getReleaseNo())
                    .eq(IfsSplitOrderRecord::getLineNo, ifsInventoryQuantity.getLineNo())
                    .eq(IfsSplitOrderRecord::getReceiptNo, ifsInventoryQuantity.getReceiptNo())
                    .eq(IfsSplitOrderRecord::getLotBatchNo, ifsInventoryQuantity.getUpdateBatchNo())
                    .eq(IfsSplitOrderRecord::getOrderNo, ifsInventoryQuantity.getOrderNo())
            );
            if(Objects.isNull(splitRecord)){
                throw new RuntimeException("未找到零件的拆分信息");
            }
            IfsPartPropsRecord ifsPartPropsRecord = new IfsPartPropsRecord();
            ifsPartPropsRecord.setDrumNo(splitRecord.getDrumNo());
            ifsPartPropsRecord.setLetteringInfo(splitRecord.getLetteringInfo());
            ifsPartPropsRecord.setInsulationColor(splitRecord.getInsulationColor());
            ifsPartPropsRecord.setOuterColor(splitRecord.getOuterColor());
            ifsPartPropsRecord.setDrumNo(splitRecord.getDrumNo());
            ifsPartPropsRecord.setDrumNo(splitRecord.getDrumNo());
            return ifsPartPropsRecord;
        }
        return this.getOne(Wrappers.<IfsPartPropsRecord>lambdaQuery().eq(IfsPartPropsRecord::getIfsInventoryId,ifsId).last("limit 1"));
    }
}
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -11,6 +11,7 @@
import com.alibaba.fastjson.JSONObject;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@@ -168,9 +169,7 @@
    public IPage<InsOrderPlanVO> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
        // todo: ä»…看自己或者实验室
        //获取当前人所属实验室id
        String laboratory = null;
        String userName = null;
        Integer userId = null;
        if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
@@ -181,8 +180,14 @@
        Integer isCheck = insOrderPlanDTO.getIsCheck();
        insOrderPlanDTO.setIsCheck(null);
        String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//试验室
        QueryWrapper<InsOrderPlanDTO> queryWrapper = QueryWrappers.queryWrappers(insOrderPlanDTO);
        if(ObjectUtils.isEmpty(insOrderPlanDTO.getTypeSource())){
            queryWrapper.isNull("ifs_inventory_id");//委托试验查询非ifs报检订单
        }else{
            queryWrapper.isNotNull("ifs_inventory_id");
        }
        IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page,
                QueryWrappers.queryWrappers(insOrderPlanDTO),
                queryWrapper,
                userName,
                userId,
                sonLaboratory,
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -26,6 +26,7 @@
import com.ruoyi.common.constant.InsOrderTypeConstants;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.domain.entity.User;
import com.ruoyi.common.enums.OrderType;
import com.ruoyi.common.numgen.NumberGenerator;
import com.ruoyi.common.utils.*;
import com.ruoyi.common.utils.api.IfsApiUtils;
@@ -311,9 +312,10 @@
                }
            }
        });
        //是否为原材料下单
        if (insOrder.getTypeSource() != null && insOrder.getTypeSource().equals(1)) {
            // åŽŸææ–™ä¸‹å•: å§”托人就是报检人, ç”Ÿäº§å•位就是供应商单位
        //原材料下单或外购成品下单
        if (Objects.nonNull(insOrder.getTypeSource())&&Objects.nonNull(insOrder.getIfsInventoryId())) {
            // å§”托人就是报检人, ç”Ÿäº§å•位就是供应商单位
            IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(insOrder.getIfsInventoryId());
            Integer declareUserId = ifsInventoryQuantity.getDeclareUserId();
            User user = userMapper.selectById(declareUserId);
@@ -351,8 +353,11 @@
            upInsOrderOfState(insOrder);
            // åˆ†é…æ£€éªŒäºº
            upInsOrder(insOrder.getId(), null, appointed != null ? appointed.toString() : null, SecurityUtils.getUserId().intValue(), "原材料");
            String sonLaboratory = insOrder.getTypeSource().equals(1)?"原材料":"成品实验室";
            upInsOrder(insOrder.getId(), null, appointed != null ? appointed.toString() : null, SecurityUtils.getUserId().intValue(), sonLaboratory);
            //是否为原材料下单
            if(insOrder.getTypeSource().equals(1)){
            // æ ¹æ®é›¶ä»¶å·åˆ¤æ–­æ˜¯å¦æ˜¯è¾…材
            boolean isRaw = false;
            StructureTestObject productObject = insOrderMapper.selectProductByPartNo(ifsInventoryQuantity.getPartNo());
@@ -392,6 +397,7 @@
                    ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate()
                            .eq(IfsInventoryQuantity::getId, insOrder.getIfsInventoryId())
                            .set(IfsInventoryQuantity::getIsFirst, 1));
                    }
                }
            }
        }
@@ -1207,7 +1213,8 @@
         * TODO åŽç»­éœ€è¦è°ƒç”¨IFS的接口 ç§»å…¥çš„库位号 toLocation
         */
        // æ£€éªŒåŽç§»åº“
        toLocation = "1301";
        //1301:原材料合格库,CP-02-001:成品库
        toLocation = StringUtils.equals(inventoryQuantity.getOrderType(), OrderType.RAW.getValue())?"1301":"CP-02-001";
        Map<String, Object> moveResultMap = new HashMap<>();
        List<Map<String, Object>> moveResultList = new ArrayList<>();
        Map<String, Object> moveMap = new HashMap<>();
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/OutsourcingFinishProductInspectionServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
package com.ruoyi.inspect.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.IfsInventoryQuantityDto;
import com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto;
import com.ruoyi.basic.mapper.StandardTreeMapper;
import com.ruoyi.basic.pojo.IfsInventoryQuantity;
import com.ruoyi.common.enums.OrderType;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.inspect.service.OutsourcingFinishProductInspectionService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * å¤–购成品检验serviceImpl
 */
@Slf4j
@Service
public class OutsourcingFinishProductInspectionServiceImpl implements OutsourcingFinishProductInspectionService {
    @Autowired
    private StandardTreeMapper standardTreeMapper;
    @Override
    public IPage<IfsInventoryQuantity> getWarehouseSubmit(Page page, IfsInventoryQuantity ifsInventoryQuantity) {
        ifsInventoryQuantity.setOrderType(OrderType.WG.getValue());
        return standardTreeMapper.selectIfsPage(page, QueryWrappers.queryWrappers(ifsInventoryQuantity));
    }
    @Override
    public IPage<IfsInventoryQuantitySupplierDto> getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto) {
        String beginDeclareDate = ifsInventoryQuantityDto.getBeginDeclareDate();
        String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate();
        ifsInventoryQuantityDto.setBeginDeclareDate(null);
        ifsInventoryQuantityDto.setEndDeclareDate(null);
        ifsInventoryQuantityDto.setOrderType(OrderType.WG.getValue());
        IPage<IfsInventoryQuantitySupplierDto> ifsByOver = standardTreeMapper.getIfsByOver(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate);
        ifsByOver.getRecords().forEach(r->r.setOrderTypeName(OrderType.getLabelByValue(r.getOrderType())));
        return ifsByOver;
    }
    @Override
    public IPage<IfsInventoryQuantityDto> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, IfsInventoryQuantityDto ifsInventoryQuantityDto) {
        ifsInventoryQuantityDto.setOrderType(OrderType.WG.getValue());
        return standardTreeMapper.getIfsByStateOne(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto));
    }
}
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
@@ -25,6 +25,7 @@
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.domain.entity.User;
import com.ruoyi.common.config.WechatProperty;
import com.ruoyi.common.enums.OrderType;
import com.ruoyi.common.utils.LimsDateUtil;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.common.utils.SecurityUtils;
@@ -152,11 +153,15 @@
    @Override
    public IPage<IfsInventoryQuantity> getWarehouseSubmit(IPage<IfsInventoryQuantity> page, IfsInventoryQuantity ifsInventoryQuantity) {
        if(ifsInventoryQuantity.getIsInspect().equals(1)){
            ifsInventoryQuantity.setOrderType(OrderType.RAW.getValue());
        }
        return standardTreeMapper.selectIfsPage(page, QueryWrappers.queryWrappers(ifsInventoryQuantity));
    }
    @Override
    public IPage<IfsInventoryQuantityDto> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, IfsInventoryQuantityDto ifsInventoryQuantityDto) {
        ifsInventoryQuantityDto.setOrderType(OrderType.RAW.getValue());
        return standardTreeMapper.getIfsByStateOne(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto));
    }
@@ -167,13 +172,14 @@
     * @return
     */
    @Override
    public int inspectionReport(List<Long> ids) {
    public int inspectionReport(List<Long> ids,String orderType) {
        Integer userId = SecurityUtils.getUserId().intValue();
        ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate()
                .in(IfsInventoryQuantity::getId, ids)
                .set(IfsInventoryQuantity::getDeclareUser, userMapper.selectById(userId).getName())
                .set(IfsInventoryQuantity::getDeclareUserId, userId)
                .set(IfsInventoryQuantity::getIsInspect, 1)
                .set(IfsInventoryQuantity::getOrderType,orderType)
                .set(IfsInventoryQuantity::getDeclareDate, LocalDateTime.now())
        );
        threadPoolTaskExecutor.execute(() -> {
@@ -235,6 +241,10 @@
    @Override
    public int inspectionReportOne(IfsInventoryQuantity ifsInventoryQuantity) {
        Integer userId = SecurityUtils.getUserId().intValue();
        boolean validateValue = OrderType.validateValue(ifsInventoryQuantity.getOrderType());
        if(!validateValue){
            throw new ErrorException("报检失败,非法的销售订单分类枚举");
        }
        ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate()
                .eq(IfsInventoryQuantity::getId, ifsInventoryQuantity.getId())
                .set(IfsInventoryQuantity::getDeclareUser, userMapper.selectById(userId).getName())
@@ -242,6 +252,7 @@
                .set(IfsInventoryQuantity::getIsInspect, 1)
                .set(IfsInventoryQuantity::getDeclareDate, LocalDateTime.now())
                .set(IfsInventoryQuantity::getUpdateBatchNo, ifsInventoryQuantity.getUpdateBatchNo())
                .set(IfsInventoryQuantity::getOrderType,ifsInventoryQuantity.getOrderType())
        );
        threadPoolTaskExecutor.execute(() -> {
@@ -393,8 +404,9 @@
        String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate();
        ifsInventoryQuantityDto.setBeginDeclareDate(null);
        ifsInventoryQuantityDto.setEndDeclareDate(null);
        ifsInventoryQuantityDto.setOrderType(OrderType.RAW.getValue());
        IPage<IfsInventoryQuantitySupplierDto> ifsByOver = standardTreeMapper.getIfsByOver(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate);
        ifsByOver.getRecords().forEach(r->r.setOrderTypeName(OrderType.getLabelByValue(r.getOrderType())));
        return ifsByOver;
    }
@@ -511,6 +523,9 @@
        ifsInventoryQuantity.setIsSource(0);
        ifsInventoryQuantity.setState(0);
        ifsInventoryQuantity.setIsFinish(0);
        if(!OrderType.validateValue(ifsInventoryQuantity.getOrderType())){
            throw new ErrorException("新增报检信息失败,非法的销售订单分类枚举");
        }
        ifsInventoryQuantityMapper.insert(ifsInventoryQuantity);
    }
@@ -771,7 +786,7 @@
        String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate();
        ifsInventoryQuantityDto.setBeginDeclareDate(null);
        ifsInventoryQuantityDto.setEndDeclareDate(null);
        ifsInventoryQuantityDto.setOrderType(OrderType.RAW.getValue());
        return standardTreeMapper.getIfsByQuarter(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate);
    }
@@ -923,7 +938,7 @@
        if(Objects.nonNull(splitOrderList) && !splitOrderList.isEmpty()){
            List<Long> ids = splitOrderList.stream().map(IfsInventoryQuantity::getId).collect(Collectors.toList());
            ids.add(ifsInventoryQuantity.getId());
            this.inspectionReport(ids);
            this.inspectionReport(ids,OrderType.RAW.getValue());
        }
        //勾选同步到MES,保存订单拆分记录
        if(orderSplitDTO.getPushToMes()){
inspect-server/src/main/java/com/ruoyi/inspect/vo/IfsOrderVO.java
@@ -36,4 +36,16 @@
     */
    @ApiModelProperty("是否是拆分订单(0:否 1:是)")
    private Integer isSplitOrder;
    /**
     * ifs订单分类(01raw:原材料 02wg:外购成品)
     */
    @ApiModelProperty("ifs订单分类(01raw:原材料 02wg:外购成品)")
    private String ifsOrderType;
    private String partNo;
    private String lotBatchNo;
}
inspect-server/src/main/resources/mapper/IfsPartPropsRecordMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.inspect.mapper.IfsPartPropsRecordMapper">
    <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.IfsPartPropsRecord">
            <id property="id" column="id" jdbcType="BIGINT"/>
            <result property="ifsInventoryId" column="ifs_inventory_id" jdbcType="BIGINT"/>
            <result property="drumNo" column="drum_no" jdbcType="VARCHAR"/>
            <result property="startMeterMark" column="start_meter_mark" jdbcType="DECIMAL"/>
            <result property="endMeterMark" column="end_meter_mark" jdbcType="DECIMAL"/>
            <result property="insulationColor" column="insulation_color" jdbcType="VARCHAR"/>
            <result property="outerColor" column="outer_color" jdbcType="VARCHAR"/>
            <result property="letteringInfo" column="lettering_info" jdbcType="VARCHAR"/>
            <result property="partPropsFlag" column="part_props_flag" jdbcType="BIT"/>
    </resultMap>
    <sql id="Base_Column_List">
        id,ifs_inventory_id,drum_no,
        start_meter_mark,end_meter_mark,insulation_color,
        outer_color,lettering_info,part_props_flag
    </sql>
</mapper>
inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -474,7 +474,10 @@
                isor.insulation_color,
                isor.outer_color,
                isor.drum_no,
                iiq.is_split_order
                iiq.is_split_order,
                iiq.order_type AS ifs_order_type,
                iiq.part_no,
                iiq.update_batch_no AS lot_batch_no
        from ins_order io left join ifs_inventory_quantity iiq on io.ifs_inventory_id=iiq.id
                          left join ifs_split_order_record isor
                                    on iiq.order_no=isor.order_no
performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java
@@ -8,6 +8,7 @@
import com.ruoyi.performance.dto.AuxiliaryOriginalHoursLookDto;
import com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto;
import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -21,6 +22,7 @@
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-05-28 03:48:48
 */
@Mapper
public interface AuxiliaryOutputWorkingHoursMapper extends BaseMapper<AuxiliaryOutputWorkingHours> {
    IPage<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHours(Page page, @Param("ew") QueryWrapper<AuxiliaryOutputWorkingHoursDto> ew, @Param("ids") List<Long> ids);
ruoyi-common/src/main/java/com/ruoyi/common/enums/OrderType.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
package com.ruoyi.common.enums;
import org.apache.commons.lang3.StringUtils;
public enum OrderType {
    RAW("原材料","01raw"),
    WG("外购成品","02wg");
    private String label,value;
    public String getLabel() {
        return label;
    }
    public String getValue() {
        return value;
    }
    OrderType(String label, String value) {
        this.label = label;
        this.value = value;
    }
    public static boolean validateValue(String value){
        boolean flag = false;
        for (OrderType orderType : OrderType.values()) {
            if(StringUtils.isNotBlank(value)&&StringUtils.equals(orderType.getValue(),value)){
                flag = true;
            }
        }
        return flag;
    }
    public static String getLabelByValue(String value){
        for (OrderType orderType : OrderType.values()) {
            if(validateValue(value)&&StringUtils.equals(orderType.getValue(), value)){
                return orderType.getLabel();
            }
        }
        return "";
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/utils/api/IfsApiUtils.java
@@ -91,6 +91,15 @@
        return getResult("QUERY_INVENTORY_INFO_STD", inAttr, ifsProperties.getCustorderPort(), "查询库存信息-->");
    }
    /**
     * åº“存物料批次属性新增修改接口
     *
     * @param inAttr
     * @return
     */
    public Result importPartLotAttr(String inAttr) {
        return getResult("IMPORT_PART_LOT_ATTR_STD", inAttr, ifsProperties.getCustorder(), "库存物料批次属性新增修改接口-->");
    }
    /**
     * é€šç”¨æŽ¥å£