main
杨海航 1 year ago
parent 8ca6996d82
commit 989fa753af
  1. 16
      src/main/java/digital/laboratory/platform/reagent/controller/ReagentConsumableInventoryController.java
  2. 12
      src/main/java/digital/laboratory/platform/reagent/controller/StandardMaterialApplicationController.java
  3. 16
      src/main/java/digital/laboratory/platform/reagent/dto/BalanceWeighingDTO.java
  4. 2
      src/main/java/digital/laboratory/platform/reagent/dto/StandardMaterialApplicationDTO.java
  5. 3
      src/main/java/digital/laboratory/platform/reagent/dto/WarehousingRecordFormDTO.java
  6. 3
      src/main/java/digital/laboratory/platform/reagent/entity/ReferenceMaterial.java
  7. 2
      src/main/java/digital/laboratory/platform/reagent/entity/StandardMaterialApplication.java
  8. 2
      src/main/java/digital/laboratory/platform/reagent/service/ReagentConsumableInventoryService.java
  9. 4
      src/main/java/digital/laboratory/platform/reagent/service/StandardMaterialApplicationService.java
  10. 4
      src/main/java/digital/laboratory/platform/reagent/service/impl/DeliveryRegistrationFormServiceImpl.java
  11. 38
      src/main/java/digital/laboratory/platform/reagent/service/impl/ReagentConsumableInventoryServiceImpl.java
  12. 36
      src/main/java/digital/laboratory/platform/reagent/service/impl/StandardMaterialApplicationServiceImpl.java
  13. 2
      src/main/java/digital/laboratory/platform/reagent/service/impl/StandardReserveSolutionServiceImpl.java
  14. 2
      src/main/java/digital/laboratory/platform/reagent/service/impl/WarehousingRecordFormServiceImpl.java
  15. 2
      src/main/java/digital/laboratory/platform/reagent/vo/OrgFullVO.java
  16. 3
      src/main/java/digital/laboratory/platform/reagent/vo/StandardMaterialApplicationVO.java
  17. 1
      src/main/resources/mapper/ReferenceMaterialMapper.xml

@ -392,14 +392,14 @@ public class ReagentConsumableInventoryController {
} }
// @PostMapping("org") @PostMapping("org")
// public R<List<OrgFullVO>> getOrgList(HttpServletResponse httpServletResponse) { public R<List<OrgFullVO>> getOrgList(HttpServletResponse httpServletResponse) {
//
// List<OrgFullVO> orgList = reagentConsumableInventoryService.getOrgList(); List<OrgFullVO> orgList = reagentConsumableInventoryService.getOrgList();
//
// return R.ok(orgList); return R.ok(orgList);
//
// } }
} }

@ -11,12 +11,14 @@ import digital.laboratory.platform.common.core.util.R;
import digital.laboratory.platform.common.log.annotation.SysLog; import digital.laboratory.platform.common.log.annotation.SysLog;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser; import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.common.oss.service.OssFile; import digital.laboratory.platform.common.oss.service.OssFile;
import digital.laboratory.platform.reagent.dto.BalanceWeighingDTO;
import digital.laboratory.platform.reagent.dto.StandardMaterialApplicationDTO; import digital.laboratory.platform.reagent.dto.StandardMaterialApplicationDTO;
import digital.laboratory.platform.reagent.entity.CatalogueDetails; import digital.laboratory.platform.reagent.entity.CatalogueDetails;
import digital.laboratory.platform.reagent.entity.StandardMaterialApplication; import digital.laboratory.platform.reagent.entity.StandardMaterialApplication;
import digital.laboratory.platform.reagent.service.StandardMaterialApplicationService; import digital.laboratory.platform.reagent.service.StandardMaterialApplicationService;
import digital.laboratory.platform.reagent.vo.PurchaseCatalogueVO; import digital.laboratory.platform.reagent.vo.PurchaseCatalogueVO;
import digital.laboratory.platform.reagent.vo.StandardMaterialApplicationVO; import digital.laboratory.platform.reagent.vo.StandardMaterialApplicationVO;
import digital.laboratory.platform.sys.feign.RemoteReagentConsumableService;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -53,7 +55,6 @@ import java.util.List;
public class StandardMaterialApplicationController { public class StandardMaterialApplicationController {
private final StandardMaterialApplicationService standardMaterialApplicationService; private final StandardMaterialApplicationService standardMaterialApplicationService;
private final OssFile ossFile; private final OssFile ossFile;
/** /**
@ -260,6 +261,15 @@ public class StandardMaterialApplicationController {
e.printStackTrace(); e.printStackTrace();
} }
} }
@ApiOperation(value = "天平称量后记录标准物质使用数量", notes = "天平称量后记录标准物质使用数量")
@SysLog("天平称量后记录标准物质使用数量")
@PutMapping("/weighing")
public R<String> getWeighingMass(@RequestBody List<BalanceWeighingDTO> balanceWeighingDTOList) {
boolean weighingMass = standardMaterialApplicationService.getWeighingMass(balanceWeighingDTOList);
if (weighingMass) {
return R.ok("称量成功");
} else return R.failed("称量失败");
}
} }

@ -0,0 +1,16 @@
package digital.laboratory.platform.reagent.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class BalanceWeighingDTO {
@ApiModelProperty(value = "标准物质ID")
private String referenceMaterialId;
@ApiModelProperty(value = "称重质量")
private BigDecimal weighingMass;
}

@ -9,7 +9,7 @@ public class StandardMaterialApplicationDTO {
private String standardMaterialApplicationId; private String standardMaterialApplicationId;
@ApiModelProperty(value = "使用数量") @ApiModelProperty(value = "使用数量")
private String purposeAndQuantity; private Double purposeAndQuantity;
@ApiModelProperty(value = "格子id") @ApiModelProperty(value = "格子id")
private String latticeId; private String latticeId;

@ -65,4 +65,7 @@ public class WarehousingRecordFormDTO {
@ApiModelProperty(value="柜子ID") @ApiModelProperty(value="柜子ID")
private String boxId; private String boxId;
@ApiModelProperty(value="标准物质质量")
private Double referenceMaterialMass;
} }

@ -65,4 +65,7 @@ public class ReferenceMaterial extends BaseEntity {
@ApiModelProperty(value="标准物质名称") @ApiModelProperty(value="标准物质名称")
private String reagentConsumableName; private String reagentConsumableName;
@ApiModelProperty(value = "质量(有可能为重量、有可能为体积)")
private Double mass;
} }

@ -63,7 +63,7 @@ public class StandardMaterialApplication extends BaseEntity {
* (使用数量) * (使用数量)
*/ */
@ApiModelProperty(value="(使用数量)") @ApiModelProperty(value="(使用数量)")
private String purposeAndQuantity; private Double purposeAndQuantity;
/** /**
* (领用人ID) * (领用人ID)

@ -60,5 +60,7 @@ public interface ReagentConsumableInventoryService extends IService<ReagentConsu
//更新柜子系统方法,柜子ID、物品ID、入库OR出库 (opCode 1 or -1) //更新柜子系统方法,柜子ID、物品ID、入库OR出库 (opCode 1 or -1)
void updateCabinet(String latticeId, String itemId, int opCode); void updateCabinet(String latticeId, String itemId, int opCode);
List<OrgFullVO> getOrgList();
// List<OrgFullVO> getOrgList(); // List<OrgFullVO> getOrgList();
} }

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser; import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.reagent.dto.BalanceWeighingDTO;
import digital.laboratory.platform.reagent.dto.StandardMaterialApplicationDTO; import digital.laboratory.platform.reagent.dto.StandardMaterialApplicationDTO;
import digital.laboratory.platform.reagent.entity.StandardMaterialApplication; import digital.laboratory.platform.reagent.entity.StandardMaterialApplication;
import digital.laboratory.platform.reagent.vo.StandardMaterialApplicationVO; import digital.laboratory.platform.reagent.vo.StandardMaterialApplicationVO;
@ -35,4 +36,7 @@ public interface StandardMaterialApplicationService extends IService<StandardMat
StandardMaterialApplicationVO getStandardMaterialApplicationVO(String id StandardMaterialApplicationVO getStandardMaterialApplicationVO(String id
); );
// 天平称量
boolean getWeighingMass(List<BalanceWeighingDTO> balanceWeighingDTOList);
} }

@ -243,7 +243,7 @@ public class DeliveryRegistrationFormServiceImpl extends ServiceImpl<DeliveryReg
standardMaterialApplications.add(standardMaterialApplication); standardMaterialApplications.add(standardMaterialApplication);
if (outgoingContentsDTO.getOutboundUse() == 2) {//已用完,无需归还 if (outgoingContentsDTO.getOutboundUse() == 2) {//已用完,无需归还
standardMaterialApplication.setStatus(-1); standardMaterialApplication.setStatus(-1);
standardMaterialApplication.setPurposeAndQuantity(outgoingContents.getQuantity().toString()); standardMaterialApplication.setPurposeAndQuantity(outgoingContents.getQuantity().doubleValue());
} else { } else {
standardMaterialApplication.setStatus(0); standardMaterialApplication.setStatus(0);
} }
@ -291,7 +291,7 @@ public class DeliveryRegistrationFormServiceImpl extends ServiceImpl<DeliveryReg
standardMaterialApplication.setReferenceSubstanceName(reference_id.getSolutionName()); standardMaterialApplication.setReferenceSubstanceName(reference_id.getSolutionName());
if (outgoingContentsDTO.getOutboundUse() == 2) { if (outgoingContentsDTO.getOutboundUse() == 2) {
standardMaterialApplication.setPurposeAndQuantity(outgoingContents.getQuantity().toString()); standardMaterialApplication.setPurposeAndQuantity(outgoingContents.getQuantity().doubleValue());
standardMaterialApplication.setStatus(1); standardMaterialApplication.setStatus(1);
} else { } else {
standardMaterialApplication.setStatus(0); standardMaterialApplication.setStatus(0);

@ -732,23 +732,23 @@ public class ReagentConsumableInventoryServiceImpl extends ServiceImpl<ReagentCo
} }
// @Override @Override
// public List<OrgFullVO> getOrgList() { public List<OrgFullVO> getOrgList() {
//
// List<OrgVO> orgList = baseMapper.getOrgList(); List<OrgVO> orgList = baseMapper.getOrgList();
// ArrayList<OrgFullVO> orgFullVOS = new ArrayList<>(); ArrayList<OrgFullVO> orgFullVOS = new ArrayList<>();
// for (OrgVO orgVO : orgList) { for (OrgVO orgVO : orgList) {
// if (orgVO.getOrgType() != null && orgVO.getOrgType().equals("county")) { if (orgVO.getOrgType() != null && orgVO.getOrgType().equals("county")) {
// OrgFullVO orgFullVO = new OrgFullVO(); OrgFullVO orgFullVO = new OrgFullVO();
// orgFullVO.setUsername("X" + orgVO.getAreaCode()); orgFullVO.setUsername("X" + orgVO.getAreaCode());
// String[] roles = {"10015", "10020"}; String[] roles = {"10010","10015", "10020","10130","23020","23030"};
// orgFullVO.setRoleIds(roles); orgFullVO.setRoleIds(roles);
// orgFullVO.setPassword("123456"); orgFullVO.setPassword("123456");
// orgFullVO.setOrgId(orgVO.getOrgId()); orgFullVO.setOrgId(orgVO.getOrgId());
// orgFullVOS.add(orgFullVO); orgFullVO.setGender(1);
// } orgFullVOS.add(orgFullVO);
// }
// } }
// return orgFullVOS; return orgFullVOS;
// } }
} }

@ -5,7 +5,6 @@ import cn.hutool.core.io.IoUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.XWPFTemplate;
@ -13,6 +12,7 @@ import com.deepoove.poi.config.Configure;
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy; import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
import digital.laboratory.platform.common.feign.RemoteWord2PDFService; import digital.laboratory.platform.common.feign.RemoteWord2PDFService;
import digital.laboratory.platform.common.oss.service.OssFile; import digital.laboratory.platform.common.oss.service.OssFile;
import digital.laboratory.platform.reagent.dto.BalanceWeighingDTO;
import digital.laboratory.platform.reagent.dto.StandardMaterialApplicationDTO; import digital.laboratory.platform.reagent.dto.StandardMaterialApplicationDTO;
import digital.laboratory.platform.reagent.entity.*; import digital.laboratory.platform.reagent.entity.*;
import digital.laboratory.platform.reagent.mapper.StandardMaterialApplicationMapper; import digital.laboratory.platform.reagent.mapper.StandardMaterialApplicationMapper;
@ -24,11 +24,9 @@ import feign.Response;
import io.seata.spring.annotation.GlobalTransactional; import io.seata.spring.annotation.GlobalTransactional;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.commons.io.output.ByteArrayOutputStream;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mock.web.MockMultipartFile; import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -97,6 +95,7 @@ public class StandardMaterialApplicationServiceImpl extends ServiceImpl<Standard
referenceMaterial.setLocation(standardMaterialApplicationDTO.getLocation()); referenceMaterial.setLocation(standardMaterialApplicationDTO.getLocation());
referenceMaterial.setLocation(standardMaterialApplicationDTO.getLocation()); referenceMaterial.setLocation(standardMaterialApplicationDTO.getLocation());
referenceMaterial.setBoxId(standardMaterialApplicationDTO.getBoxId()); referenceMaterial.setBoxId(standardMaterialApplicationDTO.getBoxId());
referenceMaterial.setMass(referenceMaterial.getMass() - standardMaterialApplicationDTO.getPurposeAndQuantity());
//若无需归还,则证明标准物质/标准储备溶液已经使用完毕,删除记录即可 //若无需归还,则证明标准物质/标准储备溶液已经使用完毕,删除记录即可
if (standardMaterialApplicationDTO.getOutOfUse()) { if (standardMaterialApplicationDTO.getOutOfUse()) {
@ -142,7 +141,7 @@ public class StandardMaterialApplicationServiceImpl extends ServiceImpl<Standard
SolutionUseForm one = solutionUseFormService.getOne(solutionUseFormLambdaQueryWrapper); SolutionUseForm one = solutionUseFormService.getOne(solutionUseFormLambdaQueryWrapper);
//如果是标准储备溶液,则需补充完善标准储备溶液使用记录表的使用数量 //如果是标准储备溶液,则需补充完善标准储备溶液使用记录表的使用数量
if (one != null) { if (one != null) {
one.setQuantityUsed(byId.getPurposeAndQuantity()); one.setQuantityUsed(byId.getPurposeAndQuantity().toString());
solutionUseFormService.updateById(one); solutionUseFormService.updateById(one);
} }
// //
@ -210,10 +209,10 @@ public class StandardMaterialApplicationServiceImpl extends ServiceImpl<Standard
standardMaterialApplicationVO.setDateOfReturns(LocalDateTimeUtil.format(standardMaterialApplicationVO.getDateOfReturn(), "yyyy年MM月dd日")); standardMaterialApplicationVO.setDateOfReturns(LocalDateTimeUtil.format(standardMaterialApplicationVO.getDateOfReturn(), "yyyy年MM月dd日"));
standardMaterialApplicationVO.setIndex(x.toString()); standardMaterialApplicationVO.setIndex(x.toString());
if (standardMaterialApplicationVO.getPurpose() == 0) { if (standardMaterialApplicationVO.getPurpose() == 0) {
standardMaterialApplicationVO.setPurposeAndQuantity("案件," + standardMaterialApplicationVO.getPurposeAndQuantity()); standardMaterialApplicationVO.setPrintPurposeAndQuantity("案件," + standardMaterialApplicationVO.getPurposeAndQuantity());
} else { } else {
standardMaterialApplicationVO.setPurposeAndQuantity("科研," + standardMaterialApplicationVO.getPurposeAndQuantity()); standardMaterialApplicationVO.setPrintPurposeAndQuantity("其他," + standardMaterialApplicationVO.getPurposeAndQuantity());
} }
x++; x++;
} }
@ -292,7 +291,30 @@ public class StandardMaterialApplicationServiceImpl extends ServiceImpl<Standard
return standardMaterialApplicationVO; return standardMaterialApplicationVO;
} }
// 天平称量
@Override
@GlobalTransactional
public boolean getWeighingMass(List<BalanceWeighingDTO> balanceWeighingDTOList) {
String referenceMaterialId = balanceWeighingDTOList.get(0).getReferenceMaterialId();
List<StandardMaterialApplication> standardMaterialApplications = this.list(Wrappers.<StandardMaterialApplication>query().eq("reference_material_id", referenceMaterialId).orderByDesc("create_time"));
if (standardMaterialApplications == null && standardMaterialApplications.size() == 0) {
throw new RuntimeException(String.format("未查询到该标准物质的领用登记表!"));
}
StandardMaterialApplication standardMaterialApplication = standardMaterialApplications.get(0);
//依次记录称量结果
for (BalanceWeighingDTO balanceWeighingDTO : balanceWeighingDTOList) {
if (standardMaterialApplication.getPurposeAndQuantity() == 0) {
standardMaterialApplication.setPurposeAndQuantity(balanceWeighingDTO.getWeighingMass().doubleValue());
} else {
standardMaterialApplication.setPurposeAndQuantity(standardMaterialApplication.getPurposeAndQuantity() + balanceWeighingDTO.getWeighingMass().doubleValue());
}
}
return this.updateById(standardMaterialApplication);
}
} }

@ -163,6 +163,7 @@ public class StandardReserveSolutionServiceImpl extends ServiceImpl<StandardRese
//创建标准储备溶液对象 //创建标准储备溶液对象
ReferenceMaterial referenceMaterial = new ReferenceMaterial(); ReferenceMaterial referenceMaterial = new ReferenceMaterial();
referenceMaterial.setMass(standardReserveSolutionDTO.getConstantVolume());
ReferenceMaterial referenceMaterialServiceById = referenceMaterialService.getById(standardReserveSolutionDTO.getReferenceMaterialId()); ReferenceMaterial referenceMaterialServiceById = referenceMaterialService.getById(standardReserveSolutionDTO.getReferenceMaterialId());
@ -230,6 +231,7 @@ public class StandardReserveSolutionServiceImpl extends ServiceImpl<StandardRese
//创建标准溶液对象,并生成编号 //创建标准溶液对象,并生成编号
referenceMaterial.setStatus(-4); referenceMaterial.setStatus(-4);
referenceMaterial.setMass(standardReserveSolutionDTO.getConstantVolume());
referenceMaterial.setId(IdWorker.get32UUID().toUpperCase()); referenceMaterial.setId(IdWorker.get32UUID().toUpperCase());
referenceMaterial.setReagentConsumableId(one.getReagentConsumableId()); referenceMaterial.setReagentConsumableId(one.getReagentConsumableId());
referenceMaterial.setReagentConsumableInventoryId(one.getReagentConsumableInventoryId()); referenceMaterial.setReagentConsumableInventoryId(one.getReagentConsumableInventoryId());

@ -247,6 +247,7 @@ public class WarehousingRecordFormServiceImpl extends ServiceImpl<WarehousingRec
referenceMaterial.setLatticeId(latticeId); referenceMaterial.setLatticeId(latticeId);
referenceMaterial.setBoxId(boxId); referenceMaterial.setBoxId(boxId);
referenceMaterial.setReagentConsumableName(reagentConsumables.getReagentConsumableName()); referenceMaterial.setReagentConsumableName(reagentConsumables.getReagentConsumableName());
referenceMaterial.setMass(warehousingRecordFormDTO.getReferenceMaterialMass());
//更新格子信息(标准物质传入对象ID) //更新格子信息(标准物质传入对象ID)
reagentConsumableInventoryService.updateCabinet(referenceMaterial.getLatticeId(), referenceMaterial.getId(), 1); reagentConsumableInventoryService.updateCabinet(referenceMaterial.getLatticeId(), referenceMaterial.getId(), 1);
//生成编号 //生成编号
@ -354,6 +355,7 @@ public class WarehousingRecordFormServiceImpl extends ServiceImpl<WarehousingRec
referenceMaterial.setBoxId(warehousingRecordFormDTO.getBoxId()); referenceMaterial.setBoxId(warehousingRecordFormDTO.getBoxId());
referenceMaterial.setCustodianName(warehousingRecordFormDTO.getCustodianName()); referenceMaterial.setCustodianName(warehousingRecordFormDTO.getCustodianName());
referenceMaterial.setReagentConsumableName(reagentConsumables.getReagentConsumableName()); referenceMaterial.setReagentConsumableName(reagentConsumables.getReagentConsumableName());
referenceMaterial.setMass(warehousingRecordFormDTO.getReferenceMaterialMass());
//更新格子信息(试剂耗材传入类ID) //更新格子信息(试剂耗材传入类ID)
reagentConsumableInventoryService.updateCabinet(referenceMaterial.getLatticeId(), referenceMaterial.getId(), 1); reagentConsumableInventoryService.updateCabinet(referenceMaterial.getLatticeId(), referenceMaterial.getId(), 1);
//生成编号 //生成编号

@ -5,8 +5,8 @@ import lombok.Data;
@Data @Data
public class OrgFullVO { public class OrgFullVO {
private String orgId; private String orgId;
private String username; private String username;
private String password; private String password;
private String[] roleIds; private String[] roleIds;
private Integer gender;
} }

@ -48,4 +48,7 @@ public class StandardMaterialApplicationVO extends StandardMaterialApplication {
@ApiModelProperty(value="柜子ID") @ApiModelProperty(value="柜子ID")
private String boxId; private String boxId;
@ApiModelProperty(value="打印使用数量与用途")
private String printPurposeAndQuantity;
} }

@ -23,6 +23,7 @@
<result property="fixedResult" column="fixed_result"/> <result property="fixedResult" column="fixed_result"/>
<result property="serviceStatus" column="service_status"/> <result property="serviceStatus" column="service_status"/>
<result property="reagentConsumableName" column="reagent_consumable_name"/> <result property="reagentConsumableName" column="reagent_consumable_name"/>
<result property="mass" column="mass"/>
</resultMap> </resultMap>

Loading…
Cancel
Save