From 70584075b3953045342a513bf3372efb204c9d5c Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期三, 25 十二月 2024 10:36:42 +0800 Subject: [PATCH] merge --- medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java | 39 +++++++++ medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectTotalDto.java | 1 medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java | 84 +++++++++++++++++++++ medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java | 12 +++ medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CheckOutDto.java | 21 +++++ medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java | 6 + medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml | 14 +++ medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java | 5 + 8 files changed, 182 insertions(+), 0 deletions(-) diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java new file mode 100644 index 0000000..0ff945a --- /dev/null +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java @@ -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); + } + + +} diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java new file mode 100644 index 0000000..312aebf --- /dev/null +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java @@ -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) { + + + } + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CheckOutDto.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CheckOutDto.java new file mode 100644 index 0000000..dd28c65 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CheckOutDto.java @@ -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; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectTotalDto.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectTotalDto.java index 925e9f1..466aec9 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectTotalDto.java +++ b/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("袋") diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java index f4c8c7e..8c3b7a4 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java +++ b/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); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java index a504e7c..06f8cf2 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java +++ b/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); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java index 8ea4805..ba11eae 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java +++ b/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); + } + /** * 转运记录详情 * diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml index 9ba6ca1..04d0475 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml +++ b/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> -- Gitblit v1.7.1