From 71542a84d8461b3ae216ee35fda214752a94d350 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期一, 23 十二月 2024 19:08:51 +0800 Subject: [PATCH] 执法监管、审核管理、职工管理、协议内容管理接口 --- medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysAgreementServiceImpl.java | 29 + medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwStaffQuery.java | 35 + medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java | 26 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwContractServiceImpl.java | 6 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/FileController.java | 50 + medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwApplicationQuery.java | 34 + medicalWaste-system/src/main/java/com/sinata/system/config/OssConfig.java | 16 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwRegulatoryRecordVO.java | 44 + medicalWaste-system/src/main/resources/mapper/system/MwRegulatoryRecordMapper.xml | 24 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java | 4 medicalWaste-system/src/main/java/com/sinata/system/domain/MwApplication.java | 4 medicalWaste-common/pom.xml | 9 medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwApplicationDTO.java | 27 medicalWaste-system/src/main/java/com/sinata/system/service/SysAgreementService.java | 21 medicalWaste-system/src/main/java/com/sinata/system/domain/MwRegulatoryRecord.java | 7 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwRegulatoryRecordServiceImpl.java | 125 ++++ medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwApplicationVO.java | 58 ++ medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionRegulationServiceImpl.java | 2 medicalWaste-system/src/main/java/com/sinata/system/mapper/MwStaffMapper.java | 14 medicalWaste-system/src/main/java/com/sinata/system/mapper/xml/SysAgreementMapper.xml | 19 medicalWaste-system/src/main/java/com/sinata/system/mapper/MwApplicationMapper.java | 20 medicalWaste-system/src/main/java/com/sinata/system/service/OssService.java | 28 + medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwStaffDTO.java | 37 + medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionEquipmentServiceImpl.java | 10 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java | 6 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwStaffVO.java | 35 + medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwRegulatoryRecordDTO.java | 42 + medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwBusinessDeviceServiceImpl.java | 2 medicalWaste-system/src/main/java/com/sinata/system/mapper/MwRegulatoryRecordMapper.java | 14 pom.xml | 10 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwBoxController.java | 8 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwRegulatoryRecordController.java | 84 +++ medicalWaste-system/src/main/java/com/sinata/system/mapper/SysAgreementMapper.java | 18 medicalWaste-system/src/main/java/com/sinata/system/service/impl/OssServiceImpl.java | 103 +++ medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionTaskServiceImpl.java | 2 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java | 2 medicalWaste-system/src/main/java/com/sinata/system/service/MwApplicationService.java | 26 medicalWaste-system/src/main/java/com/sinata/system/service/MwRegulatoryRecordService.java | 45 + medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwStaffController.java | 84 +++ medicalWaste-system/src/main/java/com/sinata/system/domain/SysAgreement.java | 53 + medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysAgreementDTO.java | 21 medicalWaste-system/src/main/java/com/sinata/system/service/MwStaffService.java | 35 + medicalWaste-system/src/main/java/com/sinata/system/service/MwAttachmentService.java | 2 medicalWaste-system/src/main/resources/mapper/system/MwApplicationMapper.xml | 59 ++ medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwRegulatoryRecordQuery.java | 34 + medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwApplicationServiceImpl.java | 55 + medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwStaffServiceImpl.java | 82 ++ medicalWaste-admin/src/test/java/MybatisPlusGeneraotr.java | 2 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMonitorDeviceVO.java | 3 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMonitorDeviceServiceImpl.java | 2 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwApplicationController.java | 71 ++ medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentService.java | 2 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysAgreementController.java | 42 + medicalWaste-system/src/main/resources/mapper/system/MwStaffMapper.xml | 35 + 54 files changed, 1,575 insertions(+), 53 deletions(-) diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwApplicationController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwApplicationController.java index ba29d6f..96006b2 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwApplicationController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwApplicationController.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.MwApplicationDTO; +import com.sinata.system.domain.query.MwApplicationQuery; +import com.sinata.system.domain.vo.MwApplicationVO; +import com.sinata.system.service.MwApplicationService; +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,61 @@ * @author mitao * @since 2024-12-02 */ +@Validated @RestController +@RequiredArgsConstructor +@Api(tags = {"单位入驻审核相关接口"}) @RequestMapping("/backend/mwApplication") public class MwApplicationController { + private final MwApplicationService mwApplicationService; + /** + * 分页列表 + * + * @param query + * @return + */ + @ApiOperation("分页列表") + @PostMapping("/page") + public R<PageDTO<MwApplicationVO>> pageList(@Valid @RequestBody MwApplicationQuery query) { + return R.ok(mwApplicationService.pageList(query)); + } + + /** + * 详情 + * + * @param id + * @return + */ + @ApiOperation("详情") + @GetMapping("/{id}") + public R<MwApplicationVO> detail(@ApiParam(name = "id", value = "入驻申请id", required = true) @PathVariable("id") Long id) { + return R.ok(mwApplicationService.detail(id)); + } + + /** + * 审核 + * + * @param dto + * @return + */ + @ApiOperation("审核") + @PostMapping("/audit") + public R<?> audit(@Valid @RequestBody MwApplicationDTO dto) { + mwApplicationService.audit(dto); + return R.ok(); + } + + /** + * 删除 + * + * @param id + * @return + */ + @ApiOperation("删除") + @DeleteMapping("/{id}") + public R<?> delete(@ApiParam(name = "id", value = "申请记录id", required = true) @PathVariable("id") Long id) { + mwApplicationService.removeById(id); + return R.ok(); + } } diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwBoxController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwBoxController.java index c3f093d..794d733 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwBoxController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwBoxController.java @@ -58,8 +58,8 @@ * @param query * @return */ - @PostMapping("/page") @ApiOperation("转运箱分页列表") + @PostMapping("/page") public R<PageDTO<MwBoxVO>> pageList(@Valid @RequestBody MwBoxPageQuery query) { return R.ok(boxService.pageList(query)); } @@ -71,8 +71,8 @@ * @param boxNumberEnd * @return */ - @PostMapping("/add") @ApiOperation("新增转运箱") + @PostMapping("/add") @ApiImplicitParams({@ApiImplicitParam(name = "boxNumberStart", value = "转运箱编号开始", required = true), @ApiImplicitParam(name = "boxNumberEnd", value = "转运箱编号结束", required = true)}) public R<?> add(@RequestParam String boxNumberStart, @RequestParam String boxNumberEnd) { @@ -86,8 +86,8 @@ * @param dtoList * @return */ - @PostMapping("/editBatch") @ApiOperation("批量修改转运箱状态") + @PostMapping("/editBatch") public R<?> editBatch(@Valid @RequestBody List<MwBoxDTO> dtoList) { boxService.editBatch(dtoList); return R.ok(); @@ -99,8 +99,8 @@ * @param idList * @return */ - @PostMapping("/delBatch") @ApiOperation("批量删除") + @PostMapping("/delBatch") public R<?> delBatch(@ApiParam(name = "idList", value = "转运箱id列表", required = true, allowMultiple = true) @NotEmpty(message = "转运箱列表不能为空") @RequestBody List<Long> idList) { boxService.removeByIds(idList); return R.ok(); diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwRegulatoryRecordController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwRegulatoryRecordController.java index ceaa0b4..4753b1d 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwRegulatoryRecordController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwRegulatoryRecordController.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.MwRegulatoryRecordDTO; +import com.sinata.system.domain.query.MwRegulatoryRecordQuery; +import com.sinata.system.domain.vo.MwRegulatoryRecordVO; +import com.sinata.system.service.MwRegulatoryRecordService; +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,74 @@ * @author mitao * @since 2024-12-02 */ +@Validated @RestController +@RequiredArgsConstructor +@Api(tags = {"红黄码监管相关接口"}) @RequestMapping("/backend/mwRegulatoryRecord") public class MwRegulatoryRecordController { + private final MwRegulatoryRecordService mwRegulatoryRecordService; + /** + * 分页列表 + * + * @param query + * @return + */ + @ApiOperation("分页列表") + @PostMapping("/page") + public R<PageDTO<MwRegulatoryRecordVO>> pageList(@Valid @RequestBody MwRegulatoryRecordQuery query) { + return R.ok(mwRegulatoryRecordService.pageList(query)); + } + + /** + * 详情 + * + * @param id + * @return + */ + @ApiOperation("详情") + @GetMapping("/{id}") + public R<MwRegulatoryRecordVO> detail(@ApiParam(name = "id", value = "检查记录id", required = true) @PathVariable("id") Long id) { + return R.ok(mwRegulatoryRecordService.detail(id)); + } + + /** + * 新增检查记录 + * + * @param dto + * @return + */ + @ApiOperation("新增检查记录") + @PostMapping("/add") + public R<?> add(@Valid @RequestBody MwRegulatoryRecordDTO dto) { + mwRegulatoryRecordService.add(dto); + return R.ok(); + } + + /** + * 编辑检查记录 + * + * @param dto + * @return + */ + @ApiOperation("编辑检查记录") + @PostMapping("/edit") + public R<?> edit(@Valid @RequestBody MwRegulatoryRecordDTO dto) { + mwRegulatoryRecordService.edit(dto); + return R.ok(); + } + + /** + * 删除 + * + * @param id + * @return + */ + @ApiOperation("删除") + @DeleteMapping("/{id}") + public R<?> delete(@ApiParam(name = "id", value = "检查记录id", required = true) @PathVariable("id") Long id) { + mwRegulatoryRecordService.delete(id); + return R.ok(); + } } diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwStaffController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwStaffController.java index e1b7569..06fa109 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwStaffController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwStaffController.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.MwStaffDTO; +import com.sinata.system.domain.query.MwStaffQuery; +import com.sinata.system.domain.vo.MwStaffVO; +import com.sinata.system.service.MwStaffService; +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,74 @@ * @author mitao * @since 2024-12-02 */ +@Validated @RestController +@RequiredArgsConstructor +@Api(tags = {"职工管理相关接口"}) @RequestMapping("/backend/mwStaff") public class MwStaffController { + private final MwStaffService mwStaffService; + /** + * 分页列表 + * + * @param query + * @return + */ + @ApiOperation("分页列表") + @PostMapping("/page") + public R<PageDTO<MwStaffVO>> pageList(@Valid @RequestBody MwStaffQuery query) { + return R.ok(mwStaffService.pageList(query)); + } + + /** + * 详情 + * + * @param id + * @return + */ + @ApiOperation("详情") + @GetMapping("/{id}") + public R<MwStaffVO> detail(@ApiParam(name = "id", value = "职工id", required = true) @PathVariable("id") Long id) { + return R.ok(mwStaffService.detail(id)); + } + + /** + * 新增 + * + * @param dto + * @return + */ + @ApiOperation("新增") + @PostMapping("/add") + public R<?> add(@Valid @RequestBody MwStaffDTO dto) { + mwStaffService.add(dto); + return R.ok(); + } + + /** + * 编辑 + * + * @param dto + * @return + */ + @ApiOperation("编辑") + @PostMapping("/edit") + public R<?> edit(@Valid @RequestBody MwStaffDTO dto) { + mwStaffService.edit(dto); + return R.ok(); + } + + /** + * 删除 + * + * @param id + * @return + */ + @ApiOperation("删除") + @DeleteMapping("/{id}") + public R<?> delete(@ApiParam(name = "id", value = "职工id", required = true) @PathVariable("id") Long id) { + mwStaffService.removeById(id); + return R.ok(); + } } diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/FileController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/FileController.java new file mode 100644 index 0000000..7a070a2 --- /dev/null +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/FileController.java @@ -0,0 +1,50 @@ +package com.sinata.web.controller.backend.system; + +import com.sinata.common.core.domain.R; +import com.sinata.common.exception.ServiceException; +import com.sinata.system.service.OssService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.Objects; + +/** + * @author mitao + * @date 2024/12/23 + */ +@Api(tags = {"文件上传接口"}) +@RestController +@RequiredArgsConstructor +@RequestMapping("/backend/file") +public class FileController { + private final OssService ossService; + + /** + * 上传文件 + * + * @param file + * @return + */ + @ApiOperation(value = "上传文件") + @PostMapping("/upload") + public R<String> upload(@RequestPart("file") MultipartFile file) { + + if (Objects.isNull(file)) { + throw new ServiceException("文件不能为空"); + } + String fileUrl; + try { + fileUrl = ossService.uploadFile(file); + } catch (IOException e) { + throw new RuntimeException(e); + } + return R.ok(fileUrl); + } +} diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysAgreementController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysAgreementController.java new file mode 100644 index 0000000..10b525c --- /dev/null +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysAgreementController.java @@ -0,0 +1,42 @@ +package com.sinata.web.controller.backend.system; + +import com.sinata.common.core.domain.R; +import com.sinata.system.domain.dto.SysAgreementDTO; +import com.sinata.system.service.SysAgreementService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +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> + * 协议 前端控制器 + * </p> + * + * @author mitao + * @since 2024-12-23 + */ +@Api(tags = {"协议管理相关接口"}) +@RestController +@RequiredArgsConstructor +@RequestMapping("/backend/sysAgreement") +public class SysAgreementController { + private SysAgreementService sysAgreementService; + + /** + * 保存用户注册协议 + * @param dto + * @return + */ + @ApiOperation("保存用户注册协议") + @PostMapping("/save") + public R<?> save(@Valid @RequestBody SysAgreementDTO dto){ + sysAgreementService.saveAgreement(dto); + return R.ok(); + } +} diff --git a/medicalWaste-admin/src/test/java/MybatisPlusGeneraotr.java b/medicalWaste-admin/src/test/java/MybatisPlusGeneraotr.java index f837ce9..ed27ad2 100644 --- a/medicalWaste-admin/src/test/java/MybatisPlusGeneraotr.java +++ b/medicalWaste-admin/src/test/java/MybatisPlusGeneraotr.java @@ -47,7 +47,7 @@ builder // 在这里添加数据库表名 //.addInclude("MW_BOX") - .addInclude("MW_ATTACHMENT")// 设置需要生成的表名,多个表之间可以用逗号隔开 + .addInclude("SYS_AGREEMENT")// 设置需要生成的表名,多个表之间可以用逗号隔开 // .addExclude("BBZQ_USER","BBZQ_USER_LOG") .controllerBuilder().enableRestStyle() // controller配置策略 .serviceBuilder().formatServiceFileName("%sService") // service配置策略 diff --git a/medicalWaste-common/pom.xml b/medicalWaste-common/pom.xml index cb3ce53..0fd20c6 100644 --- a/medicalWaste-common/pom.xml +++ b/medicalWaste-common/pom.xml @@ -142,13 +142,16 @@ <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> </dependency> - + <!--fastexcel--> <dependency> <groupId>cn.idev.excel</groupId> <artifactId>fastexcel</artifactId> - <version>1.0.0</version> </dependency> - + <!--aliyun-oss--> + <dependency> + <groupId>com.aliyun.oss</groupId> + <artifactId>aliyun-sdk-oss</artifactId> + </dependency> </dependencies> diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/core/config/OssConfig.java b/medicalWaste-system/src/main/java/com/sinata/system/config/OssConfig.java similarity index 61% rename from medicalWaste-admin/src/main/java/com/sinata/web/core/config/OssConfig.java rename to medicalWaste-system/src/main/java/com/sinata/system/config/OssConfig.java index 89c8e54..1cd4cf9 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/core/config/OssConfig.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/config/OssConfig.java @@ -1,4 +1,4 @@ -package com.sinata.web.core.config; +package com.sinata.system.config; import com.alibaba.fastjson2.JSONObject; import lombok.Data; @@ -31,12 +31,24 @@ private String bucketName; - private long downloadUrlExpiration; + public static String FOLDER; + public static String ACCESS_KEY_ID; + public static String ACCESS_KEY_SECRET; + public static String UPLOAD_ENDPOINT; + public static String DOWNLOAD_ENDPOINT; + public static String BUCKET_NAME; + @PostConstruct public void init() { log.debug("OSS配置信息:" + JSONObject.toJSONString(this)); + FOLDER = folder; + ACCESS_KEY_ID = accessKeyId; + ACCESS_KEY_SECRET = accessKeySecret; + UPLOAD_ENDPOINT = uploadEndpoint; + DOWNLOAD_ENDPOINT = downloadEndpoint; + BUCKET_NAME = bucketName; } public String getStoreFolder() { diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwApplication.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwApplication.java index 2e277cc..b4270fe 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwApplication.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwApplication.java @@ -30,6 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; + @ApiModelProperty("所属区域") + @TableField("REGION") + private String region; + @ApiModelProperty("区域id") @TableField("DEPARTMENT_ID") private Long departmentId; diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwRegulatoryRecord.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwRegulatoryRecord.java index b9c168f..5b64a83 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwRegulatoryRecord.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwRegulatoryRecord.java @@ -55,10 +55,5 @@ @ApiModelProperty("现场图片") @TableField("IMAGE_URL") private String imageUrl; - - @ApiModelProperty("检查附件,多个附件使用英文逗号拼接") - @TableField("ATTACHMENT") - private String attachment; - - + } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/SysAgreement.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/SysAgreement.java new file mode 100644 index 0000000..140706d --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/SysAgreement.java @@ -0,0 +1,53 @@ +package com.sinata.system.domain; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * 协议 + * </p> + * + * @author mitao + * @since 2024-12-23 + */ +@Getter +@Setter +@TableName("SYS_AGREEMENT") +@ApiModel(value = "SysAgreement对象", description = "协议") +public class SysAgreement implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("内容") + @TableField("CONTENT") + private String content; + + @ApiModelProperty("协议类型(1:注册协议)") + @TableField("TYPE") + private Integer type; + + @ApiModelProperty("创建时间") + @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT) + private Date createTime; + + @ApiModelProperty("更新时间") + @TableField(value = "UPDATE_TIME", fill = FieldFill.INSERT_UPDATE) + private Date updateTime; + + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwApplicationDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwApplicationDTO.java new file mode 100644 index 0000000..8f47bf5 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwApplicationDTO.java @@ -0,0 +1,27 @@ +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/23 + */ +@Data +@ApiModel("入驻申请数据传输对象") +public class MwApplicationDTO { + + @ApiModelProperty("单位入驻申请id") + @NotNull(message = "id不能为空") + private Long id; + + @ApiModelProperty("审核结果 1:通过 0:驳回") + @NotNull(message = "审核结果不能为空") + private Integer auditStatus; + + @ApiModelProperty("审核意见") + private String auditOpinion; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwRegulatoryRecordDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwRegulatoryRecordDTO.java new file mode 100644 index 0000000..b28c3ee --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwRegulatoryRecordDTO.java @@ -0,0 +1,42 @@ +package com.sinata.system.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author mitao + * @date 2024/12/23 + */ +@Data +@ApiModel("红黄码监管数据传输对象") +public class MwRegulatoryRecordDTO { + + @ApiModelProperty("红黄码监管id") + private Long id; + + @ApiModelProperty("区域id(医疗机构id、处置单位id、监管单位id)") + private Long departmentId; + + @ApiModelProperty("检查日期") + private Date checkDate; + + @ApiModelProperty("检查人员") + private String checkBy; + + @ApiModelProperty("码类型 1:红码 2:绿码 3:黄码") + private Integer codeType; + + @ApiModelProperty("检查结果") + private String checkResults; + + @ApiModelProperty("现场图片") + private String imageUrl; + + @ApiModelProperty("附件列表") + private List<MwAttachmentDTO> attachmentList; + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwStaffDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwStaffDTO.java new file mode 100644 index 0000000..18ff52a --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwStaffDTO.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/23 + */ +@Data +@ApiModel("职工数据传输对象") +public class MwStaffDTO { + + @ApiModelProperty("职工id") + private Long id; + + @ApiModelProperty("区域id") + @NotNull(message = "区域id不能为空") + private Long departmentId; + + @ApiModelProperty("姓名") + @NotNull(message = "姓名不能为空") + private String staffName; + + @ApiModelProperty("手机号") + @NotNull(message = "手机号不能为空") + private String phone; + + @ApiModelProperty("健康证明") + private String healthCertificate; + + @ApiModelProperty("疫苗记录证明") + private String vaccineCertificate; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysAgreementDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysAgreementDTO.java new file mode 100644 index 0000000..6af7881 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysAgreementDTO.java @@ -0,0 +1,21 @@ +package com.sinata.system.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author mitao + * @date 2024/12/23 + */ +@Data +@ApiModel("协议数据传输对象") +public class SysAgreementDTO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("内容") + private String content; + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwApplicationQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwApplicationQuery.java new file mode 100644 index 0000000..632a04f --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwApplicationQuery.java @@ -0,0 +1,34 @@ +package com.sinata.system.domain.query; + +/** + * @author mitao + * @date 2024/12/23 + */ + +import com.sinata.common.entity.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("单位入住查询数据传输对象") +public class MwApplicationQuery extends BasePage { + + private static final long serialVersionUID = 3104308275785288155L; + @ApiModelProperty("区域id") + private Long departmentId; + + @ApiModelProperty("单位类型 1:医疗机构 2:处置单位") + private Integer unitType; + + @ApiModelProperty("单位名称") + private String unitName; + + @ApiModelProperty("联系人") + private String concat; + + @ApiModelProperty("手机号") + private String phone; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwRegulatoryRecordQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwRegulatoryRecordQuery.java new file mode 100644 index 0000000..588d407 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwRegulatoryRecordQuery.java @@ -0,0 +1,34 @@ +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 java.util.Date; + +/** + * @author mitao + * @date 2024/12/23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("红黄码监管查询数据传输对象") +public class MwRegulatoryRecordQuery extends BasePage { + + private static final long serialVersionUID = 1708907715288858454L; + + @ApiModelProperty("区域id(医疗机构id、处置单位id、监管单位id)") + private Long departmentId; + + @ApiModelProperty("码类型 1:红码 2:绿码 3:黄码") + private Integer codeType; + + @ApiModelProperty("检查时间-开始") + private Date startTime; + + @ApiModelProperty("检查时间-结束") + private Date endTime; + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwStaffQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwStaffQuery.java new file mode 100644 index 0000000..0eac974 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwStaffQuery.java @@ -0,0 +1,35 @@ +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/23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("职工查询对象") +public class MwStaffQuery extends BasePage { + + private static final long serialVersionUID = -212943129399009161L; + @ApiModelProperty("区域id") + private Long departmentId; + + @ApiModelProperty("姓名") + private String staffName; + + @ApiModelProperty("手机号") + private String phone; + + @ApiModelProperty("健康证明 1:是 0:否") + private Integer healthCertificateFlag; + + @ApiModelProperty("疫苗记录证明1:是 0:否") + private Integer vaccineCertificateFlag; + + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwApplicationVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwApplicationVO.java new file mode 100644 index 0000000..fd1d161 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwApplicationVO.java @@ -0,0 +1,58 @@ +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/23 + */ +@Data +@ApiModel("单位入驻审核视图对象") +public class MwApplicationVO { + + @ApiModelProperty("单位入驻申请id") + private Long id; + + @ApiModelProperty("区域id") + private Long departmentId; + + @ApiModelProperty("所属区域") + private String region; + + @ApiModelProperty("单位类型 1:医疗机构 2:处置单位") + private Integer unitType; + + @ApiModelProperty("单位名称") + private String unitName; + + @ApiModelProperty("联系人") + private String concat; + + @ApiModelProperty("手机号") + private String phone; + + @ApiModelProperty("申请描述") + private String description; + + @ApiModelProperty("法人身份证正面") + private String legalPersonCardFront; + + @ApiModelProperty("法人身份证反面") + private String legalPersonCardBack; + + @ApiModelProperty("机构资质证明") + private String certificateImageUrl; + + @ApiModelProperty("状态 1:待审核 2:已通过 3:已驳回") + private Integer auditStatus; + + @ApiModelProperty("审核意见") + private String auditOpinion; + + @ApiModelProperty(value = "申请时间") + private Date createTime; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMonitorDeviceVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMonitorDeviceVO.java index ad3ae36..443eb9f 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMonitorDeviceVO.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMonitorDeviceVO.java @@ -36,4 +36,7 @@ @ApiModelProperty("备注信息") private String remark; + @ApiModelProperty("在线状态 1:在线 0:离线") + public Integer onlineStatus = 0; + } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwRegulatoryRecordVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwRegulatoryRecordVO.java new file mode 100644 index 0000000..6ab1d8e --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwRegulatoryRecordVO.java @@ -0,0 +1,44 @@ +package com.sinata.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author mitao + * @date 2024/12/23 + */ +@Data +@ApiModel("红黄码监管视图对象") +public class MwRegulatoryRecordVO { + + @ApiModelProperty("红黄码监管id") + private Long id; + + @ApiModelProperty("区域id(医疗机构id、处置单位id、监管单位id)") + private Long departmentId; + + @ApiModelProperty("单位名称") + private String departmentName; + + @ApiModelProperty("检查日期") + private Date checkDate; + + @ApiModelProperty("检查人员") + private String checkBy; + + @ApiModelProperty("码类型 1:红码 2:绿码 3:黄码") + private Integer codeType; + + @ApiModelProperty("检查结果") + private String checkResults; + + @ApiModelProperty("现场图片") + private String imageUrl; + + @ApiModelProperty("附件列表") + private List<MwAttachmentVO> attachmentList; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwStaffVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwStaffVO.java new file mode 100644 index 0000000..87fa1cf --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwStaffVO.java @@ -0,0 +1,35 @@ +package com.sinata.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author mitao + * @date 2024/12/23 + */ +@Data +@ApiModel("职工视图对象") +public class MwStaffVO { + + @ApiModelProperty("职工id") + private Long id; + + @ApiModelProperty("区域id") + private Long departmentId; + + @ApiModelProperty("单位名称") + private String departmentName; + + @ApiModelProperty("姓名") + private String staffName; + + @ApiModelProperty("手机号") + private String phone; + + @ApiModelProperty("健康证明") + private String healthCertificate; + + @ApiModelProperty("疫苗记录证明") + private String vaccineCertificate; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwApplicationMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwApplicationMapper.java index 2c1d96f..f35cf98 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwApplicationMapper.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwApplicationMapper.java @@ -1,8 +1,12 @@ package com.sinata.system.mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sinata.system.domain.MwApplication; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sinata.system.domain.query.MwApplicationQuery; +import com.sinata.system.domain.vo.MwApplicationVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * <p> @@ -14,5 +18,21 @@ */ @Mapper public interface MwApplicationMapper extends BaseMapper<MwApplication> { + /** + * 分页列表 + * + * @param page + * @param query + * @param treeCode + * @return + */ + Page<MwApplicationVO> pageList(Page<MwApplicationVO> page, @Param("query") MwApplicationQuery query, @Param("treeCode") String treeCode); + /** + * 详情 + * + * @param id + * @return + */ + MwApplicationVO detail(@Param("id") Long id); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwRegulatoryRecordMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwRegulatoryRecordMapper.java index 8e5e7ae..3fc9065 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwRegulatoryRecordMapper.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwRegulatoryRecordMapper.java @@ -1,8 +1,12 @@ package com.sinata.system.mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sinata.system.domain.MwRegulatoryRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sinata.system.domain.query.MwRegulatoryRecordQuery; +import com.sinata.system.domain.vo.MwRegulatoryRecordVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * <p> @@ -14,5 +18,13 @@ */ @Mapper public interface MwRegulatoryRecordMapper extends BaseMapper<MwRegulatoryRecord> { - + /** + * 分页列表 + * + * @param mwRegulatoryRecordVOPage + * @param query + * @param treeCode + * @return + */ + Page<MwRegulatoryRecordVO> pageList(Page<MwRegulatoryRecordVO> mwRegulatoryRecordVOPage, @Param("query") MwRegulatoryRecordQuery query, @Param("treeCode") String treeCode); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwStaffMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwStaffMapper.java index 1aae764..4894473 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwStaffMapper.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwStaffMapper.java @@ -1,8 +1,12 @@ package com.sinata.system.mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sinata.system.domain.MwStaff; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sinata.system.domain.query.MwStaffQuery; +import com.sinata.system.domain.vo.MwStaffVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * <p> @@ -14,5 +18,13 @@ */ @Mapper public interface MwStaffMapper extends BaseMapper<MwStaff> { - + /** + * 分页列表 + * + * @param page + * @param query + * @param treeCode + * @return + */ + Page<MwStaffVO> pageList(Page<MwStaffVO> page, @Param("query") MwStaffQuery query, @Param("treeCode") String treeCode); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysAgreementMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysAgreementMapper.java new file mode 100644 index 0000000..9f9748a --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysAgreementMapper.java @@ -0,0 +1,18 @@ +package com.sinata.system.mapper; + +import com.sinata.system.domain.SysAgreement; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 协议 Mapper 接口 + * </p> + * + * @author mitao + * @since 2024-12-23 + */ +@Mapper +public interface SysAgreementMapper extends BaseMapper<SysAgreement> { + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/xml/SysAgreementMapper.xml b/medicalWaste-system/src/main/java/com/sinata/system/mapper/xml/SysAgreementMapper.xml new file mode 100644 index 0000000..6f7ce57 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/xml/SysAgreementMapper.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.sinata.system.mapper.SysAgreementMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.sinata.system.domain.SysAgreement"> + <id column="ID" property="id" /> + <result column="CONTENT" property="content" /> + <result column="TYPE" property="type" /> + <result column="CREATE_TIME" property="createTime" /> + <result column="UPDATE_TIME" property="updateTime" /> + </resultMap> + + <!-- 通用查询结果列 --> + <sql id="Base_Column_List"> + ID, CONTENT, TYPE, CREATE_TIME, UPDATE_TIME + </sql> + +</mapper> diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwApplicationService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwApplicationService.java index fd29755..5e83a3c 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwApplicationService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwApplicationService.java @@ -1,7 +1,11 @@ package com.sinata.system.service; +import com.sinata.common.entity.PageDTO; import com.sinata.system.domain.MwApplication; import com.baomidou.mybatisplus.extension.service.IService; +import com.sinata.system.domain.dto.MwApplicationDTO; +import com.sinata.system.domain.query.MwApplicationQuery; +import com.sinata.system.domain.vo.MwApplicationVO; /** * <p> @@ -12,5 +16,27 @@ * @since 2024-12-02 */ public interface MwApplicationService extends IService<MwApplication> { + /** + * 分页列表 + * + * @param query + * @return + */ + PageDTO<MwApplicationVO> pageList(MwApplicationQuery query); + /** + * 详情 + * + * @param id + * @return + */ + MwApplicationVO detail(Long id); + + /** + * 审核 + * + * @param dto + * @return + */ + void audit(MwApplicationDTO dto); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwAttachmentService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwAttachmentService.java index f5ac334..1f522c2 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwAttachmentService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwAttachmentService.java @@ -1,7 +1,7 @@ package com.sinata.system.service; -import com.sinata.system.domain.MwAttachment; import com.baomidou.mybatisplus.extension.service.IService; +import com.sinata.system.domain.MwAttachment; /** * <p> diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwRegulatoryRecordService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwRegulatoryRecordService.java index 6e4037d..c5f765b 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwRegulatoryRecordService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwRegulatoryRecordService.java @@ -1,7 +1,11 @@ package com.sinata.system.service; +import com.sinata.common.entity.PageDTO; import com.sinata.system.domain.MwRegulatoryRecord; import com.baomidou.mybatisplus.extension.service.IService; +import com.sinata.system.domain.dto.MwRegulatoryRecordDTO; +import com.sinata.system.domain.query.MwRegulatoryRecordQuery; +import com.sinata.system.domain.vo.MwRegulatoryRecordVO; /** * <p> @@ -12,5 +16,46 @@ * @since 2024-12-02 */ public interface MwRegulatoryRecordService extends IService<MwRegulatoryRecord> { + /** + * 分页列表 + * + * @param query + * @return + */ + PageDTO<MwRegulatoryRecordVO> pageList(MwRegulatoryRecordQuery query); + + /** + * 详情 + * + * @param id + * @return + */ + MwRegulatoryRecordVO detail(Long id); + + /** + * 新增检查记录 + * + * @param dto + * @return + */ + void add(MwRegulatoryRecordDTO dto); + + /** + * 编辑检查记录 + * + * @param dto + * @return + */ + void edit(MwRegulatoryRecordDTO dto); + + + /** + * 删除 + * + * @param id + * @return + */ + void delete(Long id); + } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwStaffService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwStaffService.java index 46b7505..1f71a3a 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwStaffService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwStaffService.java @@ -1,7 +1,11 @@ package com.sinata.system.service; +import com.sinata.common.entity.PageDTO; import com.sinata.system.domain.MwStaff; import com.baomidou.mybatisplus.extension.service.IService; +import com.sinata.system.domain.dto.MwStaffDTO; +import com.sinata.system.domain.query.MwStaffQuery; +import com.sinata.system.domain.vo.MwStaffVO; /** * <p> @@ -13,4 +17,35 @@ */ public interface MwStaffService extends IService<MwStaff> { + /** + * 分页列表 + * + * @param query + * @return + */ + PageDTO<MwStaffVO> pageList(MwStaffQuery query); + + /** + * 详情 + * + * @param id + * @return + */ + MwStaffVO detail(Long id); + + /** + * 新增 + * + * @param dto + * @return + */ + void add(MwStaffDTO dto); + + /** + * 编辑 + * + * @param dto + * @return + */ + void edit(MwStaffDTO dto); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/OssService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/OssService.java new file mode 100644 index 0000000..25b74f4 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/OssService.java @@ -0,0 +1,28 @@ +package com.sinata.system.service; + +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; + +/** + * @author mitao + * @date 2024/12/23 + */ +public interface OssService { + /** + * 文件上传 + * + * @param file + * @return + */ + String uploadFile(MultipartFile file) throws IOException; + + /** + * 文件上传,指定上传路径 + * + * @param storagePath + * @param file + * @return + */ + String upload(String storagePath, MultipartFile file) throws IOException; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/SysAgreementService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/SysAgreementService.java new file mode 100644 index 0000000..6d18c62 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/SysAgreementService.java @@ -0,0 +1,21 @@ +package com.sinata.system.service; + +import com.sinata.system.domain.SysAgreement; +import com.baomidou.mybatisplus.extension.service.IService; +import com.sinata.system.domain.dto.SysAgreementDTO; + +/** + * <p> + * 协议 服务类 + * </p> + * + * @author mitao + * @since 2024-12-23 + */ +public interface SysAgreementService extends IService<SysAgreement> { + /** + * 保存用户注册协议 + * @param dto + */ + void saveAgreement(SysAgreementDTO dto); +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentService.java index 296524b..7e76bc2 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentService.java @@ -75,7 +75,7 @@ * @param parentId * @return */ - String getTreeCode(Long parentId); + String generateTreeCode(Long parentId); /** * 生成组织编码 diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwApplicationServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwApplicationServiceImpl.java index efdac9b..18b020e 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwApplicationServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwApplicationServiceImpl.java @@ -1,10 +1,20 @@ 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.system.domain.MwApplication; +import com.sinata.system.domain.dto.MwApplicationDTO; +import com.sinata.system.domain.query.MwApplicationQuery; +import com.sinata.system.domain.vo.MwApplicationVO; import com.sinata.system.mapper.MwApplicationMapper; import com.sinata.system.service.MwApplicationService; -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 +25,49 @@ * @since 2024-12-02 */ @Service +@RequiredArgsConstructor public class MwApplicationServiceImpl extends ServiceImpl<MwApplicationMapper, MwApplication> implements MwApplicationService { + private final SysDepartmentService sysDepartmentService; + /** + * 分页列表 + * + * @param query + * @return + */ + @Override + public PageDTO<MwApplicationVO> pageList(MwApplicationQuery query) { + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); + Page<MwApplicationVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); + return PageDTO.of(page); + } + + /** + * 详情 + * + * @param id + * @return + */ + @Override + public MwApplicationVO detail(Long id) { + return baseMapper.detail(id); + } + + /** + * 审核 + * + * @param dto + * @return + */ + @Override + public void audit(MwApplicationDTO dto) { + MwApplication mwApplication = getById(dto.getId()); + if (Objects.isNull(mwApplication)) { + throw new ServiceException("该申请记录不存在"); + } + mwApplication.setAuditStatus(dto.getAuditStatus() == 1 ? 2 : 3); + mwApplication.setAuditOpinion(dto.getAuditOpinion()); + updateById(mwApplication); + //TODO 发送短信通知 + } } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwBusinessDeviceServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwBusinessDeviceServiceImpl.java index 5a83eaf..563757a 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwBusinessDeviceServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwBusinessDeviceServiceImpl.java @@ -38,7 +38,7 @@ */ @Override public PageDTO<MwBusinessDeviceVO> pageList(MwBusinessDeviceQuery query) { - String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); Page<MwBusinessDeviceVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); return PageDTO.of(page); } 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 e27052e..8ea4805 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 @@ -46,7 +46,7 @@ */ @Override public PageDTO<MwCheckoutRecordVO> pageHospitalTransitList(CheckoutRecordQuery query) { - String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); if (StringUtils.isBlank(treeCode)) { return PageDTO.empty(0L, 0L); } @@ -62,7 +62,7 @@ */ @Override public void checkoutRecordExport(CheckoutRecordQuery query, HttpServletResponse response) throws IOException { - String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); if (StringUtils.isBlank(treeCode)) { return; } @@ -108,7 +108,7 @@ */ @Override public PageDTO<MwTransitRecordVO> transitPageList(MwTransitRecordQuery query) { - String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); Page<MwTransitRecordVO> page = baseMapper.transitPageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); return PageDTO.of(page); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwContractServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwContractServiceImpl.java index a8592aa..65e21a8 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwContractServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwContractServiceImpl.java @@ -67,8 +67,10 @@ @Override public MwContractVO detail(Long id) { MwContractVO mwContractVO = BeanUtils.copyBean(getById(id), MwContractVO.class); - List<MwAttachment> list = mwAttachmentService.lambdaQuery().eq(MwAttachment::getType, AttachmentTypeEnum.CONTRACT.getCode()).eq(MwAttachment::getTargetId, id).list(); - mwContractVO.setAttachmentList(BeanUtils.copyToList(list, MwAttachmentVO.class)); + if (Objects.nonNull(mwContractVO)) { + List<MwAttachment> list = mwAttachmentService.lambdaQuery().eq(MwAttachment::getType, AttachmentTypeEnum.CONTRACT.getCode()).eq(MwAttachment::getTargetId, id).list(); + mwContractVO.setAttachmentList(BeanUtils.copyToList(list, MwAttachmentVO.class)); + } return mwContractVO; } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java index dbbaa0c..217711c 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java @@ -41,7 +41,7 @@ */ @Override public DisposalRecordStaticsVO statics(MwDisposalRecordQuery query) { - String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); if (StringUtils.isNotBlank(treeCode)) { List<MwDisposalRecordVO> disposalRecordVOList = baseMapper.getStaticsData(query, treeCode); if (CollUtils.isNotEmpty(disposalRecordVOList)) { @@ -65,7 +65,7 @@ */ @Override public PageDTO<MwDisposalRecordVO> pageList(MwDisposalRecordQuery query) { - String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); if (StringUtils.isBlank(treeCode)) { return PageDTO.empty(0L, 0L); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMonitorDeviceServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMonitorDeviceServiceImpl.java index 77ae33b..e8d10c9 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMonitorDeviceServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMonitorDeviceServiceImpl.java @@ -39,7 +39,7 @@ */ @Override public PageDTO<MwMonitorDeviceVO> pageList(MwMonitorDeviceQuery query) { - String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); Page<MwMonitorDeviceVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); return PageDTO.of(page); } 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 8b46c63..828b14d 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 @@ -55,7 +55,7 @@ */ @Override public PageDTO<MwProtectionEquipmentVO> pageList(MwProtectionEquipmentQuery query) { - String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); Page<MwProtectionEquipmentVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); return PageDTO.of(page); } @@ -69,9 +69,11 @@ @Override public MwProtectionEquipmentVO detail(Long id) { MwProtectionEquipmentVO mwProtectionEquipmentVO = BeanUtils.copyBean(this.getById(id), MwProtectionEquipmentVO.class); - //查询附件列表 - List<MwAttachment> list = mwAttachmentService.lambdaQuery().eq(MwAttachment::getType, AttachmentTypeEnum.PROTECTION_EQUIPMENT.getCode()).eq(MwAttachment::getTargetId, id).list(); - mwProtectionEquipmentVO.setAttachmentList(BeanUtils.copyToList(list, MwAttachmentVO.class)); + if (Objects.nonNull(mwProtectionEquipmentVO)) { + //查询附件列表 + List<MwAttachment> list = mwAttachmentService.lambdaQuery().eq(MwAttachment::getType, AttachmentTypeEnum.PROTECTION_EQUIPMENT.getCode()).eq(MwAttachment::getTargetId, id).list(); + mwProtectionEquipmentVO.setAttachmentList(BeanUtils.copyToList(list, MwAttachmentVO.class)); + } return mwProtectionEquipmentVO; } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionRegulationServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionRegulationServiceImpl.java index 57b9b5f..18a9be4 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionRegulationServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionRegulationServiceImpl.java @@ -49,7 +49,7 @@ */ @Override public PageDTO<MwProtectionRegulationVO> pageList(MwProtectionRegulationQuery query) { - String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); Page<MwProtectionRegulationVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); return PageDTO.of(page); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionTaskServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionTaskServiceImpl.java index a8e923d..273776c 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionTaskServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwProtectionTaskServiceImpl.java @@ -53,7 +53,7 @@ */ @Override public PageDTO<MwProtectionTaskVO> pageList(MwProtectionTaskQuery query) { - String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); Page<MwProtectionTaskVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); return PageDTO.of(page); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwRegulatoryRecordServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwRegulatoryRecordServiceImpl.java index 1396871..94717c6 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwRegulatoryRecordServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwRegulatoryRecordServiceImpl.java @@ -1,10 +1,29 @@ package com.sinata.system.service.impl; -import com.sinata.system.domain.MwRegulatoryRecord; -import com.sinata.system.mapper.MwRegulatoryRecordMapper; -import com.sinata.system.service.MwRegulatoryRecordService; +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.common.utils.CollUtils; +import com.sinata.system.domain.MwAttachment; +import com.sinata.system.domain.MwRegulatoryRecord; +import com.sinata.system.domain.SysDepartment; +import com.sinata.system.domain.dto.MwRegulatoryRecordDTO; +import com.sinata.system.domain.query.MwRegulatoryRecordQuery; +import com.sinata.system.domain.vo.MwAttachmentVO; +import com.sinata.system.domain.vo.MwRegulatoryRecordVO; +import com.sinata.system.enums.AttachmentTypeEnum; +import com.sinata.system.mapper.MwRegulatoryRecordMapper; +import com.sinata.system.service.MwAttachmentService; +import com.sinata.system.service.MwRegulatoryRecordService; +import com.sinata.system.service.SysDepartmentService; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Objects; /** * <p> @@ -15,6 +34,106 @@ * @since 2024-12-02 */ @Service +@RequiredArgsConstructor public class MwRegulatoryRecordServiceImpl extends ServiceImpl<MwRegulatoryRecordMapper, MwRegulatoryRecord> implements MwRegulatoryRecordService { + private final SysDepartmentService sysDepartmentService; + private final MwAttachmentService mwAttachmentService; + /** + * 分页列表 + * + * @param query + * @return + */ + @Override + public PageDTO<MwRegulatoryRecordVO> pageList(MwRegulatoryRecordQuery query) { + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); + Page<MwRegulatoryRecordVO> page = baseMapper.pageList(new Page<>(), query, treeCode); + return PageDTO.of(page); + } + + /** + * 详情 + * + * @param id + * @return + */ + @Override + public MwRegulatoryRecordVO detail(Long id) { + MwRegulatoryRecord regulatoryRecord = getById(id); + MwRegulatoryRecordVO vo = BeanUtils.copyBean(regulatoryRecord, MwRegulatoryRecordVO.class); + if (Objects.nonNull(vo)) { + List<MwAttachment> list = mwAttachmentService.lambdaQuery().eq(MwAttachment::getType, AttachmentTypeEnum.REGULATORY.getCode()).eq(MwAttachment::getTargetId, id).list(); + vo.setAttachmentList(BeanUtils.copyToList(list, MwAttachmentVO.class)); + SysDepartment department = sysDepartmentService.getById(vo.getDepartmentId()); + if (Objects.nonNull(department)) { + vo.setDepartmentName(department.getDepartmentName()); + } + + } + return vo; + } + + /** + * 新增检查记录 + * + * @param dto + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void add(MwRegulatoryRecordDTO dto) { + MwRegulatoryRecord mwRegulatoryRecord = BeanUtils.copyBean(dto, MwRegulatoryRecord.class); + save(mwRegulatoryRecord); + //保存附件 + if (CollUtils.isNotEmpty(dto.getAttachmentList())) { + List<MwAttachment> mwAttachments = BeanUtils.copyToList(dto.getAttachmentList(), MwAttachment.class); + mwAttachments.forEach(attachment -> { + attachment.setTargetId(mwRegulatoryRecord.getId()); + attachment.setType(AttachmentTypeEnum.REGULATORY.getCode()); + }); + mwAttachmentService.saveBatch(mwAttachments); + } + } + + /** + * 编辑检查记录 + * + * @param dto + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void edit(MwRegulatoryRecordDTO dto) { + if (Objects.isNull(dto.getId())) { + throw new ServiceException("检查记录id不能为空"); + } + MwRegulatoryRecord mwRegulatoryRecord = BeanUtils.copyBean(dto, MwRegulatoryRecord.class); + updateById(mwRegulatoryRecord); + //删除原来的附件 + mwAttachmentService.lambdaUpdate().eq(MwAttachment::getType, AttachmentTypeEnum.REGULATORY.getCode()).eq(MwAttachment::getTargetId, dto.getId()).remove(); + //保存附件 + if (CollUtils.isNotEmpty(dto.getAttachmentList())) { + List<MwAttachment> mwAttachments = BeanUtils.copyToList(dto.getAttachmentList(), MwAttachment.class); + mwAttachments.forEach(attachment -> { + attachment.setTargetId(mwRegulatoryRecord.getId()); + attachment.setType(AttachmentTypeEnum.REGULATORY.getCode()); + }); + mwAttachmentService.saveBatch(mwAttachments); + } + } + + /** + * 删除 + * + * @param id + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(Long id) { + //删除附件 + mwAttachmentService.lambdaUpdate().eq(MwAttachment::getType, AttachmentTypeEnum.REGULATORY.getCode()).eq(MwAttachment::getTargetId, id).remove(); + removeById(id); + } } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwStaffServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwStaffServiceImpl.java index 4f876b3..de82e89 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwStaffServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwStaffServiceImpl.java @@ -1,10 +1,22 @@ 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.MwStaff; +import com.sinata.system.domain.SysDepartment; +import com.sinata.system.domain.dto.MwStaffDTO; +import com.sinata.system.domain.query.MwStaffQuery; +import com.sinata.system.domain.vo.MwStaffVO; import com.sinata.system.mapper.MwStaffMapper; import com.sinata.system.service.MwStaffService; -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 +27,74 @@ * @since 2024-12-02 */ @Service +@RequiredArgsConstructor public class MwStaffServiceImpl extends ServiceImpl<MwStaffMapper, MwStaff> implements MwStaffService { + private final SysDepartmentService sysDepartmentService; + /** + * 分页列表 + * + * @param query + * @return + */ + @Override + public PageDTO<MwStaffVO> pageList(MwStaffQuery query) { + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); + Page<MwStaffVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); + return PageDTO.of(page); + } + + /** + * 详情 + * + * @param id + * @return + */ + @Override + public MwStaffVO detail(Long id) { + MwStaff staff = getById(id); + MwStaffVO mwStaffVO = BeanUtils.copyBean(staff, MwStaffVO.class); + if (Objects.nonNull(mwStaffVO)) { + SysDepartment department = sysDepartmentService.getById(mwStaffVO.getDepartmentId()); + if (Objects.nonNull(department)) { + mwStaffVO.setDepartmentName(department.getDepartmentName()); + } + } + return mwStaffVO; + } + + /** + * 新增 + * + * @param dto + * @return + */ + @Override + public void add(MwStaffDTO dto) { + MwStaff mwStaff = BeanUtils.copyBean(dto, MwStaff.class); + Long count = this.lambdaQuery().eq(MwStaff::getPhone, mwStaff.getPhone()).count(); + if (count > 0) { + throw new ServiceException("手机号码已存在"); + } + save(mwStaff); + } + + /** + * 编辑 + * + * @param dto + * @return + */ + @Override + public void edit(MwStaffDTO dto) { + if (Objects.isNull(dto.getId())) { + throw new ServiceException("职工id不能为空"); + } + MwStaff mwStaff = BeanUtils.copyBean(dto, MwStaff.class); + Long count = this.lambdaQuery().eq(MwStaff::getPhone, mwStaff.getPhone()).ne(MwStaff::getId, dto.getId()).count(); + if (count > 0) { + throw new ServiceException("手机号码已存在"); + } + updateById(mwStaff); + } } 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 f72ffc8..2abb700 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 @@ -38,7 +38,7 @@ */ @Override public PageDTO<MwTransitCarVO> pageList(TransitCarQuery query) { - String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId()); + String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); Page<MwTransitCarVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode); return PageDTO.of(page); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/OssServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/OssServiceImpl.java new file mode 100644 index 0000000..4bf72a0 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/OssServiceImpl.java @@ -0,0 +1,103 @@ +package com.sinata.system.service.impl; + +import com.aliyun.oss.ClientBuilderConfiguration; +import com.aliyun.oss.OSS; +import com.aliyun.oss.OSSClientBuilder; +import com.aliyun.oss.common.auth.CredentialsProvider; +import com.aliyun.oss.common.auth.DefaultCredentialProvider; +import com.aliyun.oss.common.comm.SignVersion; +import com.aliyun.oss.model.PutObjectRequest; +import com.aliyun.oss.model.PutObjectResult; +import com.sinata.common.utils.StringUtils; +import com.sinata.system.config.OssConfig; +import com.sinata.system.service.OssService; +import org.apache.commons.lang3.time.DateFormatUtils; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Date; +import java.util.Objects; +import java.util.UUID; + +/** + * @author mitao + * @date 2024/12/23 + */ +@Service +public class OssServiceImpl implements OssService { + /** + * 文件上传 + * + * @param file + * @return + */ + @Override + public String uploadFile(MultipartFile file) throws IOException { + return upload(OssConfig.FOLDER, file); + } + + /** + * 文件上传,指定上传路径 + * + * @param storagePath + * @param file + * @return + */ + @Override + public String upload(String storagePath, MultipartFile file) throws IOException { + CredentialsProvider credentialsProvider = new DefaultCredentialProvider(OssConfig.ACCESS_KEY_ID, OssConfig.ACCESS_KEY_SECRET); + String region = "cn-chengdu"; + // 创建OSSClient实例。 + ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration(); + clientBuilderConfiguration.setSignatureVersion(SignVersion.V4); + OSS ossClient = OSSClientBuilder.create() + .endpoint(OssConfig.UPLOAD_ENDPOINT) + .credentialsProvider(credentialsProvider) + .clientConfiguration(clientBuilderConfiguration) + .region(region) + .build(); + InputStream inputStream = file.getInputStream(); + + String originFileName = file.getOriginalFilename(); + String fileExt = Objects.requireNonNull(originFileName).substring(originFileName.lastIndexOf(".") + 1); + String fileName = originFileName.substring(0, originFileName.lastIndexOf(".")); + // 设置文件名 + String filePathName = generateRelativeStoragePath(storagePath, fileExt, fileName); + // 创建PutObjectRequest对象。 + PutObjectRequest putObjectRequest = new PutObjectRequest(OssConfig.BUCKET_NAME, filePathName, inputStream); + // 创建PutObject请求。 + PutObjectResult result = ossClient.putObject(putObjectRequest); + + return OssConfig.DOWNLOAD_ENDPOINT + filePathName; + } + + /** + * <pre> + * 获取存储的相对路径 + * 规则path + / + yyyyMMddHH + uuid + * </pre> + * + * @param storagePath + * @return + */ + private static String generateRelativeStoragePath(String storagePath, String fileType, String fileName) { + + String time = DateFormatUtils.format(new Date(), "yyyyMMddHHmmss"); + String uuid = UUID.randomUUID().toString(); + StringBuilder sb = new StringBuilder(); + if (StringUtils.isNotBlank(storagePath)) { + sb.append(storagePath).append("/"); + } + if (fileName == null) { + sb.append(time).append(uuid); + } else { + sb.append(fileName).append(time); + } + if (StringUtils.isNotBlank(fileType)) { + sb.append(".").append(fileType); + } + return sb.toString(); + } +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysAgreementServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysAgreementServiceImpl.java new file mode 100644 index 0000000..e70b00b --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysAgreementServiceImpl.java @@ -0,0 +1,29 @@ +package com.sinata.system.service.impl; + +import com.sinata.system.domain.SysAgreement; +import com.sinata.system.domain.dto.SysAgreementDTO; +import com.sinata.system.mapper.SysAgreementMapper; +import com.sinata.system.service.SysAgreementService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * <p> + * 协议 服务实现类 + * </p> + * + * @author mitao + * @since 2024-12-23 + */ +@Service +public class SysAgreementServiceImpl extends ServiceImpl<SysAgreementMapper, SysAgreement> implements SysAgreementService { + @Override + @Transactional(rollbackFor = Exception.class) + public void saveAgreement(SysAgreementDTO dto) { + SysAgreement sysAgreement = lambdaQuery().eq(SysAgreement::getType, 1).oneOpt().orElse(new SysAgreement()); + sysAgreement.setContent(dto.getContent()); + sysAgreement.setType(1); + saveOrUpdate(sysAgreement); + } +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java index d5eb7ec..b796fc1 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java @@ -223,7 +223,7 @@ SysDepartment department = BeanUtils.copyBean(dto, SysDepartment.class); //获取部门树编码 department.setOrgType(DepartmentEnum.REGION.getCode()); - department.setTreeCode(getTreeCode(dto.getParentId())); + department.setTreeCode(generateTreeCode(dto.getParentId())); department.setOrgCode(getOrgCode(dto.getParentId(), DepartmentEnum.REGION.getCode())); save(department); } @@ -258,7 +258,7 @@ SysDepartment sysDepartment = getById(dto.getId()); if (!dto.getParentId().equals(sysDepartment.getParentId())) { //获取部门树编码 - department.setTreeCode(getTreeCode(dto.getParentId())); + department.setTreeCode(generateTreeCode(dto.getParentId())); } updateById(department); } @@ -270,7 +270,7 @@ * @return */ @Override - public String getTreeCode(Long parentId) { + public String generateTreeCode(Long parentId) { String treeId; String preTreeCode = ""; @@ -397,7 +397,7 @@ throw new ServiceException("医疗机构已存在"); } SysDepartment department = BeanUtils.copyBean(dto, SysDepartment.class); - department.setTreeCode(getTreeCode(parent.getId())); + department.setTreeCode(generateTreeCode(parent.getId())); department.setOrgCode(getOrgCode(parent.getId(), DepartmentEnum.MEDICAL_INSTITUTION.getCode())); department.setOrgType(DepartmentEnum.MEDICAL_INSTITUTION.getCode()); //查询父级完整区域 @@ -409,6 +409,12 @@ sysDepartmentInfoService.save(sysDepartmentInfo); } + /** + * 根据父级区域id查询处置单位列表 + * + * @param id + * @return + */ @Override public List<DisposalUnitVO> getDisposalUnitListByParentId(Long id) { List<DisposalUnitVO> disposalUnitList = null; @@ -421,7 +427,7 @@ } /** - * 获取完成区域 + * 获取完整区域 * * @param department * @return @@ -471,7 +477,7 @@ } SysDepartment department = BeanUtils.copyBean(dto, SysDepartment.class); if (!department.getParentId().equals(sysDepartment.getParentId())) { - department.setTreeCode(getTreeCode(parent.getId())); + department.setTreeCode(generateTreeCode(parent.getId())); //查询父级完整区域 String region = getRegionName(parent); department.setRegion(region); @@ -554,7 +560,7 @@ throw new ServiceException("处置单位已存在"); } SysDepartment department = BeanUtils.copyBean(dto, SysDepartment.class); - department.setTreeCode(getTreeCode(parent.getId())); + department.setTreeCode(generateTreeCode(parent.getId())); department.setOrgCode(getOrgCode(parent.getId(), DepartmentEnum.DISPOSAL_UNIT.getCode())); department.setOrgType(DepartmentEnum.DISPOSAL_UNIT.getCode()); //查询父级完整区域 @@ -601,7 +607,7 @@ SysDepartment department = BeanUtils.copyBean(dto, SysDepartment.class); if (!department.getParentId().equals(sysDepartment.getParentId())) { - department.setTreeCode(getTreeCode(parent.getId())); + department.setTreeCode(generateTreeCode(parent.getId())); //查询父级完整区域 String region = getRegionName(parent); department.setRegion(region); @@ -680,7 +686,7 @@ throw new ServiceException("监管单位已存在"); } SysDepartment department = BeanUtils.copyBean(dto, SysDepartment.class); - department.setTreeCode(getTreeCode(parent.getId())); + department.setTreeCode(generateTreeCode(parent.getId())); department.setOrgCode(getOrgCode(parent.getId(), DepartmentEnum.REGULATORY_UNIT.getCode())); department.setOrgType(DepartmentEnum.REGULATORY_UNIT.getCode()); //查询父级完整区域 @@ -724,7 +730,7 @@ SysDepartment department = BeanUtils.copyBean(dto, SysDepartment.class); if (!department.getParentId().equals(sysDepartment.getParentId())) { - department.setTreeCode(getTreeCode(parent.getId())); + department.setTreeCode(generateTreeCode(parent.getId())); //查询父级完整区域 String region = getRegionName(parent); department.setRegion(region); diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwApplicationMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwApplicationMapper.xml index 8aabe30..a756d77 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/MwApplicationMapper.xml +++ b/medicalWaste-system/src/main/resources/mapper/system/MwApplicationMapper.xml @@ -32,5 +32,64 @@ UPDATE_TIME, ID, DEPARTMENT_ID, UNIT_TYPE, UNIT_NAME, CONCAT, PHONE, DESCRIPTION, LEGAL_PERSON_CARD_FRONT, LEGAL_PERSON_CARD_BACK, CERTIFICATE_IMAGE_URL, AUDIT_STATUS, AUDIT_OPINION </sql> + <select id="pageList" resultType="com.sinata.system.domain.vo.MwApplicationVO"> + SELECT MA.ID, + MA.DEPARTMENT_ID, + MA.UNIT_TYPE, + MA.UNIT_NAME, + MA.CONCAT, + MA.PHONE, + MA.DESCRIPTION, + MA.LEGAL_PERSON_CARD_FRONT, + MA.LEGAL_PERSON_CARD_BACK, + MA.CERTIFICATE_IMAGE_URL, + MA.AUDIT_STATUS, + MA.AUDIT_OPINION, + MA.CREATE_TIME, + MA.REGION, + SD.DEPARTMENT_NAME + FROM MW_APPLICATION MA + LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MA.DEPARTMENT_ID + <where> + MA.DEL_FLAG = 0 + <if test="treeCode != null and treeCode !=''"> + AND SD.TREE_CODE LIKE CONCAT(#{treeCode}, '%') + </if> + <if test="query.unitType != null and query.unitType !=''"> + AND MA.UNIT_TYPE = #{query.unitType} + </if> + <if test="query.unitName != null and query.unitName !=''"> + AND MA.UNIT_NAME LIKE CONCAT('%',#{query.unitName},'%') + </if> + <if test="query.concat !=null and query.concat != ''"> + AND MA.CONCAT LIKE CONCAT('%',#{query.concat},'%') + </if> + <if test="query.phone != null and query.phone != ''"> + AND MA.PHONE LIKE CONCAT('%',#{query.phone},'%') + </if> + </where> + </select> + <select id="detail" resultType="com.sinata.system.domain.vo.MwApplicationVO"> + SELECT MA.ID, + MA.DEPARTMENT_ID, + MA.UNIT_TYPE, + MA.UNIT_NAME, + MA.CONCAT, + MA.PHONE, + MA.DESCRIPTION, + MA.LEGAL_PERSON_CARD_FRONT, + MA.LEGAL_PERSON_CARD_BACK, + MA.CERTIFICATE_IMAGE_URL, + MA.AUDIT_STATUS, + MA.AUDIT_OPINION, + MA.CREATE_TIME, + MA.REGION, + SD.DEPARTMENT_NAME + FROM MW_APPLICATION MA + LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MA.DEPARTMENT_ID + <where> + MA.ID = #{id} + </where> + </select> </mapper> diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwRegulatoryRecordMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwRegulatoryRecordMapper.xml index 39bc8b0..e5361ff 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/MwRegulatoryRecordMapper.xml +++ b/medicalWaste-system/src/main/resources/mapper/system/MwRegulatoryRecordMapper.xml @@ -28,5 +28,29 @@ UPDATE_TIME, ID, DEPARTMENT_ID, CHECK_DATE, CHECK_BY, CODE_TYPE, CHECK_RESULTS, IMAGE_URL, ATTACHMENT </sql> + <select id="pageList" resultType="com.sinata.system.domain.vo.MwRegulatoryRecordVO"> + SELECT MRR.ID, + MRR.DEPARTMENT_ID, + MRR.CHECK_DATE, + MRR.CHECK_BY, + MRR.CODE_TYPE, + MRR.CHECK_RESULTS, + MRR.IMAGE_URL, + SD.DEPARTMENT_NAME + FROM MW_REGULATORY_RECORD MRR + LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MRR.DEPARTMENT_ID + <where> + MRR.DEL_FLAG = 0 + <if test="treeCode != null and treeCode != ''"> + AND SD.TREE_CODE LIKE CONCAT(#{treeCode},'%') + </if> + <if test="query.codeType != null"> + AND MRR.CODE_TYPE = #{query.codeType} + </if> + <if test="query.startTime != null and query.endTime != null"> + AND MRR.CHECK_DATE BETWEEN #{query.startTime} AND #{query.endTime} + </if> + </where> + </select> </mapper> diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwStaffMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwStaffMapper.xml index d0078d7..a907646 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/MwStaffMapper.xml +++ b/medicalWaste-system/src/main/resources/mapper/system/MwStaffMapper.xml @@ -26,5 +26,40 @@ UPDATE_TIME, ID, DEPARTMENT_ID, STAFF_NAME, PHONE, HEALTH_CERTIFICATE, VACCINE_CERTIFICATE </sql> + <select id="pageList" resultType="com.sinata.system.domain.vo.MwStaffVO"> + SELECT MS.ID, + MS.DEPARTMENT_ID, + MS.STAFF_NAME, + MS.PHONE, + MS.HEALTH_CERTIFICATE, + MS.VACCINE_CERTIFICATE, + SD.DEPARTMENT_NAME + FROM MW_STAFF MS + LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MS.DEPARTMENT_ID + <where> + MS.DEL_FLAG = 0 + <if test="treeCode != null and treeCode != ''"> + AND SD.TREE_CODE LIKE CONCAT(#{treeCode}, '%') + </if> + <if test="query.staffName !=null and query.staffName != ''"> + AND MS.STAFF_NAME LIKE CONCAT('%',#{query.staffName},'%') + </if> + <if test="query.phone != null and query.phone != ''"> + AND MS.PHONE LIKE CONCAT('%',#{query.phone},'%') + </if> + <if test="query.healthCertificateFlag != null and query.healthCertificateFlag == 1"> + AND MS.HEALTH_CERTIFICATE IS NOT NULL + </if> + <if test="query.healthCertificateFlag != null and query.healthCertificateFlag != 1"> + AND MS.HEALTH_CERTIFICATE IS NULL + </if> + <if test="query.vaccineCertificateFlag != null and query.vaccineCertificateFlag == 1"> + AND MS.VACCINE_CERTIFICATE IS NOT NULL + </if> + <if test="query.vaccineCertificateFlag != null and query.vaccineCertificateFlag != 1"> + AND MS.VACCINE_CERTIFICATE IS NULL + </if> + </where> + </select> </mapper> diff --git a/pom.xml b/pom.xml index a7af959..f69f146 100644 --- a/pom.xml +++ b/pom.xml @@ -35,6 +35,7 @@ <knife4j.version>3.0.3</knife4j.version> <hutool.version>5.7.17</hutool.version> <fastexcel.version>1.0.0</fastexcel.version> + <aliyun-oss.version>3.17.4</aliyun-oss.version> </properties> <!-- 依赖声明 --> @@ -208,13 +209,18 @@ <artifactId>hutool-all</artifactId> <version>${hutool.version}</version> </dependency> - + <!--fastexcel--> <dependency> <groupId>cn.idev.excel</groupId> <artifactId>fastexcel</artifactId> <version>${fastexcel.version}</version> </dependency> - + <!--阿里云oss--> + <dependency> + <groupId>com.aliyun.oss</groupId> + <artifactId>aliyun-sdk-oss</artifactId> + <version>${aliyun-oss.version}</version> + </dependency> </dependencies> </dependencyManagement> -- Gitblit v1.7.1