From 1027ccc4056ea9ae58797bddecdad38c7ada86af Mon Sep 17 00:00:00 2001 From: niujiyi <18272501226@163.com> Date: Wed, 20 May 2026 20:01:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=A7=E6=B3=95=E7=AB=AF-=E9=9D=9E=E8=A1=8C?= =?UTF-8?q?=E6=94=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...pNonEnforcementRegistrationController.java | 60 +++ .../domain/NonEnforcementRegistration.java | 148 +++--- .../bo/NonEnforcementRegistrationBo.java | 243 ++++++++++ .../vo/NonEnforcementRegistrationVo.java | 236 ++++++++++ .../NonEnforcementRegistrationMapper.java | 70 +++ .../INonEnforcementRegistrationService.java | 71 +++ ...NonEnforcementRegistrationServiceImpl.java | 334 ++++++++++++++ .../NonEnforcementRegistrationMapper.xml | 431 ++++++++++++++++++ .../system/mapper/SysDictDataMapper.java | 2 + .../dromara/system/mapper/SysUserMapper.java | 10 + .../mapper/system/SysDictDataMapper.xml | 7 + .../resources/mapper/system/SysUserMapper.xml | 67 +++ 12 files changed, 1624 insertions(+), 55 deletions(-) create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppNonEnforcementRegistrationController.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/NonEnforcementRegistrationBo.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/NonEnforcementRegistrationVo.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/NonEnforcementRegistrationMapper.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/INonEnforcementRegistrationService.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/NonEnforcementRegistrationServiceImpl.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/NonEnforcementRegistrationMapper.xml diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppNonEnforcementRegistrationController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppNonEnforcementRegistrationController.java new file mode 100644 index 00000000..a7315386 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppNonEnforcementRegistrationController.java @@ -0,0 +1,60 @@ +package com.zdxt.enforcementcode.controller.app.enforcement; + +import com.zdxt.enforcementcode.domain.bo.NonEnforcementRegistrationBo; +import com.zdxt.enforcementcode.domain.vo.NonEnforcementRegistrationVo; +import com.zdxt.enforcementcode.service.INonEnforcementRegistrationService; +import org.dromara.common.core.domain.R; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 执法端-非行政执法登记Controller + * + */ +@RestController +@RequestMapping("/app-enf/nonRegistration") +public class AppNonEnforcementRegistrationController extends BaseController { + + @Autowired private INonEnforcementRegistrationService enforcementRegistrationService; + + /** + * 执法端-非行政新增保存执法登记 + */ + @PostMapping("/add") + @ResponseBody + public R addSave(@RequestBody NonEnforcementRegistrationBo bo) + { + + int result = enforcementRegistrationService.insertNonEnforcementRegistration(bo); + return result > 0 ? R.ok() : R.fail("新增失败"); + } + + /** + * 执法端-非行政查询执法登记列表 + */ + @GetMapping("/queryList") + public TableDataInfo queryList(NonEnforcementRegistrationBo bo) + { + int total = enforcementRegistrationService.getListTotal(bo); + List list = enforcementRegistrationService.selectNonEnforcementRegistrationList(bo); + TableDataInfo rspData = new TableDataInfo<>(list, total); + rspData.setCode(0); + return rspData; + } + + /** + * 执法端-非行政查询执法登记列表 + */ + @GetMapping("/queryById") + public R queryById(String id) + { + NonEnforcementRegistrationVo registrations = enforcementRegistrationService.selectNonEnforcementRegistrationById(id); + return R.ok(registrations); + } + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/NonEnforcementRegistration.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/NonEnforcementRegistration.java index 47c4358c..51e826f0 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/NonEnforcementRegistration.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/NonEnforcementRegistration.java @@ -1,18 +1,24 @@ package com.zdxt.enforcementcode.domain; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serial; -import java.util.Date; +/** + * 非行政执法登记对象 non_enforcement_registration + * + * @author niujiyi + * @date 2026-05-19 + */ @Data -@EqualsAndHashCode() +@EqualsAndHashCode(callSuper = true) @TableName("non_enforcement_registration") -public class NonEnforcementRegistration { +public class NonEnforcementRegistration extends BaseEntity { @Serial private static final long serialVersionUID = 1L; @@ -24,127 +30,159 @@ public class NonEnforcementRegistration { private String id; /** - * 关联执法记录ID + * 被执法企业 */ - private String relId; + private String enterpriseName; /** - * 执法类型 + * */ - private Long enforceType; + private String enterpriseNumber; /** - * 问题描述 + * 执法时间 */ - private String problemDescription; + private Date enforcementTime; /** - * 联系人 + * 执法人员姓名 */ - private String linkman; + private String lawEnforcer; /** - * 联系方式 + * 执法人员ID */ - private String linkmanTel; + private String lawEnforcerId; /** - * 是否删除 0 否 1 是 + * 其他执法人员姓名 */ - private Long isDelete; + private String lawEnforcerOther; /** - * 投诉对接12345案件类型 + * 其他执法人员ID */ - private String caseType; + private String lawEnforcerIdOther; /** - * + * 执法(入企)类别 0 其他 */ - private Long authorization; + private Long lawEnforcementType; /** - * + * 执法(入企)类别 */ - private Long comOrOpi; + private String lawEnforcementTypeText; /** - * + * 执法(入企)事项 0 其他 */ - private String enterpriseAddress; + private Long lawEnforcementItem; /** - * + * 执法(入企)事项 */ - private String proWoCode; + private String lawEnforcementItemText; /** - * + * 执法(活动)依据 + */ + private String lawEnforcementBasis; + + /** + * 执法(活动)依据 + */ + private String lawEnforcementBasisText; + + /** + * 备注 + */ + private String remark; + + /** + * 执法结果 0 合格 1 不合格 + */ + private Long reslut; + + /** + * 数据状态 0 正常 1 取消 */ private Long status; /** - * + * 是否删除 0 否 1 是 */ - private Date evaluateTime; + private Long hasDelete; /** - * + * 是否投诉 0 否 1 是 */ - private String enterpriseNumber; + private Long hasComplaint; /** - * + * 数据保存或提交 0 保存 1提交 */ - private String enterpriseName; + private Long hasSubmit; /** - * 执法部门多个-逗号隔开 + * 是否评价 0 否 1 是 */ - private String complaintDepartments; + private Long hasEvaluate; /** - * 执法部门id多个-逗号隔开 + * 预告id */ - private String complaintDepartmentIds; + private String lawId; /** - * 执法时间 + * 预告 */ - private Date enforcementTime; + private String lawText; + + /** + * 执法主体部门id + */ + private String bureauDeptId; /** - * 投诉类型 0 系默认 1 联合检查 + * 执法主体 */ - private Long complaintType; + private String bureauDeptName; /** - * 投诉事项编码,多个逗号隔开 + * 执法主体部门统一信用代码 */ - private String complaintItemCodes; + private String creditcode; /** - * 投诉事项名称,多个逗号隔开 + * 用户id */ - private String complaintItemNames; + private String userId; /** - * 同步过来的处理时间 + * 部门ID */ - private String handleTime; + private String deptId; /** - * 投诉事项(对应记录表执法/入企事项) + * 企业注册地址 */ - private String complaintRecordItem; + private String enterpriseAddress; /** - * 数据类型 0行政 1 非行政 + * 企业注册区 */ - private Long recordType; + private String district; /** - * 是否有投诉 0 否 1 是 + * 企业注册街道 */ - private Long HasComplaint; + private String street; + + /** + * 未扫码原因 + */ + private String reason; + + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/NonEnforcementRegistrationBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/NonEnforcementRegistrationBo.java new file mode 100644 index 00000000..6899b94d --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/NonEnforcementRegistrationBo.java @@ -0,0 +1,243 @@ +package com.zdxt.enforcementcode.domain.bo; + +import com.zdxt.enforcementcode.domain.NonEnforcementRegistration; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import java.util.List; + +/** + * 非行政执法登记业务对象 non_enforcement_registration + * + * @author niujiyi + * @date 2026-05-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = NonEnforcementRegistration.class, reverseConvertGenerate = false) +public class NonEnforcementRegistrationBo extends BaseEntity { + + /** + * 主键ID + */ + private String id; + + /** + * 被执法企业 + */ + private String enterpriseName; + + /** + * + */ + private String enterpriseNumber; + + /** + * 执法时间 + */ + private Date enforcementTime; + + /** + * 执法人员姓名 + */ + private String lawEnforcer; + + /** + * 执法人员ID + */ + private String lawEnforcerId; + + /** + * 其他执法人员姓名 + */ + private String lawEnforcerOther; + + /** + * 其他执法人员ID + */ + private String lawEnforcerIdOther; + + /** + * 执法(入企)类别 0 其他 + */ + private Long lawEnforcementType; + + /** + * 执法(入企)类别 + */ + private String lawEnforcementTypeText; + + /** + * 执法(入企)事项 0 其他 + */ + private Long lawEnforcementItem; + + /** + * 执法(入企)事项 + */ + private String lawEnforcementItemText; + + /** + * 执法(活动)依据 + */ + private String lawEnforcementBasis; + + /** + * 执法(活动)依据 + */ + private String lawEnforcementBasisText; + + /** + * 备注 + */ + private String remark; + + /** + * 执法结果 0 合格 1 不合格 + */ + private Long reslut; + + /** + * 数据状态 0 正常 1 取消 + */ + private Long status; + + /** + * 是否删除 0 否 1 是 + */ + private Long hasDelete; + + /** + * 是否投诉 0 否 1 是 + */ + private Long hasComplaint; + + /** + * 数据保存或提交 0 保存 1提交 + */ + private Long hasSubmit; + + /** + * 是否评价 0 否 1 是 + */ + private Long hasEvaluate; + + /** + * 预告id + */ + private String lawId; + + /** + * 预告 + */ + private String lawText; + + /** + * 执法主体部门id + */ + private String bureauDeptId; + + /** + * 执法主体 + */ + private String bureauDeptName; + + /** + * 执法主体部门统一信用代码 + */ + private String creditcode; + + /** + * 用户id + */ + private String userId; + + /** + * 部门ID + */ + private String deptId; + + /** + * 企业注册地址 + */ + private String enterpriseAddress; + + /** + * 企业注册区 + */ + private String district; + + /** + * 企业注册街道 + */ + private String street; + + /** + * 未扫码原因 + */ + private String reason; + + private List fileList; + + /** + * 日期类型:1-本月,2-本季度,3-本年 + */ + private Integer dateType; + + /** + * 日期搜索类型:year-年,quarter-季度,month-月,selectTime-自定义时间 + */ + private String dateSearch; + + /** + * 区域 + */ + private String area; + + /** + * 年份 + */ + private String year; + + /** + * 季度 + */ + private String quarter; + + /** + * 月份 + */ + private String month; + + /** + * 开始时间 + */ + private String startTime; + + /** + * 结束时间 + */ + private String endTime; + + /** + * 搜索值 + */ + private String searchValue; + + /** + * 区域文本(用于SQL查询) + */ + private String areaText; + + /** + * 街道文本(用于SQL查询) + */ + private String streetText; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/NonEnforcementRegistrationVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/NonEnforcementRegistrationVo.java new file mode 100644 index 00000000..f823ece5 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/NonEnforcementRegistrationVo.java @@ -0,0 +1,236 @@ +package com.zdxt.enforcementcode.domain.vo; + +import java.util.Date; + +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import com.zdxt.enforcementcode.domain.NonEnforcementRegistration; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; +import java.util.Map; + + +/** + * 非行政执法登记视图对象 non_enforcement_registration + * + * @author niujiyi + * @date 2026-05-19 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = NonEnforcementRegistration.class) +public class NonEnforcementRegistrationVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private String id; + + /** + * 被执法企业 + */ + @ExcelProperty(value = "被执法企业") + private String enterpriseName; + + /** + * + */ + @ExcelProperty(value = "") + private String enterpriseNumber; + + /** + * 执法时间 + */ + @ExcelProperty(value = "执法时间") + private Date enforcementTime; + + /** + * 执法人员姓名 + */ + @ExcelProperty(value = "执法人员姓名") + private String lawEnforcer; + + /** + * 执法人员ID + */ + @ExcelProperty(value = "执法人员ID") + private String lawEnforcerId; + + /** + * 其他执法人员姓名 + */ + @ExcelProperty(value = "其他执法人员姓名") + private String lawEnforcerOther; + + /** + * 其他执法人员ID + */ + @ExcelProperty(value = "其他执法人员ID") + private String lawEnforcerIdOther; + + /** + * 执法(入企)类别 0 其他 + */ + @ExcelProperty(value = "执法(入企)类别 0 其他") + private Long lawEnforcementType; + + /** + * 执法(入企)类别 + */ + @ExcelProperty(value = "执法(入企)类别") + private String lawEnforcementTypeText; + + /** + * 执法(入企)事项 0 其他 + */ + @ExcelProperty(value = "执法(入企)事项 0 其他") + private Long lawEnforcementItem; + + /** + * 执法(入企)事项 + */ + @ExcelProperty(value = "执法(入企)事项") + private String lawEnforcementItemText; + + /** + * 执法(活动)依据 + */ + @ExcelProperty(value = "执法(活动)依据") + private String lawEnforcementBasis; + + /** + * 执法(活动)依据 + */ + @ExcelProperty(value = "执法(活动)依据") + private String lawEnforcementBasisText; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 执法结果 0 合格 1 不合格 + */ + @ExcelProperty(value = "执法结果 0 合格 1 不合格") + private Long reslut; + + /** + * 数据状态 0 正常 1 取消 + */ + @ExcelProperty(value = "数据状态 0 正常 1 取消") + private Long status; + + /** + * 是否删除 0 否 1 是 + */ + @ExcelProperty(value = "是否删除 0 否 1 是") + private Long hasDelete; + + /** + * 是否投诉 0 否 1 是 + */ + @ExcelProperty(value = "是否投诉 0 否 1 是") + private Long hasComplaint; + + /** + * 数据保存或提交 0 保存 1提交 + */ + @ExcelProperty(value = "数据保存或提交 0 保存 1提交") + private Long hasSubmit; + + /** + * 是否评价 0 否 1 是 + */ + @ExcelProperty(value = "是否评价 0 否 1 是") + private Long hasEvaluate; + + /** + * 预告id + */ + @ExcelProperty(value = "预告id") + private String lawId; + + /** + * 预告 + */ + @ExcelProperty(value = "预告") + private String lawText; + + /** + * 执法主体部门id + */ + @ExcelProperty(value = "执法主体部门id") + private String bureauDeptId; + + /** + * 执法主体 + */ + @ExcelProperty(value = "执法主体") + private String bureauDeptName; + + /** + * 执法主体部门统一信用代码 + */ + @ExcelProperty(value = "执法主体部门统一信用代码") + private String creditcode; + + /** + * 用户id + */ + @ExcelProperty(value = "用户id") + private String userId; + + /** + * 部门ID + */ + @ExcelProperty(value = "部门ID") + private String deptId; + + /** + * 企业注册地址 + */ + @ExcelProperty(value = "企业注册地址") + private String enterpriseAddress; + + /** + * 企业注册区 + */ + @ExcelProperty(value = "企业注册区") + private String district; + + /** + * 企业注册街道 + */ + @ExcelProperty(value = "企业注册街道") + private String street; + + /** + * 未扫码原因 + */ + @ExcelProperty(value = "未扫码原因") + private String reason; + + /** + * 其他执法者列表 + */ + private List lawEnforcerOtherList; + + /**数据权限参数 */ + private Map params; + + /** + * 区域 + */ + private String area; + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/NonEnforcementRegistrationMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/NonEnforcementRegistrationMapper.java new file mode 100644 index 00000000..61d88a2f --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/NonEnforcementRegistrationMapper.java @@ -0,0 +1,70 @@ +package com.zdxt.enforcementcode.mapper; + +import com.zdxt.enforcementcode.domain.bo.NonEnforcementRegistrationBo; +import com.zdxt.enforcementcode.domain.vo.NonEnforcementRegistrationVo; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 非行政执法登记Mapper接口 + * + * @author kylin + * @date 2025-06-19 + */ +@Repository +public interface NonEnforcementRegistrationMapper +{ + /** + * 查询非行政执法登记 + * + * @param id 非行政执法登记ID + * @return 非行政执法登记 + */ + public NonEnforcementRegistrationVo selectNonEnforcementRegistrationById(String id); + + /** + * 查询非行政执法登记列表 + * + * @param bo 非行政执法登记 + * @return 非行政执法登记集合 + */ + public List selectNonEnforcementRegistrationList(NonEnforcementRegistrationBo bo); + + /** + * 新增非行政执法登记 + * + * @param bo 非行政执法登记 + * @return 结果 + */ + public int insertNonEnforcementRegistration(NonEnforcementRegistrationBo bo); + + /** + * 修改非行政执法登记 + * + * @param bo 非行政执法登记 + * @return 结果 + */ + public int updateNonEnforcementRegistration(NonEnforcementRegistrationBo bo); + + /** + * 删除非行政执法登记 + * + * @param id 非行政执法登记ID + * @return 结果 + */ + public int deleteNonEnforcementRegistrationById(String id); + + /** + * 批量删除非行政执法登记 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteNonEnforcementRegistrationByIds(String[] ids); + + + List getList(NonEnforcementRegistrationBo bo); + + int getListTotal(NonEnforcementRegistrationBo bo); +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/INonEnforcementRegistrationService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/INonEnforcementRegistrationService.java new file mode 100644 index 00000000..3f90a00d --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/INonEnforcementRegistrationService.java @@ -0,0 +1,71 @@ +package com.zdxt.enforcementcode.service; + +import com.zdxt.enforcementcode.domain.bo.NonEnforcementRegistrationBo; +import com.zdxt.enforcementcode.domain.vo.NonEnforcementRegistrationVo; +import jakarta.servlet.http.HttpServletResponse; + +import java.util.List; + +/** + * 非行政执法登记Service接口 + * + * @author kylin + * @date 2025-06-19 + */ +public interface INonEnforcementRegistrationService +{ + /** + * 查询非行政执法登记 + * + * @param id 非行政执法登记ID + * @return 非行政执法登记 + */ + public NonEnforcementRegistrationVo selectNonEnforcementRegistrationById(String id); + + /** + * 查询非行政执法登记列表 + * + * @param bo 非行政执法登记 + * @return 非行政执法登记集合 + */ + public List selectNonEnforcementRegistrationList(NonEnforcementRegistrationBo bo); + + /** + * 新增非行政执法登记 + * + * @param bo 非行政执法登记 + * @return 结果 + */ + public int insertNonEnforcementRegistration(NonEnforcementRegistrationBo bo); + + /** + * 修改非行政执法登记 + * + * @param bo 非行政执法登记 + * @return 结果 + */ + public int updateNonEnforcementRegistration(NonEnforcementRegistrationBo bo); + + /** + * 批量删除非行政执法登记 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteNonEnforcementRegistrationByIds(String ids); + + /** + * 删除非行政执法登记信息 + * + * @param id 非行政执法登记ID + * @return 结果 + */ + public int deleteNonEnforcementRegistrationById(String id); + + + List getList(NonEnforcementRegistrationBo bo); + + void downloadExcel(HttpServletResponse response, NonEnforcementRegistrationBo bo); + + int getListTotal(NonEnforcementRegistrationBo bo); +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/NonEnforcementRegistrationServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/NonEnforcementRegistrationServiceImpl.java new file mode 100644 index 00000000..643ae1b4 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/NonEnforcementRegistrationServiceImpl.java @@ -0,0 +1,334 @@ +package com.zdxt.enforcementcode.service.impl; + +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zdxt.enforcementcode.common.annotation.DataScope; +import com.zdxt.enforcementcode.common.util.CommonUtil; +import com.zdxt.enforcementcode.domain.ZdxtFile; +import com.zdxt.enforcementcode.domain.bo.NonEnforcementRegistrationBo; +import com.zdxt.enforcementcode.domain.vo.NonEnforcementRegistrationVo; +import com.zdxt.enforcementcode.mapper.NonEnforcementRegistrationMapper; +import com.zdxt.enforcementcode.mapper.ZdxtFileMapper; +import com.zdxt.enforcementcode.service.INonEnforcementRegistrationService; +import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.http.HttpServletResponse; +import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.ss.usermodel.*; +import org.dromara.common.core.enums.FormatsType; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.DateUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.system.domain.vo.SysDictDataVo; +import org.dromara.system.domain.vo.SysUserVo; +import org.dromara.system.mapper.SysDictDataMapper; +import org.dromara.system.mapper.SysUserMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 非行政执法登记Service业务层处理 + * + * @author kylin + * @date 2025-06-19 + */ +@Service +public class NonEnforcementRegistrationServiceImpl implements INonEnforcementRegistrationService +{ + @Autowired private NonEnforcementRegistrationMapper nonEnforcementRegistrationMapper; + @Autowired private ZdxtFileMapper zdxtFileMapper; + @Autowired private SysUserMapper sysUserMapper; + @Autowired private SysDictDataMapper sysDictDataMapper; + + + /** + * 查询非行政执法登记 + * + * @param id 非行政执法登记ID + * @return 非行政执法登记 + */ + @Override + public NonEnforcementRegistrationVo selectNonEnforcementRegistrationById(String id) + { + NonEnforcementRegistrationVo nonReg = nonEnforcementRegistrationMapper.selectNonEnforcementRegistrationById(id); + if (nonReg.getId() != null) { + SysUserVo user = sysUserMapper.selectUserById(Long.valueOf(nonReg.getLawEnforcerId())); + String temp=user.getLawCertificateNum(); + if(StringUtils.isEmpty(temp)){ + temp= CommonUtil.encryptPhone(user.getPhonenumber()); + } + nonReg.setLawEnforcer(user.getUserName()+" "+temp); + if(StringUtils.isNotEmpty(nonReg.getLawEnforcerOther())){ + List list = sysUserMapper.selectUserByIds(Convert.toStrArray(nonReg.getLawEnforcerIdOther())); + if(list.size()!=0){ + String tmpUserShow = ""; + for (SysUserVo ub : list) { + String t = ub.getLawCertificateNum(); + if(StringUtils.isEmpty(t)){ + t=CommonUtil.encryptPhone(ub.getPhonenumber()); + } + tmpUserShow += ub.getUserName() +" "+ t + ","; + } + if (tmpUserShow.length() > 0) { + tmpUserShow = tmpUserShow.substring(0, tmpUserShow.length()-1); + } + nonReg.setLawEnforcerOther(tmpUserShow); + } + } + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ZdxtFile::getBusinessId, nonReg.getId()); + List zdxtFileCommons=zdxtFileMapper.selectList(queryWrapper); + if (zdxtFileCommons.size() > 0) { + Map params = new HashMap(); + params.put("fileList", zdxtFileCommons); + nonReg.setParams(params); + } + } + return nonReg; + } + + /** + * 查询非行政执法登记列表 + * + * @param bo 非行政执法登记 + * @return 非行政执法登记 + */ + @Override + public List selectNonEnforcementRegistrationList(NonEnforcementRegistrationBo bo) + { + List list=nonEnforcementRegistrationMapper.selectNonEnforcementRegistrationList(bo); + if(list.size()!=0){ + // 执法人员 没有执法证件号展示加密手机号 + list.forEach(li->{ + if (StringUtils.isNotEmpty(li.getLawEnforcerId())) { + SysUserVo sysUserVo = sysUserMapper.selectUserById(Long.valueOf(li.getLawEnforcerId())); + if (sysUserVo != null) { + String lawCN = sysUserVo.getLawCertificateNum(); + if(StringUtils.isEmpty(lawCN)){ + lawCN = CommonUtil.encryptPhone(sysUserVo.getPhonenumber()); + } + li.setLawEnforcer(sysUserVo.getUserName() + " " + lawCN); + } else { + li.setLawEnforcer(li.getLawEnforcer()); + } + } + + List lawTwoList = new ArrayList<>(); + if (StringUtils.isNotEmpty(li.getLawEnforcerOther()) && StringUtils.isNotEmpty(li.getLawEnforcerIdOther())) { + List userBeans = sysUserMapper.selectUserByIds(Convert.toStrArray(li.getLawEnforcerIdOther())); + if (userBeans != null && !userBeans.isEmpty()) { + userBeans.forEach(u->{ + if (u != null) { + String temp = u.getLawCertificateNum(); + if(StringUtils.isEmpty(temp)){ + temp = CommonUtil.encryptPhone(u.getPhonenumber()); + } + lawTwoList.add(u.getUserName() + " " + temp); + } + }); + li.setLawEnforcerOtherList(lawTwoList); + } + } + }); + } + return list; + } + + /** + * 新增非行政执法登记 + * + * @param bo 非行政执法登记 + * @return 结果 + */ + @Override + public int insertNonEnforcementRegistration(NonEnforcementRegistrationBo bo) + { + bo.setId(IdUtil.simpleUUID()); + Long userId = LoginHelper.getUserId(); + String deptId = LoginHelper.getDeptId(); + + if (userId == null) { + throw new ServiceException("用户未登录,无法创建记录"); + } + String district = extract(bo.getEnterpriseAddress(), "([^\\s市]+?区)"); + String street = extract(bo.getEnterpriseAddress(), "([^\\s区]+?街道)"); + bo.setDistrict(district); + bo.setStreet(street); + bo.setCreateBy(userId); + bo.setCreateTime(DateUtils.getNowDate()); + bo.setUserId(Convert.toStr(userId)); + bo.setDeptId(deptId); + int resNum = nonEnforcementRegistrationMapper.insertNonEnforcementRegistration(bo); + + // 重新加入附件 + if (resNum > 0 && bo.getFileList() != null && bo.getFileList().size() > 0) { + zdxtFileMapper.deleteZdxtFileByBusinessIds(Convert.toStrArray(bo.getId())); + bo.getFileList().forEach(res -> { + ZdxtFile zdxtFile = new ZdxtFile(); + zdxtFile.setBusinessId(bo.getId()); + zdxtFile.setGuid(IdUtil.simpleUUID()); + zdxtFile.setUploadPath(res); + zdxtFile.setUploadPersonId(Convert.toStr(LoginHelper.getUserId())); + zdxtFile.setUploadPersonName(LoginHelper.getUsername()); + zdxtFileMapper.insertZdxtFile(zdxtFile); + }); + } + return resNum; + } + + private static String extract(String text, String regex) { + java.util.regex.Pattern pattern = java.util.regex.Pattern.compile(regex); + java.util.regex.Matcher matcher = pattern.matcher(text); + if (matcher.find()) { + return matcher.group(1); + } + return ""; + } + /** + * 修改非行政执法登记 + * + * @param bo 非行政执法登记 + * @return 结果 + */ + @Override + public int updateNonEnforcementRegistration(NonEnforcementRegistrationBo bo) + { + return nonEnforcementRegistrationMapper.updateNonEnforcementRegistration(bo); + } + + /** + * 删除非行政执法登记对象 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteNonEnforcementRegistrationByIds(String ids) + { + return nonEnforcementRegistrationMapper.deleteNonEnforcementRegistrationByIds(Convert.toStrArray(ids)); + } + + /** + * 删除非行政执法登记信息 + * + * @param id 非行政执法登记ID + * @return 结果 + */ + @Override + public int deleteNonEnforcementRegistrationById(String id) + { + return nonEnforcementRegistrationMapper.deleteNonEnforcementRegistrationById(id); + } + + @Override + @DataScope(deptAlias = "n",userAlias = "n",deptField = "bureau_dept_id") + public List getList(NonEnforcementRegistrationBo param) { + List list=nonEnforcementRegistrationMapper.getList(param); + if(list.size()==0)return list; + List areaList=sysDictDataMapper.selectDictDataByType("address_Type"); + List areaType=areaList.stream().map(li->li.getDictValue()).collect(Collectors.toList()); + List streetList=sysDictDataMapper.selectDataByDataTypes(areaType); + list.forEach(li->{ + if(StringUtils.isNotEmpty(li.getLawEnforcerOther())){ + li.setLawEnforcer(li.getLawEnforcer()+","+li.getLawEnforcerOther()); + } + if(StringUtils.isNotEmpty(li.getEnterpriseAddress())){ + SysDictDataVo area=areaList.stream().filter(a->li.getEnterpriseAddress().contains(a.getDictLabel())).findFirst().orElse(null); + li.setArea(area!=null?area.getDictLabel():""); + SysDictDataVo street=streetList.stream().filter(s->li.getEnterpriseAddress().contains(s.getDictLabel())).findFirst().orElse(null); + li.setStreet(street!=null?street.getDictLabel():""); + } + }); + return list; + } + + @Override + public void downloadExcel(HttpServletResponse response, NonEnforcementRegistrationBo param){ + try{ + String fileName =URLEncoder.encode("非行政检查统计.xls", "UTF-8"); + HSSFWorkbook workbook = new HSSFWorkbook(); + HSSFSheet sheet = workbook.createSheet("非行政检查统计"); + sheet.setDefaultColumnWidth(20);//全局 + HSSFFont font2=workbook.createFont(); + font2.setFontName("微软雅黑"); + font2.setBold(true); + font2.setFontHeightInPoints((short) 11); + HSSFCellStyle styleRow2=workbook.createCellStyle(); + styleRow2.setWrapText(true);//换行 + styleRow2.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); + styleRow2.setFillPattern(FillPatternType.SOLID_FOREGROUND); + styleRow2.setAlignment(HorizontalAlignment.CENTER); + styleRow2.setVerticalAlignment(VerticalAlignment.CENTER); + styleRow2.setBorderTop(BorderStyle.THIN); + styleRow2.setBorderRight(BorderStyle.THIN); + styleRow2.setBorderBottom(BorderStyle.THIN); + styleRow2.setBorderLeft(BorderStyle.THIN); + styleRow2.setFont(font2); + HSSFRow headerRow = sheet.createRow(0); +// String[] header = {"被执法企业名称","企业所属区域", "企业所属街道", "执法单位", "执法人员","执法时间","入企事由","入企事项","活动依据"}; + String[] header = {"单位名称", "企业名称","统一信用码","企业注册地", "企业所属街道", "入企人员","入企时间","入企事由","入企事项","活动依据"}; + for (int i = 0; i < header.length; i++) { + HSSFCell cell = headerRow.createCell(i); + HSSFRichTextString text = new HSSFRichTextString(header[i]); + cell.setCellValue(text); + cell.setCellStyle(styleRow2); + } + HSSFCellStyle dateStyle= workbook.createCellStyle(); + HSSFDataFormat cellDataFormat= workbook.createDataFormat(); + dateStyle.setDataFormat(cellDataFormat.getFormat("yyyy\"年\"m\"月\"d\"日\" h:mm:ss")); + + setExcel(sheet,param); + //先将workbook写入字节数组,获取长度后再写入响应流,防止大文件导出时管道断开 + java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream(); + workbook.write(bos); + workbook.close(); + byte[] content = bos.toByteArray(); + response.setCharacterEncoding("UTF-8"); + response.setContentType("application/vnd.ms-excel"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName); + response.setContentLength(content.length); + response.setHeader("Connection", "keep-alive"); + ServletOutputStream outputStream = response.getOutputStream(); + outputStream.write(content); + outputStream.flush(); + outputStream.close(); + }catch (Exception e){ + e.printStackTrace(); + } + + } + + // 设置excel + private void setExcel(HSSFSheet sheet,NonEnforcementRegistrationBo param) throws Exception{ + List list=getList(param); + if(list.size()==0)return; + final int[] i = {1}; + list.forEach(li->{ + HSSFRow row = sheet.createRow(i[0]); + row.createCell(0).setCellValue(li.getBureauDeptName()); + row.createCell(1).setCellValue(li.getEnterpriseName()); + row.createCell(2).setCellValue(li.getEnterpriseNumber()); + row.createCell(3).setCellValue(li.getArea()); + row.createCell(4).setCellValue(li.getStreet()); + row.createCell(5).setCellValue(li.getLawEnforcer()); + row.createCell(6).setCellValue(DateUtils.parseDateToStr(FormatsType.YYYY_MM_DD_HH_MM_SS, li.getEnforcementTime())); + row.createCell(7).setCellValue(li.getLawEnforcementTypeText()); + row.createCell(8).setCellValue(li.getLawEnforcementItemText()); + row.createCell(9).setCellValue(li.getLawEnforcementBasisText()); + i[0]++; + }); + } + + @Override + public int getListTotal(NonEnforcementRegistrationBo param) { + return nonEnforcementRegistrationMapper.getListTotal(param); + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/NonEnforcementRegistrationMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/NonEnforcementRegistrationMapper.xml new file mode 100644 index 00000000..371dc6ee --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/NonEnforcementRegistrationMapper.xml @@ -0,0 +1,431 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select + id, + enterprise_name, + enterprise_number, + enforcement_time, + law_enforcer, + law_enforcer_id, + law_enforcer_other, + law_enforcer_id_other, + law_enforcement_type, + law_enforcement_type_text, + law_enforcement_item, + law_enforcement_item_text, + law_enforcement_basis, + law_enforcement_basis_text, + remark, + reason, + reslut, + status, + has_delete, + has_complaint, + has_submit, + has_evaluate, + law_id, + law_text, + bureau_dept_id, + bureau_dept_name, + creditcode, + user_id, + dept_id, + create_by, + update_by, + create_time, + update_time, + enterprise_address, + district, + street + from + non_enforcement_registration + + + + + + + + + + insert into non_enforcement_registration + + id, + enterprise_name, + enterprise_number, + enterprise_address, + district, + street, + enforcement_time, + law_enforcer, + law_enforcer_id, + law_enforcer_other, + law_enforcer_id_other, + law_enforcement_type, + law_enforcement_type_text, + law_enforcement_item, + law_enforcement_item_text, + law_enforcement_basis, + law_enforcement_basis_text, + remark, + reason, + reslut, + status, + has_delete, + has_complaint, + has_submit, + has_evaluate, + law_id, + law_text, + bureau_dept_id, + bureau_dept_name, + creditcode, + user_id, + dept_id, + create_by, + update_by, + create_time, + update_time, + + + #{id}, + #{enterpriseName}, + #{enterpriseNumber}, + #{enterpriseAddress}, + #{district}, + #{street}, + #{enforcementTime}, + #{lawEnforcer}, + #{lawEnforcerId}, + #{lawEnforcerOther}, + #{lawEnforcerIdOther}, + #{lawEnforcementType}, + #{lawEnforcementTypeText}, + #{lawEnforcementItem}, + #{lawEnforcementItemText}, + #{lawEnforcementBasis}, + #{lawEnforcementBasisText}, + #{remark}, + #{reason}, + #{reslut}, + #{status}, + #{hasDelete}, + #{hasComplaint}, + #{hasSubmit}, + #{hasEvaluate}, + #{lawId}, + #{lawText}, + #{bureauDeptId}, + #{bureauDeptName}, + #{creditcode}, + #{userId}, + #{deptId}, + #{createBy}, + #{updateBy}, + #{createTime}, + #{updateTime}, + + + + + update non_enforcement_registration + + enterprise_name = #{enterpriseName}, + enterprise_number = #{enterpriseNumber}, + enforcement_time = #{enforcementTime}, + law_enforcer = #{lawEnforcer}, + law_enforcer_id = #{lawEnforcerId}, + law_enforcer_other = #{lawEnforcerOther}, + law_enforcer_id_other = #{lawEnforcerIdOther}, + law_enforcement_type = #{lawEnforcementType}, + law_enforcement_type_text = #{lawEnforcementTypeText}, + law_enforcement_item = #{lawEnforcementItem}, + law_enforcement_item_text = #{lawEnforcementItemText}, + law_enforcement_basis = #{lawEnforcementBasis}, + law_enforcement_basis_text = #{lawEnforcementBasisText}, + remark = #{remark}, + reason = #{reason}, + reslut = #{reslut}, + status = #{status}, + has_delete = #{hasDelete}, + has_complaint = #{hasComplaint}, + has_submit = #{hasSubmit}, + has_evaluate = #{hasEvaluate}, + law_id = #{lawId}, + law_text = #{lawText}, + bureau_dept_id = #{bureauDeptId}, + bureau_dept_name = #{bureauDeptName}, + creditcode = #{creditcode}, + user_id = #{userId}, + dept_id = #{deptId}, + create_by = #{createBy}, + update_by = #{updateBy}, + create_time = #{createTime}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from non_enforcement_registration where id = #{id} + + + + delete from non_enforcement_registration where id in + + #{id} + + + + + + diff --git a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysDictDataMapper.java b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysDictDataMapper.java index 7298db3d..1e0a1fd5 100644 --- a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysDictDataMapper.java +++ b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysDictDataMapper.java @@ -26,4 +26,6 @@ public interface SysDictDataMapper extends BaseMapperPlus selectDataByDataTypes(List dictType); } diff --git a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java index 50772fb9..4fbed74c 100644 --- a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java +++ b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java @@ -141,4 +141,14 @@ public interface SysUserMapper extends BaseMapperPlus { */ Page selectUserListByHave(@Param("user") QuerySysUserBo user, Page page); + /** + * 根据用户ID查询用户信息 + * + * @param userId 用户ID + * @return 用户信息 + */ + SysUserVo selectUserById(Long userId); + + List selectUserByIds(String[] ids); + } diff --git a/zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysDictDataMapper.xml index 6bcce514..cbf266c7 100644 --- a/zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysDictDataMapper.xml +++ b/zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysDictDataMapper.xml @@ -4,4 +4,11 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + diff --git a/zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysUserMapper.xml b/zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysUserMapper.xml index 7bf4af1f..50e9bf49 100644 --- a/zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -101,4 +101,71 @@ and u.login_name != 'admin' ORDER BY u.create_time DESC + + + select + u.user_id, + u.dept_id, + u.login_name, + u.user_name, + u.email, + u.avatar, + u.phonenumber, + u.sex, + u.password, + u.law_certificate_num, + u.salt, + u.status, + u.del_flag, + u.login_ip, + u.login_date, + u.create_time, + u.remark, + u.kingdee_org_id, + u.kingdee_user_id, + u.type, + u.certificateNumber, + u.strUserId, + u.user_source, + d.dept_id, + d.parent_id, + d.dept_name, + d.order_num, + d.leader, + d.status as dept_status, + r.role_id, + r.role_name, + r.role_key, + r.role_sort, + r.data_scope, + r.status as role_status, + u.tenant_code, + t.tenant_code, + t.tenant_name, + t.contact_man, + t.contact_number, + t.address + from + sys_user u + left join sys_dept d on + u.dept_id = d.dept_id + left join sys_user_role ur on + u.user_id = ur.user_id + left join sys_role r on + r.role_id = ur.role_id + left join sys_tenant t on + t.tenant_code = u.tenant_code + + + +