From 8b720684f68355be9dff42687c7d0c6a7849ca1f Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Wed, 16 Jul 2025 10:55:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8C=87=E4=BB=A4=E5=8C=85?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DirectivePackageController.java | 179 +++++++++++++++++ .../entity/DirectivePackage.java | 92 +++++++++ .../mapper/DirectivePackageMapper.java | 26 +++ .../mapper/xml/DirectivePackageMapper.xml | 190 ++++++++++++++++++ .../service/IDirectivePackageService.java | 24 +++ .../impl/DirectivePackageServiceImpl.java | 53 +++++ .../entity/ConfigServiceDirective.java | 3 + 7 files changed, 567 insertions(+) create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/controller/DirectivePackageController.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/entity/DirectivePackage.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/mapper/DirectivePackageMapper.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/mapper/xml/DirectivePackageMapper.xml create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/service/IDirectivePackageService.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/service/impl/DirectivePackageServiceImpl.java diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/controller/DirectivePackageController.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/controller/DirectivePackageController.java new file mode 100644 index 0000000..68d0a92 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/controller/DirectivePackageController.java @@ -0,0 +1,179 @@ +package com.nu.modules.directivepackage.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nu.modules.directivepackage.entity.DirectivePackage; +import com.nu.modules.directivepackage.service.IDirectivePackageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.query.QueryRuleEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +/** + * @Description: 服务指令包 + * @Author: 张明远 + * @Date: 2025-03-24 + * @Version: V1.0 + */ +@Api(tags = "服务指令包") +@RestController +@RequestMapping("/services/directivePackage/directivePackage") +@Slf4j +public class DirectivePackageController extends JeecgController { + @Autowired + private IDirectivePackageService directivePackageService; + + /** + * 分页列表查询 + * + * @param directivePackage + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "服务指令包-分页列表查询") + @ApiOperation(value = "服务指令包-分页列表查询", notes = "服务指令包-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(DirectivePackage directivePackage, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Map customeRuleMap = new HashMap<>(); + // 自定义多选的查询规则为:LIKE_WITH_OR + customeRuleMap.put("packageName", QueryRuleEnum.LIKE_WITH_OR); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(directivePackage, req.getParameterMap(),customeRuleMap); + Page page = new Page(pageNo, pageSize); + queryWrapper.select("id"); + queryWrapper.orderByDesc("create_time"); + IPage pageList = directivePackageService.page(page, queryWrapper); + if (pageList.getRecords() != null && !pageList.getRecords().isEmpty()) { + directivePackageService.queryList(directivePackage, pageList); + } + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param directivePackage + * @return + */ + @AutoLog(value = "服务指令包-添加") + @ApiOperation(value = "服务指令包-添加", notes = "服务指令包-添加") + @RequiresPermissions("directivePackage:directive_package:add") + @PostMapping(value = "/add") + public Result add(@RequestBody DirectivePackage directivePackage) { + directivePackageService.save(directivePackage); + if (directivePackage.getDirectives() != null && !directivePackage.getDirectives().isEmpty()) { + directivePackageService.saveDirectives(directivePackage); + } + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param directivePackage + * @return + */ + @AutoLog(value = "服务指令包-编辑") + @ApiOperation(value = "服务指令包-编辑", notes = "服务指令包-编辑") + @RequiresPermissions("directivePackage:directive_package:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody DirectivePackage directivePackage) { + directivePackageService.updateById(directivePackage); + if (directivePackage.getDirectives() != null && !directivePackage.getDirectives().isEmpty()) { + directivePackageService.saveDirectives(directivePackage); + } + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "服务指令包-通过id删除") + @ApiOperation(value = "服务指令包-通过id删除", notes = "服务指令包-通过id删除") + @RequiresPermissions("directivePackage:directive_package:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + directivePackageService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "服务指令包-批量删除") + @ApiOperation(value = "服务指令包-批量删除", notes = "服务指令包-批量删除") + @RequiresPermissions("directivePackage:directive_package:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.directivePackageService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "服务指令包-通过id查询") + @ApiOperation(value = "服务指令包-通过id查询", notes = "服务指令包-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + DirectivePackage directivePackage = directivePackageService.queryById(id); + if (directivePackage == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(directivePackage); + } + + /** + * 导出excel + * + * @param request + * @param directivePackage + */ + @RequiresPermissions("directivePackage:directive_package:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, DirectivePackage directivePackage) { + return super.exportXls(request, directivePackage, DirectivePackage.class, "服务指令包"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("directivePackage:directive_package:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, DirectivePackage.class); + } + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/entity/DirectivePackage.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/entity/DirectivePackage.java new file mode 100644 index 0000000..e33aaa9 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/entity/DirectivePackage.java @@ -0,0 +1,92 @@ +package com.nu.modules.directivepackage.entity; + +import java.io.Serializable; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.*; +import com.nu.modules.servicedirective.entity.ConfigServiceDirective; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 服务指令包 + * @Author: 张明远 + * @Date: 2025-03-24 + * @Version: V1.0 + */ +@Data +@TableName("nu_directive_package") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_directive_package对象", description="服务指令包") +public class DirectivePackage implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.String id; + /**服务指令包名称*/ + @Excel(name = "服务指令包名称", width = 15) + @ApiModelProperty(value = "服务指令包名称") + private java.lang.String packageName; + @Excel(name = "服务总时长", width = 15) + @ApiModelProperty(value = "服务总时长") + private Long totalDuration; + /**备注*/ + @Excel(name = "备注", width = 15) + @ApiModelProperty(value = "备注") + private java.lang.String description; + /**排序*/ + @Excel(name = "排序", width = 15) + @ApiModelProperty(value = "排序") + private java.lang.Integer sort; + /**是否启用 0启用 1未启用*/ + @Excel(name = "是否启用", width = 15, dicCode = "iz_enabled") + @Dict(dicCode = "iz_enabled") + @ApiModelProperty(value = "是否启用") + private java.lang.String izEnabled; + /**是否删除 0未删除 1删除*/ + @Excel(name = "是否删除", width = 15) + @ApiModelProperty(value = "是否删除") + @TableLogic + private java.lang.String delFlag; + /**创建人*/ + @ApiModelProperty(value = "创建人") + @Dict(dictTable = "sys_user",dicCode = "username",dicText = "realname") + private java.lang.String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + + @ApiModelProperty(value = "开始时间") + private java.lang.String startTimeStr; + + @ApiModelProperty(value = "结束时间") + private java.lang.String endTimeStr; + + @ApiModelProperty(value = "分类标签") + private java.lang.String instructionTagId; + + @TableField(exist = false) + private List directives; + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/mapper/DirectivePackageMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/mapper/DirectivePackageMapper.java new file mode 100644 index 0000000..07cde8f --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/mapper/DirectivePackageMapper.java @@ -0,0 +1,26 @@ +package com.nu.modules.directivepackage.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.nu.modules.directivepackage.entity.DirectivePackage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 服务指令包 + * @Author: 张明远 + * @Date: 2025-03-24 + * @Version: V1.0 + */ +public interface DirectivePackageMapper extends BaseMapper { + + int deleteDirectives(@Param("package") DirectivePackage directivePackage); + + int saveDirectives(@Param("package") DirectivePackage directivePackage); + + int updateTotalDurationInt(@Param("id") String id,@Param("duration") Long duration); + + List queryList( @Param("directivePackage") DirectivePackage directivePackage,@Param("ids") List ids); + + Long queryTotal(@Param("directivePackage") DirectivePackage directivePackage); +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/mapper/xml/DirectivePackageMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/mapper/xml/DirectivePackageMapper.xml new file mode 100644 index 0000000..795e42d --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/mapper/xml/DirectivePackageMapper.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + update nu_directive_package set total_duration = #{duration} where id = #{id} + + + + + + + + + + delete from nu_package_directive where package_id = #{package.id} + + + + INSERT INTO nu_package_directive (package_id, directive_id, sort) + VALUES + + (#{package.id}, #{directive.id}, #{directive.sort}) + + + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/service/IDirectivePackageService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/service/IDirectivePackageService.java new file mode 100644 index 0000000..262809a --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/service/IDirectivePackageService.java @@ -0,0 +1,24 @@ +package com.nu.modules.directivepackage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.nu.modules.directivepackage.entity.DirectivePackage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 服务指令包 + * @Author: 张明远 + * @Date: 2025-03-24 + * @Version: V1.0 + */ +public interface IDirectivePackageService extends IService { + + /** + * 存储服务指令包对应的服务指令 + * @param directivePackage + */ + void saveDirectives(DirectivePackage directivePackage); + + void queryList(DirectivePackage directivePackage, IPage pageList); + + DirectivePackage queryById(String id); +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/service/impl/DirectivePackageServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/service/impl/DirectivePackageServiceImpl.java new file mode 100644 index 0000000..fcb10f4 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivepackage/service/impl/DirectivePackageServiceImpl.java @@ -0,0 +1,53 @@ +package com.nu.modules.directivepackage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Lists; +import com.nu.modules.directivepackage.entity.DirectivePackage; +import com.nu.modules.directivepackage.mapper.DirectivePackageMapper; +import com.nu.modules.directivepackage.service.IDirectivePackageService; +import com.nu.modules.servicedirective.entity.ConfigServiceDirective; +import org.apache.commons.lang.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description: 服务指令包 + * @Author: 张明远 + * @Date: 2025-03-24 + * @Version: V1.0 + */ +@Service +public class DirectivePackageServiceImpl extends ServiceImpl implements IDirectivePackageService { + + @Override + public void saveDirectives(DirectivePackage directivePackage) { + baseMapper.deleteDirectives(directivePackage); + baseMapper.saveDirectives(directivePackage); + //计算总时长 + Long duration = 0l; + for (ConfigServiceDirective directive : directivePackage.getDirectives()) { + if(StringUtils.isNotBlank(directive.getServiceDuration())){ + duration += Long.parseLong(directive.getServiceDuration()); + } + } + baseMapper.updateTotalDurationInt(directivePackage.getId(),duration); + } + + @Override + public void queryList(DirectivePackage directivePackage, IPage pageList) { + List record = baseMapper.queryList(directivePackage,pageList.getRecords()); + pageList.setRecords(record); + } + + @Override + public DirectivePackage queryById(String id) { + List query = Lists.newArrayList(); + DirectivePackage queryDto = new DirectivePackage().setId(id); + query.add(queryDto); + List directivePackages = baseMapper.queryList(null, query); + return directivePackages.stream().findFirst().orElse(null); + } + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/entity/ConfigServiceDirective.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/entity/ConfigServiceDirective.java index 6cee998..fe417d1 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/entity/ConfigServiceDirective.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/entity/ConfigServiceDirective.java @@ -199,4 +199,7 @@ public class ConfigServiceDirective implements Serializable { //媒体资源存储路径名 @TableField(exist = false) private String mediaFileSavePath; + //护理分类名称 + @TableField(exist = false) + private String instructionTagName; }