From ae265295dd977b0d64309b0471e8d3b0d626ccf3 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 18 十二月 2024 19:03:02 +0800 Subject: [PATCH] 运输管理接口 --- medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitCarVO.java | 52 + medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionEquipmentServiceImpl.java | 98 +++ medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarMaintenanceService.java | 34 + medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java | 54 + medicalWaste-system/src/main/java/com/sinata/system/domain/MwProtectionEquipmentRecord.java | 4 medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarService.java | 36 + medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionEquipmentRecordServiceImpl.java | 1 medicalWaste-system/src/main/java/com/sinata/system/service/MwProtectionEquipmentRecordService.java | 2 medicalWaste-system/src/main/resources/mapper/system/MwTransitCarMapper.xml | 60 ++ medicalWaste-system/src/main/java/com/sinata/system/domain/query/TransitCarQuery.java | 32 + medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitCarAnnualInspectionVO.java | 41 + medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitCarMaintenanceVO.java | 40 + medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarAnnualInspectionServiceImpl.java | 59 ++ medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarMaintenanceServiceImpl.java | 63 ++ medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwProtectionEquipmentQuery.java | 28 medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwTransitCarAnnualInspectionDTO.java | 43 + medicalWaste-system/src/main/java/com/sinata/system/mapper/MwTransitCarMapper.java | 20 medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitCarAnnualInspectionQuery.java | 25 medicalWaste-system/src/main/java/com/sinata/system/domain/query/CheckoutRecordQuery.java | 6 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java | 69 ++ medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwTransitCarDTO.java | 48 + medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitRecordVO.java | 5 medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitCar.java | 4 medicalWaste-system/src/main/java/com/sinata/system/service/MwProtectionEquipmentService.java | 42 + medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwTransitCarMaintenanceDTO.java | 45 + medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarAnnualInspectionController.java | 83 ++ medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwProtectionEquipmentRecordDTO.java | 26 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarMaintenanceController.java | 85 ++ medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwProtectionEquipmentDTO.java | 37 + medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarAnnualInspectionService.java | 33 + medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitCarMaintenanceQuery.java | 25 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwProtectionEquipmentController.java | 96 +++ medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordVO.java | 8 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarController.java | 86 ++ medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitRecordQuery.java | 3 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCheckoutRecordController.java | 41 + medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java | 27 medicalWaste-system/src/main/resources/mapper/system/MwProtectionEquipmentMapper.xml | 28 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordExcelVO.java | 57 + medicalWaste-system/src/main/java/com/sinata/system/domain/MwProtectionEquipment.java | 4 medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java | 27 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwProtectionEquipmentVO.java | 41 + medicalWaste-system/src/main/java/com/sinata/system/mapper/MwProtectionEquipmentMapper.java | 14 medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml | 88 ++ 44 files changed, 1,705 insertions(+), 15 deletions(-) diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCheckoutRecordController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCheckoutRecordController.java index 278ca04..287e309 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCheckoutRecordController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCheckoutRecordController.java @@ -21,7 +21,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; /** * <p> @@ -51,6 +53,21 @@ return R.ok(mwCheckoutRecordService.pageHospitalTransitList(query)); } + /** + * 转运记录导出 + * + * @param query + * @param response + */ + @PostMapping("/hospital/export") + @ApiOperation("转运记录导出") + public void checkoutRecordExport(@RequestBody CheckoutRecordQuery query, HttpServletResponse response) { + try { + mwCheckoutRecordService.checkoutRecordExport(query, response); + } catch (IOException e) { + throw new RuntimeException(e); + } + } /** * 转运记录详情 * @@ -86,4 +103,28 @@ public R<PageDTO<MwTransitRecordVO>> transitPageList(@Valid @RequestBody MwTransitRecordQuery query) { return R.ok(mwCheckoutRecordService.transitPageList(query)); } + + /** + * 运输记录详情 + * + * @param id + * @return + */ + @GetMapping("/transit/detail/{id}") + @ApiOperation("运输记录详情") + public R<MwTransitRecordVO> transitDetail(@ApiParam(name = "id", value = "运输记录id", required = true) @PathVariable("id") Long id) { + return R.ok(mwCheckoutRecordService.transitDetail(id)); + } + + /** + * 运输记录详情分页列表 + * + * @param query + * @return + */ + @PostMapping("/transit/detailPage") + @ApiOperation("运输记录详情分页列表") + public R<PageDTO<MwMedicalWasteBoxVO>> transitDetailPage(@Valid @RequestBody MwTransitRecordQuery query) { + return R.ok(mwCheckoutRecordService.transitDetailPageList(query)); + } } diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwProtectionEquipmentController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwProtectionEquipmentController.java index c9cf32d..66a0642 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwProtectionEquipmentController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwProtectionEquipmentController.java @@ -1,7 +1,26 @@ package com.sinata.web.controller.backend; +import com.sinata.common.core.domain.R; +import com.sinata.common.entity.PageDTO; +import com.sinata.system.domain.dto.MwProtectionEquipmentDTO; +import com.sinata.system.domain.dto.MwProtectionEquipmentRecordDTO; +import com.sinata.system.domain.query.MwProtectionEquipmentQuery; +import com.sinata.system.domain.vo.MwProtectionEquipmentVO; +import com.sinata.system.service.MwProtectionEquipmentService; +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.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; /** * <p> @@ -11,8 +30,85 @@ * @author mitao * @since 2024-12-02 */ +@Validated @RestController +@RequiredArgsConstructor +@Api(tags = {"防护器具相关接口"}) @RequestMapping("/backend/mwProtectionEquipment") public class MwProtectionEquipmentController { + private final MwProtectionEquipmentService mwProtectionEquipmentService; + + /** + * 防护器具分页列表 + * + * @param query + * @return + */ + @PostMapping("/page") + @ApiOperation("防护器具分页列表") + public R<PageDTO<MwProtectionEquipmentVO>> pageList(@Valid @RequestBody MwProtectionEquipmentQuery query) { + return R.ok(mwProtectionEquipmentService.pageList(query)); + } + + /** + * 详情 + * + * @param id + * @return + */ + @GetMapping("/{id}") + @ApiOperation("详情") + public R<MwProtectionEquipmentVO> detail(@ApiParam(name = "id", value = "防护器具id", required = true) @PathVariable("id") Long id) { + return R.ok(mwProtectionEquipmentService.detail(id)); + } + + /** + * 新增防护器具 + * + * @param dto + * @return + */ + @PostMapping("/add") + @ApiOperation("新增防护器具") + public R<?> add(@Valid @RequestBody MwProtectionEquipmentDTO dto) { + mwProtectionEquipmentService.add(dto); + return R.ok(); + } + + /** + * 编辑 + * + * @param dto + * @return + */ + @PostMapping("/edit") + @ApiOperation("编辑") + public R<?> edit(@Valid @RequestBody MwProtectionEquipmentDTO dto) { + mwProtectionEquipmentService.edit(dto); + return R.ok(); + } + + /** + * @param id + * @return + */ + @DeleteMapping("/{id}") + @ApiOperation("删除") + public R<?> delete(@ApiParam(name = "id", value = "防护器具id", required = true) @PathVariable("id") Long id) { + mwProtectionEquipmentService.removeById(id); + return R.ok(); + } + + /** + * 增加库存 + * + * @param dto + */ + @PostMapping("/addStock") + @ApiOperation("增加库存") + public R<?> addStock(@Valid @RequestBody MwProtectionEquipmentRecordDTO dto) { + mwProtectionEquipmentService.addStock(dto); + return R.ok(); + } } diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarAnnualInspectionController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarAnnualInspectionController.java index b3b8ca5..6c15f02 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarAnnualInspectionController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarAnnualInspectionController.java @@ -1,7 +1,25 @@ package com.sinata.web.controller.backend; +import com.sinata.common.core.domain.R; +import com.sinata.common.entity.PageDTO; +import com.sinata.system.domain.dto.MwTransitCarAnnualInspectionDTO; +import com.sinata.system.domain.query.MwTransitCarAnnualInspectionQuery; +import com.sinata.system.domain.vo.MwTransitCarAnnualInspectionVO; +import com.sinata.system.service.MwTransitCarAnnualInspectionService; +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.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; /** * <p> @@ -11,8 +29,73 @@ * @author mitao * @since 2024-12-02 */ +@Api(tags = {"车辆年检记录相关接口"}) +@Validated @RestController +@RequiredArgsConstructor @RequestMapping("/backend/mwTransitCarAnnualInspection") public class MwTransitCarAnnualInspectionController { + private final MwTransitCarAnnualInspectionService mwTransitCarAnnualInspectionService; + /** + * 年检记录分页列表 + * + * @param query + * @return + */ + @PostMapping("/page") + @ApiOperation("年检记录分页列表") + public R<PageDTO<MwTransitCarAnnualInspectionVO>> pageList(@Valid @RequestBody MwTransitCarAnnualInspectionQuery query) { + return R.ok(mwTransitCarAnnualInspectionService.pageList(query)); + } + + /** + * 详情 + * + * @param id + * @return + */ + @GetMapping("/{id}") + @ApiOperation("详情") + public R<MwTransitCarAnnualInspectionVO> detail(@ApiParam(name = "id", value = "年检记录id", required = true) @PathVariable("id") Long id) { + return R.ok(mwTransitCarAnnualInspectionService.detail(id)); + } + + /** + * 新增年检记录 + * + * @param dto + */ + @PostMapping("/add") + @ApiOperation("新增年检记录") + public R<?> add(@Valid @RequestBody MwTransitCarAnnualInspectionDTO dto) { + mwTransitCarAnnualInspectionService.add(dto); + return R.ok(); + } + + /** + * 编辑年检记录 + * + * @param dto + * @return + */ + @PostMapping("/edit") + @ApiOperation("编辑年检记录") + public R<?> edit(@Valid @RequestBody MwTransitCarAnnualInspectionDTO dto) { + mwTransitCarAnnualInspectionService.edit(dto); + return R.ok(); + } + + /** + * 删除 + * + * @param id + * @return + */ + @DeleteMapping("/{id}") + @ApiOperation("删除") + public R<?> delete(@ApiParam(name = "id", value = "年检记录id", required = true) @PathVariable("id") Long id) { + mwTransitCarAnnualInspectionService.removeById(id); + return R.ok(); + } } diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarController.java index f0c24de..574dac9 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarController.java @@ -1,7 +1,25 @@ package com.sinata.web.controller.backend; +import com.sinata.common.core.domain.R; +import com.sinata.common.entity.PageDTO; +import com.sinata.system.domain.dto.MwTransitCarDTO; +import com.sinata.system.domain.query.TransitCarQuery; +import com.sinata.system.domain.vo.MwTransitCarVO; +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.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; /** * <p> @@ -11,8 +29,76 @@ * @author mitao * @since 2024-12-02 */ +@Validated @RestController +@RequiredArgsConstructor +@Api(tags = {"车辆管理相关接口"}) @RequestMapping("/backend/mwTransitCar") public class MwTransitCarController { + private final MwTransitCarService mwTransitCarService; + + /** + * 车辆分页列表 + * + * @param query + * @return + */ + @PostMapping("/page") + @ApiOperation("车辆分页列表") + public R<PageDTO<MwTransitCarVO>> pageList(@Valid @RequestBody TransitCarQuery query) { + return R.ok(mwTransitCarService.pageList(query)); + } + + /** + * 详情 + * + * @param id + * @return + */ + @GetMapping("/{id}") + @ApiOperation("详情") + public R<MwTransitCarVO> detail(@ApiParam(name = "id", value = "车辆id", required = true) @PathVariable("id") Long id) { + return R.ok(mwTransitCarService.detail(id)); + } + + /** + * 新增车辆 + * + * @param dto + * @return + */ + @PostMapping("/add") + @ApiOperation("新增车辆") + public R<?> add(@Valid @RequestBody MwTransitCarDTO dto) { + mwTransitCarService.add(dto); + return R.ok(); + } + + /** + * 编辑车辆 + * + * @param dto + * @return + */ + @PostMapping("/edit") + @ApiOperation("编辑车辆") + public R<?> edit(@Valid @RequestBody MwTransitCarDTO dto) { + mwTransitCarService.edit(dto); + return R.ok(); + } + + /** + * 删除 + * + * @param id + * @return + */ + @DeleteMapping("/{id}") + @ApiOperation("删除") + public R<?> delete(@ApiParam(name = "id", value = "车辆id", required = true) @PathVariable("id") Long id) { + mwTransitCarService.removeById(id); + return R.ok(); + } + } diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarMaintenanceController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarMaintenanceController.java index b1fd047..49c44f3 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarMaintenanceController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarMaintenanceController.java @@ -1,7 +1,25 @@ package com.sinata.web.controller.backend; +import com.sinata.common.core.domain.R; +import com.sinata.common.entity.PageDTO; +import com.sinata.system.domain.dto.MwTransitCarMaintenanceDTO; +import com.sinata.system.domain.query.MwTransitCarMaintenanceQuery; +import com.sinata.system.domain.vo.MwTransitCarMaintenanceVO; +import com.sinata.system.service.MwTransitCarMaintenanceService; +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.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; /** * <p> @@ -11,8 +29,75 @@ * @author mitao * @since 2024-12-02 */ +@Validated @RestController +@RequiredArgsConstructor +@Api(tags = {"车辆保养记录相关接口"}) @RequestMapping("/backend/mwTransitCarMaintenance") public class MwTransitCarMaintenanceController { + private final MwTransitCarMaintenanceService mwTransitCarMaintenanceService; + + /** + * 保养记录分页列表 + * + * @param query + * @return + */ + @PostMapping("/page") + @ApiOperation("保养记录分页列表") + public R<PageDTO<MwTransitCarMaintenanceVO>> pageList(@Valid @RequestBody MwTransitCarMaintenanceQuery query) { + return R.ok(mwTransitCarMaintenanceService.pageList(query)); + } + + /** + * 详情 + * + * @param id + * @return + */ + @GetMapping("/{id}") + @ApiOperation("详情") + public R<MwTransitCarMaintenanceVO> detail(@ApiParam(name = "id", value = "保养记录id", required = true) @PathVariable Long id) { + return R.ok(mwTransitCarMaintenanceService.detail(id)); + } + + /** + * 新增 + * + * @param dto + * @return + */ + @PostMapping("/add") + @ApiOperation("新增") + public R<?> add(@Valid @RequestBody MwTransitCarMaintenanceDTO dto) { + mwTransitCarMaintenanceService.add(dto); + return R.ok(); + } + + /** + * 编辑 + * + * @param dto + * @return + */ + @PostMapping("/edit") + @ApiOperation("编辑") + public R<?> edit(@Valid @RequestBody MwTransitCarMaintenanceDTO dto) { + mwTransitCarMaintenanceService.edit(dto); + return R.ok(); + } + + /** + * 删除 + * + * @param id + * @return + */ + @DeleteMapping("/{id}") + @ApiOperation("删除") + public R<?> delete(@ApiParam(name = "id", value = "保养记录id", required = true) @PathVariable("id") Long id) { + mwTransitCarMaintenanceService.removeById(id); + return R.ok(); + } } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwProtectionEquipment.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwProtectionEquipment.java index 6191557..e839f24 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwProtectionEquipment.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwProtectionEquipment.java @@ -38,6 +38,10 @@ @TableField("PROTECTION_EQUIPMENT_TYPE") private Long protectionEquipmentType; + @ApiModelProperty("器具类型名称") + @TableField("PROTECTION_EQUIPMENT_TYPE_STR") + private String protectionEquipmentTypeStr; + @ApiModelProperty("器具名称") @TableField("EQUIPMENT_NAME") private String equipmentName; diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwProtectionEquipmentRecord.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwProtectionEquipmentRecord.java index 74db237..7877b0a 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwProtectionEquipmentRecord.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwProtectionEquipmentRecord.java @@ -46,5 +46,9 @@ @TableField("OPERATOR") private String operator; + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitCar.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitCar.java index b32c6b5..18de500 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitCar.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitCar.java @@ -10,6 +10,8 @@ import lombok.Getter; import lombok.Setter; +import java.math.BigDecimal; + /** * <p> * 运输车辆 @@ -64,7 +66,7 @@ @ApiModelProperty("最大载重") @TableField("MAXIMUM_LOAD") - private Double maximumLoad; + private BigDecimal maximumLoad; @ApiModelProperty("备注") @TableField("REMARK") diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwProtectionEquipmentDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwProtectionEquipmentDTO.java new file mode 100644 index 0000000..1f184eb --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwProtectionEquipmentDTO.java @@ -0,0 +1,37 @@ +package com.sinata.system.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@ApiModel("防护器具数据传输对象") +public class MwProtectionEquipmentDTO { + + @ApiModelProperty("防护器具id") + private Long id; + + @ApiModelProperty("区域id(处置单位id)") + @NotNull(message = "区域id不能为空") + private Long departmentId; + + @ApiModelProperty("器具类型(数据字典)") + @NotNull(message = "器具类型不能为空") + private Long protectionEquipmentType; + + @ApiModelProperty("器具名称") + @NotNull(message = "器具名称不能为空") + private String equipmentName; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("附件,多个使用英文逗号拼接") + private String attachment; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwProtectionEquipmentRecordDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwProtectionEquipmentRecordDTO.java new file mode 100644 index 0000000..995fc89 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwProtectionEquipmentRecordDTO.java @@ -0,0 +1,26 @@ +package com.sinata.system.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@ApiModel("防护器具增减记录数据传输对象") +public class MwProtectionEquipmentRecordDTO { + + @ApiModelProperty("防护器具id") + private Long protectionEquipmentId; + + @ApiModelProperty("库存变动数量") + private Integer changeQuantity; + + @ApiModelProperty("经办人") + private String operator; + + @ApiModelProperty("备注") + private String remark; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwTransitCarAnnualInspectionDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwTransitCarAnnualInspectionDTO.java new file mode 100644 index 0000000..5fec9b6 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwTransitCarAnnualInspectionDTO.java @@ -0,0 +1,43 @@ +package com.sinata.system.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@ApiModel("车辆年检记录数据传输对象") +public class MwTransitCarAnnualInspectionDTO { + + @ApiModelProperty("车辆年检记录id") + private Long id; + + @ApiModelProperty("车辆id") + private Long carId; + + @ApiModelProperty("年检日期") + private Date inspectionDate; + + @ApiModelProperty("下次年检到期日") + private Date nextInspectionDate; + + @ApiModelProperty("检验机构名称") + private String inspectionAgency; + + @ApiModelProperty("检验结果 1:合格 0:不合格") + private Integer inspectionResult; + + @ApiModelProperty("经办人姓名") + private String operator; + + @ApiModelProperty("检验证明图片") + private String certificateImageUrl; + + @ApiModelProperty("备注") + private String remark; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwTransitCarDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwTransitCarDTO.java new file mode 100644 index 0000000..c7bbc5c --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwTransitCarDTO.java @@ -0,0 +1,48 @@ +package com.sinata.system.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@ApiModel("车辆数据传输对象") +public class MwTransitCarDTO { + @ApiModelProperty("车辆id") + private Long id; + + @ApiModelProperty("区域id(处置单位id)") + private Long departmentId; + + @ApiModelProperty("车辆图片") + private String imageUrl; + + @ApiModelProperty("车牌号") + private String licensePlateNumber; + + @ApiModelProperty("负责人") + private String personInCharge; + + @ApiModelProperty("负责人联系方式") + private String phoneNumber; + + @ApiModelProperty("车辆品牌") + private String brand; + + @ApiModelProperty("车辆颜色") + private String color; + + @ApiModelProperty("车辆识别代码") + private String code; + + @ApiModelProperty("最大载重") + private BigDecimal maximumLoad; + + @ApiModelProperty("备注") + private String remark; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwTransitCarMaintenanceDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwTransitCarMaintenanceDTO.java new file mode 100644 index 0000000..d4e386a --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwTransitCarMaintenanceDTO.java @@ -0,0 +1,45 @@ +package com.sinata.system.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@ApiModel("车辆保养记录数据传输对象") +public class MwTransitCarMaintenanceDTO { + + @ApiModelProperty("车辆保养记录id") + private Long id; + + @ApiModelProperty("车辆id") + @NotNull(message = "车辆id不能为空") + private Long carId; + + @ApiModelProperty("保养日期") + private Date maintenanceDate; + + @ApiModelProperty("保养项目") + private String maintenanceItem; + + @ApiModelProperty("保养时里程数") + private Double mileage; + + @ApiModelProperty("保养地点") + private String maintenanceLocation; + + @ApiModelProperty("经办人姓名") + private String operator; + + @ApiModelProperty("附加图片") + private String imageUrl; + + @ApiModelProperty("备注") + private String remark; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/CheckoutRecordQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/CheckoutRecordQuery.java index 294dbfd..72c1661 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/CheckoutRecordQuery.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/CheckoutRecordQuery.java @@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode; import java.util.Date; +import java.util.List; /** * @author mitao @@ -30,4 +31,9 @@ @ApiModelProperty("出库时间-结束") private Date checkoutTimeEnd; + + @ApiModelProperty("id列表") + private List<Long> ids; + + } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwProtectionEquipmentQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwProtectionEquipmentQuery.java new file mode 100644 index 0000000..71d2a06 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwProtectionEquipmentQuery.java @@ -0,0 +1,28 @@ +package com.sinata.system.domain.query; + +import com.sinata.common.entity.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("防护器具查询数据传输对象") +public class MwProtectionEquipmentQuery extends BasePage { + + private static final long serialVersionUID = 5232781881563841706L; + + @ApiModelProperty("机构id") + private Long departmentId; + + @ApiModelProperty("器具类型(数据字典)") + private Long protectionEquipmentType; + + @ApiModelProperty("器具名称") + private String equipmentName; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitCarAnnualInspectionQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitCarAnnualInspectionQuery.java new file mode 100644 index 0000000..3ef2e18 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitCarAnnualInspectionQuery.java @@ -0,0 +1,25 @@ +package com.sinata.system.domain.query; + +import com.sinata.common.entity.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("车辆年检记录查询数据传输对象") +public class MwTransitCarAnnualInspectionQuery extends BasePage { + + private static final long serialVersionUID = 377102013493203764L; + + @ApiModelProperty("车辆id") + @NotNull(message = "车辆id不能为空") + private Long id; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitCarMaintenanceQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitCarMaintenanceQuery.java new file mode 100644 index 0000000..8dcea2c --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitCarMaintenanceQuery.java @@ -0,0 +1,25 @@ +package com.sinata.system.domain.query; + +import com.sinata.common.entity.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("车辆保养记录查询数据传输对象") +public class MwTransitCarMaintenanceQuery extends BasePage { + + private static final long serialVersionUID = 566706371010982081L; + + @ApiModelProperty("车辆id") + @NotNull(message = "车辆id不能为空") + private Long id; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitRecordQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitRecordQuery.java index 8c4a018..fba963f 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitRecordQuery.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitRecordQuery.java @@ -18,6 +18,9 @@ public class MwTransitRecordQuery extends BasePage { private static final long serialVersionUID = 3585169031300259198L; + @ApiModelProperty("路线id") + private Long id; + @ApiModelProperty("机构id") private Long departmentId; diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/TransitCarQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/TransitCarQuery.java new file mode 100644 index 0000000..383c1b2 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/TransitCarQuery.java @@ -0,0 +1,32 @@ +package com.sinata.system.domain.query; + +import com.sinata.common.entity.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("车辆查询数据传输对象") +public class TransitCarQuery extends BasePage { + + private static final long serialVersionUID = -7535232627331851047L; + + @ApiModelProperty("机构id") + private Long departmentId; + + @ApiModelProperty("车牌号") + private String licensePlateNumber; + + @ApiModelProperty("负责人") + private String personInCharge; + + @ApiModelProperty("负责人联系方式") + private String phoneNumber; + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordExcelVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordExcelVO.java new file mode 100644 index 0000000..e21866b --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordExcelVO.java @@ -0,0 +1,57 @@ +package com.sinata.system.domain.vo; + +import cn.idev.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author mitao + * @date 2024/12/13 + */ +@Data +@ApiModel("转运记录视图对象") +public class MwCheckoutRecordExcelVO implements Serializable { + + private static final long serialVersionUID = -851971023455890457L; + + @ApiModelProperty("记录id") + private Long id; + + @ExcelProperty(value = "转运时间", index = 1) + private Date checkoutTime; + + + @ApiModelProperty("医院名称") + @ExcelProperty(value = "医院名称", index = 2) + private String hospitalName; + + @ApiModelProperty("箱数") + @ExcelProperty(value = "箱数", index = 3) + private Integer boxNum; + + @ApiModelProperty("袋数") + @ExcelProperty(value = "袋数", index = 4) + private Integer bagNum; + + @ApiModelProperty("总重量") + @ExcelProperty(value = "重量", index = 5) + private BigDecimal totalWeight; + + @ApiModelProperty("司机姓名") + @ExcelProperty(value = "司机姓名", index = 6) + private String driverName; + + @ApiModelProperty("车牌号") + @ExcelProperty(value = "车牌号", index = 7) + private String licensePlateNumber; + + @ApiModelProperty("转运线路") + @ExcelProperty(value = "转运路线", index = 8) + private String routeName; + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordVO.java index 75d3534..8883818 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordVO.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordVO.java @@ -23,6 +23,7 @@ private Long id; @ApiModelProperty("出库时间") + @ExcelProperty(value = "出库时间", index = 1) private Date checkoutTime; @ApiModelProperty("区域id") @@ -33,24 +34,31 @@ private String hospitalName; @ApiModelProperty("暂存间名称") + @ExcelProperty(value = "暂存间", index = 3) private String roomName; @ApiModelProperty("箱数") + @ExcelProperty(value = "箱数", index = 4) private Integer boxNum; @ApiModelProperty("袋数") + @ExcelProperty(value = "袋数", index = 5) private Integer bagNum; @ApiModelProperty("总重量") + @ExcelProperty(value = "总重量", index = 6) private BigDecimal totalWeight; @ApiModelProperty("医院签名") + @ExcelProperty(value = "医院签名", index = 7) private String hospitalSignature; @ApiModelProperty("司机姓名") + @ExcelProperty(value = "司机姓名", index = 8) private String driverName; @ApiModelProperty("车牌号") + @ExcelProperty(value = "车牌号", index = 9) private String licensePlateNumber; @ApiModelProperty("转运线路") diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwProtectionEquipmentVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwProtectionEquipmentVO.java new file mode 100644 index 0000000..648d2ae --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwProtectionEquipmentVO.java @@ -0,0 +1,41 @@ +package com.sinata.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@ApiModel("防护器具视图对象") +public class MwProtectionEquipmentVO { + + @ApiModelProperty("防护器具id") + private Long id; + + @ApiModelProperty("区域id(处置单位id)") + private Long departmentId; + + @ApiModelProperty("所属单位") + private String departmentName; + + @ApiModelProperty("器具类型(数据字典)") + private Long protectionEquipmentType; + + @ApiModelProperty("器具类型名称") + private Long protectionEquipmentTypeStr; + + @ApiModelProperty("器具名称") + private String equipmentName; + + @ApiModelProperty("库存") + private Integer stock; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("附件,多个使用英文逗号拼接") + private String attachment; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitCarAnnualInspectionVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitCarAnnualInspectionVO.java new file mode 100644 index 0000000..bc0378f --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitCarAnnualInspectionVO.java @@ -0,0 +1,41 @@ +package com.sinata.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@ApiModel("车辆年检记录视图对象") +public class MwTransitCarAnnualInspectionVO { + + @ApiModelProperty("车辆年检记录id") + private Long id; + + @ApiModelProperty("年检日期") + private Date inspectionDate; + + @ApiModelProperty("下次年检到期日") + private Date nextInspectionDate; + + @ApiModelProperty("检验机构名称") + private String inspectionAgency; + + @ApiModelProperty("检验结果 1:合格 0:不合格") + private Integer inspectionResult; + + @ApiModelProperty("经办人姓名") + private String operator; + + @ApiModelProperty("检验证明图片") + private String certificateImageUrl; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitCarMaintenanceVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitCarMaintenanceVO.java new file mode 100644 index 0000000..0012cd4 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitCarMaintenanceVO.java @@ -0,0 +1,40 @@ +package com.sinata.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@ApiModel("车辆保养记录视图对象") +public class MwTransitCarMaintenanceVO { + + @ApiModelProperty("车辆保养记录id") + private Long id; + + @ApiModelProperty("保养日期") + private Date maintenanceDate; + + @ApiModelProperty("保养项目") + private String maintenanceItem; + + @ApiModelProperty("保养时里程数") + private Double mileage; + + @ApiModelProperty("保养地点") + private String maintenanceLocation; + + @ApiModelProperty("经办人姓名") + private String operator; + + @ApiModelProperty("附加图片") + private String imageUrl; + + @ApiModelProperty("备注") + private String remark; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitCarVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitCarVO.java new file mode 100644 index 0000000..0a641c0 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitCarVO.java @@ -0,0 +1,52 @@ +package com.sinata.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author mitao + * @date 2024/12/18 + */ +@Data +@ApiModel("车辆视图对象") +public class MwTransitCarVO { + + @ApiModelProperty("车辆id") + private Long id; + + @ApiModelProperty("区域id(处置单位id)") + private Long departmentId; + + @ApiModelProperty("处置单位") + private String departmentName; + + @ApiModelProperty("车辆图片") + private String imageUrl; + + @ApiModelProperty("车牌号") + private String licensePlateNumber; + + @ApiModelProperty("负责人") + private String personInCharge; + + @ApiModelProperty("负责人联系方式") + private String phoneNumber; + + @ApiModelProperty("车辆品牌") + private String brand; + + @ApiModelProperty("车辆颜色") + private String color; + + @ApiModelProperty("车辆识别代码") + private String code; + + @ApiModelProperty("最大载重") + private BigDecimal maximumLoad; + + @ApiModelProperty("备注") + private String remark; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitRecordVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitRecordVO.java index 2651090..9699519 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitRecordVO.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitRecordVO.java @@ -15,7 +15,7 @@ @ApiModel("运输记录视图对象") public class MwTransitRecordVO { - @ApiModelProperty("车辆id") + @ApiModelProperty("路线id") private Long id; @ApiModelProperty("单位名称") @@ -38,4 +38,7 @@ @ApiModelProperty("运输结束时间") private Date endTime; + + @ApiModelProperty("状态 1:暂存中; 2:运输中; 3:已接收; 4:已处置;") + private Integer status; } 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 1fd5d41..f4c8c7e 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 @@ -11,6 +11,8 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * <p> * 暂存间出库记录 Mapper 接口 @@ -57,4 +59,29 @@ * @return */ Page<MwTransitRecordVO> transitPageList(Page<MwTransitRecordVO> page, @Param("query") MwTransitRecordQuery query, String treeCode); + + /** + * 运输记录详情 + * + * @param id + * @return + */ + MwTransitRecordVO transitDetail(Long id); + + /** + * 运输记录详情分页列表 + * + * @param objectPage + * @param id + * @return + */ + Page<MwMedicalWasteBoxVO> transitDetailPageList(Page<MwMedicalWasteBoxVO> objectPage, Long id); + + /** + * 转运记录导出 + * + * @param query + * @param treeCode + */ + List<MwCheckoutRecordVO> hospitalTransitList(@Param("query") CheckoutRecordQuery query, @Param("treeCode") String treeCode); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwProtectionEquipmentMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwProtectionEquipmentMapper.java index 124764a..315828f 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwProtectionEquipmentMapper.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwProtectionEquipmentMapper.java @@ -1,8 +1,12 @@ package com.sinata.system.mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sinata.system.domain.MwProtectionEquipment; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sinata.system.domain.query.MwProtectionEquipmentQuery; +import com.sinata.system.domain.vo.MwProtectionEquipmentVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * <p> @@ -14,5 +18,13 @@ */ @Mapper public interface MwProtectionEquipmentMapper extends BaseMapper<MwProtectionEquipment> { - + /** + * 防护器具分页列表 + * + * @param page + * @param query + * @param treeCode + * @return + */ + Page<MwProtectionEquipmentVO> pageList(Page<MwProtectionEquipmentVO> page, @Param("query") MwProtectionEquipmentQuery query, @Param("treeCode") String treeCode); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwTransitCarMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwTransitCarMapper.java index c0f40dc..fc4795b 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwTransitCarMapper.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwTransitCarMapper.java @@ -1,8 +1,12 @@ package com.sinata.system.mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sinata.system.domain.MwTransitCar; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sinata.system.domain.query.TransitCarQuery; +import com.sinata.system.domain.vo.MwTransitCarVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * <p> @@ -14,5 +18,21 @@ */ @Mapper public interface MwTransitCarMapper extends BaseMapper<MwTransitCar> { + /** + * 车辆分页列表 + * + * @param page + * @param query + * @param treeCode + * @return + */ + Page<MwTransitCarVO> pageList(Page<MwTransitCarVO> page, @Param("query") TransitCarQuery query, @Param("treeCode") String treeCode); + /** + * 详情 + * + * @param id + * @return + */ + MwTransitCarVO detail(Long id); } 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 c03641c..a504e7c 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 @@ -10,6 +10,9 @@ import com.sinata.system.domain.vo.MwMedicalWasteBoxVO; import com.sinata.system.domain.vo.MwTransitRecordVO; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + /** * <p> * 暂存间出库记录 服务类 @@ -50,4 +53,28 @@ * @return */ PageDTO<MwTransitRecordVO> transitPageList(MwTransitRecordQuery query); + + /** + * 运输记录详情 + * + * @param id + * @return + */ + MwTransitRecordVO transitDetail(Long id); + + /** + * 运输记录详情分页列表 + * + * @param query + * @return + */ + PageDTO<MwMedicalWasteBoxVO> transitDetailPageList(MwTransitRecordQuery query); + + /** + * 转运记录导出 + * + * @param query + * @param response + */ + void checkoutRecordExport(CheckoutRecordQuery query, HttpServletResponse response) throws IOException; } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwProtectionEquipmentRecordService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwProtectionEquipmentRecordService.java index 12af051..32cf377 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwProtectionEquipmentRecordService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwProtectionEquipmentRecordService.java @@ -1,7 +1,7 @@ package com.sinata.system.service; -import com.sinata.system.domain.MwProtectionEquipmentRecord; import com.baomidou.mybatisplus.extension.service.IService; +import com.sinata.system.domain.MwProtectionEquipmentRecord; /** * <p> diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwProtectionEquipmentService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwProtectionEquipmentService.java index 8af50f6..755a72f 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwProtectionEquipmentService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwProtectionEquipmentService.java @@ -1,7 +1,12 @@ package com.sinata.system.service; +import com.sinata.common.entity.PageDTO; import com.sinata.system.domain.MwProtectionEquipment; import com.baomidou.mybatisplus.extension.service.IService; +import com.sinata.system.domain.dto.MwProtectionEquipmentDTO; +import com.sinata.system.domain.dto.MwProtectionEquipmentRecordDTO; +import com.sinata.system.domain.query.MwProtectionEquipmentQuery; +import com.sinata.system.domain.vo.MwProtectionEquipmentVO; /** * <p> @@ -12,5 +17,42 @@ * @since 2024-12-02 */ public interface MwProtectionEquipmentService extends IService<MwProtectionEquipment> { + /** + * 防护器具分页列表 + * + * @param query + * @return + */ + PageDTO<MwProtectionEquipmentVO> pageList(MwProtectionEquipmentQuery query); + /** + * 详情 + * + * @param id + * @return + */ + MwProtectionEquipmentVO detail(Long id); + + /** + * 新增防护器具 + * + * @param dto + * @return + */ + void add(MwProtectionEquipmentDTO dto); + + /** + * 编辑 + * + * @param dto + * @return + */ + void edit(MwProtectionEquipmentDTO dto); + + /** + * 增加库存 + * + * @param dto + */ + void addStock(MwProtectionEquipmentRecordDTO dto); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarAnnualInspectionService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarAnnualInspectionService.java index 5046241..873b451 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarAnnualInspectionService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarAnnualInspectionService.java @@ -1,7 +1,11 @@ package com.sinata.system.service; +import com.sinata.common.entity.PageDTO; import com.sinata.system.domain.MwTransitCarAnnualInspection; import com.baomidou.mybatisplus.extension.service.IService; +import com.sinata.system.domain.dto.MwTransitCarAnnualInspectionDTO; +import com.sinata.system.domain.query.MwTransitCarAnnualInspectionQuery; +import com.sinata.system.domain.vo.MwTransitCarAnnualInspectionVO; /** * <p> @@ -12,5 +16,34 @@ * @since 2024-12-02 */ public interface MwTransitCarAnnualInspectionService extends IService<MwTransitCarAnnualInspection> { + /** + * 年检记录分页列表 + * + * @param query + * @return + */ + PageDTO<MwTransitCarAnnualInspectionVO> pageList(MwTransitCarAnnualInspectionQuery query); + /** + * 新增年检记录 + * + * @param dto + */ + void add(MwTransitCarAnnualInspectionDTO dto); + + /** + * 编辑年检记录 + * + * @param dto + * @return + */ + void edit(MwTransitCarAnnualInspectionDTO dto); + + /** + * 详情 + * + * @param id + * @return + */ + MwTransitCarAnnualInspectionVO detail(Long id); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarMaintenanceService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarMaintenanceService.java index 4f63978..a4aafad 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarMaintenanceService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarMaintenanceService.java @@ -1,7 +1,11 @@ package com.sinata.system.service; +import com.sinata.common.entity.PageDTO; import com.sinata.system.domain.MwTransitCarMaintenance; import com.baomidou.mybatisplus.extension.service.IService; +import com.sinata.system.domain.dto.MwTransitCarMaintenanceDTO; +import com.sinata.system.domain.query.MwTransitCarMaintenanceQuery; +import com.sinata.system.domain.vo.MwTransitCarMaintenanceVO; /** * <p> @@ -12,5 +16,35 @@ * @since 2024-12-02 */ public interface MwTransitCarMaintenanceService extends IService<MwTransitCarMaintenance> { + /** + * 保养记录分页列表 + * + * @param query + * @return + */ + PageDTO<MwTransitCarMaintenanceVO> pageList(MwTransitCarMaintenanceQuery query); + /** + * 详情 + * + * @param id + * @return + */ + MwTransitCarMaintenanceVO detail(Long id); + + /** + * 新增 + * + * @param dto + * @return + */ + void add(MwTransitCarMaintenanceDTO dto); + + /** + * 编辑 + * + * @param dto + * @return + */ + void edit(MwTransitCarMaintenanceDTO dto); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarService.java index df66483..dae3696 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarService.java @@ -1,7 +1,11 @@ package com.sinata.system.service; +import com.sinata.common.entity.PageDTO; import com.sinata.system.domain.MwTransitCar; import com.baomidou.mybatisplus.extension.service.IService; +import com.sinata.system.domain.dto.MwTransitCarDTO; +import com.sinata.system.domain.query.TransitCarQuery; +import com.sinata.system.domain.vo.MwTransitCarVO; /** * <p> @@ -12,5 +16,37 @@ * @since 2024-12-02 */ public interface MwTransitCarService extends IService<MwTransitCar> { + /** + * 车辆分页列表 + * + * @param query + * @return + */ + PageDTO<MwTransitCarVO> pageList(TransitCarQuery query); + + /** + * 详情 + * + * @param id + * @return + */ + MwTransitCarVO detail(Long id); + + /** + * 新增车辆 + * + * @param dto + * @return + */ + void add(MwTransitCarDTO dto); + + /** + * 编辑车辆 + * + * @param dto + * @return + */ + void edit(MwTransitCarDTO dto); + } 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 768c277..e27052e 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 @@ -1,13 +1,16 @@ package com.sinata.system.service.impl; +import cn.idev.excel.EasyExcel; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sinata.common.entity.PageDTO; +import com.sinata.common.utils.BeanUtils; import com.sinata.common.utils.StringUtils; import com.sinata.system.domain.MwCheckoutRecord; 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.MwCheckoutRecordExcelVO; import com.sinata.system.domain.vo.MwCheckoutRecordVO; import com.sinata.system.domain.vo.MwMedicalWasteBoxVO; import com.sinata.system.domain.vo.MwTransitRecordVO; @@ -16,6 +19,11 @@ import com.sinata.system.service.SysDepartmentService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.List; /** * <p> @@ -44,6 +52,29 @@ } Page<MwCheckoutRecordVO> page = baseMapper.pageHospitalTransitList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); return PageDTO.of(page); + } + + /** + * 转运记录导出 + * + * @param query + * @param response + */ + @Override + public void checkoutRecordExport(CheckoutRecordQuery query, HttpServletResponse response) throws IOException { + String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + if (StringUtils.isBlank(treeCode)) { + return; + } + List<MwCheckoutRecordVO> list = baseMapper.hospitalTransitList(query, treeCode); + List<MwCheckoutRecordExcelVO> mwCheckoutRecordExcelVOS = BeanUtils.copyToList(list, MwCheckoutRecordExcelVO.class); + // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + String fileName = URLEncoder.encode("转运记录", "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + EasyExcel.write(response.getOutputStream(), MwCheckoutRecordExcelVO.class).sheet("转运记录").doWrite(mwCheckoutRecordExcelVOS); } /** @@ -81,4 +112,27 @@ Page<MwTransitRecordVO> page = baseMapper.transitPageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); return PageDTO.of(page); } + + /** + * 运输记录详情 + * + * @param id + * @return + */ + @Override + public MwTransitRecordVO transitDetail(Long id) { + return baseMapper.transitDetail(id); + } + + /** + * 运输记录详情分页列表 + * + * @param query + * @return + */ + @Override + public PageDTO<MwMedicalWasteBoxVO> transitDetailPageList(MwTransitRecordQuery query) { + Page<MwMedicalWasteBoxVO> page = baseMapper.transitDetailPageList(new Page<>(query.getPageCurr(), query.getPageSize()), query.getId()); + return PageDTO.of(page); + } } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionEquipmentRecordServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionEquipmentRecordServiceImpl.java index ab644d9..06bde56 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionEquipmentRecordServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionEquipmentRecordServiceImpl.java @@ -1,6 +1,7 @@ package com.sinata.system.service.impl; import com.sinata.system.domain.MwProtectionEquipmentRecord; +import com.sinata.system.domain.dto.MwProtectionEquipmentRecordDTO; import com.sinata.system.mapper.MwProtectionEquipmentRecordMapper; import com.sinata.system.service.MwProtectionEquipmentRecordService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionEquipmentServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionEquipmentServiceImpl.java index 68f0564..41caada 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionEquipmentServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionEquipmentServiceImpl.java @@ -1,10 +1,26 @@ package com.sinata.system.service.impl; -import com.sinata.system.domain.MwProtectionEquipment; -import com.sinata.system.mapper.MwProtectionEquipmentMapper; -import com.sinata.system.service.MwProtectionEquipmentService; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sinata.common.core.domain.entity.SysDictData; +import com.sinata.common.entity.PageDTO; +import com.sinata.common.exception.ServiceException; +import com.sinata.common.utils.BeanUtils; +import com.sinata.system.domain.MwProtectionEquipment; +import com.sinata.system.domain.MwProtectionEquipmentRecord; +import com.sinata.system.domain.dto.MwProtectionEquipmentDTO; +import com.sinata.system.domain.dto.MwProtectionEquipmentRecordDTO; +import com.sinata.system.domain.query.MwProtectionEquipmentQuery; +import com.sinata.system.domain.vo.MwProtectionEquipmentVO; +import com.sinata.system.mapper.MwProtectionEquipmentMapper; +import com.sinata.system.service.ISysDictDataService; +import com.sinata.system.service.MwProtectionEquipmentRecordService; +import com.sinata.system.service.MwProtectionEquipmentService; +import com.sinata.system.service.SysDepartmentService; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; + +import java.util.Objects; /** * <p> @@ -15,6 +31,82 @@ * @since 2024-12-02 */ @Service +@RequiredArgsConstructor public class MwProtectionEquipmentServiceImpl extends ServiceImpl<MwProtectionEquipmentMapper, MwProtectionEquipment> implements MwProtectionEquipmentService { + private final SysDepartmentService sysDepartmentService; + private final ISysDictDataService sysDictDataService; + private final MwProtectionEquipmentRecordService mwProtectionEquipmentRecordService; + /** + * 防护器具分页列表 + * + * @param query + * @return + */ + @Override + public PageDTO<MwProtectionEquipmentVO> pageList(MwProtectionEquipmentQuery query) { + String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + Page<MwProtectionEquipmentVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); + return PageDTO.of(page); + } + + /** + * 详情 + * + * @param id + * @return + */ + @Override + public MwProtectionEquipmentVO detail(Long id) { + return BeanUtils.copyBean(this.getById(id), MwProtectionEquipmentVO.class); + } + + /** + * 新增防护器具 + * + * @param dto + * @return + */ + @Override + public void add(MwProtectionEquipmentDTO dto) { + MwProtectionEquipment mwProtectionEquipment = BeanUtils.copyBean(dto, MwProtectionEquipment.class); + SysDictData dictData = sysDictDataService.lambdaQuery().eq(SysDictData::getDictCode, dto.getProtectionEquipmentType()).one(); + if (Objects.nonNull(dictData)) { + mwProtectionEquipment.setProtectionEquipmentTypeStr(dictData.getDictLabel()); + } + save(mwProtectionEquipment); + } + + /** + * 编辑 + * + * @param dto + * @return + */ + @Override + public void edit(MwProtectionEquipmentDTO dto) { + if (Objects.isNull(dto.getId())) { + throw new ServiceException("防护器具id不能为空"); + } + MwProtectionEquipment mwProtectionEquipment = BeanUtils.copyBean(dto, MwProtectionEquipment.class); + SysDictData dictData = sysDictDataService.lambdaQuery().eq(SysDictData::getDictCode, dto.getProtectionEquipmentType()).one(); + if (Objects.nonNull(dictData)) { + mwProtectionEquipment.setProtectionEquipmentTypeStr(dictData.getDictLabel()); + } + updateById(mwProtectionEquipment); + } + + @Override + public void addStock(MwProtectionEquipmentRecordDTO dto) { + MwProtectionEquipment equipment = getById(dto.getProtectionEquipmentId()); + if (Objects.isNull(equipment)) { + throw new ServiceException("防护器具不存在"); + } + equipment.setStock(equipment.getStock() + dto.getChangeQuantity()); + updateById(equipment); + // 新增库存记录 + MwProtectionEquipmentRecord mwProtectionEquipmentRecord = BeanUtils.copyBean(dto, MwProtectionEquipmentRecord.class); + mwProtectionEquipmentRecord.setType(1); + mwProtectionEquipmentRecordService.save(mwProtectionEquipmentRecord); + } } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarAnnualInspectionServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarAnnualInspectionServiceImpl.java index e7413c5..4d638c2 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarAnnualInspectionServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarAnnualInspectionServiceImpl.java @@ -1,10 +1,19 @@ package com.sinata.system.service.impl; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.sinata.common.entity.PageDTO; +import com.sinata.common.exception.ServiceException; +import com.sinata.common.utils.BeanUtils; import com.sinata.system.domain.MwTransitCarAnnualInspection; +import com.sinata.system.domain.dto.MwTransitCarAnnualInspectionDTO; +import com.sinata.system.domain.query.MwTransitCarAnnualInspectionQuery; +import com.sinata.system.domain.vo.MwTransitCarAnnualInspectionVO; import com.sinata.system.mapper.MwTransitCarAnnualInspectionMapper; import com.sinata.system.service.MwTransitCarAnnualInspectionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; + +import java.util.Objects; /** * <p> @@ -16,5 +25,55 @@ */ @Service public class MwTransitCarAnnualInspectionServiceImpl extends ServiceImpl<MwTransitCarAnnualInspectionMapper, MwTransitCarAnnualInspection> implements MwTransitCarAnnualInspectionService { + /** + * 年检记录分页列表 + * + * @param query + * @return + */ + @Override + public PageDTO<MwTransitCarAnnualInspectionVO> pageList(MwTransitCarAnnualInspectionQuery query) { + Page<MwTransitCarAnnualInspection> page = this.lambdaQuery() + .eq(MwTransitCarAnnualInspection::getCarId, query.getId()) + .orderByDesc(MwTransitCarAnnualInspection::getCreateTime) + .page(new Page<>(query.getPageCurr(), query.getPageSize())); + return PageDTO.of(page, MwTransitCarAnnualInspectionVO.class); + } + /** + * 详情 + * + * @param id + * @return + */ + @Override + public MwTransitCarAnnualInspectionVO detail(Long id) { + return BeanUtils.copyBean(getById(id), MwTransitCarAnnualInspectionVO.class); + } + + /** + * 新增年检记录 + * + * @param dto + */ + @Override + public void add(MwTransitCarAnnualInspectionDTO dto) { + MwTransitCarAnnualInspection mwTransitCarAnnualInspection = BeanUtils.copyBean(dto, MwTransitCarAnnualInspection.class); + save(mwTransitCarAnnualInspection); + } + + /** + * 编辑年检记录 + * + * @param dto + * @return + */ + @Override + public void edit(MwTransitCarAnnualInspectionDTO dto) { + if (Objects.isNull(dto.getId())) { + throw new ServiceException("年检记录id不能为空"); + } + MwTransitCarAnnualInspection mwTransitCarAnnualInspection = BeanUtils.copyBean(dto, MwTransitCarAnnualInspection.class); + updateById(mwTransitCarAnnualInspection); + } } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarMaintenanceServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarMaintenanceServiceImpl.java index 08f0bfa..6611f2a 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarMaintenanceServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarMaintenanceServiceImpl.java @@ -1,10 +1,19 @@ package com.sinata.system.service.impl; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sinata.common.entity.PageDTO; +import com.sinata.common.exception.ServiceException; +import com.sinata.common.utils.BeanUtils; import com.sinata.system.domain.MwTransitCarMaintenance; +import com.sinata.system.domain.dto.MwTransitCarMaintenanceDTO; +import com.sinata.system.domain.query.MwTransitCarMaintenanceQuery; +import com.sinata.system.domain.vo.MwTransitCarMaintenanceVO; import com.sinata.system.mapper.MwTransitCarMaintenanceMapper; import com.sinata.system.service.MwTransitCarMaintenanceService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; + +import java.util.Objects; /** * <p> @@ -16,5 +25,57 @@ */ @Service public class MwTransitCarMaintenanceServiceImpl extends ServiceImpl<MwTransitCarMaintenanceMapper, MwTransitCarMaintenance> implements MwTransitCarMaintenanceService { + /** + * 保养记录分页列表 + * + * @param query + * @return + */ + @Override + public PageDTO<MwTransitCarMaintenanceVO> pageList(MwTransitCarMaintenanceQuery query) { + Page<MwTransitCarMaintenance> page = this.lambdaQuery() + .eq(MwTransitCarMaintenance::getCarId, query.getId()) + .orderByDesc(MwTransitCarMaintenance::getCreateTime) + .page(new Page<>(query.getPageCurr(), query.getPageSize())); + return PageDTO.of(page, MwTransitCarMaintenanceVO.class); + } + /** + * 详情 + * + * @param id + * @return + */ + + @Override + public MwTransitCarMaintenanceVO detail(Long id) { + return BeanUtils.copyBean(getById(id), MwTransitCarMaintenanceVO.class); + } + + /** + * 新增 + * + * @param dto + * @return + */ + @Override + public void add(MwTransitCarMaintenanceDTO dto) { + MwTransitCarMaintenance mwTransitCarMaintenance = BeanUtils.copyBean(dto, MwTransitCarMaintenance.class); + save(mwTransitCarMaintenance); + } + + /** + * 编辑 + * + * @param dto + * @return + */ + @Override + public void edit(MwTransitCarMaintenanceDTO dto) { + if (Objects.isNull(dto.getId())) { + throw new ServiceException("保养记录id不能为空"); + } + MwTransitCarMaintenance mwTransitCarMaintenance = BeanUtils.copyBean(dto, MwTransitCarMaintenance.class); + updateById(mwTransitCarMaintenance); + } } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java index 33057c9..f72ffc8 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java @@ -1,10 +1,21 @@ package com.sinata.system.service.impl; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sinata.common.entity.PageDTO; +import com.sinata.common.exception.ServiceException; +import com.sinata.common.utils.BeanUtils; import com.sinata.system.domain.MwTransitCar; +import com.sinata.system.domain.dto.MwTransitCarDTO; +import com.sinata.system.domain.query.TransitCarQuery; +import com.sinata.system.domain.vo.MwTransitCarVO; import com.sinata.system.mapper.MwTransitCarMapper; import com.sinata.system.service.MwTransitCarService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sinata.system.service.SysDepartmentService; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; + +import java.util.Objects; /** * <p> @@ -15,6 +26,62 @@ * @since 2024-12-02 */ @Service +@RequiredArgsConstructor public class MwTransitCarServiceImpl extends ServiceImpl<MwTransitCarMapper, MwTransitCar> implements MwTransitCarService { + private final SysDepartmentService sysDepartmentService; + /** + * 车辆分页列表 + * + * @param query + * @return + */ + @Override + public PageDTO<MwTransitCarVO> pageList(TransitCarQuery query) { + String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + Page<MwTransitCarVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); + return PageDTO.of(page); + } + + /** + * 详情 + * + * @param id + * @return + */ + @Override + public MwTransitCarVO detail(Long id) { + return baseMapper.detail(id); + } + + /** + * 新增车辆 + * + * @param dto + * @return + */ + @Override + public void add(MwTransitCarDTO dto) { + MwTransitCar mwTransitCar = BeanUtils.copyBean(dto, MwTransitCar.class); + Long count = lambdaQuery().eq(MwTransitCar::getLicensePlateNumber, dto.getLicensePlateNumber()).count(); + if (count > 0) { + throw new ServiceException("车牌号已存在"); + } + save(mwTransitCar); + } + + /** + * 编辑车辆 + * + * @param dto + * @return + */ + @Override + public void edit(MwTransitCarDTO dto) { + if (Objects.isNull(dto.getId())) { + throw new ServiceException("车辆id不能为空"); + } + MwTransitCar mwTransitCar = BeanUtils.copyBean(dto, MwTransitCar.class); + updateById(mwTransitCar); + } } diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml index 649692d..3f08408 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml +++ b/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml @@ -89,6 +89,7 @@ LEFT JOIN SYS_USER su ON mcr.COLLECT_USER_ID = su.USER_ID LEFT JOIN SYS_DEPARTMENT sd ON su.DEPARTMENT_ID = sd.ID <where> + mcr.STATUS = 2 <if test="departmentId != null and departmentId != ''"> AND mcr.DEPARTMENT_ID = #{departmentId} </if> @@ -97,21 +98,24 @@ ORDER BY mcr.CREATE_TIME DESC </select> <select id="transitPageList" resultType="com.sinata.system.domain.vo.MwTransitRecordVO"> - SELECT MDR.DISPOSAL_UNIT_NAME, + SELECT + MTRC.ROUTE_ID AS id, + MDR.DISPOSAL_UNIT_NAME, MTC.LICENSE_PLATE_NUMBER, SU.NICK_NAME, SUM(MCR.BOX_NUM) AS boxNum, SUM(MCR.TOTAL_WEIGHT) AS weight, MIN(MCR2.BOX_TIME) AS startTime, MDR.RECEIVE_TIME AS endTime - FROM MW_DISPOSAL_RECORD MDR - LEFT JOIN MW_DISPOSAL_RECORD_ITEM MDRI ON MDR.ID = MDRI.DISPOSAL_RECORD_ID - LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI ON MDRI.COLLECT_RECORD_ID = MCRI.COLLECT_RECORD_ID - LEFT JOIN MW_CHECKOUT_RECORD MCR ON MCRI.CHECKOUT_RECORD_ID = MCR.ID + FROM MW_CHECKOUT_RECORD MCR + LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI ON MCRI.CHECKOUT_RECORD_ID = MCR.ID + LEFT JOIN MW_DISPOSAL_RECORD_ITEM MDRI ON MDRI.COLLECT_RECORD_ID = MCRI.COLLECT_RECORD_ID + LEFT JOIN MW_DISPOSAL_RECORD MDR ON MDR.ID = MDRI.DISPOSAL_RECORD_ID LEFT JOIN MW_COLLECT_RECORD MCR2 ON MCRI.COLLECT_RECORD_ID = MCR2.ID LEFT JOIN MW_TRANSIT_CAR MTC ON MCR.CAR_ID = MTC.ID LEFT JOIN SYS_USER SU ON MCR.DRIVER_ID = SU.USER_ID LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MDR.DEPARTMENT_ID + LEFT JOIN MW_TRANSIT_ROUTE_CAR MTRC ON MTRC.CAR_ID = MCR.CAR_ID <where> <if test="treeCode != null and treeCode != null"> AND SD.TREE_CODE LIKE CONCAT(#{treeCode},'%') @@ -126,7 +130,79 @@ AND MDR.RECEIVE_TIME BETWEEN #{query.startTime} AND #{query.endTime} </if> </where> - GROUP BY MCR.CAR_ID + GROUP BY MTRC.ROUTE_ID + ORDER BY startTime DESC + </select> + <select id="transitDetail" resultType="com.sinata.system.domain.vo.MwTransitRecordVO"> + SELECT + MTRC.ROUTE_ID AS id, + MDR.DISPOSAL_UNIT_NAME, + MTC.LICENSE_PLATE_NUMBER, + SU.NICK_NAME, + SUM(MCR.BOX_NUM) AS boxNum, + SUM(MCR.TOTAL_WEIGHT) AS weight, + MIN(MCR2.BOX_TIME) AS startTime, + MDR.RECEIVE_TIME AS endTime + FROM MW_CHECKOUT_RECORD MCR + LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI ON MCRI.CHECKOUT_RECORD_ID = MCR.ID + LEFT JOIN MW_DISPOSAL_RECORD_ITEM MDRI ON MDRI.COLLECT_RECORD_ID = MCRI.COLLECT_RECORD_ID + LEFT JOIN MW_DISPOSAL_RECORD MDR ON MDR.ID = MDRI.DISPOSAL_RECORD_ID + LEFT JOIN MW_COLLECT_RECORD MCR2 ON MCRI.COLLECT_RECORD_ID = MCR2.ID + LEFT JOIN MW_TRANSIT_CAR MTC ON MCR.CAR_ID = MTC.ID + LEFT JOIN SYS_USER SU ON MCR.DRIVER_ID = SU.USER_ID + LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MDR.DEPARTMENT_ID + LEFT JOIN MW_TRANSIT_ROUTE_CAR MTRC ON MTRC.CAR_ID = MCR.CAR_ID + <where> + MTRC.ROUTE_ID = #{id} + </where> + GROUP BY MTRC.ROUTE_ID + </select> + <select id="transitDetailPageList" resultType="com.sinata.system.domain.vo.MwMedicalWasteBoxVO"> + SELECT MCR2.HOSPITAL_NAME, + MCR2.BOX_NUMBER, + MCR2.WASTE_TYPE_STR, + COUNT(MCR2.ID) AS bagNum, + SUM(MCR2.WEIGHT) AS totalWeight, + MAX(MCR.CHECKOUT_TIME) AS latestCheckoutTime + FROM MW_TRANSIT_ROUTE_CAR MTRC + LEFT JOIN MW_CHECKOUT_RECORD MCR on MTRC.CAR_ID = MCR.CAR_ID + LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI on MCR.ID = MCRI.CHECKOUT_RECORD_ID + LEFT JOIN MW_COLLECT_RECORD MCR2 ON MCR2.ID = MCRI.COLLECT_RECORD_ID + WHERE MTRC.ROUTE_ID = #{id} + GROUP BY MCR2.BOX_ID + ORDER BY latestCheckoutTime DESC + </select> + <select id="hospitalTransitList" resultType="com.sinata.system.domain.vo.MwCheckoutRecordVO"> + SELECT mcr.ID, + mcr.CHECKOUT_TIME, + mcr.HOSPITAL_NAME, + SUM(mcr.BOX_NUM) AS boxNum, + SUM(mcr.BAG_NUM) AS bagNum, + SUM(mcr.TOTAL_WEIGHT) AS totalWeight, + su.NICK_NAME AS driverName, + mtc.LICENSE_PLATE_NUMBER + FROM MW_CHECKOUT_RECORD mcr + LEFT JOIN SYS_USER su + ON mcr.DRIVER_ID = su.USER_ID + LEFT JOIN MW_TRANSIT_CAR mtc + ON mcr.CAR_ID = mtc.ID + LEFT JOIN SYS_DEPARTMENT sd + ON mcr.DEPARTMENT_ID = sd.ID + <where> + <if test="treeCode != null and treeCode != ''"> + AND sd.TREE_CODE LIKE CONCAT(#{treeCode},'%') + </if> + <if test="query.checkoutTimeStart != null and query.checkoutTimeEnd!=null"> + AND mcr.CHECKOUT_TIME BETWEEN #{query.checkoutTimeStart} AND #{query.checkoutTimeEnd} + </if> + <if test="query.ids != null and ids.size() > 0"> + AND mcr.ID IN + <foreach collection="query.ids" item="id" separator="," open="(" close=")"> + #{id} + </foreach> + </if> + </where> + GROUP BY mcr.DEPARTMENT_ID </select> </mapper> diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwProtectionEquipmentMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwProtectionEquipmentMapper.xml index ffb4c9a..79e866a 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/MwProtectionEquipmentMapper.xml +++ b/medicalWaste-system/src/main/resources/mapper/system/MwProtectionEquipmentMapper.xml @@ -27,5 +27,33 @@ UPDATE_TIME, ID, DEPARTMENT_ID, PROTECTION_EQUIPMENT_TYPE, EQUIPMENT_NAME, STOCK, REMARK, ATTACHMENT </sql> + <select id="pageList" resultType="com.sinata.system.domain.vo.MwProtectionEquipmentVO"> + SELECT MPE.ID, + MPE.DEPARTMENT_ID, + MPE.PROTECTION_EQUIPMENT_TYPE, + MPE.EQUIPMENT_NAME, + MPE.STOCK, + MPE.REMARK, + MPE.ATTACHMENT, + MPE.DEL_FLAG, + MPE.CREATE_BY, + MPE.CREATE_TIME, + MPE.UPDATE_BY, + MPE.UPDATE_TIME, + SD.DEPARTMENT_NAME + FROM MW_PROTECTION_EQUIPMENT MPE + LEFT JOIN SYS_DEPARTMENT SD ON MPE.DEPARTMENT_ID = SD.ID + <where> + <if test="treeCode != null and treeCode != ''"> + AND SD.TREE_CODE LIKE CONCAT(#{treeCode},'%') + </if> + <if test="query.protectionEquipmentType != null"> + AND MPE.PROTECTION_EQUIPMENT_TYPE = #{query.protectionEquipmentType} + </if> + <if test="query.equipmentName !=null and query.equipmentName!= ''"> + AND MPE.EQUIPMENT_NAME LIKE CONCAT('%',#{query.equipmentName},'%') + </if> + </where> + </select> </mapper> diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwTransitCarMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwTransitCarMapper.xml index 2889bc8..29ce48f 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/MwTransitCarMapper.xml +++ b/medicalWaste-system/src/main/resources/mapper/system/MwTransitCarMapper.xml @@ -31,5 +31,65 @@ UPDATE_TIME, ID, DEPARTMENT_ID, IMAGE_URL, LICENSE_PLATE_NUMBER, PERSON_IN_CHARGE, PHONE_NUMBER, BRAND, COLOR, CODE, MAXIMUM_LOAD, REMARK </sql> + <select id="pageList" resultType="com.sinata.system.domain.vo.MwTransitCarVO"> + SELECT MTC.ID, + MTC.DEPARTMENT_ID, + MTC.IMAGE_URL, + MTC.LICENSE_PLATE_NUMBER, + MTC.PERSON_IN_CHARGE, + MTC.PHONE_NUMBER, + MTC.BRAND, + MTC.COLOR, + MTC.CODE, + MTC.MAXIMUM_LOAD, + MTC.REMARK, + MTC.DEL_FLAG, + MTC.CREATE_BY, + MTC.CREATE_TIME, + MTC.UPDATE_BY, + MTC.UPDATE_TIME, + SD.DEPARTMENT_NAME AS DEPARTMENT_NAME + FROM MW_TRANSIT_CAR MTC + LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MTC.DEPARTMENT_ID + <where> + <if test="treeCode != null and treeCode != ''"> + AND SD.TREE_CODE = #{treeCode} + </if> + <if test="query.licensePlateNumber !=null and query.licensePlateNumber != ''"> + AND MTC.LICENSE_PLATE_NUMBER LIKE CONCAT('%',#{query.licensePlateNumber},'%') + </if> + <if test="query.personInCharge != null and query.personInCharge !=''"> + AND MTC.PERSON_IN_CHARGE LIKE CONCAT('%',#{query.personInCharge},'%') + </if> + <if test="query.phoneNumber!=null and query.phoneNumber!=''"> + AND MTC.PHONE_NUMBER LIKE CONCAT('%',#{query.phoneNumber},'%') + </if> + </where> + ORDER BY MTC.CREATE_TIME DESC + </select> + <select id="detail" resultType="com.sinata.system.domain.vo.MwTransitCarVO"> + SELECT MTC.ID, + MTC.DEPARTMENT_ID, + MTC.IMAGE_URL, + MTC.LICENSE_PLATE_NUMBER, + MTC.PERSON_IN_CHARGE, + MTC.PHONE_NUMBER, + MTC.BRAND, + MTC.COLOR, + MTC.CODE, + MTC.MAXIMUM_LOAD, + MTC.REMARK, + MTC.DEL_FLAG, + MTC.CREATE_BY, + MTC.CREATE_TIME, + MTC.UPDATE_BY, + MTC.UPDATE_TIME, + SD.DEPARTMENT_NAME AS DEPARTMENT_NAME + FROM MW_TRANSIT_CAR MTC + LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MTC.DEPARTMENT_ID + <where> + MTC.ID = #{id} + </where> + </select> </mapper> -- Gitblit v1.7.1