diff --git a/nursing-unit-common/src/main/java/com/nu/dto/DirectiveOpeLogInfoMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/DirectiveOpeLogInfoMQDto.java new file mode 100644 index 0000000..5f6aca9 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/dto/DirectiveOpeLogInfoMQDto.java @@ -0,0 +1,77 @@ +package com.nu.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Description: 服务指令操作日志详情表 + * @Author: jeecg-boot + * @Date: 2025-12-22 + * @Version: V1.0 + */ +@Data +public class DirectiveOpeLogInfoMQDto implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**nu_config_directive_ope_log_main.id*/ + private String pkId; + /**分类标签*/ + private String instructionTagId; + /**分类标签名称*/ + private String instructionTagName; + /**服务类别id*/ + private String categoryId; + /**服务类别名称*/ + private String categoryName; + /**服务类型id*/ + private String typeId; + /**服务类型名称*/ + private String typeName; + /**服务指令id*/ + private String directiveId; + /**服务指令名称*/ + private String directiveName; + /**收费价格*/ + private BigDecimal tollPrice; + /**提成价格*/ + private BigDecimal comPrice; + /**周期类型 1日常护理 2周期护理 3即时护理*/ + private String cycleType; + /**服务说明*/ + private String serviceContent; + /**服务时长(分钟)*/ + private String serviceDuration; + /**所属部门*/ + private String sysOrgCode; + /**语音文件*/ + private String mp3File; + /**视频文件*/ + private String mp4File; + /**服务指令图片大图*/ + private String previewFile; + /**服务指令图片小图*/ + private String previewFileSmall; + /**即时指令图片*/ + private String immediateFile; + /**即时指令焦点图片*/ + private String immediateFileFocus; + /**创建日期*/ + private Date createTime; + /**数据类型 1修改前 2修改后*/ + private String dataType; +} diff --git a/nursing-unit-common/src/main/java/com/nu/dto/DirectiveOpeLogMainMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/DirectiveOpeLogMainMQDto.java new file mode 100644 index 0000000..73ff2b9 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/dto/DirectiveOpeLogMainMQDto.java @@ -0,0 +1,52 @@ +package com.nu.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description: 服务指令操作日志主表 + * @Author: jeecg-boot + * @Date: 2025-12-22 + * @Version: V1.0 + */ +@Data +public class DirectiveOpeLogMainMQDto implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**机构编码*/ + private String orgCode; + /**操作类型 1新增 2修改*/ + private String opeType; + /**操作人*/ + private String createBy; + /**操作日期*/ + private Date createTime; + /**分类标签名称*/ + private String instructionTagName; + /**服务类别名称*/ + private String categoryName; + /**服务类型名称*/ + private String typeName; + /**服务指令名称*/ + private String directiveName; + /**周期类型名称*/ + private String cycleTypeName; + + private List opeInfoList; +} diff --git a/nursing-unit-common/src/main/java/com/nu/dto/DirectiveSyncLogInfoMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/DirectiveSyncLogInfoMQDto.java new file mode 100644 index 0000000..9d75cd1 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/dto/DirectiveSyncLogInfoMQDto.java @@ -0,0 +1,116 @@ +package com.nu.dto; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Description: 服务指令镜像日志详情表 + * @Author: jeecg-boot + * @Date: 2025-12-19 + * @Version: V1.0 + */ +@Data +@TableName("nu_config_directive_sync_log_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "nu_config_directive_sync_log_info对象", description = "服务指令镜像日志详情表") +public class DirectiveSyncLogInfoMQDto implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + private String pkId; + /** + * 分类标签 + */ + private String instructionTagId; + /** + * 分类标签 + */ + private String instructionTagName; + /** + * 服务类别id + */ + private String categoryId; + /** + * 服务类别id + */ + private String categoryName; + /** + * 服务类型id + */ + private String typeId; + /** + * 服务类型id + */ + private String typeName; + /** + * 服务指令id + */ + private String directiveId; + /** + * 服务指令名称 + */ + private String directiveName; + /** + * 收费价格 + */ + private BigDecimal tollPrice; + /** + * 提成价格 + */ + private BigDecimal comPrice; + /** + * 周期类型 1日常护理 2周期护理 3即时护理 + */ + private String cycleType; + /** + * 服务说明 + */ + private String serviceContent; + /** + * 服务时长(分钟) + */ + private String serviceDuration; + /** + * 所属部门 + */ + private String sysOrgCode; + /** + * 语音文件 + */ + private String mp3File; + /** + * 视频文件 + */ + private String mp4File; + /** + * 服务指令图片大图 + */ + private String previewFile; + /** + * 服务指令图片小图 + */ + private String previewFileSmall; + /** + * 即时指令图片 + */ + private String immediateFile; + /** + * 即时指令焦点图片 + */ + private String immediateFileFocus; + /** + * 创建日期 + */ + private Date createTime; +} diff --git a/nursing-unit-common/src/main/java/com/nu/dto/DirectiveSyncLogMainMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/DirectiveSyncLogMainMQDto.java new file mode 100644 index 0000000..7c077a2 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/dto/DirectiveSyncLogMainMQDto.java @@ -0,0 +1,45 @@ +package com.nu.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description: 服务指令镜像日志主表 + * @Author: jeecg-boot + * @Date: 2025-12-19 + * @Version: V1.0 + */ +@Data +public class DirectiveSyncLogMainMQDto implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + /** + * 哪个机构镜像的 + */ + private String opeOrgCode; + /** + * 镜像的哪个机构的指令 + */ + private String targetOrgCode; + /** + * 指令镜像码 + */ + private String orgDirectiveCode; + /** + * 创建人 + */ + private String createBy; + /** + * 创建日期 + */ + private Date createTime; + + private List syncInfoList; +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/controller/DirectiveOpeLogInfoController.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/controller/DirectiveOpeLogInfoController.java new file mode 100644 index 0000000..44f336c --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/controller/DirectiveOpeLogInfoController.java @@ -0,0 +1,180 @@ +package com.nu.modules.directiveopelog.controller; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.query.QueryRuleEnum; +import org.jeecg.common.util.oConvertUtils; +import com.nu.modules.directiveopelog.entity.DirectiveOpeLogInfo; +import com.nu.modules.directiveopelog.service.IDirectiveOpeLogInfoService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: 服务指令操作日志详情表 + * @Author: jeecg-boot + * @Date: 2025-12-22 + * @Version: V1.0 + */ +@Api(tags="服务指令操作日志详情表") +@RestController +@RequestMapping("/directiveopelog/directiveOpeLogInfo") +@Slf4j +public class DirectiveOpeLogInfoController extends JeecgController { + @Autowired + private IDirectiveOpeLogInfoService directiveOpeLogInfoService; + + /** + * 分页列表查询 + * + * @param directiveOpeLogInfo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "服务指令操作日志详情表-分页列表查询") + @ApiOperation(value="服务指令操作日志详情表-分页列表查询", notes="服务指令操作日志详情表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(DirectiveOpeLogInfo directiveOpeLogInfo, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(directiveOpeLogInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = directiveOpeLogInfoService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param directiveOpeLogInfo + * @return + */ + @AutoLog(value = "服务指令操作日志详情表-添加") + @ApiOperation(value="服务指令操作日志详情表-添加", notes="服务指令操作日志详情表-添加") + @RequiresPermissions("directiveopelog:nu_config_directive_ope_log_info:add") + @PostMapping(value = "/add") + public Result add(@RequestBody DirectiveOpeLogInfo directiveOpeLogInfo) { + directiveOpeLogInfoService.save(directiveOpeLogInfo); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param directiveOpeLogInfo + * @return + */ + @AutoLog(value = "服务指令操作日志详情表-编辑") + @ApiOperation(value="服务指令操作日志详情表-编辑", notes="服务指令操作日志详情表-编辑") + @RequiresPermissions("directiveopelog:nu_config_directive_ope_log_info:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody DirectiveOpeLogInfo directiveOpeLogInfo) { + directiveOpeLogInfoService.updateById(directiveOpeLogInfo); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "服务指令操作日志详情表-通过id删除") + @ApiOperation(value="服务指令操作日志详情表-通过id删除", notes="服务指令操作日志详情表-通过id删除") + @RequiresPermissions("directiveopelog:nu_config_directive_ope_log_info:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + directiveOpeLogInfoService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "服务指令操作日志详情表-批量删除") + @ApiOperation(value="服务指令操作日志详情表-批量删除", notes="服务指令操作日志详情表-批量删除") + @RequiresPermissions("directiveopelog:nu_config_directive_ope_log_info:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.directiveOpeLogInfoService.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) { + DirectiveOpeLogInfo directiveOpeLogInfo = directiveOpeLogInfoService.getById(id); + if(directiveOpeLogInfo==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(directiveOpeLogInfo); + } + + /** + * 导出excel + * + * @param request + * @param directiveOpeLogInfo + */ + @RequiresPermissions("directiveopelog:nu_config_directive_ope_log_info:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, DirectiveOpeLogInfo directiveOpeLogInfo) { + return super.exportXls(request, directiveOpeLogInfo, DirectiveOpeLogInfo.class, "服务指令操作日志详情表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("directiveopelog:nu_config_directive_ope_log_info:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, DirectiveOpeLogInfo.class); + } + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/controller/DirectiveOpeLogMainController.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/controller/DirectiveOpeLogMainController.java new file mode 100644 index 0000000..c1add5b --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/controller/DirectiveOpeLogMainController.java @@ -0,0 +1,185 @@ +package com.nu.modules.directiveopelog.controller; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.query.QueryRuleEnum; +import org.jeecg.common.util.oConvertUtils; +import com.nu.modules.directiveopelog.entity.DirectiveOpeLogMain; +import com.nu.modules.directiveopelog.service.IDirectiveOpeLogMainService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: 服务指令操作日志主表 + * @Author: jeecg-boot + * @Date: 2025-12-22 + * @Version: V1.0 + */ +@Api(tags="服务指令操作日志主表") +@RestController +@RequestMapping("/directiveopelog/directiveOpeLogMain") +@Slf4j +public class DirectiveOpeLogMainController extends JeecgController { + @Autowired + private IDirectiveOpeLogMainService directiveOpeLogMainService; + + /** + * 分页列表查询 + * + * @param directiveOpeLogMain + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "服务指令操作日志主表-分页列表查询") + @ApiOperation(value="服务指令操作日志主表-分页列表查询", notes="服务指令操作日志主表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(DirectiveOpeLogMain directiveOpeLogMain, + @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("orgCode", QueryRuleEnum.LIKE_WITH_OR); + customeRuleMap.put("opeType", QueryRuleEnum.LIKE_WITH_OR); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(directiveOpeLogMain, req.getParameterMap(),customeRuleMap); + Page page = new Page(pageNo, pageSize); + IPage pageList = directiveOpeLogMainService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param directiveOpeLogMain + * @return + */ + @AutoLog(value = "服务指令操作日志主表-添加") + @ApiOperation(value="服务指令操作日志主表-添加", notes="服务指令操作日志主表-添加") + @RequiresPermissions("directiveopelog:nu_config_directive_ope_log_main:add") + @PostMapping(value = "/add") + public Result add(@RequestBody DirectiveOpeLogMain directiveOpeLogMain) { + directiveOpeLogMainService.save(directiveOpeLogMain); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param directiveOpeLogMain + * @return + */ + @AutoLog(value = "服务指令操作日志主表-编辑") + @ApiOperation(value="服务指令操作日志主表-编辑", notes="服务指令操作日志主表-编辑") + @RequiresPermissions("directiveopelog:nu_config_directive_ope_log_main:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody DirectiveOpeLogMain directiveOpeLogMain) { + directiveOpeLogMainService.updateById(directiveOpeLogMain); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "服务指令操作日志主表-通过id删除") + @ApiOperation(value="服务指令操作日志主表-通过id删除", notes="服务指令操作日志主表-通过id删除") + @RequiresPermissions("directiveopelog:nu_config_directive_ope_log_main:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + directiveOpeLogMainService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "服务指令操作日志主表-批量删除") + @ApiOperation(value="服务指令操作日志主表-批量删除", notes="服务指令操作日志主表-批量删除") + @RequiresPermissions("directiveopelog:nu_config_directive_ope_log_main:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.directiveOpeLogMainService.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) { + DirectiveOpeLogMain directiveOpeLogMain = directiveOpeLogMainService.getById(id); + if(directiveOpeLogMain==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(directiveOpeLogMain); + } + + /** + * 导出excel + * + * @param request + * @param directiveOpeLogMain + */ + @RequiresPermissions("directiveopelog:nu_config_directive_ope_log_main:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, DirectiveOpeLogMain directiveOpeLogMain) { + return super.exportXls(request, directiveOpeLogMain, DirectiveOpeLogMain.class, "服务指令操作日志主表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("directiveopelog:nu_config_directive_ope_log_main:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, DirectiveOpeLogMain.class); + } + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/entity/DirectiveOpeLogInfo.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/entity/DirectiveOpeLogInfo.java new file mode 100644 index 0000000..1667e69 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/entity/DirectiveOpeLogInfo.java @@ -0,0 +1,134 @@ +package com.nu.modules.directiveopelog.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +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: jeecg-boot + * @Date: 2025-12-22 + * @Version: V1.0 + */ +@Data +@TableName("nu_config_directive_ope_log_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_config_directive_ope_log_info对象", description="服务指令操作日志详情表") +public class DirectiveOpeLogInfo implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**nu_config_directive_ope_log_main.id*/ + @Excel(name = "nu_config_directive_ope_log_main.id", width = 15) + @ApiModelProperty(value = "nu_config_directive_ope_log_main.id") + private String pkId; + /**分类标签*/ + @Excel(name = "分类标签", width = 15) + @ApiModelProperty(value = "分类标签") + private String instructionTagId; + /**分类标签名称*/ + @Excel(name = "分类标签名称", width = 15) + @ApiModelProperty(value = "分类标签名称") + private String instructionTagName; + /**服务类别id*/ + @Excel(name = "服务类别id", width = 15) + @ApiModelProperty(value = "服务类别id") + private String categoryId; + /**服务类别名称*/ + @Excel(name = "服务类别名称", width = 15) + @ApiModelProperty(value = "服务类别名称") + private String categoryName; + /**服务类型id*/ + @Excel(name = "服务类型id", width = 15) + @ApiModelProperty(value = "服务类型id") + private String typeId; + /**服务类型名称*/ + @Excel(name = "服务类型名称", width = 15) + @ApiModelProperty(value = "服务类型名称") + private String typeName; + /**服务指令id*/ + @Excel(name = "服务指令id", width = 15) + @ApiModelProperty(value = "服务指令id") + private String directiveId; + /**服务指令名称*/ + @Excel(name = "服务指令名称", width = 15) + @ApiModelProperty(value = "服务指令名称") + private String directiveName; + /**收费价格*/ + @Excel(name = "收费价格", width = 15) + @ApiModelProperty(value = "收费价格") + private BigDecimal tollPrice; + /**提成价格*/ + @Excel(name = "提成价格", width = 15) + @ApiModelProperty(value = "提成价格") + private BigDecimal comPrice; + /**周期类型 1日常护理 2周期护理 3即时护理*/ + @Excel(name = "周期类型 1日常护理 2周期护理 3即时护理", width = 15) + @ApiModelProperty(value = "周期类型 1日常护理 2周期护理 3即时护理") + @Dict(dicCode = "period_type") + private String cycleType; + /**服务说明*/ + @Excel(name = "服务说明", width = 15) + @ApiModelProperty(value = "服务说明") + private String serviceContent; + /**服务时长(分钟)*/ + @Excel(name = "服务时长(分钟)", width = 15) + @ApiModelProperty(value = "服务时长(分钟)") + private String serviceDuration; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private String sysOrgCode; + /**语音文件*/ + @Excel(name = "语音文件", width = 15) + @ApiModelProperty(value = "语音文件") + private String mp3File; + /**视频文件*/ + @Excel(name = "视频文件", width = 15) + @ApiModelProperty(value = "视频文件") + private String mp4File; + /**服务指令图片大图*/ + @Excel(name = "服务指令图片大图", width = 15) + @ApiModelProperty(value = "服务指令图片大图") + private String previewFile; + /**服务指令图片小图*/ + @Excel(name = "服务指令图片小图", width = 15) + @ApiModelProperty(value = "服务指令图片小图") + private String previewFileSmall; + /**即时指令图片*/ + @Excel(name = "即时指令图片", width = 15) + @ApiModelProperty(value = "即时指令图片") + private String immediateFile; + /**即时指令焦点图片*/ + @Excel(name = "即时指令焦点图片", width = 15) + @ApiModelProperty(value = "即时指令焦点图片") + private String immediateFileFocus; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private Date createTime; + /**数据类型 1修改前 2修改后*/ + @Excel(name = "数据类型 1修改前 2修改后", width = 15) + @ApiModelProperty(value = "数据类型 1修改前 2修改后") + private String dataType; +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/entity/DirectiveOpeLogMain.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/entity/DirectiveOpeLogMain.java new file mode 100644 index 0000000..d637f2b --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/entity/DirectiveOpeLogMain.java @@ -0,0 +1,79 @@ +package com.nu.modules.directiveopelog.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +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: jeecg-boot + * @Date: 2025-12-22 + * @Version: V1.0 + */ +@Data +@TableName("nu_config_directive_ope_log_main") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_config_directive_ope_log_main对象", description="服务指令操作日志主表") +public class DirectiveOpeLogMain implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**机构编码*/ + @Excel(name = "机构编码", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code") + @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code") + @ApiModelProperty(value = "机构编码") + private String orgCode; + /**操作类型 1新增 2修改*/ + @Excel(name = "操作类型 1新增 2修改", width = 15, dicCode = "directive_ope_type") + @Dict(dicCode = "directive_ope_type") + @ApiModelProperty(value = "操作类型 1新增 2修改") + private String opeType; + /**操作人*/ + @ApiModelProperty(value = "操作人") + private String createBy; + /**操作日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "操作日期") + private Date createTime; + /**分类标签名称*/ + @Excel(name = "分类标签名称", width = 15) + @ApiModelProperty(value = "分类标签名称") + private String instructionTagName; + /**服务类别名称*/ + @Excel(name = "服务类别名称", width = 15) + @ApiModelProperty(value = "服务类别名称") + private String categoryName; + /**服务类型名称*/ + @Excel(name = "服务类型名称", width = 15) + @ApiModelProperty(value = "服务类型名称") + private String typeName; + /**服务指令名称*/ + @Excel(name = "服务指令名称", width = 15) + @ApiModelProperty(value = "服务指令名称") + private String directiveName; + /**周期类型名称*/ + @Excel(name = "周期类型名称", width = 15) + @ApiModelProperty(value = "周期类型名称") + private String cycleTypeName; +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/mapper/DirectiveOpeLogInfoMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/mapper/DirectiveOpeLogInfoMapper.java new file mode 100644 index 0000000..3f9a7dc --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/mapper/DirectiveOpeLogInfoMapper.java @@ -0,0 +1,17 @@ +package com.nu.modules.directiveopelog.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.nu.modules.directiveopelog.entity.DirectiveOpeLogInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 服务指令操作日志详情表 + * @Author: jeecg-boot + * @Date: 2025-12-22 + * @Version: V1.0 + */ +public interface DirectiveOpeLogInfoMapper extends BaseMapper { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/mapper/DirectiveOpeLogMainMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/mapper/DirectiveOpeLogMainMapper.java new file mode 100644 index 0000000..e217c1e --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/mapper/DirectiveOpeLogMainMapper.java @@ -0,0 +1,17 @@ +package com.nu.modules.directiveopelog.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.nu.modules.directiveopelog.entity.DirectiveOpeLogMain; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 服务指令操作日志主表 + * @Author: jeecg-boot + * @Date: 2025-12-22 + * @Version: V1.0 + */ +public interface DirectiveOpeLogMainMapper extends BaseMapper { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/mapper/xml/DirectiveOpeLogInfoMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/mapper/xml/DirectiveOpeLogInfoMapper.xml new file mode 100644 index 0000000..13c3cad --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/mapper/xml/DirectiveOpeLogInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/mapper/xml/DirectiveOpeLogMainMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/mapper/xml/DirectiveOpeLogMainMapper.xml new file mode 100644 index 0000000..6c38c8b --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/mapper/xml/DirectiveOpeLogMainMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/service/IDirectiveOpeLogInfoService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/service/IDirectiveOpeLogInfoService.java new file mode 100644 index 0000000..0aaf74b --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/service/IDirectiveOpeLogInfoService.java @@ -0,0 +1,14 @@ +package com.nu.modules.directiveopelog.service; + +import com.nu.modules.directiveopelog.entity.DirectiveOpeLogInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 服务指令操作日志详情表 + * @Author: jeecg-boot + * @Date: 2025-12-22 + * @Version: V1.0 + */ +public interface IDirectiveOpeLogInfoService extends IService { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/service/IDirectiveOpeLogMainService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/service/IDirectiveOpeLogMainService.java new file mode 100644 index 0000000..6120cfe --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/service/IDirectiveOpeLogMainService.java @@ -0,0 +1,14 @@ +package com.nu.modules.directiveopelog.service; + +import com.nu.modules.directiveopelog.entity.DirectiveOpeLogMain; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 服务指令操作日志主表 + * @Author: jeecg-boot + * @Date: 2025-12-22 + * @Version: V1.0 + */ +public interface IDirectiveOpeLogMainService extends IService { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/service/impl/DirectiveOpeLogInfoServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/service/impl/DirectiveOpeLogInfoServiceImpl.java new file mode 100644 index 0000000..547cdb7 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/service/impl/DirectiveOpeLogInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.nu.modules.directiveopelog.service.impl; + +import com.nu.modules.directiveopelog.entity.DirectiveOpeLogInfo; +import com.nu.modules.directiveopelog.mapper.DirectiveOpeLogInfoMapper; +import com.nu.modules.directiveopelog.service.IDirectiveOpeLogInfoService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 服务指令操作日志详情表 + * @Author: jeecg-boot + * @Date: 2025-12-22 + * @Version: V1.0 + */ +@Service +public class DirectiveOpeLogInfoServiceImpl extends ServiceImpl implements IDirectiveOpeLogInfoService { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/service/impl/DirectiveOpeLogMainServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/service/impl/DirectiveOpeLogMainServiceImpl.java new file mode 100644 index 0000000..3974522 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directiveopelog/service/impl/DirectiveOpeLogMainServiceImpl.java @@ -0,0 +1,19 @@ +package com.nu.modules.directiveopelog.service.impl; + +import com.nu.modules.directiveopelog.entity.DirectiveOpeLogMain; +import com.nu.modules.directiveopelog.mapper.DirectiveOpeLogMainMapper; +import com.nu.modules.directiveopelog.service.IDirectiveOpeLogMainService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 服务指令操作日志主表 + * @Author: jeecg-boot + * @Date: 2025-12-22 + * @Version: V1.0 + */ +@Service +public class DirectiveOpeLogMainServiceImpl extends ServiceImpl implements IDirectiveOpeLogMainService { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/mq/directive/listener/DirectiveMQListener.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/mq/directive/listener/DirectiveMQListener.java index 3cf13f5..2ef71e5 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/mq/directive/listener/DirectiveMQListener.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/mq/directive/listener/DirectiveMQListener.java @@ -1,11 +1,14 @@ package com.nu.mq.directive.listener; +import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.nu.dto.DirectiveAsyncMQDto; +import com.nu.dto.DirectiveOpeLogMainMQDto; +import com.nu.dto.DirectiveSyncLogMainMQDto; import com.nu.dto.StatusMQDto; import com.nu.enums.MQStatus; import com.nu.modules.async.entity.AsyncMain; @@ -14,6 +17,14 @@ import com.nu.modules.async.service.IAsyncMainService; import com.nu.modules.async.service.IAsyncStatusService; import com.nu.modules.canadddirective.entity.CanAddDirective; import com.nu.modules.canadddirective.service.ICanAddDirectiveService; +import com.nu.modules.directiveopelog.entity.DirectiveOpeLogInfo; +import com.nu.modules.directiveopelog.entity.DirectiveOpeLogMain; +import com.nu.modules.directiveopelog.service.IDirectiveOpeLogInfoService; +import com.nu.modules.directiveopelog.service.IDirectiveOpeLogMainService; +import com.nu.modules.directivesynclog.entity.DirectiveSyncLogInfo; +import com.nu.modules.directivesynclog.entity.DirectiveSyncLogMain; +import com.nu.modules.directivesynclog.service.IDirectiveSyncLogInfoService; +import com.nu.modules.directivesynclog.service.IDirectiveSyncLogMainService; import com.nu.modules.directivetag.body.entity.DirectiveBodyTag; import com.nu.modules.directivetag.body.entity.DirectiveBodyTagRelation; import com.nu.modules.directivetag.body.service.IDirectiveBodyTagService; @@ -66,6 +77,14 @@ public class DirectiveMQListener { private IDirectiveEmotionTagService emotionTagService; @Autowired private ICanAddDirectiveService canAddDirectiveService; + @Autowired + private IDirectiveSyncLogMainService directiveSyncLogMainService; + @Autowired + private IDirectiveSyncLogInfoService directiveSyncLogInfoService; + @Autowired + private IDirectiveOpeLogMainService directiveOpeLogMainService; + @Autowired + private IDirectiveOpeLogInfoService directiveOpeLogInfoService; /** * 其他平台新增指令 @@ -261,4 +280,24 @@ public class DirectiveMQListener { asyncStatus.setMsg(dto.getMessage()); asyncStatusService.updateById(asyncStatus); } + + @RabbitListener(bindings = @QueueBinding(value = @Queue(name = "fwzl.synccode.log"), exchange = @Exchange(name = "hldy.fwzl", type = ExchangeTypes.DIRECT), key = "fwzl.synccode.log"), errorHandler = "directiveMQErrorHandler") + public void handleDirectiveSyncLog(DirectiveSyncLogMainMQDto dto) { + DirectiveSyncLogMain main = new DirectiveSyncLogMain(); + BeanUtils.copyProperties(dto,main); + directiveSyncLogMainService.save(main); + + List infoList = BeanUtil.copyToList(dto.getSyncInfoList(), DirectiveSyncLogInfo.class); + directiveSyncLogInfoService.saveBatch(infoList); + } + + @RabbitListener(bindings = @QueueBinding(value = @Queue(name = "hldy.directive.ope"), exchange = @Exchange(name = "hldy.directive", type = ExchangeTypes.DIRECT), key = "hldy.directive.ope"), errorHandler = "directiveMQErrorHandler") + public void handleDirectiveOpeLog(DirectiveOpeLogMainMQDto dto) { + DirectiveOpeLogMain main = new DirectiveOpeLogMain(); + BeanUtils.copyProperties(dto,main); + directiveOpeLogMainService.save(main); + + List infoList = BeanUtil.copyToList(dto.getOpeInfoList(), DirectiveOpeLogInfo.class); + directiveOpeLogInfoService.saveBatch(infoList); + } }