medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java
New file @@ -0,0 +1,84 @@ package com.sinata.web.controller.applet; import com.google.common.collect.Lists; import java.util.Date; import com.sinata.common.core.domain.R; import com.sinata.common.core.domain.entity.SysUser; import com.sinata.common.entity.PageDTO; import com.sinata.common.utils.SecurityUtils; import com.sinata.system.domain.MwCheckoutRecord; import com.sinata.system.domain.MwTransitCar; import com.sinata.system.domain.dto.CheckOutDto; import com.sinata.system.domain.dto.CollectTotalUpDto; import com.sinata.system.domain.query.CheckoutRecordQuery; import com.sinata.system.domain.query.MwCheckoutRecordItemQuery; import com.sinata.system.domain.query.MwTransitRecordQuery; import com.sinata.system.domain.vo.MwCheckoutRecordVO; import com.sinata.system.domain.vo.MwMedicalWasteBoxVO; import com.sinata.system.domain.vo.MwTransitRecordVO; import com.sinata.system.service.ISysUserService; import com.sinata.system.service.MwCheckoutRecordService; import com.sinata.system.service.MwTransitCarService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.naming.ldap.PagedResultsControl; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; /** * <p> * 暂存间出库记录 前端控制器 * </p> * * @author mitao * @since 2024-12-02 */ @Api(tags = {"医院工作人员"}) @Validated @RequiredArgsConstructor @RestController @RequestMapping("/applet/mwCheckoutRecord") public class AppMwCheckoutRecordController { private final MwCheckoutRecordService mwCheckoutRecordService; private final ISysUserService userService; private final MwTransitCarService carService; @ApiOperation(value = "出库统计上") @PostMapping("/total") public R<List<CollectTotalUpDto>> total(LocalDate date) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); return R.ok(mwCheckoutRecordService.totalUp(date,sysUser.getDepartmentId())); } @ApiOperation(value = "出库统计下") @PostMapping("/record") public R<List<CheckOutDto>> record() { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); LocalDate now = LocalDate.now(); List<MwCheckoutRecord> list = mwCheckoutRecordService.lambdaQuery().eq(MwCheckoutRecord::getCheckoutTime, now).eq(MwCheckoutRecord::getDepartmentId, sysUser.getDepartmentId()).orderByDesc(MwCheckoutRecord::getCheckoutTime).list(); List<CheckOutDto> backList = new ArrayList<>(); for (MwCheckoutRecord mwCheckoutRecord : list) { CheckOutDto checkOutDto = new CheckOutDto(); SysUser byId = userService.getById(mwCheckoutRecord.getDriverId()); checkOutDto.setDriverName(byId.getNickName()); MwTransitCar byId1 = carService.getById(mwCheckoutRecord.getCarId()); checkOutDto.setLicensePlateNumber(byId1.getLicensePlateNumber()); checkOutDto.setCheckoutTime(mwCheckoutRecord.getCheckoutTime()); List<CollectTotalUpDto> records = mwCheckoutRecordService.totalUp1(mwCheckoutRecord.getId()); checkOutDto.setRecords(records); backList.add(checkOutDto); } return R.ok(backList); } } medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java
New file @@ -0,0 +1,39 @@ package com.sinata.web.controller.applet; import com.sinata.common.core.domain.R; import com.sinata.system.domain.dto.CollectTotalUpDto; import com.sinata.system.service.MwWarningRecordService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDate; import java.util.List; /** * <p> * 预警记录表 前端控制器 * </p> * * @author mitao * @since 2024-12-02 */ @RestController @RequestMapping("/applet/mwWarningRecord") @Api(tags = {"医院工作人员-预警"}) @AllArgsConstructor public class AppMwWarningRecordController { private final MwWarningRecordService mwWarningRecordService; @ApiOperation("记录") @PostMapping("/record") public R<List<CollectTotalUpDto>> record(@RequestParam Integer pageNum,@RequestParam Integer pageSize) { } } medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CheckOutDto.java
New file @@ -0,0 +1,21 @@ package com.sinata.system.domain.dto; import com.baomidou.mybatisplus.annotation.TableField; import com.sinata.system.domain.MwCheckoutRecord; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.List; @Data public class CheckOutDto { @ApiModelProperty("运输人员姓名") private String driverName; @ApiModelProperty("出库时间") private Date checkoutTime; @ApiModelProperty("车牌号") private String licensePlateNumber; private List<CollectTotalUpDto> records; } medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectTotalDto.java
@@ -7,6 +7,7 @@ import java.time.LocalDateTime; @Data public class CollectTotalDto { @ApiModelProperty("箱") private Integer boxNum = 0; @ApiModelProperty("袋") medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sinata.system.domain.MwCheckoutRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.sinata.system.domain.dto.CollectTotalUpDto; import com.sinata.system.domain.query.CheckoutRecordQuery; import com.sinata.system.domain.query.MwTransitRecordQuery; import com.sinata.system.domain.vo.MwCheckoutRecordVO; @@ -11,6 +12,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.time.LocalDate; import java.util.List; /** @@ -84,4 +86,7 @@ * @param treeCode */ List<MwCheckoutRecordVO> hospitalTransitList(@Param("query") CheckoutRecordQuery query, @Param("treeCode") String treeCode); List<CollectTotalUpDto> totalUp(@Param("date") LocalDate date, @Param("departmentId")Long departmentId); List<CollectTotalUpDto> totalUp1(@Param("outId")Long outId); } medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.sinata.common.entity.PageDTO; import com.sinata.system.domain.MwCheckoutRecord; import com.sinata.system.domain.dto.CollectTotalUpDto; import com.sinata.system.domain.query.CheckoutRecordQuery; import com.sinata.system.domain.query.MwCheckoutRecordItemQuery; import com.sinata.system.domain.query.MwTransitRecordQuery; @@ -12,6 +13,8 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.time.LocalDate; import java.util.List; /** * <p> @@ -77,4 +80,7 @@ * @param response */ void checkoutRecordExport(CheckoutRecordQuery query, HttpServletResponse response) throws IOException; List<CollectTotalUpDto> totalUp(LocalDate date, Long departmentId); List<CollectTotalUpDto> totalUp1(Long outId); } medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java
@@ -7,6 +7,7 @@ import com.sinata.common.utils.BeanUtils; import com.sinata.common.utils.StringUtils; import com.sinata.system.domain.MwCheckoutRecord; import com.sinata.system.domain.dto.CollectTotalUpDto; import com.sinata.system.domain.query.CheckoutRecordQuery; import com.sinata.system.domain.query.MwCheckoutRecordItemQuery; import com.sinata.system.domain.query.MwTransitRecordQuery; @@ -23,6 +24,8 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; import java.time.LocalDate; import java.util.Collections; import java.util.List; /** @@ -77,6 +80,15 @@ EasyExcel.write(response.getOutputStream(), MwCheckoutRecordExcelVO.class).sheet("转运记录").doWrite(mwCheckoutRecordExcelVOS); } @Override public List<CollectTotalUpDto> totalUp(LocalDate date, Long departmentId) { return this.baseMapper.totalUp(date,departmentId); } @Override public List<CollectTotalUpDto> totalUp1( Long outId) { return this.baseMapper.totalUp1(outId); } /** * 转运记录详情 * medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
@@ -209,5 +209,19 @@ </where> GROUP BY mcr.DEPARTMENT_ID </select> <select id="totalUp" 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> CHECKOUT_TIME is not null AND DEPARTMENT_ID = #{departmentId} </where> GROUP BY WASTE_TYPE </select> <select id="totalUp1" resultType="com.sinata.system.domain.dto.CollectTotalUpDto"> SELECT t2.WASTE_TYPE as wasteType,COUNT(DISTINCT t2.BOX_NUMBER ) as boxNum ,COUNT(t2.ID)as num,sum(t2.WEIGHT) as weight from MEDICAL_WASTE.MW_CHECKOUT_RECORD_ITEM t1 left join MEDICAL_WASTE.MW_COLLECT_RECORD t2 on t1.COLLECT_RECORD_ID = t2.ID where t2.CHECKOUT_RECORD_ID = #{outId} GROUP BY t2.WASTE_TYPE </select> </mapper>