fix:危化品配置记录

This commit is contained in:
shusir
2026-02-26 17:55:32 +08:00
parent 951d6d45d0
commit 5faf04e626
18 changed files with 357 additions and 144 deletions

View File

@@ -33,6 +33,9 @@ public class MaterialInfomationPageReqVO extends PageParam {
@Schema(description = "名称") @Schema(description = "名称")
private String name; private String name;
@Schema(description = "是否需要识别存在危化品配置信息默认false")
private Boolean needDetectExistHazardousMake = false;
@Schema(description = "技术参数") @Schema(description = "技术参数")
private String parameter; private String parameter;

View File

@@ -1,10 +1,8 @@
package com.zt.plat.module.qms.resource.material.controller.vo; package com.zt.plat.module.qms.resource.material.controller.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zt.plat.module.qms.core.aspect.annotation.Dict; import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
@@ -124,6 +122,10 @@ public class MaterialInfomationRespVO {
@Dict(dicCode = "yes_or_no") @Dict(dicCode = "yes_or_no")
private Integer hazardous; private Integer hazardous;
@Schema(description = "是否存在危化品配置信息")
@ExcelProperty("是否存在危化品配置信息")
private Boolean existHazardousMake;
@Schema(description = "是否标准溶液,1-是0-否") @Schema(description = "是否标准溶液,1-是0-否")
@ExcelProperty("是否标准溶液,1-是0-否") @ExcelProperty("是否标准溶液,1-是0-否")
@Dict(dicCode = "yes_or_no") @Dict(dicCode = "yes_or_no")
@@ -184,7 +186,11 @@ public class MaterialInfomationRespVO {
@Schema(description = "剩余量") @Schema(description = "剩余量")
@ExcelProperty("剩余量") @ExcelProperty("剩余量")
private String remainingVolume; private BigDecimal remainingVolume;
@Schema(description = "初始总量")
@ExcelProperty("初始总量")
private BigDecimal initialVolume;
@Schema(description = "用完标记,0-未标记1-已用完标记") @Schema(description = "用完标记,0-未标记1-已用完标记")
@ExcelProperty("用完标记,0-未标记1-已用完标记") @ExcelProperty("用完标记,0-未标记1-已用完标记")

View File

@@ -13,9 +13,12 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH
@Data @Data
public class MaterialUseRecordPageReqVO extends PageParam { public class MaterialUseRecordPageReqVO extends PageParam {
@Schema(description = "物料实例id,1-是0-否", example = "16550") @Schema(description = "物料实例id", example = "16550")
private Long infomationId; private Long infomationId;
@Schema(description = "大类id", example = "16550")
private Long productId;
@Schema(description = "是否配置危险品") @Schema(description = "是否配置危险品")
private String hazardousMakeFlag; private String hazardousMakeFlag;

View File

@@ -25,6 +25,14 @@ public class MaterialUseRecordRespVO {
@ExcelProperty("物料实例编号") @ExcelProperty("物料实例编号")
private String infomationCode; private String infomationCode;
@Schema(description = "物料实例名称")
@ExcelProperty("物料实例名称")
private String infomationName;
@Schema(description = "型号")
@ExcelProperty("型号")
private String modelNo;
@Schema(description = "是否配置危险品", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "是否配置危险品", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("是否配置危险品") @ExcelProperty("是否配置危险品")
@Dict(dicCode = "yes_or_no") @Dict(dicCode = "yes_or_no")

View File

@@ -1,6 +1,7 @@
package com.zt.plat.module.qms.resource.material.controller.vo.resp; package com.zt.plat.module.qms.resource.material.controller.vo.resp;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationRespVO; import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationRespVO;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialUseRecordRespVO;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@@ -11,7 +12,7 @@ import java.util.List;
public class MaterialUseRecordWithMakeInfoRespVO { public class MaterialUseRecordWithMakeInfoRespVO {
@Schema(description = "参与配置明细") @Schema(description = "参与配置明细")
private List<MaterialInfomationRespVO> makeInfoList; private List<MaterialUseRecordRespVO> makeInfoList;
@Schema(description = "配置生成的实例") @Schema(description = "配置生成的实例")
private MaterialInfomationRespVO targetInfo; private MaterialInfomationRespVO targetInfo;

View File

@@ -174,6 +174,11 @@ public class MaterialInfomationDO extends BusinessBaseDO {
@TableField("RMNG_VOL") @TableField("RMNG_VOL")
private BigDecimal remainingVolume; private BigDecimal remainingVolume;
/** /**
* 初始总量
*/
@TableField("INIT_VOL")
private BigDecimal initialVolume;
/**
* 用完标记,0-未标记1-已用完标记 * 用完标记,0-未标记1-已用完标记
*/ */
@TableField("USE_END_FLG") @TableField("USE_END_FLG")

View File

@@ -16,7 +16,6 @@ import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialStandardS
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* 物料实例 Mapper * 物料实例 Mapper
@@ -123,7 +122,7 @@ public interface MaterialInfomationMapper extends BaseMapperX<MaterialInfomation
MaterialInfomationDO::getOpenStatus, MaterialInfomationDO::getOpenUserId, MaterialInfomationDO::getOpenUserName, MaterialInfomationDO::getOpenStatus, MaterialInfomationDO::getOpenUserId, MaterialInfomationDO::getOpenUserName,
MaterialInfomationDO::getOpenDate, MaterialInfomationDO::getExpirationDate, MaterialInfomationDO::getManufacturerDate, MaterialInfomationDO::getOpenDate, MaterialInfomationDO::getExpirationDate, MaterialInfomationDO::getManufacturerDate,
MaterialInfomationDO::getExpirationFlag, MaterialInfomationDO::getRemainingVolume, MaterialInfomationDO::getUseEndFlag, MaterialInfomationDO::getExpirationFlag, MaterialInfomationDO::getRemainingVolume, MaterialInfomationDO::getUseEndFlag,
MaterialInfomationDO::getSystemDepartmentCode, MaterialInfomationDO::getRemark, MaterialInfomationDO::getInitialVolume, MaterialInfomationDO::getSystemDepartmentCode, MaterialInfomationDO::getRemark,
MaterialInfomationDO::getCreateTime, MaterialInfomationDO::getUpdateTime) MaterialInfomationDO::getCreateTime, MaterialInfomationDO::getUpdateTime)
.select(MaterialProductDO::getName, MaterialProductDO::getSpecification, MaterialProductDO::getStandardCapacity, .select(MaterialProductDO::getName, MaterialProductDO::getSpecification, MaterialProductDO::getStandardCapacity,
MaterialProductDO::getModelNo, MaterialProductDO::getParameter, MaterialProductDO::getManufacturer, MaterialProductDO::getModelNo, MaterialProductDO::getParameter, MaterialProductDO::getManufacturer,
@@ -148,7 +147,7 @@ public interface MaterialInfomationMapper extends BaseMapperX<MaterialInfomation
return selectJoinOne(MaterialInfomationRespVO.class, wrapper); return selectJoinOne(MaterialInfomationRespVO.class, wrapper);
} }
default List<MaterialInfomationRespVO> selectOneWithPdtInfoByInfIds(List<Long> ids) { default List<MaterialInfomationRespVO> selectListWithPdtInfoByInfIds(List<Long> ids) {
MPJLambdaWrapper<MaterialInfomationDO> wrapper = getInfomationDOMPJLambdaWrapper(); MPJLambdaWrapper<MaterialInfomationDO> wrapper = getInfomationDOMPJLambdaWrapper();
wrapper.in(MaterialInfomationDO::getId, ids); wrapper.in(MaterialInfomationDO::getId, ids);
return selectJoinList(MaterialInfomationRespVO.class, wrapper); return selectJoinList(MaterialInfomationRespVO.class, wrapper);

View File

@@ -7,9 +7,12 @@ import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialUseRecordPageReqVO; import com.zt.plat.module.qms.resource.material.controller.vo.MaterialUseRecordPageReqVO;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialUseRecordRespVO; import com.zt.plat.module.qms.resource.material.controller.vo.MaterialUseRecordRespVO;
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInfomationDO; import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInfomationDO;
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialProductDO;
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialUseRecordDO; import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialUseRecordDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 使用记录 Mapper * 使用记录 Mapper
* *
@@ -42,6 +45,9 @@ public interface MaterialUseRecordMapper extends BaseMapperX<MaterialUseRecordDO
.selectAll(MaterialUseRecordDO.class) .selectAll(MaterialUseRecordDO.class)
.selectAs(MaterialInfomationDO::getCode, MaterialUseRecordRespVO::getInfomationCode) .selectAs(MaterialInfomationDO::getCode, MaterialUseRecordRespVO::getInfomationCode)
.leftJoin(MaterialInfomationDO.class, MaterialInfomationDO::getId, MaterialUseRecordDO::getInfomationId) .leftJoin(MaterialInfomationDO.class, MaterialInfomationDO::getId, MaterialUseRecordDO::getInfomationId)
.innerJoin(MaterialProductDO.class, MaterialProductDO::getId, MaterialInfomationDO::getProductId)
.eqIfPresent(MaterialProductDO::getId, reqVO.getProductId())
.eqIfPresent(MaterialUseRecordDO::getInfomationId, reqVO.getInfomationId())
.eqIfPresent(MaterialUseRecordDO::getHazardousMakeFlag, reqVO.getHazardousMakeFlag()) .eqIfPresent(MaterialUseRecordDO::getHazardousMakeFlag, reqVO.getHazardousMakeFlag())
.betweenIfPresent(MaterialUseRecordDO::getUseDate, reqVO.getUseDate()) .betweenIfPresent(MaterialUseRecordDO::getUseDate, reqVO.getUseDate())
.likeIfPresent(MaterialUseRecordDO::getUserName, reqVO.getUserName()) .likeIfPresent(MaterialUseRecordDO::getUserName, reqVO.getUserName())
@@ -50,7 +56,19 @@ public interface MaterialUseRecordMapper extends BaseMapperX<MaterialUseRecordDO
.eqIfPresent(MaterialUseRecordDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) .eqIfPresent(MaterialUseRecordDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.likeIfPresent(MaterialUseRecordDO::getRemark, reqVO.getRemark()) .likeIfPresent(MaterialUseRecordDO::getRemark, reqVO.getRemark())
.betweenIfPresent(MaterialUseRecordDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(MaterialUseRecordDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(MaterialUseRecordDO::getId); .orderByDesc(MaterialInfomationDO::getId);
return selectJoinPage(reqVO, MaterialUseRecordRespVO.class, wrapperX); return selectJoinPage(reqVO, MaterialUseRecordRespVO.class, wrapperX);
} }
default List<MaterialUseRecordRespVO> selectListWithInf(List<Long> ids) {
MPJLambdaWrapperX<MaterialUseRecordDO> wrapperX = new MPJLambdaWrapperX<MaterialUseRecordDO>()
.selectAll(MaterialUseRecordDO.class)
.selectAs(MaterialInfomationDO::getCode, MaterialUseRecordRespVO::getInfomationCode)
.selectAs(MaterialProductDO::getName, MaterialUseRecordRespVO::getInfomationName)
.selectAs(MaterialProductDO::getModelNo, MaterialUseRecordRespVO::getModelNo)
.leftJoin(MaterialInfomationDO.class, MaterialInfomationDO::getId, MaterialUseRecordDO::getInfomationId)
.leftJoin(MaterialProductDO.class, MaterialProductDO::getId, MaterialInfomationDO::getProductId)
.in(MaterialUseRecordDO::getId, ids);
return selectJoinList(MaterialUseRecordRespVO.class, wrapperX);
}
} }

View File

@@ -1,12 +1,16 @@
package com.zt.plat.module.qms.resource.material.service; package com.zt.plat.module.qms.resource.material.service;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationPageReqVO; import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationPageReqVO;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationRespVO; import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationRespVO;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationSaveReqVO; import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationSaveReqVO;
import com.zt.plat.module.qms.resource.material.controller.vo.query.MaterialInfomationQueryVO; import com.zt.plat.module.qms.resource.material.controller.vo.query.MaterialInfomationQueryVO;
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialBatchDO;
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInfomationDO; import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInfomationDO;
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialProductDO;
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialStandardSolutionDO;
import jakarta.validation.*; import jakarta.validation.*;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
@@ -145,4 +149,35 @@ public interface MaterialInfomationService {
* @return 物料信息 * @return 物料信息
*/ */
List<MaterialInfomationRespVO> getMaterialInfomationsWithPdtInfoByIds(List<Long> ids); List<MaterialInfomationRespVO> getMaterialInfomationsWithPdtInfoByIds(List<Long> ids);
/**
* 保存物料信息 - 危化品配置生成
*
* @param product 大类信息
* @param totalOperationQuantity 总操作数量
* @param productId 大类id
* @return 物料信息
*/
MaterialInfomationDO saveMaterialInfomationByHzrdMtrlMake(MaterialProductDO product, BigDecimal totalOperationQuantity, Long productId);
/**
* 批量保存物料信息 - 标准溶液配置生成生成
*
* @param productId 大类id
* @param mtrlStandSol 标液
* @return 物料信息
*/
MaterialInfomationDO saveMaterialInfomationByStdSolMake(Long productId, MaterialStandardSolutionDO mtrlStandSol);
/**
* 批量保存物料信息 - 批次入库生成
*
* @param locationId 位置id
* @param reqQuantity 数量
* @param gongduanId 工段id
* @param product 大类信息
* @param batch 批次信息
* @return 物料信息
*/
List<MaterialInfomationDO> saveMaterialInfomationsByBatInb(Long locationId, BigDecimal reqQuantity, Long gongduanId, MaterialProductDO product, MaterialBatchDO batch);
} }

Some files were not shown because too many files have changed in this diff Show More