medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppDepartmentController.java
@@ -17,6 +17,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -55,14 +56,16 @@ @PostMapping("/regionTree") @ApiImplicitParam(name = "keyword", value = "关键字", required = false) public R<List<SysDepartmentVO>> getRegionTree(@RequestParam(required = false) String keyword) { return R.ok(sysDepartmentService.getRegionTree1(keyword)); List<SysDepartmentVO> regionTree1 = sysDepartmentService.getRegionTree2(keyword); return R.ok(regionTree1); } @ApiOperation("获取区域树") @PostMapping("/pub/regionTree") @ApiImplicitParam(name = "keyword", value = "关键字", required = false) public R<List<SysDepartmentVO>> getRegionTree1(@RequestParam(required = false) String keyword) { return R.ok(sysDepartmentService.getRegionTree1(keyword)); List<SysDepartmentVO> regionTree1 = sysDepartmentService.getRegionTree2(keyword); return R.ok(regionTree1); } @@ -90,8 +93,8 @@ @ApiOperation("获取医院监管列表") @PostMapping("/hospita/list") public R<List<SysDepartment>> list(String name) { List<SysDepartment> list = sysDepartmentService.lambdaQuery().like(name!=null,SysDepartment::getDepartmentName,name).eq(SysDepartment::getOrgType, 2).list(); public R<List<SysDepartment>> list(String name,Long areaId) { List<SysDepartment> list = sysDepartmentService.lambdaQuery().eq(areaId!=null,SysDepartment::getParentId,areaId).like(name!=null,SysDepartment::getDepartmentName,name).eq(SysDepartment::getOrgType, 2).list(); for (SysDepartment sysDepartment : list) { //获取医院暂存间信息 MwStagingRoom one = roomService.lambdaQuery().eq(MwStagingRoom::getDepartmentId, sysDepartment.getId()).one(); @@ -120,11 +123,11 @@ LocalDate now = LocalDate.now(); for (SysDepartment sysDepartment : list) { //获取库存总量 Long count1 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).eq(MwCollectRecord::getStatus, 3).groupBy(MwCollectRecord::getBoxNumber).count(); Long count1 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).count(); //获取接收数量 Long count2 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveTime,now).eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).eq(MwCollectRecord::getStatus, 3).groupBy(MwCollectRecord::getBoxNumber).count(); Long count2 = collectRecordService.lambdaQuery().isNotNull(MwCollectRecord::getReceiveTime).eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).count(); //获取处置数量 Long count3 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveTime,now).eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).eq(MwCollectRecord::getStatus, 4).groupBy(MwCollectRecord::getBoxNumber).count(); Long count3 = collectRecordService.lambdaQuery().isNotNull(MwCollectRecord::getDisposalTime).eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).count(); sysDepartment.setCont1(count1); sysDepartment.setCont2(count2); sysDepartment.setCont3(count3); @@ -154,7 +157,7 @@ @ApiOperation(value = "医院转运记录") @PostMapping("/trans") public R<List<CheckOutDto>> trans(LocalDate date,@ApiParam("医院id")@RequestParam Long departmentId) { public R<List<CheckOutDto>> trans(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date, @ApiParam("医院id")@RequestParam Long departmentId) { LocalDate now = LocalDate.now().minusDays(7); if (date!=null){ now = LocalDate.now(); medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppLoginController.java
@@ -3,6 +3,7 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sinata.common.constant.Constants; import com.sinata.common.core.domain.AjaxResult; import com.sinata.common.core.domain.R; @@ -17,9 +18,12 @@ import com.sinata.framework.web.service.SysPermissionService; import com.sinata.framework.web.service.TokenService; import com.sinata.system.domain.SysDepartment; import com.sinata.system.domain.SysUserRole; import com.sinata.system.domain.dto.UserInfoDTO; import com.sinata.system.mapper.SysUserRoleMapper; import com.sinata.system.service.ISysMenuService; import com.sinata.system.service.ISysRoleService; import com.sinata.system.service.ISysUserService; import com.sinata.system.service.SysDepartmentService; import com.sinata.system.service.biz.AliSmsService; import com.sinata.web.controller.tool.weChat.WXCore; @@ -66,6 +70,8 @@ private SysDepartmentService departmentService; @Resource private AliSmsService aliSmsService; @Resource private ISysUserService userService; @PostMapping("/getCode") @@ -140,17 +146,25 @@ SysDepartment byId = departmentService.getById(user.getDepartmentId()); return R.ok(byId); } @Resource private SysUserRoleMapper sysUserRoleMapper; @PostMapping("/get/user") @ApiOperation("获取个人信息") public R<UserInfoDTO> user() { SysUser user = SecurityUtils.getLoginUser().getUser(); SysUser user1 = SecurityUtils.getLoginUser().getUser(); SysUser user = userService.getById(user1.getUserId()); Set<String> roles = permissionService.getRolePermission(user); SysDepartment byId2 = departmentService.getById(user.getDepartmentId()); UserInfoDTO userInfoDTO = new UserInfoDTO(); userInfoDTO.setNickName(user.getNickName()); userInfoDTO.setDepartment(byId2); userInfoDTO.setRoles(roles); SysUserRole sysUserRole = sysUserRoleMapper.selectOne(Wrappers.<SysUserRole>lambdaQuery().eq(SysUserRole::getUserId, user.getUserId())); if (sysUserRole != null) { SysRole byId = roleService.getById(sysUserRole.getRoleId()); userInfoDTO.setRole(byId); } return R.ok(userInfoDTO); } medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMonitorDeviceController.java
@@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; import java.util.Map; /** @@ -53,8 +54,8 @@ */ @ApiOperation("实时监控列表") @PostMapping("/monitor/page") public R<PageDTO<MwMonitorDeviceVO>> monitorPageList(@Valid @RequestBody MwMonitorDeviceQuery query) { return R.ok(mwMonitorDeviceService.pageMonitorPage(query)); public R<List<MwMonitorDeviceVO>> monitorPageList(@Valid @RequestBody MwMonitorDeviceQuery query) { return R.ok(mwMonitorDeviceService.pageMonitorPage1(query).getList()); } /** medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java
@@ -61,7 +61,8 @@ @PostMapping("/total") public R<List<CollectTotalUpDto>> total(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); return R.ok(mwCheckoutRecordService.totalUp(date,sysUser.getDepartmentId())); SysUser byId = userService.getById(sysUser.getUserId()); return R.ok(mwCheckoutRecordService.totalUp(date,byId.getDepartmentId())); } @ApiOperation(value = "接收统计上",tags = "处置人员") @@ -73,7 +74,8 @@ @ApiOperation(value = "接收统计下",tags = "处置人员") @PostMapping("/out/record") public R<List<CheckOutDto>> record1(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date1,@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date2) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); SysUser sysUser1 = SecurityUtils.getLoginUser().getUser(); SysUser sysUser = userService.getById(sysUser1.getUserId()); LocalDate now = LocalDate.now(); List<MwDisposalRecord> list = disposalRecordService.lambdaQuery().ge(date1!=null,MwDisposalRecord::getReceiveTime, date1).le(date2!=null,MwDisposalRecord::getReceiveTime,date2).eq(MwDisposalRecord::getDepartmentId, sysUser.getDepartmentId()).orderByDesc(MwDisposalRecord::getReceiveTime).list(); List<CheckOutDto> backList = new ArrayList<>(); @@ -84,7 +86,7 @@ MwTransitCar byId1 = carService.getById(mwCheckoutRecord.getCarId()); checkOutDto.setLicensePlateNumber(byId1.getLicensePlateNumber()); checkOutDto.setCheckoutTime(mwCheckoutRecord.getReceiveTime()); List<CollectTotalUpDto> records = mwCheckoutRecordService.totalUp1(mwCheckoutRecord.getId()); List<CollectTotalUpDto> records = mwCheckoutRecordService.totalUp6(mwCheckoutRecord.getId()); checkOutDto.setRecords(records); backList.add(checkOutDto); } @@ -126,8 +128,9 @@ @PostMapping("/record") public R<List<CheckOutDto>> record() { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); SysUser byId2 = userService.getById(sysUser.getUserId()); LocalDate now = LocalDate.now(); List<MwCheckoutRecord> list = mwCheckoutRecordService.lambdaQuery().eq(MwCheckoutRecord::getCheckoutTime, now).eq(MwCheckoutRecord::getDepartmentId, sysUser.getDepartmentId()).orderByDesc(MwCheckoutRecord::getCheckoutTime).list(); List<MwCheckoutRecord> list = mwCheckoutRecordService.lambdaQuery().eq(MwCheckoutRecord::getDepartmentId, byId2.getDepartmentId()).orderByDesc(MwCheckoutRecord::getCheckoutTime).list(); List<CheckOutDto> backList = new ArrayList<>(); for (MwCheckoutRecord mwCheckoutRecord : list) { CheckOutDto checkOutDto = new CheckOutDto(); medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java
@@ -58,14 +58,22 @@ private final MwDisposalHandleRecordItemService disposalHandleRecordItemService; private final MwStagingRoomService roomService; private final ISysDictDataService dictDataService; private final MwTransitCarService carService; @ApiOperation(value = "新增医废记录") @PostMapping("/add") public R<?> add(@Valid @RequestBody MwCollectRecord mwCollectRecord) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); SysUser sysUser1 = SecurityUtils.getLoginUser().getUser(); SysUser sysUser = userService.getById(sysUser1.getUserId()); MwBox one = boxService.lambdaQuery().eq(MwBox::getBoxNumber, mwCollectRecord.getBoxNumber()).one(); if (one==null){ return R.fail("当前转运箱不存在"); } one.setLink(1); one.setLastUseTime(new Date()); boxService.updateById(one); mwCollectRecord.setBoxId(one.getId()); MwStagingRoom one1 = roomService.lambdaQuery().eq(MwStagingRoom::getDepartmentId, sysUser.getDepartmentId()).one(); if (one1==null){ @@ -99,14 +107,17 @@ } Long departmentId = list.get(0).getDepartmentId(); List<CollectDto> collectDtos = collectRecordService.getGroup1(boxNumber,departmentId); for (CollectDto collectDto : collectDtos) { collectDto.setDepartmentName(departmentService.getById(departmentId).getDepartmentName()); } return R.ok(collectDtos); } @ApiOperation(value = "装车",tags = "运输人员") @PostMapping("/box/collect") public R<List<CollectDto>> collect(@RequestBody SignCollectDto signCollectDto) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); SysUser sysUser1 = SecurityUtils.getLoginUser().getUser(); SysUser sysUser = userService.getById(sysUser1.getUserId()); //将收集记录的状态改变 List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,1).in(MwCollectRecord::getBoxNumber, signCollectDto.getBoxNumbers()).list(); if (list.isEmpty()){ @@ -117,6 +128,7 @@ for (MwCollectRecord mwCollectRecord : list) { mwCollectRecord.setStatus(2); mwCollectRecord.setCheckoutUserId(sysUser.getUserId()); mwCollectRecord.setCheckoutTime(new Date()); mwCollectRecord.setDriverId(sysUser.getUserId()); mwCollectRecord.setCarId(sysUser.getCarId()); boxes.add(mwCollectRecord.getBoxNumber()); @@ -145,20 +157,23 @@ } checkoutRecordItemService.saveBatch(recordItems); collectRecordService.updateBatchById(list); MwBox byId = boxService.getById(list.get(0).getStagingRoomId()); byId.setLink(2); boxService.updateById(byId); return R.ok(); } @ApiOperation(value = "运输统计上",tags = "运输人员") @PostMapping("/trans/collect/total") public R<List<CollectTotalUpDto>> tanscollecttotal1(LocalDate date) { public R<List<CollectTotalUpDto>> tanscollecttotal1(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)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) { public R<Long> tanscollecttotal12(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)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); @@ -166,7 +181,7 @@ @ApiOperation(value = "运输统计下",tags = "运输人员") @PostMapping("/trans/down/collect/total") public R<List<HospitalCollectTotalUpDto>> tanscollecttotal2(LocalDate date) { public R<List<HospitalCollectTotalUpDto>> tanscollecttotal2(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)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(); @@ -195,7 +210,7 @@ //循环医院,然后放入 List<HospitalCollectTotalUp1Dto> list1 = new ArrayList<>(); for (MwCollectRecord mwCollectRecord : list) { List<CollectDto> collectTotalUpDtos = collectRecordService.getGroup1(null, mwCollectRecord.getDepartmentId()); List<CollectDto> collectTotalUpDtos = collectRecordService.getGroup2(null, mwCollectRecord.getDepartmentId()); HospitalCollectTotalUp1Dto hospitalCollectTotalUpDto = new HospitalCollectTotalUp1Dto(); hospitalCollectTotalUpDto.setHospitalName(mwCollectRecord.getHospitalName()); hospitalCollectTotalUpDto.setCollectTotalUpDtos(collectTotalUpDtos); @@ -204,13 +219,46 @@ return R.ok(list1); } @ApiOperation(value = "获取车辆",tags = "处置人员") @PostMapping("/end/down/collect/car") public R<CarDto> tanscollecttotal7(String boxNum) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); MwCollectRecord one = collectRecordService.lambdaQuery().eq(MwCollectRecord::getBoxNumber, boxNum).eq(MwCollectRecord::getStatus, 2).last("limit 1").one(); if (one == null) { return R.ok(); } MwTransitCar byId = carService.getById(one.getCarId()); SysUser one1 = userService.lambdaQuery().eq(SysUser::getCarId, byId.getId()).one(); CarDto carDto = new CarDto(); carDto.setLicensePlateNumber(byId.getLicensePlateNumber()); carDto.setUserName(one1.getUserName()); return R.ok(carDto); } @ApiOperation(value = "扫码接收列表上获取医院",tags = "处置人员") @PostMapping("/end/down/collect/up") public R<SysDepartment> tanscollecttotal4(String boxNum) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); MwCollectRecord one = collectRecordService.lambdaQuery().eq(MwCollectRecord::getBoxNumber, boxNum).eq(MwCollectRecord::getStatus, 2).last("limit 1").one(); if (one == null) { return R.ok(); } SysDepartment byId = departmentService.getById(one.getDepartmentId()); return R.ok(byId); } @ApiOperation(value = "确认接受",tags = "处置人员") @PostMapping("/end/down/collect/confirm") public R tanscollecttotal4(@RequestParam BoxListDto boxListDto) { public R tanscollecttotal4(@RequestBody BoxListDto boxListDto) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); SysDepartment byId = departmentService.getById(sysUser.getDepartmentId()); //将record变为已接受 List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,2).eq(MwCollectRecord::getBoxNumber, boxListDto.getBoxNum()).list(); List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,2).in(MwCollectRecord::getBoxNumber, boxListDto.getBoxNum()).list(); if (list.isEmpty()){ return R.ok(); } Set<String> boxes = new HashSet<>(); BigDecimal receiveQuantity = BigDecimal.ZERO; for (MwCollectRecord mwCollectRecord : list) { @@ -246,6 +294,9 @@ mwDisposalRecordItem.setDisposalRecordId(mwDisposalRecord.getId()); items.add(mwDisposalRecordItem); } disposalRecordItemService.saveBatch(items); return R.ok(); } @@ -254,16 +305,19 @@ @PostMapping("/wait/list") public R<List<CollectDto>> list1(String boxNumber) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); List<CollectDto> collectDtos = collectRecordService.getGroupWithStatus(boxNumber,sysUser.getDepartmentId(),3); SysUser byId = userService.getById(sysUser.getUserId()); List<CollectDto> collectDtos = collectRecordService.getGroupWithStatus(boxNumber,byId.getDepartmentId(),3); return R.ok(collectDtos); } @ApiOperation(value = "处置操作",tags = "处置人员") @PostMapping("/wait/out") public R<List<CollectDto>> list2(String boxNumber) { public R<List<CollectDto>> list2(@RequestBody BoxListDto boxListDto) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); SysDepartment byId = departmentService.getById(sysUser.getDepartmentId()); List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus, 3).eq(MwCollectRecord::getBoxNumber, boxNumber).list(); List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus, 3).in(MwCollectRecord::getBoxNumber, boxListDto.getBoxNum()).list(); if (list.isEmpty()){ return R.ok(); } //新增处置记录 MwDisposalHandleRecord mwDisposalHandleRecord = new MwDisposalHandleRecord(); mwDisposalHandleRecord.setDepartmentId(byId.getId()); @@ -278,7 +332,7 @@ List<Long> ids = new ArrayList<>(); List<MwDisposalHandleRecordItem> mwDisposalHandleRecordItems = new ArrayList<>(); for (MwCollectRecord mwCollectRecord : list) { ids.add(mwCollectRecord.getId()); ids.add(mwCollectRecord.getId()); mwCollectRecord.setStatus(4); mwCollectRecord.setDisposalUserId(sysUser.getUserId()); mwCollectRecord.setDisposalTime(new Date()); @@ -287,28 +341,32 @@ mwDisposalHandleRecordItem.setDisposalRecordId(mwDisposalHandleRecord.getId()); mwDisposalHandleRecordItems.add(mwDisposalHandleRecordItem); } disposalHandleRecordItemService.saveBatch(mwDisposalHandleRecordItems); // disposalHandleRecordItemService.saveBatch(mwDisposalHandleRecordItems); collectRecordService.updateBatchById(list); //将接收记录以及子表变为已处置 List<MwDisposalRecordItem> list1 = disposalRecordItemService.lambdaQuery().in(MwDisposalRecordItem::getCollectRecordId, ids).list(); if (!list1.isEmpty()){ List<Long> ids2 = new ArrayList<>(); for (MwDisposalRecordItem mwDisposalRecordItem : list1) { mwDisposalRecordItem.setDisposalFlag(1); mwDisposalRecordItem.setDisposalUserId(sysUser.getUserId()); mwDisposalRecordItem.setDisposalTime(new Date()); ids2.add(mwDisposalRecordItem.getId()); } disposalRecordItemService.updateBatchById(list1); List<MwDisposalRecord> list2 = disposalRecordService.lambdaQuery().in(MwDisposalRecord::getId, ids2).list(); for (MwDisposalRecord mwDisposalRecord : list2) { mwDisposalRecord.setDisposalFlag(1); mwDisposalRecord.setDisposalTime(new Date()); mwDisposalRecord.setDisposalUserId(sysUser.getUserId()); } disposalRecordService.updateBatchById(list2); } } // //将接收记录以及子表变为已处置 // List<MwDisposalRecordItem> list1 = disposalRecordItemService.lambdaQuery().in(MwDisposalRecordItem::getCollectRecordId, ids).list(); // if (!list1.isEmpty()){ // List<Long> ids2 = new ArrayList<>(); // for (MwDisposalRecordItem mwDisposalRecordItem : list1) { // mwDisposalRecordItem.setDisposalFlag(1); // mwDisposalRecordItem.setDisposalUserId(sysUser.getUserId()); // mwDisposalRecordItem.setDisposalTime(new Date()); // ids2.add(mwDisposalRecordItem.getId()); // } // disposalRecordItemService.updateBatchById(list1); // List<MwDisposalRecord> list2 = disposalRecordService.lambdaQuery().in(MwDisposalRecord::getId, ids2).list(); // for (MwDisposalRecord mwDisposalRecord : list2) { // mwDisposalRecord.setDisposalFlag(1); // mwDisposalRecord.setDisposalTime(new Date()); // mwDisposalRecord.setDisposalUserId(sysUser.getUserId()); // } // disposalRecordService.updateBatchById(list2); // } // } // MwBox byId1 = boxService.getById(list.get(0).getStagingRoomId()); // byId1.setLink(4); // boxService.updateById(byId1); return R.ok(); } @@ -317,11 +375,12 @@ @ApiOperation(value = "已装车列表",tags = "运输人员") @PostMapping("/box/has/collect") public R<List<CollectCarTotalUpDto>> hascollect() { public R<List<CollectCarTotalUpDto>> hascollect(String name) { //获取车辆id SysUser sysUser = SecurityUtils.getLoginUser().getUser(); SysUser byId = userService.getById(sysUser.getUserId()); //通过车辆id查询列表 List<CollectCarTotalUpDto> list = collectRecordService.carGroup(sysUser.getCarId()); List<CollectCarTotalUpDto> list = collectRecordService.carGroup(byId.getCarId(),name); return R.ok(list); } @@ -329,7 +388,9 @@ @ApiOperation(value = "已装车列表详情",tags = "运输人员") @PostMapping("/box/has/collect/detail") public R<List<CollectDto>> hascollectdetail(@RequestParam Long hospitalId) { List<CollectDto> collectDtos = collectRecordService.getGroup1("",hospitalId); SysUser sysUser = SecurityUtils.getLoginUser().getUser(); SysUser byId = userService.getById(sysUser.getUserId()); List<CollectDto> collectDtos = collectRecordService.getGroup3(null,hospitalId,byId.getCarId()); return R.ok(collectDtos); } @@ -351,13 +412,16 @@ @PostMapping("/collect/total") public R<List<CollectTotalUpDto>> collecttotal1(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); return R.ok(collectRecordService.collectTotal(date,sysUser.getDepartmentId())); SysUser byId = userService.getById(sysUser.getUserId()); return R.ok(collectRecordService.collectTotal(date,byId.getDepartmentId())); } @ApiOperation("收集统计下") @PostMapping("/collect/down/total") public R<Page<MwCollectRecord>> collecttotal2(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date,@RequestParam Integer pageNum, @RequestParam Integer pageSize) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); Page<MwCollectRecord> page = collectRecordService.lambdaQuery().eq(date!=null,MwCollectRecord::getCollectTime,date).eq(MwCollectRecord::getDepartmentId, sysUser.getDepartmentId()).orderByDesc(MwCollectRecord::getCollectTime).page(Page.of(pageNum, pageSize)); SysUser byId = userService.getById(sysUser.getUserId()); Page<MwCollectRecord> page = collectRecordService.lambdaQuery().eq(date!=null,MwCollectRecord::getCollectTime,date).eq(MwCollectRecord::getDepartmentId, byId.getDepartmentId()).orderByDesc(MwCollectRecord::getCollectTime).page(Page.of(pageNum, pageSize)); return R.ok(page); } @@ -366,9 +430,9 @@ @PostMapping("/total") public R<CollectTotalDto> total(String boxNumber) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); SysUser byId = userService.getById(sysUser.getUserId()); CollectTotalDto collectTotalDto = new CollectTotalDto(); List<CollectDto> collectDtos = collectRecordService.getGroup(boxNumber,sysUser.getDepartmentId()); List<CollectDto> collectDtos = collectRecordService.getGroup(boxNumber,byId.getDepartmentId()); for (CollectDto collectDto : collectDtos) { collectTotalDto.setBoxNum(collectTotalDto.getBoxNum()+1); collectTotalDto.setCarNum(collectTotalDto.getCarNum()+collectDto.getNum()); medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java
@@ -11,10 +11,7 @@ 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 com.sinata.system.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -44,6 +41,7 @@ private final MwTransitRouteCarService transitRouteCarService; private final MwTransitRoutePointsService pointsService; private final SysDepartmentService departmentService; private final ISysUserService userService; /** * 分页列表 @@ -56,14 +54,19 @@ @PostMapping("/line") public R<List<MwTransitRoute>> line() { //获取当前用户的车辆 SysUser sysUser = SecurityUtils.getLoginUser().getUser(); SysUser sysUser1 = SecurityUtils.getLoginUser().getUser(); SysUser sysUser = userService.getById(sysUser1.getUserId()); Long carId = sysUser.getCarId(); //根据车辆获取线路列表 List<MwTransitRouteCar> list = transitRouteCarService.lambdaQuery().eq(MwTransitRouteCar::getCarId, carId).list(); List<Long> routeIds = new ArrayList<>(); for (MwTransitRouteCar mwTransitRouteCar : list) { routeIds.add(mwTransitRouteCar.getRouteId()); } 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()); @@ -76,9 +79,11 @@ @ApiOperation("获取途径点") @PostMapping("/get") public R<List<MwTransitRoutePoints>> pageList(@RequestParam Long routeId) { List<MwTransitRoutePoints> list1 = pointsService.lambdaQuery().eq(MwTransitRoutePoints::getRouteId, routeId).orderByAsc(MwTransitRoutePoints::getSortOrder).list(); for (MwTransitRoutePoints mwTransitRoutePoints : list1) { SysDepartment byId = departmentService.getById(mwTransitRoutePoints.getDepartmentId()); mwTransitRoutePoints.setDepartmentName(byId.getDepartmentName()); } return R.ok(list1); } medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java
@@ -93,6 +93,17 @@ } @ApiOperation(value = "取消绑定",tags = "运输人员") @PostMapping("/cancel") public R<SysUser> cancel() { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); sysUser.setCarId(-1L); userService.updateById(sysUser); return R.ok(); } medicalWaste-admin/src/main/java/com/sinata/web/controller/screen/ScreenController.java
@@ -87,10 +87,10 @@ public R<TotalCollectWeightByTypeVO> totalCollectWeightByType(@ApiParam(name = "type", value = "统计类型 1:按周统计 2:按月统计") @PathVariable("type") Integer type) { return R.ok(screenService.totalCollectWeightByType(type)); } /** * 医疗机构收集情况 */ @ApiOperation("医疗机构收集情况") @GetMapping("/medicalInstitutionCollectList") public R<List<MedicalInstitutionCollectListVO>> // /** // * 医疗机构收集情况 // */ // @ApiOperation("医疗机构收集情况") // @GetMapping("/medicalInstitutionCollectList") // public R<List<MedicalInstitutionCollectListVO>> } medicalWaste-admin/src/main/resources/application-dev.yml
@@ -93,7 +93,7 @@ # 主库数据源 master: # url: jdbc:mysql://localhost:3306/medical_waste?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 url: jdbc:dm://127.0.0.1:5236/MEDICAL_WASTE?schema=MEDICAL_WASTE url: jdbc:dm://192.168.110.188:5236/MEDICAL_WASTE?schema=MEDICAL_WASTE username: SYSDBA password: SYSDBA # 从库数据源 medicalWaste-admin/src/main/resources/application-prod.yml
@@ -93,7 +93,7 @@ # 主库数据源 master: # url: jdbc:mysql://localhost:3306/medical_waste?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 url: jdbc:dm://127.0.0.1:5236/MEDICAL_WASTE?schema=MEDICAL_WASTE url: jdbc:dm://192.168.110.188:5236/MEDICAL_WASTE?schema=MEDICAL_WASTE username: SYSDBA password: SYSDBA # 从库数据源 medicalWaste-admin/src/main/resources/application.yml
@@ -1,3 +1,3 @@ spring: profiles: active: prod active: dev medicalWaste-framework/src/main/java/com/sinata/framework/config/SecurityConfig.java
@@ -111,7 +111,7 @@ .authorizeHttpRequests((requests) -> { permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll()); // 对于登录login 注册register 验证码captchaImage 允许匿名访问 requests.antMatchers("/backend/login","/applet/file/upload","/applet/sysDepartment/departmentSearchTree","/applet/getCode","/applet/login", "/register", "/captchaImage").permitAll() requests.antMatchers("/backend/login","/applet/mwApplication/set","/applet/file/upload","/applet/sysDepartment/departmentSearchTree","/applet/getCode","/applet/login", "/register", "/captchaImage").permitAll() // 静态资源,可匿名访问 .antMatchers(HttpMethod.GET, "/", "/msg", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() medicalWaste-system/src/main/java/com/sinata/system/domain/MwDisposalHandleRecordItem.java
@@ -22,7 +22,7 @@ @Setter @TableName("MW_DISPOSAL_HANDLE_RECORD_ITEM") @ApiModel(value = "MwDisposalHandleRecordItem对象", description = "处置记录项") public class MwDisposalHandleRecordItem extends BaseModel { public class MwDisposalHandleRecordItem { private static final long serialVersionUID = 1L; medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoutePoints.java
@@ -36,6 +36,8 @@ @TableField("DEPARTMENT_ID") private Long departmentId; @TableField(exist = false) private String departmentName; @TableField(exist = false) @ApiModelProperty("是否标红1是") private Integer isRed; medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CarDto.java
New file @@ -0,0 +1,9 @@ package com.sinata.system.domain.dto; import lombok.Data; @Data public class CarDto { private String licensePlateNumber; private String userName; } medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectDto.java
@@ -26,5 +26,6 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date receiveTime; private String wasteTypeStr; private String departmentName; } medicalWaste-system/src/main/java/com/sinata/system/domain/dto/UserInfoDTO.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.sinata.common.annotation.Excel; import com.sinata.common.core.domain.entity.SysRole; import com.sinata.system.domain.SysDepartment; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -16,4 +17,5 @@ private Set<String> roles; @ApiModelProperty("单位名称") private SysDepartment department; private SysRole role; } medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java
@@ -99,6 +99,7 @@ List<CollectTotalUpDto> totalUp5(@Param("departmentId")Long departmentId); List<CollectTotalUpDto> totalUp3(@Param("date1") LocalDate date1, @Param("date2") LocalDate date2,@Param("departmentId")Long departmentId); List<CollectTotalUpDto> totalUp1(@Param("outId")Long outId); List<CollectTotalUpDto> totalUp6(@Param("outId")Long outId); /** * 转移联单数据 medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java
@@ -64,6 +64,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> getGroup2(@Param("boxNumber")String boxNumber,@Param("departmentId")Long departmentId); List<CollectDto> getGroup3(@Param("boxNumber")String boxNumber,@Param("departmentId")Long departmentId,@Param("carId")Long carId); List<CollectDto> getGroupWithStatus(@Param("boxNumber")String boxNumber, @Param("departmentId")Long departmentId, @Param("status")Integer status); @@ -71,7 +73,7 @@ List<CollectTotalUpDto> collectTotal3(@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); List<CollectCarTotalUpDto> carGroup(@Param("carId")Long carId,@Param("name") String name); /** * 监管报表医疗废物产生列表 medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java
@@ -110,6 +110,7 @@ List<CollectTotalUpDto> totalUp5(Long departmentId); List<CollectTotalUpDto> totalUp3(LocalDate date1,LocalDate date2, Long departmentId); List<CollectTotalUpDto> totalUp1(Long outId); List<CollectTotalUpDto> totalUp6(Long outId); /** * 车辆转运异常预警 medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java
@@ -55,6 +55,8 @@ List<CollectDto> getGroup(String boxNumber,Long departmentId); List<CollectDto> getGroupWithStatus(String boxNumber,Long departmentId,Integer status); List<CollectDto> getGroup1(String boxNumber,Long departmentId); List<CollectDto> getGroup2(String boxNumber,Long departmentId); List<CollectDto> getGroup3(String boxNumber,Long departmentId,Long carId); /** * 流转过程 @@ -77,7 +79,7 @@ List<CollectTotalUpDto> collectTotal3(Long departmentId); List<CollectTotalUpDto> collectTotal1(LocalDate date,Long checkOutUserId,Long hospitalId); List<CollectCarTotalUpDto> carGroup(Long carId); List<CollectCarTotalUpDto> carGroup(Long carId,String name); /** * 监管报表医疗废物产生列表 medicalWaste-system/src/main/java/com/sinata/system/service/MwMonitorDeviceService.java
@@ -55,4 +55,5 @@ * @return */ PageDTO<MwMonitorDeviceVO> pageMonitorPage(MwMonitorDeviceQuery query); PageDTO<MwMonitorDeviceVO> pageMonitorPage1(MwMonitorDeviceQuery query); } medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java
@@ -110,6 +110,10 @@ return this.baseMapper.totalUp1(outId); } @Override public List<CollectTotalUpDto> totalUp6( Long outId) { return this.baseMapper.totalUp6(outId); } /** * 转运记录详情 * medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java
@@ -98,7 +98,14 @@ public List<CollectDto> getGroup1(String boxNumber,Long departmentId) { return this.baseMapper.getGroup1(boxNumber,departmentId); } @Override public List<CollectDto> getGroup2(String boxNumber,Long departmentId) { return this.baseMapper.getGroup2(boxNumber,departmentId); } @Override public List<CollectDto> getGroup3(String boxNumber,Long departmentId,Long carId) { return this.baseMapper.getGroup3(boxNumber,departmentId,carId); } /** * 流转过程 * @@ -152,8 +159,8 @@ } @Override public List<CollectCarTotalUpDto> carGroup(Long carId) { return this.baseMapper.carGroup(carId); public List<CollectCarTotalUpDto> carGroup(Long carId,String name) { return this.baseMapper.carGroup(carId,name); } /** medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMonitorDeviceServiceImpl.java
@@ -116,4 +116,21 @@ }); return PageDTO.of(page); } @Override public PageDTO<MwMonitorDeviceVO> pageMonitorPage1(MwMonitorDeviceQuery query) { query.setPageCurr(1); query.setPageSize(999999999); //获取视频服务器中的在线设备列表 List<String> deviceList = monitorDeviceApiNewService.getDeviceList(); String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); if (StringUtils.isBlank(treeCode)) { return PageDTO.empty(0L, 0L); } Page<MwMonitorDeviceVO> page = baseMapper.pageMonitorPage(new Page<>(query.getPageCurr(), query.getPageSize()), query.getStatus(), treeCode, deviceList); page.getRecords().stream().filter(item -> deviceList.contains(item.getDeviceNumber())).peek(item -> { item.setStatus(1); }); return PageDTO.of(page); } } medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
@@ -246,10 +246,10 @@ <where> RECEIVE_USER_ID is not null AND RECEIVE_USER_ID = #{departmentId} <if test="date1 != null"> and DATE(RECEIVE_TIME) >= #{date1} AND TRUNC(RECEIVE_TIME, 'DAY') >= TO_DATE(#{date1},'YYYY-MM-DD') </if> <if test="date2 != null"> and DATE(RECEIVE_TIME) <= #{date2} AND TRUNC(RECEIVE_TIME, 'DAY') < TO_DATE(#{date2},'YYYY-MM-DD') </if> </where> @@ -268,12 +268,10 @@ <where> DISPOSAL_USER_ID is not null AND DISPOSAL_USER_ID = #{departmentId} <if test="date1 != null"> and DATE(DISPOSAL_TIME) >= #{date1} AND TRUNC(DISPOSAL_TIME, 'DAY') >= TO_DATE(#{date1},'YYYY-MM-DD') </if> <if test="date2 != null"> and DATE(DISPOSAL_TIME) <= #{date2} </if> AND TRUNC(DISPOSAL_TIME, 'DAY') < TO_DATE(#{date2},'YYYY-MM-DD') </if> </where> GROUP BY WASTE_TYPE </select> @@ -282,7 +280,15 @@ SELECT t2.WASTE_TYPE as wasteType,WASTE_TYPE_STR as wasteTypeStr,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} where t1.CHECKOUT_RECORD_ID = #{outId} GROUP BY t2.WASTE_TYPE </select> <select id="totalUp6" resultType="com.sinata.system.domain.dto.CollectTotalUpDto"> SELECT t2.WASTE_TYPE as wasteType,WASTE_TYPE_STR as wasteTypeStr,COUNT(DISTINCT t2.BOX_NUMBER ) as boxNum ,COUNT(t2.ID)as num,sum(t2.WEIGHT) as weight from MEDICAL_WASTE.MW_DISPOSAL_RECORD_ITEM t1 left join MEDICAL_WASTE.MW_COLLECT_RECORD t2 on t1.COLLECT_RECORD_ID = t2.ID where t1.DISPOSAL_RECORD_ID = #{outId} GROUP BY t2.WASTE_TYPE </select> <select id="getCheckoutRecordList" resultMap="TransformVOMap"> medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml
@@ -232,6 +232,29 @@ GROUP BY BOX_ID </select> <select id="getGroup2" resultType="com.sinata.system.domain.dto.CollectDto"> SELECT BOX_NUMBER as boxNumber,WASTE_TYPE_STR as wasteTypeStr,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 BOX_NUMBER like concat('%',#{boxNumber},'%') </if> </where> GROUP BY BOX_ID </select> <select id="getGroup3" resultType="com.sinata.system.domain.dto.CollectDto"> SELECT BOX_NUMBER as boxNumber,WASTE_TYPE_STR as wasteTypeStr,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} and CAR_ID = #{carId} <if test="boxNumber != null and boxNumber != ''"> and BOX_NUMBER like concat('%',#{boxNumber},'%') </if> </where> 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 , @@ -241,7 +264,7 @@ RECEIVE_TIME as receiveTime from MEDICAL_WASTE.MW_COLLECT_RECORD <where> STATUS = #{status} AND DEPARTMENT_ID = #{departmentId} STATUS = #{status} AND RECEIVE_DEPARTMENT_ID = #{departmentId} <if test="boxNumber != null and boxNumber != ''"> and BOX_NUMBER like concat('%',#{boxNumber},'%') </if> @@ -252,7 +275,7 @@ <select id="collectTotal" resultType="com.sinata.system.domain.dto.CollectTotalUpDto"> SELECT WASTE_TYPE as wasteType,WASTE_TYPE_STR as wasteTypeStr,COUNT(DISTINCT BOX_NUMBER ) as boxNum ,COUNT(1)as num,sum(WEIGHT) as weight from MEDICAL_WASTE.MW_COLLECT_RECORD <where> STATUS = 2 AND DEPARTMENT_ID = #{departmentId} DEPARTMENT_ID = #{departmentId} </where> GROUP BY WASTE_TYPE </select> @@ -270,7 +293,7 @@ <where> CHECKOUT_USER_ID = #{checkOutUserId} <if test="date !=null"> DATE(CHECKOUT_TIME) = #{date} AND TRUNC(CHECKOUT_TIME, 'DAY') = TO_DATE(#{date},'YYYY-MM-DD') </if> <if test="id != null "> and DEPARTMENT_ID = #{id} @@ -285,13 +308,13 @@ COUNT(DISTINCT t3.BOX_NUMBER ) as boxNum, COUNT(t3.ID) as num , WASTE_TYPE_STR as wasteTypeStr, 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 sum(T3.WEIGHT) as weight FROM MEDICAL_WASTE.MW_COLLECT_RECORD t3 <where> t1.CAR_ID = #{carId} t3.CAR_ID = #{carId} <if test="name != null and name != ''"> AND t3.HOSPITAL_NAME LIKE CONCAT(#{name},'%') </if> </where> GROUP BY t3.HOSPITAL_NAME