From cf49f4f936a11b27de3f9ec3cbb50603f3b1cd5b Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期六, 28 十二月 2024 16:16:18 +0800 Subject: [PATCH] merge --- medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java | 15 + medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java | 89 +++++++++++ medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java | 7 medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java | 188 ++++++++++++++++++++++- medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectCarTotalUpDto.java | 22 ++ medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoute.java | 3 medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java | 63 +++++++ medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java | 5 medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SignCollectDto.java | 13 + medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java | 13 + medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml | 43 +++++ medicalWaste-system/src/main/java/com/sinata/system/domain/dto/HospitalCollectTotalUpDto.java | 17 ++ 12 files changed, 462 insertions(+), 16 deletions(-) diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java index 130754a..30ad0ed 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java @@ -1,20 +1,19 @@ package com.sinata.web.controller.applet; +import java.util.Date; +import java.math.BigDecimal; +import java.util.*; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.MwCollectRecord; -import com.sinata.system.domain.dto.CollectDto; -import com.sinata.system.domain.dto.CollectTotalDto; -import com.sinata.system.domain.dto.CollectTotalUpDto; -import com.sinata.system.domain.dto.MwCollectRecordDTO; +import com.sinata.system.domain.*; +import com.sinata.system.domain.dto.*; import com.sinata.system.domain.query.MwCollectRecordQuery; import com.sinata.system.domain.vo.MedicalWasteProcessVO; import com.sinata.system.domain.vo.MwCollectRecordVO; -import com.sinata.system.service.ISysUserService; -import com.sinata.system.service.MwCollectRecordService; +import com.sinata.system.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -27,7 +26,6 @@ import javax.validation.Valid; import java.io.IOException; import java.time.LocalDate; -import java.util.List; /** * <p> @@ -46,15 +44,185 @@ private final MwCollectRecordService collectRecordService; @Autowired private ISysUserService userService; - + private final MwBoxService boxService; + private final MwCheckoutRecordService checkoutRecordService; + private final MwCheckoutRecordItemService checkoutRecordItemService; + private final SysDepartmentService departmentService; @ApiOperation("新增医废记录") @PostMapping("/add") - public R<?> edit(@Valid @RequestBody MwCollectRecord mwCollectRecord) { + public R<?> add(@Valid @RequestBody MwCollectRecord mwCollectRecord) { + MwBox one = boxService.lambdaQuery().eq(MwBox::getBoxNumber, mwCollectRecord.getBoxNumber()).one(); + mwCollectRecord.setBoxId(one.getId()); collectRecordService.save(mwCollectRecord); return R.ok(); } + + @ApiOperation(value = "扫描箱号获取医废",tags = "运输人员") + @PostMapping("/box/list") + public R<List<CollectDto>> boxlist(@RequestParam String boxNumber) { + List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,1).eq(MwCollectRecord::getBoxNumber, boxNumber).list(); + if (list.isEmpty()){ + return R.ok(); + } + Long departmentId = list.get(0).getDepartmentId(); + List<CollectDto> collectDtos = collectRecordService.getGroup1(boxNumber,departmentId); + return R.ok(collectDtos); + } + + @ApiOperation(value = "装车",tags = "运输人员") + @PostMapping("/box/collect") + public R<List<CollectDto>> collect(@RequestBody SignCollectDto signCollectDto) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + + //将收集记录的状态改变 + List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,1).in(MwCollectRecord::getBoxNumber, signCollectDto.getBoxNumbers()).list(); + if (list.isEmpty()){ + return R.ok(); + } + Set<String> boxes = new HashSet<>(); + BigDecimal sum = new BigDecimal(0); + for (MwCollectRecord mwCollectRecord : list) { + mwCollectRecord.setStatus(2); + mwCollectRecord.setCheckoutUserId(sysUser.getUserId()); + boxes.add(mwCollectRecord.getBoxNumber()); + sum= sum.add(mwCollectRecord.getWeight()); + } + //插入入库记录以及中间表数据 + MwCheckoutRecord mwCheckoutRecord = new MwCheckoutRecord(); + mwCheckoutRecord.setCheckoutTime(new Date()); + mwCheckoutRecord.setDepartmentId(list.get(0).getDepartmentId()); + mwCheckoutRecord.setHospitalName(list.get(0).getHospitalName()); + mwCheckoutRecord.setStagingRoomId(list.get(0).getStagingRoomId()); + mwCheckoutRecord.setHospitalSignature(signCollectDto.getSignUrl()); + mwCheckoutRecord.setDriverId(sysUser.getUserId()); + mwCheckoutRecord.setCarId(sysUser.getCarId()); + mwCheckoutRecord.setBoxNum(boxes.size()); + mwCheckoutRecord.setBagNum(list.size()); + mwCheckoutRecord.setTotalWeight(sum); + checkoutRecordService.save(mwCheckoutRecord); + //插入中间表数据 + List<MwCheckoutRecordItem> recordItems = new ArrayList<>(); + for (MwCollectRecord mwCollectRecord : list) { + MwCheckoutRecordItem mwCheckoutRecordItem = new MwCheckoutRecordItem(); + mwCheckoutRecordItem.setCollectRecordId(mwCollectRecord.getId()); + mwCheckoutRecordItem.setCheckoutRecordId(mwCheckoutRecord.getId()); + recordItems.add(mwCheckoutRecordItem); + } + checkoutRecordItemService.saveBatch(recordItems); + collectRecordService.updateBatchById(list); + return R.ok(); + + } + + @ApiOperation(value = "运输统计上",tags = "运输人员") + @PostMapping("/trans/collect/total") + public R<List<CollectTotalUpDto>> tanscollecttotal1(LocalDate date) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + return R.ok(collectRecordService.collectTotal1(date,sysUser.getUserId(),null)); + } + + @ApiOperation(value = "运输统计上(医院数量)",tags = "运输人员") + @PostMapping("/trans/collect/hospital/count") + public R<Long> tanscollecttotal12(LocalDate date) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + Long count = collectRecordService.lambdaQuery().eq(date!=null,MwCollectRecord::getCheckoutTime,date).eq(MwCollectRecord::getCheckoutUserId, sysUser.getUserId()).groupBy(MwCollectRecord::getDepartmentId).count(); + return R.ok(count); + } + + @ApiOperation(value = "运输统计下",tags = "运输人员") + @PostMapping("/trans/down/collect/total") + public R<List<HospitalCollectTotalUpDto>> tanscollecttotal2(LocalDate date) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + //先获取医院ids + List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(date!=null,MwCollectRecord::getCheckoutTime,date).eq(MwCollectRecord::getCheckoutUserId, sysUser.getUserId()).groupBy(MwCollectRecord::getDepartmentId).list(); + //循环医院,然后放入 + List<HospitalCollectTotalUpDto> list1 = new ArrayList<>(); + for (MwCollectRecord mwCollectRecord : list) { + List<CollectTotalUpDto> collectTotalUpDtos = collectRecordService.collectTotal1(date, sysUser.getUserId(), mwCollectRecord.getDepartmentId()); + HospitalCollectTotalUpDto hospitalCollectTotalUpDto = new HospitalCollectTotalUpDto(); + hospitalCollectTotalUpDto.setHospitalName(mwCollectRecord.getHospitalName()); + hospitalCollectTotalUpDto.setCollectTotalUpDtos(collectTotalUpDtos); + list1.add(hospitalCollectTotalUpDto); + } + return R.ok(list1); + } + + @ApiOperation(value = "扫码接收列表",tags = "处置人员") + @PostMapping("/end/down/collect/total") + public R<List<HospitalCollectTotalUpDto>> tanscollecttotal3(String boxNum) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + MwCollectRecord one = collectRecordService.lambdaQuery().eq(MwCollectRecord::getBoxNumber, boxNum).eq(MwCollectRecord::getStatus, 2).last("limit 1").one(); + + //先获取医院ids + List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,2).eq(MwCollectRecord::getCheckoutUserId, one.getCheckoutUserId()).groupBy(MwCollectRecord::getDepartmentId).list(); + //循环医院,然后放入 + List<HospitalCollectTotalUpDto> list1 = new ArrayList<>(); + for (MwCollectRecord mwCollectRecord : list) { + List<CollectTotalUpDto> collectTotalUpDtos = collectRecordService.collectTotal1(null, sysUser.getUserId(), mwCollectRecord.getDepartmentId()); + HospitalCollectTotalUpDto hospitalCollectTotalUpDto = new HospitalCollectTotalUpDto(); + hospitalCollectTotalUpDto.setHospitalName(mwCollectRecord.getHospitalName()); + hospitalCollectTotalUpDto.setCollectTotalUpDtos(collectTotalUpDtos); + list1.add(hospitalCollectTotalUpDto); + } + return R.ok(list1); + } + + @ApiOperation(value = "确认接受",tags = "处置人员") + @PostMapping("/end/down/collect/confirm") + public R<List<HospitalCollectTotalUpDto>> tanscollecttotal4(String boxNum) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + SysDepartment byId = departmentService.getById(sysUser.getDepartmentId()); + //将record变为已接受 + List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,2).eq(MwCollectRecord::getBoxNumber, boxNum).list(); + Set<String> boxes = new HashSet<>(); + BigDecimal receiveQuantity = BigDecimal.ZERO; + for (MwCollectRecord mwCollectRecord : list) { + mwCollectRecord.setStatus(3); + boxes.add(mwCollectRecord.getBoxNumber()); + receiveQuantity = receiveQuantity.add(mwCollectRecord.getWeight()); + } + //插入处置记录以及子表 + MwDisposalRecord mwDisposalRecord = new MwDisposalRecord(); + mwDisposalRecord.setDepartmentId(sysUser.getDepartmentId()); + mwDisposalRecord.setDisposalUnitName(byId.getDepartmentName()); + mwDisposalRecord.setReceiveQuantity(boxes.size()); + mwDisposalRecord.setReceiveTime(new Date()); + mwDisposalRecord.setReceiveWeight(receiveQuantity); + mwDisposalRecord.setReceiverId(sysUser.getUserId()); + mwDisposalRecord.setUnloadQuantity(boxes.size()); + mwDisposalRecord.setUnloadWeight(receiveQuantity); + mwDisposalRecord.setTotalHandledQuantity(0); + mwDisposalRecord.setDisposalFlag(0); + mwDisposalRecord.setTotalHandledWeight(new BigDecimal("0")); + + + return null; + + + } + + + + @ApiOperation(value = "已装车列表",tags = "运输人员") + @PostMapping("/box/has/collect") + public R<List<CollectCarTotalUpDto>> hascollect() { + //获取车辆id + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + //通过车辆id查询列表 + List<CollectCarTotalUpDto> list = collectRecordService.carGroup(sysUser.getCarId()); + return R.ok(list); + + } + + @ApiOperation(value = "已装车列表详情",tags = "运输人员") + @PostMapping("/box/has/collect/detail") + public R<List<CollectDto>> hascollectdetail(@RequestParam Long hospitalId) { + List<CollectDto> collectDtos = collectRecordService.getGroup1("",hospitalId); + return R.ok(collectDtos); + } + @ApiOperation("库存信息") @PostMapping("/list") public R<List<CollectDto>> list(String boxNumber) { diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java new file mode 100644 index 0000000..d573a92 --- /dev/null +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java @@ -0,0 +1,89 @@ +package com.sinata.web.controller.applet; + +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.MwTransitRoute; +import com.sinata.system.domain.MwTransitRouteCar; +import com.sinata.system.domain.MwTransitRoutePoints; +import com.sinata.system.domain.SysDepartment; +import com.sinata.system.domain.dto.MwTransitRouteDTO; +import com.sinata.system.domain.query.MwTransitRouteQuery; +import com.sinata.system.domain.vo.MwTransitRouteVO; +import com.sinata.system.service.MwTransitRouteCarService; +import com.sinata.system.service.MwTransitRoutePointsService; +import com.sinata.system.service.MwTransitRouteService; +import com.sinata.system.service.SysDepartmentService; +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.validation.Valid; +import java.util.ArrayList; +import java.util.List; + +/** + * <p> + * 转运线路 前端控制器 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +@Validated +@RestController +@RequiredArgsConstructor +@Api(tags = {"运输路线"}) +@RequestMapping("/applet/mwTransitRoute") +public class AppMwTransitRouteController { + private final MwTransitRouteService mwTransitRouteService; + private final MwTransitRouteCarService transitRouteCarService; + private final MwTransitRoutePointsService pointsService; + private final SysDepartmentService departmentService; + + /** + * 分页列表 + * + * @param query + * @return + */ + + @ApiOperation("线路列表") + @PostMapping("/line") + public R<List<MwTransitRoute>> line() { + //获取当前用户的车辆 + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + Long carId = sysUser.getCarId(); + //根据车辆获取线路列表 + List<MwTransitRouteCar> list = transitRouteCarService.lambdaQuery().eq(MwTransitRouteCar::getCarId, carId).list(); + List<Long> routeIds = new ArrayList<>(); + if (routeIds.isEmpty()){ + return R.ok(); + } + List<MwTransitRoute> list1 = mwTransitRouteService.lambdaQuery().in(MwTransitRoute::getId, routeIds).list(); + for (MwTransitRoute mwTransitRoute : list1) { + SysDepartment byId = departmentService.getById(mwTransitRoute.getDepartmentId()); + if (byId != null) { + mwTransitRoute.setHospitalName(byId.getDepartmentName()); + } + } + + return R.ok(list1); + + } + @ApiOperation("分页列表") + @PostMapping("/get") + public R<List<MwTransitRoutePoints>> pageList(@RequestParam Long routeId) { + + + List<MwTransitRoutePoints> list1 = pointsService.lambdaQuery().eq(MwTransitRoutePoints::getRouteId, routeId).orderByAsc(MwTransitRoutePoints::getSortOrder).list(); + return R.ok(list1); + } + + + +} 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 index 312aebf..c282814 100644 --- 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 @@ -1,6 +1,10 @@ package com.sinata.web.controller.applet; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sinata.common.core.domain.R; +import com.sinata.common.core.domain.entity.SysUser; +import com.sinata.common.utils.SecurityUtils; +import com.sinata.system.domain.MwWarningRecord; import com.sinata.system.domain.dto.CollectTotalUpDto; import com.sinata.system.service.MwWarningRecordService; import io.swagger.annotations.Api; @@ -24,16 +28,17 @@ */ @RestController @RequestMapping("/applet/mwWarningRecord") -@Api(tags = {"医院工作人员-预警"}) +@Api(tags = {"医院工作人员"}) @AllArgsConstructor public class AppMwWarningRecordController { private final MwWarningRecordService mwWarningRecordService; - @ApiOperation("记录") + @ApiOperation("预警记录") @PostMapping("/record") - public R<List<CollectTotalUpDto>> record(@RequestParam Integer pageNum,@RequestParam Integer pageSize) { - - + public R<Page<MwWarningRecord>> record(@RequestParam Integer pageNum,@RequestParam Integer pageSize) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + Page<MwWarningRecord> page = mwWarningRecordService.lambdaQuery().eq(MwWarningRecord::getDepartmentId, sysUser.getDepartmentId()).page(Page.of(pageNum, pageSize)); + return R.ok(page); } } diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java new file mode 100644 index 0000000..351327c --- /dev/null +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java @@ -0,0 +1,63 @@ +package com.sinata.web.controller.applet; + +import com.sinata.common.annotation.Log; +import com.sinata.common.core.controller.BaseController; +import com.sinata.common.core.domain.AjaxResult; +import com.sinata.common.core.domain.R; +import com.sinata.common.core.domain.entity.SysDept; +import com.sinata.common.core.domain.entity.SysRole; +import com.sinata.common.core.domain.entity.SysUser; +import com.sinata.common.core.page.TableDataInfo; +import com.sinata.common.entity.PageDTO; +import com.sinata.common.enums.BusinessType; +import com.sinata.common.utils.SecurityUtils; +import com.sinata.common.utils.StringUtils; +import com.sinata.common.utils.poi.ExcelUtil; +import com.sinata.system.domain.MwApplication; +import com.sinata.system.domain.MwTransitCar; +import com.sinata.system.domain.dto.SysUserDTO; +import com.sinata.system.domain.dto.SysUserStatusDTO; +import com.sinata.system.domain.query.SysUserQuery; +import com.sinata.system.domain.vo.SysUserVO; +import com.sinata.system.service.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.AllArgsConstructor; +import org.apache.commons.lang3.ArrayUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 用户信息 + * + * @author ruoyi + */ +@Validated +@RestController +@RequestMapping("/applet/user") +@AllArgsConstructor +public class AppUserController extends BaseController +{ + private final MwTransitCarService carService; + @ApiOperation(value = "获取绑定车辆",tags = "运输人员") + @PostMapping("/car") + public R<MwTransitCar> car() { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + if (sysUser.getCarId()==null){ + return R.fail("当前暂无绑定车辆,请绑定后操作"); + } + MwTransitCar byId = carService.getById(sysUser.getCarId()); + return R.ok(byId); + } + + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoute.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoute.java index 19acb03..79e4d2a 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoute.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoute.java @@ -37,6 +37,9 @@ @ApiModelProperty("线路名称") @TableField("ROUTE_NAME") private String routeName; + @ApiModelProperty("医院名称") + @TableField(exist = false) + private String hospitalName; @ApiModelProperty("医院数量") @TableField("HOSPITAL_QUANTITY") diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectCarTotalUpDto.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectCarTotalUpDto.java new file mode 100644 index 0000000..29d1b11 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectCarTotalUpDto.java @@ -0,0 +1,22 @@ +package com.sinata.system.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class CollectCarTotalUpDto { + @ApiModelProperty("医院名称") + private String hospitalName; + @ApiModelProperty("医院id") + private Long hospitalId; + @ApiModelProperty("出库id") + private Long checkOutId; + @ApiModelProperty("总箱数") + private Integer boxNum; + @ApiModelProperty("总袋数") + private Integer num; + @ApiModelProperty("总重量") + private BigDecimal weight; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/HospitalCollectTotalUpDto.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/HospitalCollectTotalUpDto.java new file mode 100644 index 0000000..f91b776 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/HospitalCollectTotalUpDto.java @@ -0,0 +1,17 @@ +package com.sinata.system.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import jdk.internal.dynalink.linker.LinkerServices; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +public class HospitalCollectTotalUpDto { + @ApiModelProperty("医院名称") + private String hospitalName; + @ApiModelProperty("列表") + private List<CollectTotalUpDto> collectTotalUpDtos; + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SignCollectDto.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SignCollectDto.java new file mode 100644 index 0000000..5f8d8f0 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SignCollectDto.java @@ -0,0 +1,13 @@ +package com.sinata.system.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; +@Data +public class SignCollectDto { + @ApiModelProperty("签名图片地址") + private String signUrl; + @ApiModelProperty("选中的箱号") + private List<String> boxNumbers; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java index bc97ea8..6ee669b 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sinata.system.domain.MwCollectRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sinata.system.domain.dto.CollectCarTotalUpDto; import com.sinata.system.domain.dto.CollectDto; import com.sinata.system.domain.dto.CollectTotalUpDto; import com.sinata.system.domain.query.MwCollectRecordQuery; @@ -57,6 +58,10 @@ List<MwCollectRecordVO> getExportList(@Param("query") MwCollectRecordQuery query, @Param("treeCode") String treeCode); List<CollectDto> getGroup(@Param("boxNumber")String boxNumber,@Param("departmentId")Long departmentId); + List<CollectDto> getGroup1(@Param("boxNumber")String boxNumber,@Param("departmentId")Long departmentId); 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); + + List<CollectCarTotalUpDto> carGroup(@Param("carId")Long carId); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java index e4f6fea..900bb3f 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.sinata.common.entity.PageDTO; import com.sinata.system.domain.MwCollectRecord; +import com.sinata.system.domain.dto.CollectCarTotalUpDto; import com.sinata.system.domain.dto.CollectDto; import com.sinata.system.domain.dto.CollectTotalUpDto; import com.sinata.system.domain.dto.MwCollectRecordDTO; @@ -47,6 +48,7 @@ */ void edit(MwCollectRecordDTO dto); List<CollectDto> getGroup(String boxNumber,Long departmentId); + List<CollectDto> getGroup1(String boxNumber,Long departmentId); /** * 流转过程 @@ -58,5 +60,8 @@ void export(MwCollectRecordQuery query, HttpServletResponse response) throws IOException; - List<CollectTotalUpDto> collectTotal(LocalDate date,Long departmentId); + List<CollectTotalUpDto> collectTotal(LocalDate date,Long departmentId); + List<CollectTotalUpDto> collectTotal1(LocalDate date,Long checkOutUserId,Long hospitalId); + + List<CollectCarTotalUpDto> carGroup(Long carId); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java index 9d59890..1793c66 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java @@ -6,6 +6,7 @@ import com.sinata.common.entity.PageDTO; import com.sinata.common.utils.StringUtils; import com.sinata.system.domain.MwCollectRecord; +import com.sinata.system.domain.dto.CollectCarTotalUpDto; import com.sinata.system.domain.dto.CollectDto; import com.sinata.system.domain.dto.CollectTotalUpDto; import com.sinata.system.domain.dto.MwCollectRecordDTO; @@ -83,6 +84,9 @@ @Override public List<CollectDto> getGroup(String boxNumber,Long departmentId) { return this.baseMapper.getGroup(boxNumber,departmentId); + } @Override + public List<CollectDto> getGroup1(String boxNumber,Long departmentId) { + return this.baseMapper.getGroup1(boxNumber,departmentId); } /** @@ -116,4 +120,13 @@ public List<CollectTotalUpDto> collectTotal(LocalDate date,Long departmentId) { return baseMapper.collectTotal(date,departmentId); } + @Override + public List<CollectTotalUpDto> collectTotal1(LocalDate date,Long checkOutUserId,Long id ) { + return baseMapper.collectTotal1(date,checkOutUserId,id); + } + + @Override + public List<CollectCarTotalUpDto> carGroup(Long carId) { + return this.baseMapper.carGroup(carId); + } } diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml index 1fb8f42..52530e2 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml +++ b/medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml @@ -218,6 +218,18 @@ </where> GROUP BY BOX_ID </select> + + <select id="getGroup1" resultType="com.sinata.system.domain.dto.CollectDto"> + SELECT BOX_NUMBER as boxNumber,WASTE_TYPE as wasteType,COUNT(1) as num ,sum(WEIGHT) as weight,MAX(COLLECT_TIME) as lastTime from MEDICAL_WASTE.MW_COLLECT_RECORD + <where> + STATUS = 2 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> @@ -226,4 +238,35 @@ GROUP BY WASTE_TYPE </select> + <select id="collectTotal1" 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_USER_ID = #{checkOutUserId} + <if test="date !=null"> + DATE(CHECKOUT_TIME) = #{date} + </if> + <if test="id != null "> + and DEPARTMENT_ID = #{id} + </if> + </where> + GROUP BY WASTE_TYPE + </select> + + <select id="carGroup" resultType="com.sinata.system.domain.dto.CollectCarTotalUpDto"> + SELECT t3.DEPARTMENT_ID as hospitalId, + t3.HOSPITAL_NAME as hospitalName, + COUNT(DISTINCT t3.BOX_NUMBER ) as boxNum, + COUNT(t3.ID) as num , + sum(T3.WEIGHT) as weight, + t1.ID as checkOutId + FROM MW_CHECKOUT_RECORD t1 + left join MW_CHECKOUT_RECORD_ITEM t2 on t1.ID = t2.CHECKOUT_RECORD_ID + left join MEDICAL_WASTE.MW_COLLECT_RECORD t3 on t2.COLLECT_RECORD_ID = t3.ID + <where> + t1.CAR_ID = #{carId} + </where> + GROUP BY t3.HOSPITAL_NAME + + </select> + </mapper> -- Gitblit v1.7.1