medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java
@@ -48,6 +48,8 @@ private final MwCheckoutRecordService checkoutRecordService; private final MwCheckoutRecordItemService checkoutRecordItemService; private final SysDepartmentService departmentService; private final MwDisposalRecordService disposalRecordService; private final MwDisposalRecordItemService disposalRecordItemService; @ApiOperation("新增医废记录") @@ -171,7 +173,7 @@ @ApiOperation(value = "确认接受",tags = "处置人员") @PostMapping("/end/down/collect/confirm") public R<List<HospitalCollectTotalUpDto>> tanscollecttotal4(String boxNum) { public R tanscollecttotal4(String boxNum) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); SysDepartment byId = departmentService.getById(sysUser.getDepartmentId()); //将record变为已接受 @@ -183,7 +185,8 @@ boxes.add(mwCollectRecord.getBoxNumber()); receiveQuantity = receiveQuantity.add(mwCollectRecord.getWeight()); } //插入处置记录以及子表 collectRecordService.updateBatchById(list); //插入接收记录以及子表 MwDisposalRecord mwDisposalRecord = new MwDisposalRecord(); mwDisposalRecord.setDepartmentId(sysUser.getDepartmentId()); mwDisposalRecord.setDisposalUnitName(byId.getDepartmentName()); @@ -193,16 +196,50 @@ mwDisposalRecord.setReceiverId(sysUser.getUserId()); mwDisposalRecord.setUnloadQuantity(boxes.size()); mwDisposalRecord.setUnloadWeight(receiveQuantity); mwDisposalRecord.setTotalHandledQuantity(0); mwDisposalRecord.setTotalHandledQuantity(list.size()); mwDisposalRecord.setDisposalFlag(0); mwDisposalRecord.setTotalHandledWeight(new BigDecimal("0")); return null; mwDisposalRecord.setTotalHandledWeight(receiveQuantity); disposalRecordService.save(mwDisposalRecord); //插入子表 List<MwDisposalRecordItem> items = new ArrayList<>(); for (MwCollectRecord mwCollectRecord : list) { MwDisposalRecordItem mwDisposalRecordItem = new MwDisposalRecordItem(); mwDisposalRecordItem.setCollectRecordId(mwCollectRecord.getId()); mwDisposalRecordItem.setDisposalRecordId(mwDisposalRecord.getId()); items.add(mwDisposalRecordItem); } disposalRecordItemService.saveBatch(items); return R.ok(); } @ApiOperation(value = "待处置列表",tags = "处置人员") @PostMapping("/wait/list") public R<List<CollectDto>> list1(String boxNumber) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); List<CollectDto> collectDtos = collectRecordService.getGroupWithStatus(boxNumber,sysUser.getDepartmentId(),3); return R.ok(collectDtos); } @ApiOperation(value = "处置操作",tags = "处置人员") @PostMapping("/wait/out") public R<List<CollectDto>> list2(String boxNumber) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); SysDepartment byId = departmentService.getById(sysUser.getDepartmentId()); //新增处置记录 MwDisposalHandleRecord mwDisposalHandleRecord = new MwDisposalHandleRecord(); mwDisposalHandleRecord.setDepartmentId(byId.getId()); mwDisposalHandleRecord.setDisposalUnitName(byId.getDepartmentName()); mwDisposalHandleRecord.setDisposalTime(new Date()); mwDisposalHandleRecord.setDisposalUserId(sysUser.getUserId()); //将收集记录以及子表改变为已处置 //将接收记录以及子表变为已处置 return R.ok(); } @ApiOperation(value = "已装车列表",tags = "运输人员") medicalWaste-system/src/main/java/com/sinata/system/domain/MwCollectRecord.java
@@ -93,6 +93,11 @@ @TableField("COLLECT_TIME") private Date collectTime; @ApiModelProperty("接收时间") @TableField("RECEIVE_TIME") private Date receiveTime; @ApiModelProperty("处置记录id") @TableField("DISPOSAL_HANDLE_RECORD_ID") private Long disposalHandleRecordId; medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectDto.java
@@ -1,11 +1,14 @@ package com.sinata.system.domain.dto; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; @Data public class CollectDto { @ApiModelProperty("箱子编号") @@ -17,6 +20,10 @@ @ApiModelProperty("总重量") private BigDecimal weight; @ApiModelProperty("封箱时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime lastTime; @ApiModelProperty("接收时间") @JsonFormat(pattern = "yyyy-MM-dd") private Date receiveTime; } medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java
@@ -60,6 +60,8 @@ List<CollectDto> getGroup(@Param("boxNumber")String boxNumber,@Param("departmentId")Long departmentId); List<CollectDto> getGroup1(@Param("boxNumber")String boxNumber,@Param("departmentId")Long departmentId); List<CollectDto> getGroupWithStatus(@Param("boxNumber")String boxNumber, @Param("departmentId")Long departmentId, @Param("status")Integer status); List<CollectTotalUpDto> collectTotal(@Param("date")LocalDate date,@Param("departmentId")Long departmentId); List<CollectTotalUpDto> collectTotal1(@Param("date")LocalDate date,@Param("checkOutUserId")Long checkOutUserId,@Param("id") Long id); @@ -74,4 +76,5 @@ * @return */ List<MwCollectRecordVO> getRegulationReportList(@Param("query") DisposalReportQuery query, @Param("treeCode") String treeCode); } medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java
@@ -50,6 +50,7 @@ */ void edit(MwCollectRecordDTO dto); List<CollectDto> getGroup(String boxNumber,Long departmentId); List<CollectDto> getGroupWithStatus(String boxNumber,Long departmentId,Integer status); List<CollectDto> getGroup1(String boxNumber,Long departmentId); /** medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java
@@ -85,7 +85,13 @@ @Override public List<CollectDto> getGroup(String boxNumber,Long departmentId) { return this.baseMapper.getGroup(boxNumber,departmentId); } @Override } @Override public List<CollectDto> getGroupWithStatus(String boxNumber,Long departmentId,Integer status) { return this.baseMapper.getGroupWithStatus(boxNumber,departmentId,status); } @Override public List<CollectDto> getGroup1(String boxNumber,Long departmentId) { return this.baseMapper.getGroup1(boxNumber,departmentId); } medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml
@@ -230,6 +230,22 @@ GROUP BY BOX_ID </select> <select id="getGroupWithStatus" resultType="com.sinata.system.domain.dto.CollectDto"> SELECT BOX_NUMBER as boxNumber, WASTE_TYPE as wasteType,COUNT(1) as num , sum(WEIGHT) as weight, BOX_TIME as lastTime , RECEIVE_TIME as receiveTime from MEDICAL_WASTE.MW_COLLECT_RECORD <where> STATUS = #{status} AND DEPARTMENT_ID = #{departmentId} <if test="boxNumber != null and boxNumber != ''"> and boxNumber like concat('%',#{boxNumber},'%') </if> </where> GROUP BY BOX_ID </select> <select id="collectTotal" resultType="com.sinata.system.domain.dto.CollectTotalUpDto"> SELECT WASTE_TYPE as wasteType,COUNT(DISTINCT BOX_NUMBER ) as boxNum ,COUNT(1)as num,sum(WEIGHT) as weight from MEDICAL_WASTE.MW_COLLECT_RECORD <where>