diff --git a/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/controller/DirectivePackageController.java b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/controller/DirectivePackageController.java new file mode 100644 index 0000000..0acf7fe --- /dev/null +++ b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/controller/DirectivePackageController.java @@ -0,0 +1,172 @@ +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.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; + +/** + * @Description: 服务指令包 + * @Author: 张明远 + * @Date: 2025-03-24 + * @Version: V1.0 + */ +@Api(tags = "服务指令包") +@RestController +@RequestMapping("/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) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(directivePackage, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + queryWrapper.select("id"); + 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-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/entity/DirectivePackage.java b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/entity/DirectivePackage.java new file mode 100644 index 0000000..f667dc3 --- /dev/null +++ b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/entity/DirectivePackage.java @@ -0,0 +1,82 @@ +package com.nu.modules.directivePackage.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.*; +import com.nu.modules.serviceDirective.entity.ConfigServiceDirective; +import org.jeecg.common.constant.ProvinceCityArea; +import org.jeecg.common.util.SpringContextUtils; +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 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 = "创建人") + 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; + + @TableField(exist = false) + private List directives; +} diff --git a/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/mapper/DirectivePackageMapper.java b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/mapper/DirectivePackageMapper.java new file mode 100644 index 0000000..fd076f3 --- /dev/null +++ b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/mapper/DirectivePackageMapper.java @@ -0,0 +1,25 @@ +package com.nu.modules.directivePackage.mapper; + +import java.util.List; + +import com.baomidou.mybatisplus.core.metadata.IPage; +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); + + List queryList( @Param("directivePackage") DirectivePackage directivePackage,@Param("ids") List ids); + + Long queryTotal(@Param("directivePackage") DirectivePackage directivePackage); +} diff --git a/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/mapper/xml/DirectivePackageMapper.xml b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/mapper/xml/DirectivePackageMapper.xml new file mode 100644 index 0000000..50a6625 --- /dev/null +++ b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/mapper/xml/DirectivePackageMapper.xml @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/service/IDirectivePackageService.java b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/service/IDirectivePackageService.java new file mode 100644 index 0000000..67f531f --- /dev/null +++ b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/service/IDirectivePackageService.java @@ -0,0 +1,27 @@ +package com.nu.modules.directivePackage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nu.modules.directivePackage.entity.DirectivePackage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * @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-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/service/impl/DirectivePackageServiceImpl.java b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/service/impl/DirectivePackageServiceImpl.java new file mode 100644 index 0000000..ba1680a --- /dev/null +++ b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/directivePackage/service/impl/DirectivePackageServiceImpl.java @@ -0,0 +1,45 @@ +package com.nu.modules.directivePackage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +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 org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * @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); + } + + @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-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/serviceDirective/controller/ConfigServiceDirectiveController.java b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/serviceDirective/controller/ConfigServiceDirectiveController.java index b5d952b..5ca6bee 100644 --- a/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/serviceDirective/controller/ConfigServiceDirectiveController.java +++ b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/serviceDirective/controller/ConfigServiceDirectiveController.java @@ -1,6 +1,7 @@ package com.nu.modules.serviceDirective.controller; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.ListUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -26,6 +27,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @Description: 服务指令 @@ -69,6 +71,14 @@ public class ConfigServiceDirectiveController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(configServiceDirective, req.getParameterMap(), customeRuleMap); queryWrapper.select("id"); + //如果有服务指令需要提前查询下对应的服务指令id + List directiveIds = null; + if (StringUtils.isNotBlank(configServiceDirective.getTags())) { + directiveIds = configServiceDirectiveService.queryDirectiveIdByTagIds(configServiceDirective.getTags()); + if(directiveIds != null && !directiveIds.isEmpty()){ + queryWrapper.in("id", directiveIds.stream().map(ConfigServiceDirective::getId).collect(Collectors.toList())); + } + } Page page = new Page(pageNo, pageSize); IPage list = configServiceDirectiveService.page(page, queryWrapper); List pageList = service.pageList(configServiceDirective, list); @@ -90,7 +100,7 @@ public class ConfigServiceDirectiveController extends JeecgController queryDirectiveIdByTagIds(@Param("tagIds") String tagIds); + /** * 查询指令标签是否被使用 * @return diff --git a/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/serviceDirective/mapper/xml/ConfigServiceDirectiveMapper.xml b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/serviceDirective/mapper/xml/ConfigServiceDirectiveMapper.xml index cfb9cb0..aec6e7b 100644 --- a/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/serviceDirective/mapper/xml/ConfigServiceDirectiveMapper.xml +++ b/nursing-unit-service-directive/nu-service-directive-biz/src/main/java/com/nu/modules/serviceDirective/mapper/xml/ConfigServiceDirectiveMapper.xml @@ -36,7 +36,6 @@ - + +