From 83462dbe435e519a15accdd0694ec2dbe8357766 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Wed, 9 Jul 2025 15:48:20 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=A2=9E=E5=8A=A0=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E3=80=81=E6=9C=BA=E6=9E=84=E9=99=84=E5=8A=A0?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=EF=BC=88=E6=9C=AA=E5=AE=8C=E6=88=90=EF=BC=89?= =?UTF-8?q?=202=E3=80=81=E8=B0=83=E6=95=B4=E5=8F=91=E5=B8=83=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nu/modules/orgInfo/api/IOrgInfoApi.java | 7 + .../modules/orgInfo/entity/OrgInfoEntity.java | 155 +++++++++++++ .../modules/workorder/api/IWorkOrderApi.java | 8 + .../workorder/entity/WorkOrderEntity.java | 54 +++++ .../controller/IssueInfoController.java | 176 ++++++++++++++ .../modules/IssueInfo/entity/IssueInfo.java | 71 ++++++ .../IssueInfo/mapper/IssueInfoMapper.java | 14 ++ .../IssueInfo/mapper/xml/IssueInfoMapper.xml | 5 + .../IssueInfo/service/IIssueInfoService.java | 14 ++ .../service/impl/IssueInfoServiceImpl.java | 19 ++ .../orginfo/controller/OrgInfoController.java | 91 ++++++++ .../nu/modules/orginfo/entity/OrgAllInfo.java | 155 +++++++++++++ .../nu/modules/orginfo/entity/OrgInfo.java | 178 +++++++++++++++ .../modules/orginfo/mapper/OrgInfoMapper.java | 17 ++ .../orginfo/mapper/xml/OrgInfoMapper.xml | 60 +++++ .../orginfo/service/IOrgInfoService.java | 14 ++ .../service/impl/OrgInfoServiceImpl.java | 30 +++ .../controller/WorkOrderController.java | 180 +++++++++++++++ .../modules/workorder/entity/WorkOrder.java | 113 +++++++++ .../workorder/mapper/WorkOrderMapper.java | 17 ++ .../workorder/mapper/xml/WorkOrderMapper.xml | 5 + .../workorder/service/IWorkOrderService.java | 14 ++ .../service/impl/WorkOrderServiceImpl.java | 28 +++ .../OrgInfoMQExceptionHandler.java | 28 +++ .../orginfo/listener/OrgInfoMQListener.java | 87 +++++++ .../WorkOrderMQExceptionHandler.java | 28 +++ .../listener/WorkOrderMQListener.java | 38 ++++ .../api/VersionManageApi.java | 2 +- .../api/VersionManageApiBK.java | 75 ------ .../org/jeecg/config/shiro/ShiroConfig.java | 1 - .../java/com/nu/dto/OrgApplyInfoMQDto.java | 215 ++++++++++++++++++ .../main/java/com/nu/dto/WorkOrderMQDto.java | 54 +++++ .../jeecg/common/system/api/ISysBaseAPI.java | 3 + .../common/system/entity/SysDepartEntity.java | 177 ++++++++++++++ .../modules/system/entity/SysDepart.java | 2 +- .../system/service/impl/SysBaseApiImpl.java | 28 ++- pom.xml | 12 +- 37 files changed, 2083 insertions(+), 92 deletions(-) create mode 100644 nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgInfo/api/IOrgInfoApi.java create mode 100644 nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgInfo/entity/OrgInfoEntity.java create mode 100644 nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/workorder/api/IWorkOrderApi.java create mode 100644 nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/workorder/entity/WorkOrderEntity.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/controller/IssueInfoController.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/entity/IssueInfo.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/IssueInfoMapper.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/xml/IssueInfoMapper.xml create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/IIssueInfoService.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/impl/IssueInfoServiceImpl.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/controller/OrgInfoController.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/entity/OrgAllInfo.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/entity/OrgInfo.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/mapper/OrgInfoMapper.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/mapper/xml/OrgInfoMapper.xml create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/service/IOrgInfoService.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/service/impl/OrgInfoServiceImpl.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/controller/WorkOrderController.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/entity/WorkOrder.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/mapper/WorkOrderMapper.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/mapper/xml/WorkOrderMapper.xml create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/service/IWorkOrderService.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/service/impl/WorkOrderServiceImpl.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/orginfo/exceptionhandler/OrgInfoMQExceptionHandler.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/orginfo/listener/OrgInfoMQListener.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/workorder/exceptionhandler/WorkOrderMQExceptionHandler.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/workorder/listener/WorkOrderMQListener.java delete mode 100644 nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApiBK.java create mode 100644 nursing-unit-common/src/main/java/com/nu/dto/OrgApplyInfoMQDto.java create mode 100644 nursing-unit-common/src/main/java/com/nu/dto/WorkOrderMQDto.java create mode 100644 nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/entity/SysDepartEntity.java diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgInfo/api/IOrgInfoApi.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgInfo/api/IOrgInfoApi.java new file mode 100644 index 0000000..1f292ff --- /dev/null +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgInfo/api/IOrgInfoApi.java @@ -0,0 +1,7 @@ +package com.nu.modules.orgInfo.api; + +import com.nu.modules.orgInfo.entity.OrgInfoEntity; + +public interface IOrgInfoApi { + OrgInfoEntity queryOrgInfoByCode(String orgCode); +} diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgInfo/entity/OrgInfoEntity.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgInfo/entity/OrgInfoEntity.java new file mode 100644 index 0000000..69f9105 --- /dev/null +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/orgInfo/entity/OrgInfoEntity.java @@ -0,0 +1,155 @@ +package com.nu.modules.orgInfo.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Description: 机构全部信息 + * @Author: zmy + * @Date: 2025-07-09 + * @Version: V1.0 + */ +@Data +public class OrgInfoEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /**机构id*/ + private String orgId; + + /** + * 机构/部门名称 + */ + private String departName; + /** + * 机构编码 + */ + private String orgCode; + /** + * 协议+域名 + */ + private String url; + /** + * 省份 + */ + private String province; + /** + * 城市 + */ + private String city; + /** + * 区县 + */ + private String district; + /** + * 业务平台类型 + */ + private String platType; + /** + * 运营开始时间 + */ + private Date operationStartTime; + /** + * 运营到期时间 + */ + private Date operationEndTime; + /** + * 合同开始时间 + */ + private Date contractStartTime; + /** + * 合同到期时间 + */ + private Date contractEndTime; + /** + * 手机号 + */ + private String mobile; + /** + * 传真 + */ + private String fax; + /** + * 地址 + */ + private String address; + /** + * 备注 + */ + private String memo; + /** + * 应缴金额 + */ + private BigDecimal payableAmount; + /** + * 机构图片 + */ + private String picUrl; + + /**微信id*/ + private String openId; + /**微信名称*/ + private String wechatName; + /**联系电话*/ + private String tel; + /**咨询人姓名*/ + private String name; + /**性别*/ + private String sex; + /**民族*/ + private String national; + /**出生日期*/ + private java.util.Date birthDate; + /**住址(身份证上)*/ + private String idCardAddress; + /**身份证号*/ + private String idCard; + /**签发机关*/ + private String issuingAuthority; + /**有效开始日期*/ + private java.util.Date startTime; + /**有效结束日期*/ + private java.util.Date endTime; + /**身份证正面*/ + private String cardZmPath; + /**身份证反面*/ + private String cardFmPath; + /**营业执照照片*/ + private String comBusinessLicense; + /**企业名称*/ + private String comName; + /**企业注册地址*/ + private String comRegisterAddress; + /**企业信用代码*/ + private String comCreditCode; + /**企业法人*/ + private String comLegalPerson; + /**机构地址*/ + private String orgAddress; + /**机构位置坐标:经度*/ + private String orgCoordinateLo; + /**机构位置坐标:维度*/ + private String orgCoordinateLa; + /**机构负责人*/ + private String orgLeader; + /**机构负责人电话*/ + private String orgLeaderPhone; + /**机构楼宇牌号*/ + private String orgBuildingNumber; + /**机构房屋性质*/ + private String orgPropertyType; + /**机构建筑面积*/ + private Double orgBuildingArea; + /**机构省份 sys_category.id*/ + private String orgProvince; + /**机构城市 sys_category.id*/ + private String orgCity; + /**机构区域 sys_category.id*/ + private String orgDistrict; + /**合同附件*/ + private String contract; + /**合同备注*/ + private String contractNote; +} diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/workorder/api/IWorkOrderApi.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/workorder/api/IWorkOrderApi.java new file mode 100644 index 0000000..caa5cee --- /dev/null +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/workorder/api/IWorkOrderApi.java @@ -0,0 +1,8 @@ +package com.nu.modules.workorder.api; + +import com.nu.modules.workorder.entity.WorkOrderEntity; + +public interface IWorkOrderApi { + + int createWorkOrder(WorkOrderEntity workOrderEntity); +} diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/workorder/entity/WorkOrderEntity.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/workorder/entity/WorkOrderEntity.java new file mode 100644 index 0000000..130dfee --- /dev/null +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/workorder/entity/WorkOrderEntity.java @@ -0,0 +1,54 @@ +package com.nu.modules.workorder.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 工单表 + * @Author: zmy + * @Date: 2025-07-09 + * @Version: V1.0 + */ +@Data +public class WorkOrderEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**区分同一工单用nu_word_order.id*/ + private String pkId; + /**机构ID*/ + private String orgId; + /**机构编码(可能不存在)*/ + private String orgCode; + /**机构名称*/ + private String orgName; + /**平台类型pc wechat pad*/ + private String platType; + /**标题*/ + private String title; + /**描述*/ + private String content; + /**附件*/ + private String filePath; + /**状态 0待接收 1处理中 3已解决 4工单异常 5外部原因*/ + private String status; + /**创建人*/ + private String createBy; + /**创建时间*/ + private Date createTime; + /**回复内容*/ + private String replyContent; + /**回复附件*/ + private String replyFile; + /**回复时间*/ + private Date replyTime; + /**处理人*/ + private String handleBy; + /**工单提交人联系电话*/ + private String tel; + /**工单提交人邮件地址*/ + private String email; +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/controller/IssueInfoController.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/controller/IssueInfoController.java new file mode 100644 index 0000000..d9b956c --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/controller/IssueInfoController.java @@ -0,0 +1,176 @@ +package com.nu.modules.IssueInfo.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.IssueInfo.entity.IssueInfo; +import com.nu.modules.IssueInfo.service.IIssueInfoService; +import com.nu.utils.RabbitMQUtil; +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: jeecg-boot + * @Date: 2025-07-01 + * @Version: V1.0 + */ +@Api(tags = "发版日志") +@RestController +@RequestMapping("/admin/issueInfo") +@Slf4j +public class IssueInfoController extends JeecgController { + + @Autowired + private IIssueInfoService nuIssueInfoService; + @Autowired + private RabbitMQUtil rabbitMQUtil; + + /** + * 分页列表查询 + * + * @param nuIssueInfo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "发版日志-分页列表查询") + @ApiOperation(value = "发版日志-分页列表查询", notes = "发版日志-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(IssueInfo nuIssueInfo, + @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("issueType", QueryRuleEnum.LIKE_WITH_OR); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(nuIssueInfo, req.getParameterMap(), customeRuleMap); + Page page = new Page(pageNo, pageSize); + IPage pageList = nuIssueInfoService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param nuIssueInfo + * @return + */ + @AutoLog(value = "发版日志-添加") + @ApiOperation(value = "发版日志-添加", notes = "发版日志-添加") + @RequiresPermissions("IssueInfo:nu_issue_info:add") + @PostMapping(value = "/add") + public Result add(@RequestBody IssueInfo nuIssueInfo) { + nuIssueInfoService.save(nuIssueInfo); + rabbitMQUtil.sendToExchange("hldy.fbrz.sync", "hldy.fbrz.sync", nuIssueInfo.getId()); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param nuIssueInfo + * @return + */ + @AutoLog(value = "发版日志-编辑") + @ApiOperation(value = "发版日志-编辑", notes = "发版日志-编辑") + @RequiresPermissions("IssueInfo:nu_issue_info:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody IssueInfo nuIssueInfo) { + nuIssueInfoService.updateById(nuIssueInfo); + rabbitMQUtil.sendToExchange("hldy.fbrz.sync", "hldy.fbrz.sync", nuIssueInfo.getId()); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "发版日志-通过id删除") + @ApiOperation(value = "发版日志-通过id删除", notes = "发版日志-通过id删除") + @RequiresPermissions("IssueInfo:nu_issue_info:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + nuIssueInfoService.removeById(id); + rabbitMQUtil.sendToExchange("hldy.fbrz.sync", "hldy.fbrz.sync", id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "发版日志-批量删除") + @ApiOperation(value = "发版日志-批量删除", notes = "发版日志-批量删除") + @RequiresPermissions("IssueInfo:nu_issue_info:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.nuIssueInfoService.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) { + IssueInfo nuIssueInfo = nuIssueInfoService.getById(id); + if (nuIssueInfo == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(nuIssueInfo); + } + + /** + * 导出excel + * + * @param request + * @param nuIssueInfo + */ + @RequiresPermissions("IssueInfo:nu_issue_info:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, IssueInfo nuIssueInfo) { + return super.exportXls(request, nuIssueInfo, IssueInfo.class, "发版日志"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("IssueInfo:nu_issue_info:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, IssueInfo.class); + } + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/entity/IssueInfo.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/entity/IssueInfo.java new file mode 100644 index 0000000..cd4c124 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/entity/IssueInfo.java @@ -0,0 +1,71 @@ +package com.nu.modules.IssueInfo.entity; + +import java.io.Serializable; +import java.util.Date; + +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 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-07-01 + * @Version: V1.0 + */ +@Data +@TableName("nu_issue_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_issue_info对象", description="发版日志") +public class IssueInfo implements Serializable { + private static final long serialVersionUID = 1L; + + /**ID*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "ID") + private String id; + /**是否删除 0未删除 1删除*/ + @Excel(name = "是否删除 0未删除 1删除", width = 15) + @ApiModelProperty(value = "是否删除 0未删除 1删除") + @TableLogic + private String delFlag; + /**创建人*/ + @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; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private Date updateTime; + /**所属机构*/ + @ApiModelProperty(value = "所属机构") + private String sysOrgCode; + /**发版类型 0运维 1业务 2app 3小程序*/ + @Excel(name = "发版类型 0运维 1业务 2app 3小程序", width = 15, dicCode = "issue_type") + @Dict(dicCode = "issue_type") + @ApiModelProperty(value = "发版类型 0运维 1业务 2app 3小程序") + private String issueType; + /**发版内容*/ + @Excel(name = "发版内容", width = 15) + @ApiModelProperty(value = "发版内容") + private String content; +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/IssueInfoMapper.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/IssueInfoMapper.java new file mode 100644 index 0000000..56cdafc --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/IssueInfoMapper.java @@ -0,0 +1,14 @@ +package com.nu.modules.IssueInfo.mapper; + +import com.nu.modules.IssueInfo.entity.IssueInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 发版日志 + * @Author: jeecg-boot + * @Date: 2025-07-01 + * @Version: V1.0 + */ +public interface IssueInfoMapper extends BaseMapper { + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/xml/IssueInfoMapper.xml b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/xml/IssueInfoMapper.xml new file mode 100644 index 0000000..b8c531d --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/xml/IssueInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/IIssueInfoService.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/IIssueInfoService.java new file mode 100644 index 0000000..1fd7027 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/IIssueInfoService.java @@ -0,0 +1,14 @@ +package com.nu.modules.IssueInfo.service; + +import com.nu.modules.IssueInfo.entity.IssueInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 发版日志 + * @Author: jeecg-boot + * @Date: 2025-07-01 + * @Version: V1.0 + */ +public interface IIssueInfoService extends IService { + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/impl/IssueInfoServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/impl/IssueInfoServiceImpl.java new file mode 100644 index 0000000..a804532 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/impl/IssueInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.nu.modules.IssueInfo.service.impl; + +import com.nu.modules.IssueInfo.entity.IssueInfo; +import com.nu.modules.IssueInfo.mapper.IssueInfoMapper; +import com.nu.modules.IssueInfo.service.IIssueInfoService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 发版日志 + * @Author: jeecg-boot + * @Date: 2025-07-01 + * @Version: V1.0 + */ +@Service +public class IssueInfoServiceImpl extends ServiceImpl implements IIssueInfoService { + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/controller/OrgInfoController.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/controller/OrgInfoController.java new file mode 100644 index 0000000..caa43da --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/controller/OrgInfoController.java @@ -0,0 +1,91 @@ +package com.nu.modules.orginfo.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.orgInfo.api.IOrgInfoApi; +import com.nu.modules.orgInfo.entity.OrgInfoEntity; +import com.nu.modules.orginfo.entity.OrgAllInfo; +import com.nu.modules.orginfo.entity.OrgInfo; +import com.nu.modules.orginfo.service.IOrgInfoService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; + + /** + * @Description: 机构附加信息 + * @Author: zmy + * @Date: 2025-07-08 + * @Version: V1.0 + */ +@Api(tags="机构附加信息") +@RestController +@RequestMapping("/admin/orginfo") +@Slf4j +public class OrgInfoController extends JeecgController { + @Autowired + private IOrgInfoService nuOrgInfoService; + @Autowired + private IOrgInfoApi orgInfoApi; + + /** + * 分页列表查询 + * + * @param nuOrgInfo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "机构附加信息-分页列表查询") + @ApiOperation(value="机构附加信息-分页列表查询", notes="机构附加信息-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(OrgInfo nuOrgInfo, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(nuOrgInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = nuOrgInfoService.page(page, queryWrapper); + return Result.OK(pageList); + } + + @ApiOperation(value="根据机构编码获取机构详情", notes="根据机构编码获取机构详情") + @GetMapping(value = "/getOrgInfo") + public Result getOrgInfo(@RequestParam("orgCode") String orgCode) { + OrgInfoEntity orgInfoEntity = orgInfoApi.queryOrgInfoByCode(orgCode); + OrgAllInfo result = new OrgAllInfo(); + BeanUtils.copyProperties(orgInfoEntity,result); + return Result.OK(result); + } + + /** + * 通过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) { + OrgInfo nuOrgInfo = nuOrgInfoService.getById(id); + if(nuOrgInfo==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(nuOrgInfo); + } + + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/entity/OrgAllInfo.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/entity/OrgAllInfo.java new file mode 100644 index 0000000..dad7e42 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/entity/OrgAllInfo.java @@ -0,0 +1,155 @@ +package com.nu.modules.orginfo.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Description: 机构全部信息 + * @Author: zmy + * @Date: 2025-07-09 + * @Version: V1.0 + */ +@Data +public class OrgAllInfo implements Serializable { + private static final long serialVersionUID = 1L; + + /**机构id*/ + private String orgId; + + /** + * 机构/部门名称 + */ + private String departName; + /** + * 机构编码 + */ + private String orgCode; + /** + * 协议+域名 + */ + private String url; + /** + * 省份 + */ + private String province; + /** + * 城市 + */ + private String city; + /** + * 区县 + */ + private String district; + /** + * 业务平台类型 + */ + private String platType; + /** + * 运营开始时间 + */ + private Date operationStartTime; + /** + * 运营到期时间 + */ + private Date operationEndTime; + /** + * 合同开始时间 + */ + private Date contractStartTime; + /** + * 合同到期时间 + */ + private Date contractEndTime; + /** + * 手机号 + */ + private String mobile; + /** + * 传真 + */ + private String fax; + /** + * 地址 + */ + private String address; + /** + * 备注 + */ + private String memo; + /** + * 应缴金额 + */ + private BigDecimal payableAmount; + /** + * 机构图片 + */ + private String picUrl; + + /**微信id*/ + private String openId; + /**微信名称*/ + private String wechatName; + /**联系电话*/ + private String tel; + /**咨询人姓名*/ + private String name; + /**性别*/ + private String sex; + /**民族*/ + private String national; + /**出生日期*/ + private Date birthDate; + /**住址(身份证上)*/ + private String idCardAddress; + /**身份证号*/ + private String idCard; + /**签发机关*/ + private String issuingAuthority; + /**有效开始日期*/ + private Date startTime; + /**有效结束日期*/ + private Date endTime; + /**身份证正面*/ + private String cardZmPath; + /**身份证反面*/ + private String cardFmPath; + /**营业执照照片*/ + private String comBusinessLicense; + /**企业名称*/ + private String comName; + /**企业注册地址*/ + private String comRegisterAddress; + /**企业信用代码*/ + private String comCreditCode; + /**企业法人*/ + private String comLegalPerson; + /**机构地址*/ + private String orgAddress; + /**机构位置坐标:经度*/ + private String orgCoordinateLo; + /**机构位置坐标:维度*/ + private String orgCoordinateLa; + /**机构负责人*/ + private String orgLeader; + /**机构负责人电话*/ + private String orgLeaderPhone; + /**机构楼宇牌号*/ + private String orgBuildingNumber; + /**机构房屋性质*/ + private String orgPropertyType; + /**机构建筑面积*/ + private Double orgBuildingArea; + /**机构省份 sys_category.id*/ + private String orgProvince; + /**机构城市 sys_category.id*/ + private String orgCity; + /**机构区域 sys_category.id*/ + private String orgDistrict; + /**合同附件*/ + private String contract; + /**合同备注*/ + private String contractNote; +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/entity/OrgInfo.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/entity/OrgInfo.java new file mode 100644 index 0000000..709724a --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/entity/OrgInfo.java @@ -0,0 +1,178 @@ +package com.nu.modules.orginfo.entity; + +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 机构附加信息 + * @Author: zmy + * @Date: 2025-07-08 + * @Version: V1.0 + */ +@Data +@TableName("nu_org_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_org_info对象", description="机构附加信息") +public class OrgInfo implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.String id; + /**机构ID sys_depart.id 同管理端nu_org_apply_info.pk_id*/ + @Excel(name = "机构ID sys_depart.id 同管理端nu_org_apply_info.pk_id", width = 15) + @ApiModelProperty(value = "机构ID sys_depart.id 同管理端nu_org_apply_info.pk_id") + private java.lang.String pkId; + /**微信id*/ + @Excel(name = "微信id", width = 15) + @ApiModelProperty(value = "微信id") + private java.lang.String openId; + /**微信名称*/ + @Excel(name = "微信名称", width = 15) + @ApiModelProperty(value = "微信名称") + private java.lang.String wechatName; + /**联系电话*/ + @Excel(name = "联系电话", width = 15) + @ApiModelProperty(value = "联系电话") + private java.lang.String tel; + /**更新日期*/ + @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; + /**咨询人姓名*/ + @Excel(name = "咨询人姓名", width = 15) + @ApiModelProperty(value = "咨询人姓名") + private java.lang.String name; + /**性别*/ + @Excel(name = "性别", width = 15) + @ApiModelProperty(value = "性别") + private java.lang.String sex; + /**民族*/ + @Excel(name = "民族", width = 15) + @ApiModelProperty(value = "民族") + private java.lang.String national; + /**出生日期*/ + @Excel(name = "出生日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "出生日期") + private java.util.Date birthDate; + /**住址(身份证上)*/ + @Excel(name = "住址(身份证上)", width = 15) + @ApiModelProperty(value = "住址(身份证上)") + private java.lang.String idCardAddress; + /**身份证号*/ + @Excel(name = "身份证号", width = 15) + @ApiModelProperty(value = "身份证号") + private java.lang.String idCard; + /**签发机关*/ + @Excel(name = "签发机关", width = 15) + @ApiModelProperty(value = "签发机关") + private java.lang.String issuingAuthority; + /**有效开始日期*/ + @Excel(name = "有效开始日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "有效开始日期") + private java.util.Date startTime; + /**有效结束日期*/ + @Excel(name = "有效结束日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "有效结束日期") + private java.util.Date endTime; + /**身份证正面*/ + @Excel(name = "身份证正面", width = 15) + @ApiModelProperty(value = "身份证正面") + private java.lang.String cardZmPath; + /**身份证反面*/ + @Excel(name = "身份证反面", width = 15) + @ApiModelProperty(value = "身份证反面") + private java.lang.String cardFmPath; + /**营业执照照片*/ + @Excel(name = "营业执照照片", width = 15) + @ApiModelProperty(value = "营业执照照片") + private java.lang.String comBusinessLicense; + /**企业名称*/ + @Excel(name = "企业名称", width = 15) + @ApiModelProperty(value = "企业名称") + private java.lang.String comName; + /**企业注册地址*/ + @Excel(name = "企业注册地址", width = 15) + @ApiModelProperty(value = "企业注册地址") + private java.lang.String comRegisterAddress; + /**企业信用代码*/ + @Excel(name = "企业信用代码", width = 15) + @ApiModelProperty(value = "企业信用代码") + private java.lang.String comCreditCode; + /**企业法人*/ + @Excel(name = "企业法人", width = 15) + @ApiModelProperty(value = "企业法人") + private java.lang.String comLegalPerson; + /**机构地址*/ + @Excel(name = "机构地址", width = 15) + @ApiModelProperty(value = "机构地址") + private java.lang.String orgAddress; + /**机构位置坐标:经度*/ + @Excel(name = "机构位置坐标:经度", width = 15) + @ApiModelProperty(value = "机构位置坐标:经度") + private java.lang.String orgCoordinateLo; + /**机构位置坐标:维度*/ + @Excel(name = "机构位置坐标:维度", width = 15) + @ApiModelProperty(value = "机构位置坐标:维度") + private java.lang.String orgCoordinateLa; + /**机构负责人*/ + @Excel(name = "机构负责人", width = 15) + @ApiModelProperty(value = "机构负责人") + private java.lang.String orgLeader; + /**机构负责人电话*/ + @Excel(name = "机构负责人电话", width = 15) + @ApiModelProperty(value = "机构负责人电话") + private java.lang.String orgLeaderPhone; + /**机构楼宇牌号*/ + @Excel(name = "机构楼宇牌号", width = 15) + @ApiModelProperty(value = "机构楼宇牌号") + private java.lang.String orgBuildingNumber; + /**机构房屋性质*/ + @Excel(name = "机构房屋性质", width = 15) + @ApiModelProperty(value = "机构房屋性质") + private java.lang.String orgPropertyType; + /**机构建筑面积*/ + @Excel(name = "机构建筑面积", width = 15) + @ApiModelProperty(value = "机构建筑面积") + private java.lang.Double orgBuildingArea; + /**机构省份 sys_category.id*/ + @Excel(name = "机构省份 sys_category.id", width = 15) + @ApiModelProperty(value = "机构省份 sys_category.id") + private java.lang.String orgProvince; + /**机构城市 sys_category.id*/ + @Excel(name = "机构城市 sys_category.id", width = 15) + @ApiModelProperty(value = "机构城市 sys_category.id") + private java.lang.String orgCity; + /**机构区域 sys_category.id*/ + @Excel(name = "机构区域 sys_category.id", width = 15) + @ApiModelProperty(value = "机构区域 sys_category.id") + private java.lang.String orgDistrict; + /**合同附件*/ + @Excel(name = "合同附件", width = 15) + @ApiModelProperty(value = "合同附件") + private java.lang.String contract; + /**合同备注*/ + @Excel(name = "合同备注", width = 15) + @ApiModelProperty(value = "合同备注") + private java.lang.String contractNote; +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/mapper/OrgInfoMapper.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/mapper/OrgInfoMapper.java new file mode 100644 index 0000000..300fc11 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/mapper/OrgInfoMapper.java @@ -0,0 +1,17 @@ +package com.nu.modules.orginfo.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nu.modules.orginfo.entity.OrgAllInfo; +import com.nu.modules.orginfo.entity.OrgInfo; +import org.apache.ibatis.annotations.Param; + +/** + * @Description: 机构附加信息 + * @Author: zmy + * @Date: 2025-07-08 + * @Version: V1.0 + */ +public interface OrgInfoMapper extends BaseMapper { + + OrgAllInfo queryOrgInfoByCode(@Param("orgCode") String orgCode); +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/mapper/xml/OrgInfoMapper.xml b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/mapper/xml/OrgInfoMapper.xml new file mode 100644 index 0000000..cfe1555 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/mapper/xml/OrgInfoMapper.xml @@ -0,0 +1,60 @@ + + + + + + diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/service/IOrgInfoService.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/service/IOrgInfoService.java new file mode 100644 index 0000000..4d4dcfc --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/service/IOrgInfoService.java @@ -0,0 +1,14 @@ +package com.nu.modules.orginfo.service; + +import com.nu.modules.orginfo.entity.OrgInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 机构附加信息 + * @Author: zmy + * @Date: 2025-07-08 + * @Version: V1.0 + */ +public interface IOrgInfoService extends IService { + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/service/impl/OrgInfoServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/service/impl/OrgInfoServiceImpl.java new file mode 100644 index 0000000..9bfc41a --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orginfo/service/impl/OrgInfoServiceImpl.java @@ -0,0 +1,30 @@ +package com.nu.modules.orginfo.service.impl; + +import com.nu.modules.orgInfo.api.IOrgInfoApi; +import com.nu.modules.orgInfo.entity.OrgInfoEntity; +import com.nu.modules.orginfo.entity.OrgAllInfo; +import com.nu.modules.orginfo.entity.OrgInfo; +import com.nu.modules.orginfo.mapper.OrgInfoMapper; +import com.nu.modules.orginfo.service.IOrgInfoService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 机构附加信息 + * @Author: zmy + * @Date: 2025-07-08 + * @Version: V1.0 + */ +@Service +public class OrgInfoServiceImpl extends ServiceImpl implements IOrgInfoService, IOrgInfoApi { + + @Override + public OrgInfoEntity queryOrgInfoByCode(String orgCode) { + OrgAllInfo orgInfo = baseMapper.queryOrgInfoByCode(orgCode); + OrgInfoEntity result = new OrgInfoEntity(); + BeanUtils.copyProperties(orgInfo,result); + return result; + } +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/controller/WorkOrderController.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/controller/WorkOrderController.java new file mode 100644 index 0000000..35570a6 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/controller/WorkOrderController.java @@ -0,0 +1,180 @@ +package com.nu.modules.workorder.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.workorder.entity.WorkOrder; +import com.nu.modules.workorder.service.IWorkOrderService; + +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: zmy + * @Date: 2025-07-08 + * @Version: V1.0 + */ +@Api(tags="工单表") +@RestController +@RequestMapping("/workorder/workOrder") +@Slf4j +public class WorkOrderController extends JeecgController { + @Autowired + private IWorkOrderService workOrderService; + + /** + * 分页列表查询 + * + * @param workOrder + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "工单表-分页列表查询") + @ApiOperation(value="工单表-分页列表查询", notes="工单表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(WorkOrder workOrder, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(workOrder, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = workOrderService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param workOrder + * @return + */ + @AutoLog(value = "工单表-添加") + @ApiOperation(value="工单表-添加", notes="工单表-添加") + @RequiresPermissions("workorder:nu_work_order:add") + @PostMapping(value = "/add") + public Result add(@RequestBody WorkOrder workOrder) { + workOrderService.save(workOrder); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param workOrder + * @return + */ + @AutoLog(value = "工单表-编辑") + @ApiOperation(value="工单表-编辑", notes="工单表-编辑") + @RequiresPermissions("workorder:nu_work_order:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody WorkOrder workOrder) { + workOrderService.updateById(workOrder); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "工单表-通过id删除") + @ApiOperation(value="工单表-通过id删除", notes="工单表-通过id删除") + @RequiresPermissions("workorder:nu_work_order:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + workOrderService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "工单表-批量删除") + @ApiOperation(value="工单表-批量删除", notes="工单表-批量删除") + @RequiresPermissions("workorder:nu_work_order:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.workOrderService.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) { + WorkOrder workOrder = workOrderService.getById(id); + if(workOrder==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(workOrder); + } + + /** + * 导出excel + * + * @param request + * @param workOrder + */ + @RequiresPermissions("workorder:nu_work_order:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, WorkOrder workOrder) { + return super.exportXls(request, workOrder, WorkOrder.class, "工单表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("workorder:nu_work_order:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, WorkOrder.class); + } + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/entity/WorkOrder.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/entity/WorkOrder.java new file mode 100644 index 0000000..8233eff --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/entity/WorkOrder.java @@ -0,0 +1,113 @@ +package com.nu.modules.workorder.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: zmy + * @Date: 2025-07-08 + * @Version: V1.0 + */ +@Data +@TableName("nu_work_order") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_work_order对象", description="工单表") +public class WorkOrder implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.String id; + /**区分同一工单用nu_word_order.id*/ + @Excel(name = "区分同一工单用nu_word_order.id", width = 15) + @ApiModelProperty(value = "区分同一工单用nu_word_order.id") + private java.lang.String pkId; + /**机构ID*/ + @Excel(name = "机构ID", width = 15) + @ApiModelProperty(value = "机构ID") + private java.lang.String orgId; + /**机构编码(可能不存在)*/ + @Excel(name = "机构编码(可能不存在)", width = 15) + @ApiModelProperty(value = "机构编码(可能不存在)") + private java.lang.String orgCode; + /**机构名称*/ + @Excel(name = "机构名称", width = 15) + @ApiModelProperty(value = "机构名称") + private java.lang.String orgName; + /**平台类型pc wechat pad*/ + @Dict(dicCode = "plat_type") + @Excel(name = "平台类型", width = 15) + @ApiModelProperty(value = "平台类型") + private java.lang.String platType; + /**标题*/ + @Excel(name = "标题", width = 15) + @ApiModelProperty(value = "标题") + private java.lang.String title; + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String content; + /**附件*/ + @Excel(name = "附件", width = 15) + @ApiModelProperty(value = "附件") + private java.lang.String filePath; + /**状态 0待接收 1处理中 3已解决 4工单异常 5外部原因*/ + @Dict(dicCode = "work_order_status") + @Excel(name = "工单状态", width = 15) + @ApiModelProperty(value = "工单状态") + private java.lang.String status; + /**创建人*/ + @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; + /**回复内容*/ + @Excel(name = "回复内容", width = 15) + @ApiModelProperty(value = "回复内容") + private java.lang.String replyContent; + /**回复附件*/ + @Excel(name = "回复附件", width = 15) + @ApiModelProperty(value = "回复附件") + private java.lang.String replyFile; + /**回复时间*/ + @Excel(name = "回复时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @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 replyTime; + /**处理人*/ + @Excel(name = "处理人", width = 15) + @ApiModelProperty(value = "处理人") + private java.lang.String handleBy; + /**工单提交人联系电话*/ + @Excel(name = "工单提交人联系电话", width = 15) + @ApiModelProperty(value = "工单提交人联系电话") + private java.lang.String tel; + /**工单提交人邮件地址*/ + @Excel(name = "工单提交人邮件地址", width = 15) + @ApiModelProperty(value = "工单提交人邮件地址") + private java.lang.String email; +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/mapper/WorkOrderMapper.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/mapper/WorkOrderMapper.java new file mode 100644 index 0000000..e25efa7 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/mapper/WorkOrderMapper.java @@ -0,0 +1,17 @@ +package com.nu.modules.workorder.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.nu.modules.workorder.entity.WorkOrder; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 工单表 + * @Author: zmy + * @Date: 2025-07-08 + * @Version: V1.0 + */ +public interface WorkOrderMapper extends BaseMapper { + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/mapper/xml/WorkOrderMapper.xml b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/mapper/xml/WorkOrderMapper.xml new file mode 100644 index 0000000..cf25cd0 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/mapper/xml/WorkOrderMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/service/IWorkOrderService.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/service/IWorkOrderService.java new file mode 100644 index 0000000..670f22e --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/service/IWorkOrderService.java @@ -0,0 +1,14 @@ +package com.nu.modules.workorder.service; + +import com.nu.modules.workorder.entity.WorkOrder; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 工单表 + * @Author: zmy + * @Date: 2025-07-08 + * @Version: V1.0 + */ +public interface IWorkOrderService extends IService { + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/service/impl/WorkOrderServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/service/impl/WorkOrderServiceImpl.java new file mode 100644 index 0000000..5823798 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/workorder/service/impl/WorkOrderServiceImpl.java @@ -0,0 +1,28 @@ +package com.nu.modules.workorder.service.impl; + +import com.nu.modules.workorder.api.IWorkOrderApi; +import com.nu.modules.workorder.entity.WorkOrder; +import com.nu.modules.workorder.entity.WorkOrderEntity; +import com.nu.modules.workorder.mapper.WorkOrderMapper; +import com.nu.modules.workorder.service.IWorkOrderService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 工单表 + * @Author: zmy + * @Date: 2025-07-08 + * @Version: V1.0 + */ +@Service +public class WorkOrderServiceImpl extends ServiceImpl implements IWorkOrderService, IWorkOrderApi { + + @Override + public int createWorkOrder(WorkOrderEntity workOrderEntity) { + WorkOrder workOrder = new WorkOrder(); + BeanUtils.copyProperties(workOrderEntity,workOrder); + return baseMapper.insert(workOrder); + } +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/orginfo/exceptionhandler/OrgInfoMQExceptionHandler.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/orginfo/exceptionhandler/OrgInfoMQExceptionHandler.java new file mode 100644 index 0000000..dccd935 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/orginfo/exceptionhandler/OrgInfoMQExceptionHandler.java @@ -0,0 +1,28 @@ +package com.nu.mq.orginfo.exceptionhandler; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.AmqpRejectAndDontRequeueException; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.listener.api.RabbitListenerErrorHandler; +import org.springframework.amqp.rabbit.support.ListenerExecutionFailedException; +import org.springframework.stereotype.Component; + +@Slf4j +@Component("orgInfoMQErrorHandler") +public class OrgInfoMQExceptionHandler implements RabbitListenerErrorHandler { + + @Override + public Object handleError(Message message, org.springframework.messaging.Message message1, ListenerExecutionFailedException e) { + log.error("MQ消息处理失败 | 消息体: {} | 异常原因: {}", new String(message.getBody()), e.getCause().getMessage()); + + // 根据异常类型选择处理策略 +// if (isRetryable(e)) { +// // 可重试异常:抛出异常触发重试 +// throw e; +// } else { + // 不可恢复异常:拒绝消息且不重新入队 + throw new AmqpRejectAndDontRequeueException("消息处理失败且禁止重试", e); +// } + } + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/orginfo/listener/OrgInfoMQListener.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/orginfo/listener/OrgInfoMQListener.java new file mode 100644 index 0000000..b043a35 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/orginfo/listener/OrgInfoMQListener.java @@ -0,0 +1,87 @@ +package com.nu.mq.orginfo.listener; + +import cn.hutool.core.util.IdUtil; +import com.nu.dto.OrgApplyInfoMQDto; +import com.nu.modules.orginfo.entity.OrgInfo; +import com.nu.modules.orginfo.service.IOrgInfoService; +import com.nu.modules.workorder.api.IWorkOrderApi; +import com.nu.modules.workorder.entity.WorkOrderEntity; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.system.entity.SysDepartEntity; +import org.springframework.amqp.core.ExchangeTypes; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Date; + +@Slf4j +@Component +public class OrgInfoMQListener { + + @Autowired + private IOrgInfoService orgInfoService; + @Autowired + private ISysBaseAPI sysBaseAPI; + @Autowired + private IWorkOrderApi workOrderApi; + + /** + * 机构加盟-上传合同环节后-通知运维平台搭建对应业务平台 + * 1、需要在系统机构表中创建机构信息(自动生成机构编码) + * 2、向机构附加信息表中插入数据 + * @param dto + */ + @RabbitListener( + bindings = @QueueBinding( + value = @Queue(name = "hldy.orgApply.build"), + exchange = @Exchange(name = "hldy.orgApply.build", type = ExchangeTypes.DIRECT), + key = "hldy.orgApply.build" + ), + errorHandler = "orgInfoMQErrorHandler" + ) + public void handleNuBaseInfoSyncMessageStatus(OrgApplyInfoMQDto dto) { + OrgInfo orgInfo = new OrgInfo(); + BeanUtils.copyProperties(dto,orgInfo); + orgInfo.setPkId(dto.getId()); + //向机构附加信息表中插入数据 + orgInfoService.save(orgInfo); + + //在系统机构表中创建机构信息 + SysDepartEntity sysDepart = new SysDepartEntity(); + sysDepart.setId(dto.getId()); + sysDepart.setCreateBy("admin"); + sysDepart.setDepartName(dto.getComName()); + sysDepart.setDepartOrder(0); + sysDepart.setOrgCategory("1"); + sysDepart.setOrgType("1"); + sysDepart.setDelFlag("0"); + sysDepart.setIzLeaf(1); + sysDepart.setPlatType("ywjg"); + String orgCode = sysBaseAPI.addOrg(sysDepart); + + //新增工单 + WorkOrderEntity workOrderEntity = new WorkOrderEntity(); + String workOrderId = IdUtil.simpleUUID(); + workOrderEntity.setId(workOrderId); + workOrderEntity.setPkId(workOrderId); + workOrderEntity.setOrgId(dto.getId()); + workOrderEntity.setOrgCode(orgCode); + workOrderEntity.setOrgName(dto.getComName()); + workOrderEntity.setPlatType("pc"); + workOrderEntity.setTitle("机构加盟平台搭建"); + workOrderEntity.setContent("机构加盟平台搭建"); + workOrderEntity.setStatus("0"); + workOrderEntity.setCreateBy(dto.getOperateBy()); + workOrderEntity.setCreateTime(new Date()); + workOrderEntity.setTel(dto.getOperateTelephone()); + workOrderEntity.setEmail(dto.getOperateEmail()); + workOrderApi.createWorkOrder(workOrderEntity); + } + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/workorder/exceptionhandler/WorkOrderMQExceptionHandler.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/workorder/exceptionhandler/WorkOrderMQExceptionHandler.java new file mode 100644 index 0000000..401b0c5 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/workorder/exceptionhandler/WorkOrderMQExceptionHandler.java @@ -0,0 +1,28 @@ +package com.nu.mq.workorder.exceptionhandler; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.AmqpRejectAndDontRequeueException; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.listener.api.RabbitListenerErrorHandler; +import org.springframework.amqp.rabbit.support.ListenerExecutionFailedException; +import org.springframework.stereotype.Component; + +@Slf4j +@Component("workOrderMQErrorHandler") +public class WorkOrderMQExceptionHandler implements RabbitListenerErrorHandler { + + @Override + public Object handleError(Message message, org.springframework.messaging.Message message1, ListenerExecutionFailedException e) { + log.error("MQ消息处理失败 | 消息体: {} | 异常原因: {}", new String(message.getBody()), e.getCause().getMessage()); + + // 根据异常类型选择处理策略 +// if (isRetryable(e)) { +// // 可重试异常:抛出异常触发重试 +// throw e; +// } else { + // 不可恢复异常:拒绝消息且不重新入队 + throw new AmqpRejectAndDontRequeueException("消息处理失败且禁止重试", e); +// } + } + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/workorder/listener/WorkOrderMQListener.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/workorder/listener/WorkOrderMQListener.java new file mode 100644 index 0000000..56f2eae --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/workorder/listener/WorkOrderMQListener.java @@ -0,0 +1,38 @@ +package com.nu.mq.workorder.listener; + +import com.nu.dto.OrgApplyInfoMQDto; +import com.nu.modules.orginfo.entity.OrgInfo; +import com.nu.modules.orginfo.service.IOrgInfoService; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.system.entity.SysDepartEntity; +import org.springframework.amqp.core.ExchangeTypes; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +public class WorkOrderMQListener { + + /** + * 创建工单 + * + * @param dto + */ + @RabbitListener( + bindings = @QueueBinding( + value = @Queue(name = "hldy.work.created"), + exchange = @Exchange(name = "hldy.work.created", type = ExchangeTypes.DIRECT), + key = "hldy.work.created" + ), + errorHandler = "workOrderMQErrorHandler" + ) + public void handleNuBaseInfoSyncMessageStatus() { + } + +} diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApi.java index 9704d69..2c94368 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApi.java @@ -15,7 +15,7 @@ import java.util.HashMap; import java.util.Map; @RestController -@RequestMapping("/nuIpadApi/versionManage") +@RequestMapping("/api/pad") @CrossOrigin("*") public class VersionManageApi { diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApiBK.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApiBK.java deleted file mode 100644 index 23643cf..0000000 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApiBK.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.nu.modules.pad.appversionconfig.api; - -import cn.hutool.core.util.StrUtil; -import com.nu.modules.pad.appversionconfig.entity.AppConfig; -import com.nu.modules.pad.appversionconfig.entity.R; -import com.nu.modules.pad.appversionconfig.entity.VersionInfo; -import com.nu.modules.pad.appversionconfig.service.IAppConfigService; -import org.jeecg.common.aspect.annotation.AutoLog; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.HashMap; -import java.util.Map; - -@RestController -@RequestMapping("/api/pad") -@CrossOrigin("*") -public class VersionManageApiBK { - - @Autowired - private IAppConfigService appConfigService; - /** - * APP版本更新 - * 请求参数中其实不止传递了一下四个,更多请看插件市场作者的文档,https://ext.dcloud.net.cn/plugin?id=3931 - * @param platform 平台(android/ios) - * @param name 应用名称 - * @param version 应用版本名称 主版本号.次版本号.修订号 - * @param code 应用版本号 - * @return - */ - @AutoLog(value = "APP版本更新检测") - @RequestMapping("/versionUpdate") - public R check(String platform,String name,String version,String code) { - Map map = new HashMap<>(); - VersionInfo info = new VersionInfo(); - info.setUpdate_flag(0); - map.put("code", 100); - map.put("data", info); - AppConfig appConfig = appConfigService.findLastVersionInfo(); - if(appConfig ==null) { - map.put("msg", "无版本配置信息"); - return R.ok(map); - } - if(!StrUtil.isEmptyIfStr(version) && !StrUtil.isEmptyIfStr(platform)) { - int[] oldVers = StrUtil.splitToInt(version, "."); - int[] newVers = StrUtil.splitToInt(appConfig.getVersionCode(), "."); - boolean isUpdateFlag = false; - int length = oldVers.length > newVers.length ? newVers.length : oldVers.length; - for (int i = 0; i < length; i++) { - if(newVers[i] > oldVers[i]) { - isUpdateFlag = true; - break; - } - } - if(isUpdateFlag) { - info.setUpdate_flag(1);//0:不需要更新,1:需要更新 - info.setVersion(appConfig.getVersionCode()); - info.setUpdate_url(appConfig.getVersionUrl()); - info.setUpdate_tips(appConfig.getUpdateTrips()); - info.setForceupdate(appConfig.getIsForceUpdate()); - map.put("code", 100); - map.put("msg", "应用程序需要更新"); - map.put("data", info); - } - return R.ok(map); - }else { - map.put("code", 500); - map.put("msg", "请求参数不含版本号、平台"); - map.put("data", info); - return R.ok(map); - } - } -} diff --git a/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java index d87d51c..49221fe 100644 --- a/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java +++ b/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java @@ -120,7 +120,6 @@ public class ShiroConfig { filterChainDefinitionMap.put("/sys/getQrcodeToken/**", "anon"); //监听扫码 filterChainDefinitionMap.put("/sys/checkAuth", "anon"); //授权接口排除 filterChainDefinitionMap.put("/api/pad/versionUpdate", "anon");//pad端版本检测接口 - filterChainDefinitionMap.put("/nuIpadApi/versionManage/versionUpdate", "anon");//pad端版本检测接口 filterChainDefinitionMap.put("/api/ocr/**", "anon");//阿里云证件识别 filterChainDefinitionMap.put("/ws/ssh/**", "anon");//SSH测试 filterChainDefinitionMap.put("/api/proxy/**", "anon");//代理请求 diff --git a/nursing-unit-common/src/main/java/com/nu/dto/OrgApplyInfoMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/OrgApplyInfoMQDto.java new file mode 100644 index 0000000..b012eca --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/dto/OrgApplyInfoMQDto.java @@ -0,0 +1,215 @@ +package com.nu.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: 机构加盟 + * @Author: 张明远 + * @Date: 2025-07-08 + * @Version: V1.0 + */ +@Data +public class OrgApplyInfoMQDto implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + /** + * 机构ID orgId 同机构相同(申请时生成数据的id) + */ + private String pkId; + /** + * 微信id + */ + private String openId; + /** + * 微信名称 + */ + private String wechatName; + /** + * 联系电话 + */ + private String tel; + /** + * 状态 1审核中 2审核完成 3驳回 + */ + private String status; + /** + * 变更状态 0可修改 1不可修改 + */ + private String modifyStatus; + /** + * 构建状态构建状态1、机构加盟【小程序】2、加盟审核【管理平台】3、加盟合同【管理平台】4、平台搭建【运维平台】5、账户初始化【管理平台】6、信息推送【公众号】 + */ + private String buildStatus; + + //构建状态前后台处理逻辑字段 + private String buildStatusVal; + + /** + * 审核备注 + */ + private String content; + /** + * 创建人 + */ + private String createBy; + /** + * 创建日期 + */ + private java.util.Date createTime; + /** + * 更新人 + */ + private String updateBy; + /** + * 更新日期 + */ + private java.util.Date updateTime; + /** + * 机构是否入驻0否 1是(是否入驻过) + */ + private String izEntry; + /** + * 咨询人姓名 + */ + private String name; + /** + * 性别 + */ + private String sex; + /** + * 民族 + */ + private String national; + /** + * 出生日期 + */ + private java.util.Date birthDate; + /** + * 住址(身份证上) + */ + private String idCardAddress; + /** + * 身份证号 + */ + private String idCard; + /** + * 签发机关 + */ + private String issuingAuthority; + /** + * 有效开始日期 + */ + private java.util.Date startTime; + /** + * 有效结束日期 + */ + private java.util.Date endTime; + /** + * 身份证正面 + */ + private String cardZmPath; + /** + * 身份证反面 + */ + private String cardFmPath; + /** + * 营业执照照片 + */ + private String comBusinessLicense; + /** + * 企业名称 + */ + private String comName; + /** + * 企业注册地址 + */ + private String comRegisterAddress; + /** + * 企业信用代码 + */ + private String comCreditCode; + /** + * 企业法人 + */ + private String comLegalPerson; + /** + * 机构地址 + */ + private String orgAddress; + /** + * 机构位置坐标:经度 + */ + private String orgCoordinateLo; + /** + * 机构位置坐标:纬度 + */ + private String orgCoordinateLa; + /** + * 机构负责人 + */ + private String orgLeader; + /** + * 机构负责人电话 + */ + private String orgLeaderPhone; + /** + * 机构楼宇牌号 + */ + private String orgBuildingNumber; + /** + * 机构房屋性质 + */ + private String orgPropertyType; + /** + * 机构建筑面积 + */ + private Double orgBuildingArea; + /** + * 机构省份 sys_category.id + */ + private String orgProvince; + /** + * 机构城市 sys_category.id + */ + private String orgCity; + /** + * 机构区域 sys_category.id + */ + private String orgDistrict; + /** + * 合同附件 + */ + private String contract; + /** + * 合同备注 + */ + private String contractNote; + + /** + * 提交时间 + */ + private java.util.Date commitTime; + + /** + * 审核时间 + */ + private java.util.Date auditTime; + + /** + * 加盟时间 + */ + private java.util.Date franchiseTime; + + //加盟上传合同操作人 + private String operateBy; + //加盟上传合同操作人电话 + private String operateTelephone; + //加盟上传合同操作人邮箱 + private String operateEmail; +} diff --git a/nursing-unit-common/src/main/java/com/nu/dto/WorkOrderMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/WorkOrderMQDto.java new file mode 100644 index 0000000..06ac5b1 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/dto/WorkOrderMQDto.java @@ -0,0 +1,54 @@ +package com.nu.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 工单表 + * @Author: zmy + * @Date: 2025-07-09 + * @Version: V1.0 + */ +@Data +public class WorkOrderMQDto implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**区分同一工单用nu_word_order.id*/ + private String pkId; + /**机构ID*/ + private String orgId; + /**机构编码(可能不存在)*/ + private String orgCode; + /**机构名称*/ + private String orgName; + /**平台类型pc wechat pad*/ + private String platType; + /**标题*/ + private String title; + /**描述*/ + private String content; + /**附件*/ + private String filePath; + /**状态 0待接收 1处理中 3已解决 4工单异常 5外部原因*/ + private String status; + /**创建人*/ + private String createBy; + /**创建时间*/ + private Date createTime; + /**回复内容*/ + private String replyContent; + /**回复附件*/ + private String replyFile; + /**回复时间*/ + private Date replyTime; + /**处理人*/ + private String handleBy; + /**工单提交人联系电话*/ + private String tel; + /**工单提交人邮件地址*/ + private String email; +} diff --git a/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java b/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java index 1005fd2..5c94279 100644 --- a/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java +++ b/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java @@ -6,6 +6,7 @@ import org.jeecg.common.api.dto.DataLogDTO; import org.jeecg.common.api.dto.OnlineAuthDTO; import org.jeecg.common.api.dto.message.*; import org.jeecg.common.constant.enums.EmailTemplateEnum; +import org.jeecg.common.system.entity.SysDepartEntity; import org.jeecg.common.system.vo.*; import java.util.List; @@ -625,4 +626,6 @@ public interface ISysBaseAPI extends CommonAPI { JSONObject getOrgInfoByNuId(String nuId); JSONObject getOrgInfo(String orgCode); + + String addOrg(SysDepartEntity sysDepart); } diff --git a/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/entity/SysDepartEntity.java b/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/entity/SysDepartEntity.java new file mode 100644 index 0000000..4e49c34 --- /dev/null +++ b/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/entity/SysDepartEntity.java @@ -0,0 +1,177 @@ +package org.jeecg.common.system.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + *

+ * 部门表 + *

+ * + */ +@Data +public class SysDepartEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + /** + * 父机构ID + */ + private String parentId; + /** + * 机构/部门名称 + */ + private String departName; + /** + * 英文名 + */ + private String departNameEn; + /** + * 缩写 + */ + private String departNameAbbr; + /** + * 排序 + */ + private Integer departOrder; + /** + * 描述 + */ + private String description; + /** + * 机构类别 1=公司,2=组织机构,3=岗位 + */ + private String orgCategory; + /** + * 机构类型 + */ + private String orgType; + /** + * 机构编码 + */ + private String orgCode; + /** + * 协议+域名 + */ + private String url; + /** + * 省份 + */ + private String province; + /** + * 城市 + */ + private String city; + /** + * 区县 + */ + private String district; + /** + * 业务平台类型 + */ + private String platType; + /** + * 运营开始时间 + */ + private Date operationStartTime; + /** + * 运营到期时间 + */ + private Date operationEndTime; + /** + * 合同开始时间 + */ + private Date contractStartTime; + /** + * 合同到期时间 + */ + private Date contractEndTime; + /** + * 手机号 + */ + private String mobile; + /** + * 传真 + */ + private String fax; + /** + * 地址 + */ + private String address; + /** + * 备注 + */ + private String memo; + /** + * 应缴金额 + */ + private BigDecimal payableAmount; + /** + * 状态(1启用,0不启用) + */ + private String status; + /** + * 删除状态(0,正常,1已删除) + */ + private String delFlag; + /** + * 对接企业微信的ID + */ + private String qywxIdentifier; + /** + * 对接钉钉的部门ID + */ + private String dingIdentifier; + /** + * 创建人 + */ + private String createBy; + /** + * 创建日期 + */ + private Date createTime; + /** + * 更新人 + */ + private String updateBy; + /** + * 更新日期 + */ + private Date updateTime; + /** + * 租户ID + */ + private Integer tenantId; + + /** + * 是否有叶子节点: 1是0否 + */ + private Integer izLeaf; + + /** + * 各机构服务器后台接口地址 + */ + private String serverUrl; + /** + * 各机构服务器后台接口地址 + */ + private String picUrl; + + //update-begin---author:wangshuai ---date:20200308 for:[JTC-119]在部门管理菜单下设置部门负责人,新增字段负责人ids和旧的负责人ids + /** + * 部门负责人的ids + */ + private String directorUserIds; + /** + * 旧的部门负责人的ids(用于比较删除和新增) + */ + private String oldDirectorUserIds; + //update-end---author:wangshuai ---date:20200308 for:[JTC-119]新增字段负责人ids和旧的负责人ids + +} diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/entity/SysDepart.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/entity/SysDepart.java index 6f5c792..e8ec61b 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/entity/SysDepart.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/entity/SysDepart.java @@ -203,7 +203,7 @@ public class SysDepart implements Serializable { */ private String serverUrl; /** - * 各机构服务器后台接口地址 + * 机构图片 */ private String picUrl; diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java index b059881..3dd1050 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java @@ -16,6 +16,7 @@ import com.google.common.collect.Maps; import org.apache.commons.compress.utils.Lists; import org.apache.commons.lang3.ArrayUtils; import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.system.entity.SysDepartEntity; import org.jeecg.modules.message.entity.SysMessageTemplate; import org.jeecg.modules.message.handle.impl.DdSendMsgHandle; import org.jeecg.modules.message.handle.impl.EmailSendMsgHandle; @@ -717,13 +718,14 @@ public class SysBaseApiImpl implements ISysBaseAPI { /** * 不要改排序 排序固定用first_letter asc + * * @param pid * @return */ @Override public List queryCategoryByPid(String pid) { QueryWrapper qw = new QueryWrapper<>(); - qw.eq("pid",pid); + qw.eq("pid", pid); //专门解决获取行政区排序问题的 qw.orderByAsc("first_letter"); List list = categoryMapper.selectList(qw); @@ -1891,10 +1893,10 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public JSONObject getOrgInfoByNuId(String nuId) { - if(StringUtils.isBlank(nuId)){ + if (StringUtils.isBlank(nuId)) { return null; } - String orgCode = nuId.substring(4, nuId.length()-3); + String orgCode = nuId.substring(4, nuId.length() - 3); return queryOrgInfo(orgCode); } @@ -1903,6 +1905,24 @@ public class SysBaseApiImpl implements ISysBaseAPI { return queryOrgInfo(orgCode); } + @Override + public String addOrg(SysDepartEntity sysDepart_) { + SysDepart sysDepart = new SysDepart(); + BeanUtils.copyProperties(sysDepart_, sysDepart); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("org_category", "1") + .eq("org_type", "1") + .eq("del_flag", "0") + .orderByDesc("CAST(org_code AS SIGNED)") + .last("LIMIT 1"); + SysDepart s_ = sysDepartService.getOne(qw); + int code = Integer.parseInt(s_.getOrgCode()) + 1; + sysDepart.setOrgCode(code+""); + sysDepart.setDepartOrder(code); + sysDepartService.save(sysDepart); + return code+""; + } + @Nullable private JSONObject queryOrgInfo(String orgCode) { QueryWrapper qw = new QueryWrapper<>(); @@ -1920,7 +1940,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public Object queryAreaNameById(String id) { QueryWrapper qw = new QueryWrapper<>(); - qw.eq("id",id); + qw.eq("id", id); return categoryMapper.selectOne(qw); } diff --git a/pom.xml b/pom.xml index 18e5a04..12c9a28 100644 --- a/pom.xml +++ b/pom.xml @@ -450,7 +450,7 @@ dev - false + true @@ -462,20 +462,12 @@ uat - true + false uat - - - prod - - - prod - -