update
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
package digital.laboratory.platform.reagent.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import digital.laboratory.platform.common.core.util.R;
|
||||
import digital.laboratory.platform.reagent.entity.ReagentConsumableStash;
|
||||
import digital.laboratory.platform.reagent.service.ReagentConsumableStashService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("reagent_consumable_stash")
|
||||
@Api(value = "reagent_consumable_stash", tags = "试剂耗材仓库管理")
|
||||
public class ReagentConsumableStashController {
|
||||
|
||||
@Autowired
|
||||
private ReagentConsumableStashService reagentConsumableStashService;
|
||||
|
||||
@ApiOperation(value = "分页查询", notes = "分页查询")
|
||||
@GetMapping
|
||||
public R<IPage<ReagentConsumableStash>> getReagentConsumableStash(Page page, String argument) {
|
||||
IPage<ReagentConsumableStash> reagentConsumableStashIPage = reagentConsumableStashService.getReagentConsumableStashPage(page, Wrappers.<ReagentConsumableStash>query()
|
||||
.like(StrUtil.isNotBlank(argument), "reagent_consumable_name", argument)
|
||||
.ne("total_quantity", 0)
|
||||
.or()
|
||||
.like(StrUtil.isNotBlank(argument), "room_no", argument)
|
||||
.ne("total_quantity", 0));
|
||||
return R.ok(reagentConsumableStashIPage);
|
||||
|
||||
}
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package digital.laboratory.platform.reagent.dto;
|
||||
|
||||
import com.amazonaws.services.s3.S3ResourceType;
|
||||
import digital.laboratory.platform.reagent.entity.ReagentConsumableInventory;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Data
|
||||
public class ReagentConsumableInventoryDTO extends ReagentConsumableInventory {
|
||||
|
||||
|
||||
@ApiModelProperty(value = "(位置信息)")
|
||||
private String location;
|
||||
|
||||
@ApiModelProperty(value="(供应商ID)")
|
||||
private String supplierId;
|
||||
|
||||
@ApiModelProperty(value="(有效日期)")
|
||||
private LocalDate expirationDate;
|
||||
|
||||
@ApiModelProperty(value="(生产日期)")
|
||||
private LocalDate dateOfProduction;
|
||||
|
||||
@ApiModelProperty(value="(房间号)")
|
||||
private String roomNo;
|
||||
|
||||
private String articleNumber;
|
||||
|
||||
private String packages;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
package digital.laboratory.platform.reagent.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import digital.laboratory.platform.common.mybatis.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@TableName(value = "reagent_consumable_stash", autoResultMap = true)
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel(value = "试剂耗材仓库")
|
||||
public class ReagentConsumableStash extends BaseEntity {
|
||||
|
||||
@ApiModelProperty(value="纯度等级")
|
||||
private String purityGrade;
|
||||
|
||||
@ApiModelProperty(value = "CAS-号")
|
||||
private String casNumber;
|
||||
|
||||
@ApiModelProperty(value = "物品编码")
|
||||
private String code;
|
||||
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String reagentConsumableName;
|
||||
|
||||
@ApiModelProperty(value = "(品牌)")
|
||||
private String brand;
|
||||
|
||||
@ApiModelProperty(value = "(类别)")
|
||||
private String category;
|
||||
|
||||
@ApiModelProperty(value = "偏差/不确定度")
|
||||
private String deviationOrUncertainty;
|
||||
|
||||
@ApiModelProperty(value = "(试剂耗材Id)")
|
||||
private String reagentConsumableId;
|
||||
|
||||
@ApiModelProperty(value = "(规格型号)")
|
||||
private String specificationAndModel;
|
||||
|
||||
@ApiModelProperty(value = "(种类)")
|
||||
private String species;
|
||||
|
||||
@ApiModelProperty(value = "(标准值/纯度)")
|
||||
private String standardValueOrPurity;
|
||||
|
||||
@ApiModelProperty(value = "(技术参数)")
|
||||
private String technicalParameter;
|
||||
|
||||
@ApiModelProperty(value = "(总数量)")
|
||||
private Integer totalQuantity;
|
||||
|
||||
@ApiModelProperty(value = "(包装份数)")
|
||||
private String packagedCopies;
|
||||
|
||||
@TableId(value = "id", type = IdType.ASSIGN_UUID)
|
||||
@ApiModelProperty(value = "Reagent_consumable_stash")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "单价")
|
||||
private Double unitPrice;
|
||||
|
||||
@ApiModelProperty(value = "别名")
|
||||
private String alias;
|
||||
|
||||
@ApiModelProperty(value = "存储条件")
|
||||
private String storageCondition;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty(value = "包装单位")
|
||||
private String minimumUnit;
|
||||
|
||||
@ApiModelProperty(value = "英文名")
|
||||
private String englishName;
|
||||
|
||||
@ApiModelProperty(value = "房间号")
|
||||
private String roomNo;
|
||||
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package digital.laboratory.platform.reagent.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import digital.laboratory.platform.reagent.entity.ReagentConsumableStash;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@Mapper
|
||||
public interface ReagentConsumableStashMapper extends BaseMapper<ReagentConsumableStash> {
|
||||
|
||||
IPage<ReagentConsumableStash> getReagentConsumableStashPage(IPage<ReagentConsumableStash> page, @Param(Constants.WRAPPER) QueryWrapper qw);
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package digital.laboratory.platform.reagent.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import digital.laboratory.platform.reagent.entity.ReagentConsumableStash;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
public interface ReagentConsumableStashService extends IService<ReagentConsumableStash> {
|
||||
IPage<ReagentConsumableStash> getReagentConsumableStashPage(Page page, QueryWrapper<ReagentConsumableStash> qw);
|
||||
}
|
||||
+28
-12
@@ -2,15 +2,9 @@ package digital.laboratory.platform.reagent.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import digital.laboratory.platform.reagent.entity.BatchDetails;
|
||||
import digital.laboratory.platform.reagent.entity.ReagentConsumableInventory;
|
||||
import digital.laboratory.platform.reagent.entity.ReferenceMaterial;
|
||||
import digital.laboratory.platform.reagent.entity.SupplierInformation;
|
||||
import digital.laboratory.platform.reagent.entity.*;
|
||||
import digital.laboratory.platform.reagent.mapper.BatchDetailsMapper;
|
||||
import digital.laboratory.platform.reagent.service.BatchDetailsService;
|
||||
import digital.laboratory.platform.reagent.service.ReagentConsumableInventoryService;
|
||||
import digital.laboratory.platform.reagent.service.ReferenceMaterialService;
|
||||
import digital.laboratory.platform.reagent.service.SupplierInformationService;
|
||||
import digital.laboratory.platform.reagent.service.*;
|
||||
import digital.laboratory.platform.reagent.vo.BatchDetailsVO;
|
||||
import digital.laboratory.platform.reagent.vo.ReferenceMaterialVO;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@@ -38,14 +32,15 @@ public class BatchDetailsServiceImpl extends ServiceImpl<BatchDetailsMapper, Bat
|
||||
private SupplierInformationService supplierInformationService;
|
||||
|
||||
@Autowired
|
||||
private ReferenceMaterialService referenceMaterialService;
|
||||
private ReagentConsumableStashService reagentConsumableStashService;
|
||||
|
||||
@Override
|
||||
public List<BatchDetailsVO> getBatchDetailsList(String reagentConsumableInventoryId) {
|
||||
|
||||
LambdaQueryWrapper<BatchDetails> batchDetailsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
batchDetailsLambdaQueryWrapper.eq(BatchDetails::getReagentConsumableInventoryId,reagentConsumableInventoryId)
|
||||
.eq(BatchDetails::getServiceStatus,1);
|
||||
batchDetailsLambdaQueryWrapper.eq(BatchDetails::getReagentConsumableInventoryId, reagentConsumableInventoryId)
|
||||
.eq(BatchDetails::getServiceStatus, 1);
|
||||
|
||||
List<BatchDetails> list = this.list(batchDetailsLambdaQueryWrapper);
|
||||
|
||||
@@ -59,7 +54,7 @@ public class BatchDetailsServiceImpl extends ServiceImpl<BatchDetailsMapper, Bat
|
||||
|
||||
BatchDetailsVO batchDetailsVO = new BatchDetailsVO();
|
||||
|
||||
BeanUtils.copyProperties(batchDetails,batchDetailsVO);
|
||||
BeanUtils.copyProperties(batchDetails, batchDetailsVO);
|
||||
|
||||
batchDetailsVO.setSupplierName(byId1.getSupplierName());
|
||||
|
||||
@@ -68,4 +63,25 @@ public class BatchDetailsServiceImpl extends ServiceImpl<BatchDetailsMapper, Bat
|
||||
return batchDetailsVOS;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------
|
||||
//修改库存(只能修改批次数量,同时更新总数量与对应仓库数量)
|
||||
public BatchDetails updateQuantity(String batchDetailsId, Integer quantity) {
|
||||
|
||||
BatchDetails batchDetails = this.getById(batchDetailsId);
|
||||
|
||||
ReagentConsumableInventory reagentConsumableInventory = reagentConsumableInventoryService.getById(batchDetails.getReagentConsumableInventoryId());
|
||||
|
||||
ReagentConsumableStash reagentConsumableStash = reagentConsumableStashService.getById(batchDetails.getReagentConsumableStashId());
|
||||
|
||||
reagentConsumableInventory.setTotalQuantity(reagentConsumableInventory.getTotalQuantity() - batchDetails.getQuantity() + quantity);
|
||||
reagentConsumableStash.setTotalQuantity(reagentConsumableInventory.getTotalQuantity() - batchDetails.getQuantity() + quantity);
|
||||
batchDetails.setQuantity(quantity);
|
||||
|
||||
if (this.updateById(batchDetails) && reagentConsumableStashService.updateById(reagentConsumableStash) && reagentConsumableInventoryService.updateById(reagentConsumableInventory)) {
|
||||
return batchDetails;
|
||||
} else {
|
||||
throw new RuntimeException(String.format("修改失败"));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-4
@@ -686,9 +686,6 @@ public class ReagentConsumableInventoryServiceImpl extends ServiceImpl<ReagentCo
|
||||
reagentConsumableStashService.save(consumableStash);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (reagentConsumableInventoryDTO.getCategory().equals("标准物质")) {
|
||||
ReferenceMaterial referenceMaterial = new ReferenceMaterial();
|
||||
referenceMaterial.setReagentConsumableId(reagentConsumables.getReagentConsumableId());
|
||||
@@ -713,7 +710,6 @@ public class ReagentConsumableInventoryServiceImpl extends ServiceImpl<ReagentCo
|
||||
batchDetailsService.save(batchDetails);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
//更新柜子系统方法,柜子ID、物品ID、入库OR出库 (opCode 1 or -1)
|
||||
public void updateCabinet(String latticeId, String itemId, int opCode) {
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package digital.laboratory.platform.reagent.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import digital.laboratory.platform.reagent.entity.ReagentConsumableStash;
|
||||
import digital.laboratory.platform.reagent.mapper.ReagentConsumableStashMapper;
|
||||
import digital.laboratory.platform.reagent.service.ReagentConsumableStashService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class ReagentConsumableStashImpl extends ServiceImpl<ReagentConsumableStashMapper, ReagentConsumableStash> implements ReagentConsumableStashService {
|
||||
|
||||
@Override
|
||||
public IPage<ReagentConsumableStash> getReagentConsumableStashPage(Page page, QueryWrapper<ReagentConsumableStash> qw) {
|
||||
|
||||
return baseMapper.getReagentConsumableStashPage(page, qw);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -207,7 +207,7 @@ public class StandardMaterialApprovalFormServiceImpl extends ServiceImpl<Standar
|
||||
standardMaterialApprovalFormVO.setReasonForApplicationPrint(3);
|
||||
|
||||
}
|
||||
if (reasonForApplication.equals("定值未达使用要求,报废销毁")) {
|
||||
if (reasonForApplication.equals("定值未达使用要求,报废销毁")) {
|
||||
standardMaterialApprovalFormVO.setReasonForApplicationPrint(4);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,166 @@
|
||||
package digital.laboratory.platform.reagent.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import digital.laboratory.platform.reagent.entity.ReferenceMaterial;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@Data
|
||||
public class ReferenceMaterialFullVO extends ReferenceMaterial {
|
||||
|
||||
@ApiModelProperty(value = "标准物质ID")
|
||||
private String referenceMaterialId;
|
||||
|
||||
@ApiModelProperty(value = "购置时间")
|
||||
private LocalDateTime purchaseTime;
|
||||
|
||||
@ApiModelProperty(value = "制造商ID")
|
||||
private String manufacturerId;
|
||||
|
||||
@ApiModelProperty(value = "批号")
|
||||
private String batchNumber;
|
||||
|
||||
@ApiModelProperty(value = "标准物质编号")
|
||||
private String number;
|
||||
|
||||
@ApiModelProperty(value = "供应商名称")
|
||||
private String supplierName;
|
||||
|
||||
@ApiModelProperty(value = "批次")
|
||||
private String batch;
|
||||
|
||||
@ApiModelProperty(value = "标准物质状态")
|
||||
private Integer referenceMaterialStatus;
|
||||
|
||||
@ApiModelProperty(value="(定值结果)")
|
||||
private String fixedResult;
|
||||
|
||||
@ApiModelProperty(value="(配置浓度(mg/mL))")
|
||||
private double configurationConcentration;
|
||||
|
||||
@ApiModelProperty(value="(配置日期)")
|
||||
private LocalDateTime configurationDate;
|
||||
|
||||
@ApiModelProperty(value="(溶液编号)")
|
||||
private String solutionNumbering;
|
||||
|
||||
@ApiModelProperty(value="(有效期限)")
|
||||
private Integer validityPeriod;
|
||||
|
||||
@ApiModelProperty(value="纯度等级")
|
||||
private String purityGrade;
|
||||
|
||||
@ApiModelProperty(value = "CAS-号")
|
||||
private String casNumber;
|
||||
|
||||
@ApiModelProperty(value = "物品编码")
|
||||
private String code;
|
||||
/**
|
||||
* 名称
|
||||
* (品牌)
|
||||
*/
|
||||
@ApiModelProperty(value = "(品牌)")
|
||||
private String brand;
|
||||
|
||||
/**
|
||||
* (类别)
|
||||
*/
|
||||
@ApiModelProperty(value = "(类别)")
|
||||
private String category;
|
||||
|
||||
|
||||
/**
|
||||
* 偏差/不确定度
|
||||
*/
|
||||
@ApiModelProperty(value = "偏差/不确定度")
|
||||
private String deviationOrUncertainty;
|
||||
|
||||
/**
|
||||
* (指导书ID)
|
||||
*/
|
||||
@ApiModelProperty(value = "(指导书ID)")
|
||||
private String instructionBookId;
|
||||
|
||||
/**
|
||||
* (规格型号)
|
||||
*/
|
||||
@ApiModelProperty(value = "(规格型号)")
|
||||
private String specificationAndModel;
|
||||
|
||||
/**
|
||||
* (种类)
|
||||
*/
|
||||
@ApiModelProperty(value = "(种类)")
|
||||
private String species;
|
||||
|
||||
/**
|
||||
* (标准值/纯度)
|
||||
*/
|
||||
@ApiModelProperty(value = "(标准值/纯度)")
|
||||
private String standardValueOrPurity;
|
||||
|
||||
/**
|
||||
* (技术参数)
|
||||
*/
|
||||
@ApiModelProperty(value = "(技术参数)")
|
||||
private String technicalParameter;
|
||||
|
||||
/**
|
||||
* (总数量)
|
||||
*/
|
||||
@ApiModelProperty(value = "(总数量)")
|
||||
private Integer totalQuantity;
|
||||
|
||||
/**
|
||||
* (包装份数)
|
||||
*/
|
||||
@ApiModelProperty(value = "(包装份数)")
|
||||
private String packagedCopies;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "单价")
|
||||
private Double unitPrice;
|
||||
|
||||
/**
|
||||
* 别名
|
||||
*/
|
||||
@ApiModelProperty(value = "别名")
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 存储条件
|
||||
*/
|
||||
@ApiModelProperty(value = "存储条件")
|
||||
private String storageCondition;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remark;
|
||||
/**
|
||||
* 包装单位
|
||||
*/
|
||||
@ApiModelProperty(value = "包装单位")
|
||||
private String minimumUnit;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "英文名")
|
||||
private String englishName;
|
||||
/**
|
||||
* 存储期限
|
||||
*/
|
||||
@ApiModelProperty(value = "存储期限")
|
||||
private Integer storageLife;
|
||||
/**
|
||||
/**
|
||||
* (预警值)
|
||||
*/
|
||||
@ApiModelProperty(value="(预警值)")
|
||||
private Integer warningValue;
|
||||
|
||||
@ApiModelProperty(value="(预警信息)")
|
||||
private String warningInformation;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?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="digital.laboratory.platform.reagent.mapper.ReagentConsumableStashMapper">
|
||||
|
||||
<resultMap id="reagentConsumableStashMap" type="digital.laboratory.platform.reagent.entity.ReagentConsumableStash">
|
||||
<id property="id" column="id"/>
|
||||
<result property="brand" column="brand"/>
|
||||
<result property="category" column="category"/>
|
||||
<result property="deviationOrUncertainty" column="deviation_or_uncertainty"/>
|
||||
<result property="reagentConsumableId" column="reagent_consumable_id"/>
|
||||
<result property="specificationAndModel" column="specification_and_model"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="standardValueOrPurity" column="standard_value_or_purity"/>
|
||||
<result property="technicalParameter" column="technical_parameter"/>
|
||||
<result property="totalQuantity" column="total_quantity"/>
|
||||
<result property="species" column="species"/>
|
||||
<result property="packagedCopies" column="packaged_copies"/>
|
||||
<result property="minimumUnit" column="minimum_unit"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="storageCondition" column="storage_condition"/>
|
||||
<result property="alias" column="alias"/>
|
||||
<result property="englishName" column="english_name"/>
|
||||
<result property="unitPrice" column="unit_price"/>
|
||||
<result property="reagentConsumableName" column="reagent_consumable_name"/>
|
||||
<result property="casNumber" column="cas_number"/>
|
||||
<result property="code" column="code"/>
|
||||
<result property="purityGrade" column="purity_grade"/>
|
||||
<result property="roomNo" column="room_no"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="getReagentConsumableStashPage" resultType="digital.laboratory.platform.reagent.entity.ReagentConsumableStash">
|
||||
SELECT * FROM reagent_consumable_stash
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user