Browse Source

监督端-一期接口迁移

dev-V1.10.0
niujiyi 1 hour ago
parent
commit
ec50b94957
  1. 7
      zdxt-modules/zdxt-enforcement-code/pom.xml
  2. 2
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/report/LawEnfOfficerController.java
  3. 23
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/report/StatisticsComplaintController.java
  4. 46
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/report/StatisticsInspectionPlanController.java
  5. 3
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/ComplaintStatistics.java
  6. 13
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnterpriseComplaint.java
  7. 34
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/FileData.java
  8. 497
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/MssqAddOrder.java
  9. 78
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/MssqBaseDomain.java
  10. 138
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/MssqOrderFlow.java
  11. 10
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java
  12. 13
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/ComplaintStatisticsMapper.java
  13. 7
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnterpriseComplaintMapper.java
  14. 2
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/LawEnfOfficerMapper.java
  15. 10
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/ZdxtFileMapper.java
  16. 3
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/IStatisticsInspectionPlanReport.java
  17. 4
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/EnforcementRegistrationReportImpl.java
  18. 23
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/LawEnfOfficerSericeImpl.java
  19. 54
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/StatisticsInspectionPlanReportImpl.java
  20. 22
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ComplaintsReportService.java
  21. 9
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseComplaintService.java
  22. 78
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/ComplaintsReportServiceImpl.java
  23. 13
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java
  24. 42
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseComplaintServiceImpl.java
  25. 41
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnterpriseComplaintMapper.xml
  26. 63
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/ZdxtFileMapper.xml
  27. 31
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/report/ComplaintStatisticsReportMapper.xml
  28. 7
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/report/EnforcementRegistrationEINOFTReportMapper.xml
  29. 11
      zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysDictDataMapper.java
  30. 5
      zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysDictDataMapper.xml

7
zdxt-modules/zdxt-enforcement-code/pom.xml

@ -151,7 +151,12 @@
<groupId>com.github.librepdf</groupId> <groupId>com.github.librepdf</groupId>
<artifactId>openpdf</artifactId> <artifactId>openpdf</artifactId>
</dependency> </dependency>
<!-- pdf -->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>3.0.4</version>
</dependency>
<!-- commons-io 升级:POI 5.4.1 需要 2.11+ --> <!-- commons-io 升级:POI 5.4.1 需要 2.11+ -->
<dependency> <dependency>
<groupId>commons-io</groupId> <groupId>commons-io</groupId>

2
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/report/LawEnfOfficerController.java

@ -3,9 +3,7 @@ package com.zdxt.enforcementcode.controller.web.supervision.report;
import cn.dev33.satoken.annotation.SaIgnore; import cn.dev33.satoken.annotation.SaIgnore;
import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo;
import com.zdxt.enforcementcode.domain.bo.dashboard.DashboardEnterpriseCheckListBo;
import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo;
import com.zdxt.enforcementcode.domain.vo.report.DashboardEnterpriseCheckListVo;
import com.zdxt.enforcementcode.report.ILawEnfOfficerService; import com.zdxt.enforcementcode.report.ILawEnfOfficerService;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;

23
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/report/StatisticsComplaintController.java

@ -1,9 +1,12 @@
package com.zdxt.enforcementcode.controller.web.supervision.report; package com.zdxt.enforcementcode.controller.web.supervision.report;
import com.zdxt.enforcementcode.domain.ComplaintStatistics; import com.zdxt.enforcementcode.domain.ComplaintStatistics;
import com.zdxt.enforcementcode.domain.MssqOrderFlow;
import com.zdxt.enforcementcode.domain.bo.ComplaintStatisticsBo; import com.zdxt.enforcementcode.domain.bo.ComplaintStatisticsBo;
import com.zdxt.enforcementcode.domain.vo.report.*; import com.zdxt.enforcementcode.domain.vo.report.*;
import com.zdxt.enforcementcode.report.IStatisticsComplaintReport; import com.zdxt.enforcementcode.report.IStatisticsComplaintReport;
import com.zdxt.enforcementcode.service.ComplaintsReportService;
import com.zdxt.enforcementcode.service.IEnterpriseComplaintService;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -15,7 +18,9 @@ import org.springframework.ui.Model;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 执法投诉情况报表 * 执法投诉情况报表
@ -30,6 +35,8 @@ import java.util.List;
public class StatisticsComplaintController { public class StatisticsComplaintController {
private final IStatisticsComplaintReport reportService; private final IStatisticsComplaintReport reportService;
private final ComplaintsReportService complaintsReportService;
private final IEnterpriseComplaintService iEnterpriseComplaintService;
/** Tab1概览 */ /** Tab1概览 */
@GetMapping("/overview") @GetMapping("/overview")
@ -52,18 +59,20 @@ public class StatisticsComplaintController {
/** /**
* 监督端-投诉明细 * 监督端-投诉明细
* @param id * @param id
* @param model * @param
* @return * @return
*/ */
/*@GetMapping("/details/{id}") @GetMapping("/details")
public String complaintsReportDetails(@PathVariable("id") String id, Model model) { public R<Map<String, Object>> complaintsReportDetails(String id) {
Map<String, Object> map = new HashMap<>();
ComplaintStatistics complaintStatistics = complaintsReportService.complaintById(id); ComplaintStatistics complaintStatistics = complaintsReportService.complaintById(id);
model.addAttribute("complaintStatistics", complaintStatistics);
List<MssqOrderFlow> mssqOrderFlowList = iEnterpriseComplaintService.selectEnterpriseComplaintProcess(complaintStatistics.getCid()); List<MssqOrderFlow> mssqOrderFlowList = iEnterpriseComplaintService.selectEnterpriseComplaintProcess(complaintStatistics.getCid());
model.addAttribute("mssqOrderFlowList", mssqOrderFlowList); map.put("complaintStatistics", complaintStatistics);
return prefix + "/details.html"; map.put("mssqOrderFlowList", mssqOrderFlowList);
}*/ return R.ok(map);
}
/** Tab2-投诉类型统计 */ /** Tab2-投诉类型统计 */
@GetMapping("/typeStatList") @GetMapping("/typeStatList")

46
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/report/StatisticsInspectionPlanController.java

@ -1,18 +1,24 @@
package com.zdxt.enforcementcode.controller.web.supervision.report; package com.zdxt.enforcementcode.controller.web.supervision.report;
import com.zdxt.enforcementcode.domain.ZdxtFile;
import com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo; import com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo;
import com.zdxt.enforcementcode.domain.bo.ZdxtFileBo;
import com.zdxt.enforcementcode.domain.vo.ZdxtFileVo;
import com.zdxt.enforcementcode.domain.vo.report.*; import com.zdxt.enforcementcode.domain.vo.report.*;
import com.zdxt.enforcementcode.report.IStatisticsInspectionPlanReport; import com.zdxt.enforcementcode.report.IStatisticsInspectionPlanReport;
import com.zdxt.enforcementcode.service.IZdxtFileService;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Base64;
import java.util.List; import java.util.List;
/** /**
@ -28,6 +34,7 @@ import java.util.List;
public class StatisticsInspectionPlanController { public class StatisticsInspectionPlanController {
private final IStatisticsInspectionPlanReport reportService; private final IStatisticsInspectionPlanReport reportService;
private final IZdxtFileService zdxtFileService ;
/** Tab1概览 */ /** Tab1概览 */
@GetMapping("/overview") @GetMapping("/overview")
@ -81,4 +88,43 @@ public class StatisticsInspectionPlanController {
} }
} }
} }
/**
* check 文件是否存在
* @param id
* @return
*/
@PostMapping("/checkFile")
@ResponseBody
public boolean checkFile(String id){
ZdxtFileBo bo = new ZdxtFileBo();
bo.setGuid(id);
List<ZdxtFileVo> files = zdxtFileService.queryList(bo);
return files.size()>0?true:false;
}
/**
* 预览pdf
* @param
*/
@RequestMapping("/previewFile")
public void previewFile (String id,HttpServletResponse response){
if(StringUtils.isEmpty(id)) return;
byte[] decodedBytes = Base64.getDecoder().decode(id);
String guid = new String(decodedBytes);
reportService.previewFile(guid,response);
}
/**
* 下载pdf
* @param id
*/
@PostMapping("/downloadFile")
public void downloadFile (String id,HttpServletResponse response){
if(StringUtils.isEmpty(id)) return;
byte[] decodedBytes = Base64.getDecoder().decode(id);
String guid = new String(decodedBytes);
reportService.previewFile(guid,response);
}
} }

3
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/ComplaintStatistics.java

@ -8,6 +8,7 @@ import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial; import java.io.Serial;
import java.util.List;
/** /**
* 【请填写功能名称】对象 complaint_statistics * 【请填写功能名称】对象 complaint_statistics
@ -94,5 +95,7 @@ public class ComplaintStatistics extends BaseEntity {
*/ */
private String enterpriseAddress; private String enterpriseAddress;
private List<String> fileList;
private EnterpriseComplaint enterpriseComplaint;
} }

13
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnterpriseComplaint.java

@ -8,6 +8,7 @@ import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial; import java.io.Serial;
import java.util.List;
/** /**
* 企业执法-在线投诉对象 enterprise_complaint * 企业执法-在线投诉对象 enterprise_complaint
@ -153,4 +154,16 @@ public class EnterpriseComplaint extends BaseEntity {
* 详细地址 * 详细地址
*/ */
private String detailedAddress; private String detailedAddress;
/**
* 投诉事项编码 多个逗号隔开
*/
private String enforceTypeStr;
private String complaintTypeStr;
private String createTimeStr;
/**
* 民生诉求数据处置流程
*/
private List<MssqOrderFlow> mssqOrderFlows;
} }

34
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/FileData.java

@ -0,0 +1,34 @@
package com.zdxt.enforcementcode.domain;
/**
* @Author: kylin
* @Date: 2024/7/3 5:46 下午
* @Version: 1.0
* @Desc: TODO
*/
public class FileData {
/**
* 附件名称
*/
private String fileName;
/**
* 附件数据流,需要转成Base64编码格式
*/
private String fileBytes;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getFileBytes() {
return fileBytes;
}
public void setFileBytes(String fileBytes) {
this.fileBytes = fileBytes;
}
}

497
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/MssqAddOrder.java

@ -0,0 +1,497 @@
package com.zdxt.enforcementcode.domain;
import java.util.List;
/**
* 民生诉求工单DTO
*/
public class MssqAddOrder extends MssqBaseDomain {
/**
* 诉求标题
*/
private String requestTopic;
/**
* 诉求内容
*/
private String requestContent;
/**
* 联系人姓名
*/
private String contactName;
/**
* 联系人电话
*/
private String contactTel;
/**
* 证件类型:字典参数类型:zjlx
*/
private Integer certType;
/**
* 证件号码
*/
private String certCode;
/**
* 联系地址
*/
private String contactAddress;
/**
* 事发地址
*/
private String requestArea;
/**
* 事发详细地址X坐标
*/
private String addressX;
/**
* 事发详细地址Y坐标
*/
private String addressY;
/**
* 来源渠道:字典参数类型:sqly
*/
private Integer requestFrom;
/**
* 公开意向 y—公开 n—不公开
*/
private String pubIntent;
/**
* 工单类型:字典参数类型:sqlx
*/
private Integer orderType;
/**
* 是否党员: 1: 是; 0: 否
*/
private Integer isParty;
/**
* 第三方系统工单id
*/
private String extendId;
/**
* 事发地址所属区
*/
private String area;
/**
* 事发地址所属街道
*/
private String street;
/**
* 是否保密: 1: 是; 0: 否
*/
private Integer isSecrecy;
/**
* 事项编码
*/
private String actCode;
/**
* 诉求分类(个人/商事主体): 1: 个人; 2: 商事主体
*/
private Integer formUserNature;
/**
* 涉事主体
*/
private String thingSubject;
/**
* 涉事主体地址(如:**区**街道**)
*/
private String subjectAddress;
/**
* 上传附件数据集
*/
private List<FileData> fileDatas;
/** 工单编码 */
private String proWoCode;
/** 工单编码,可以传递多个,最多20个 */
private List<String> proWoCodes;
/** 开始时间 YYYY-MM-DD HH24:MI:SS */
private String startTime;
/** 结束时间 YYYY-MM-DD HH24:MI:SS */
private String endTime;
private String appId;
private String sign;
private String timestamp;
/** 评价渠道 */
private String pf;
/** 回调网址 */
private String backUrl;
/** 评价业务,诉求工单代码值4 */
private String assessServiceType;
/** 业务主键(诉求工单编号) */
private String assessServiceCode;
/** 评价对象名称(诉求工单事项名称,若无则传诉求工单标题) */
private String assessObjectName;
/** 评价对象编码(诉求工单事项编号,若无则传诉求工单编号) */
private String assessObjectCode;
/** 部门编码(处理部门编码,区平台可以用区编码,编码需要保持与通过工作门户下发的一致) */
private String deptCode;
/** 评价人名称 */
private String evaluatorName;
/** 评价人联系号码 */
private String evaluatorPapersPhone;
/** 附件地址 */
private List<String> uploadPaths;
private String uploadPath;
/**
* 获取工单流程信息-工单编码参数
*/
private String orderCode;
public String getUploadPath() {
return uploadPath;
}
public void setUploadPath(String uploadPath) {
this.uploadPath = uploadPath;
}
public List<String> getUploadPaths() {
return uploadPaths;
}
public void setUploadPaths(List<String> uploadPaths) {
this.uploadPaths = uploadPaths;
}
public String getAppId() {
return appId;
}
public void setAppId(String appId) {
this.appId = appId;
}
public String getSign() {
return sign;
}
public void setSign(String sign) {
this.sign = sign;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
public String getPf() {
return pf;
}
public void setPf(String pf) {
this.pf = pf;
}
public String getBackUrl() {
return backUrl;
}
public void setBackUrl(String backUrl) {
this.backUrl = backUrl;
}
public String getAssessServiceType() {
return assessServiceType;
}
public void setAssessServiceType(String assessServiceType) {
this.assessServiceType = assessServiceType;
}
public String getAssessServiceCode() {
return assessServiceCode;
}
public void setAssessServiceCode(String assessServiceCode) {
this.assessServiceCode = assessServiceCode;
}
public String getAssessObjectName() {
return assessObjectName;
}
public void setAssessObjectName(String assessObjectName) {
this.assessObjectName = assessObjectName;
}
public String getAssessObjectCode() {
return assessObjectCode;
}
public void setAssessObjectCode(String assessObjectCode) {
this.assessObjectCode = assessObjectCode;
}
public String getDeptCode() {
return deptCode;
}
public void setDeptCode(String deptCode) {
this.deptCode = deptCode;
}
public String getEvaluatorName() {
return evaluatorName;
}
public void setEvaluatorName(String evaluatorName) {
this.evaluatorName = evaluatorName;
}
public String getEvaluatorPapersPhone() {
return evaluatorPapersPhone;
}
public void setEvaluatorPapersPhone(String evaluatorPapersPhone) {
this.evaluatorPapersPhone = evaluatorPapersPhone;
}
public String getProWoCode() {
return proWoCode;
}
public void setProWoCode(String proWoCode) {
this.proWoCode = proWoCode;
}
public List<String> getProWoCodes() {
return proWoCodes;
}
public void setProWoCodes(List<String> proWoCodes) {
this.proWoCodes = proWoCodes;
}
public Integer getRequestFrom() {
return requestFrom;
}
public void setRequestFrom(Integer requestFrom) {
this.requestFrom = requestFrom;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public String getRequestTopic() {
return requestTopic;
}
public void setRequestTopic(String requestTopic) {
this.requestTopic = requestTopic;
}
public String getRequestContent() {
return requestContent;
}
public void setRequestContent(String requestContent) {
this.requestContent = requestContent;
}
public String getContactName() {
return contactName;
}
public void setContactName(String contactName) {
this.contactName = contactName;
}
public String getContactTel() {
return contactTel;
}
public void setContactTel(String contactTel) {
this.contactTel = contactTel;
}
public Integer getCertType() {
return certType;
}
public void setCertType(Integer certType) {
this.certType = certType;
}
public String getCertCode() {
return certCode;
}
public void setCertCode(String certCode) {
this.certCode = certCode;
}
public String getContactAddress() {
return contactAddress;
}
public void setContactAddress(String contactAddress) {
this.contactAddress = contactAddress;
}
public String getRequestArea() {
return requestArea;
}
public void setRequestArea(String requestArea) {
this.requestArea = requestArea;
}
public String getAddressX() {
return addressX;
}
public void setAddressX(String addressX) {
this.addressX = addressX;
}
public String getAddressY() {
return addressY;
}
public void setAddressY(String addressY) {
this.addressY = addressY;
}
public String getPubIntent() {
return pubIntent;
}
public void setPubIntent(String pubIntent) {
this.pubIntent = pubIntent;
}
public Integer getOrderType() {
return orderType;
}
public void setOrderType(Integer orderType) {
this.orderType = orderType;
}
public Integer getIsParty() {
return isParty;
}
public void setIsParty(Integer isParty) {
this.isParty = isParty;
}
public String getExtendId() {
return extendId;
}
public void setExtendId(String extendId) {
this.extendId = extendId;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public Integer getIsSecrecy() {
return isSecrecy;
}
public void setIsSecrecy(Integer isSecrecy) {
this.isSecrecy = isSecrecy;
}
public String getActCode() {
return actCode;
}
public void setActCode(String actCode) {
this.actCode = actCode;
}
public Integer getFormUserNature() {
return formUserNature;
}
public void setFormUserNature(Integer formUserNature) {
this.formUserNature = formUserNature;
}
public String getThingSubject() {
return thingSubject;
}
public void setThingSubject(String thingSubject) {
this.thingSubject = thingSubject;
}
public String getSubjectAddress() {
return subjectAddress;
}
public void setSubjectAddress(String subjectAddress) {
this.subjectAddress = subjectAddress;
}
public List<FileData> getFileDatas() {
return fileDatas;
}
public void setFileDatas(List<FileData> fileDatas) {
this.fileDatas = fileDatas;
}
public String getOrderCode() {
return orderCode;
}
public void setOrderCode(String orderCode) {
this.orderCode = orderCode;
}
}

78
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/MssqBaseDomain.java

@ -0,0 +1,78 @@
package com.zdxt.enforcementcode.domain;
public class MssqBaseDomain {
/**
* 认证token
*/
private String accessToken;
/**
* 分配的appId
*/
private String appid;
/**
* 请求头携带的appId
*/
private String gatewayAppId;
/**
* 请求头携带的签名
*/
private String gatewaySig;
/**
* 请求方式
*/
private String invokingServiceRequestMethod;
/**
* 请求头携带的当前时间的时间戳
*/
private String gatewayRtime;
public String getAccessToken() {
return accessToken;
}
public void setAccessToken(String accessToken) {
this.accessToken = accessToken;
}
public String getAppid() {
return appid;
}
public void setAppid(String appid) {
this.appid = appid;
}
public String getGatewayAppId() {
return gatewayAppId;
}
public void setGatewayAppId(String gatewayAppId) {
this.gatewayAppId = gatewayAppId;
}
public String getGatewaySig() {
return gatewaySig;
}
public void setGatewaySig(String gatewaySig) {
this.gatewaySig = gatewaySig;
}
public String getGatewayRtime() {
return gatewayRtime;
}
public void setGatewayRtime(String gatewayRtime) {
this.gatewayRtime = gatewayRtime;
}
public String getInvokingServiceRequestMethod() {
return invokingServiceRequestMethod;
}
public void setInvokingServiceRequestMethod(String invokingServiceRequestMethod) {
this.invokingServiceRequestMethod = invokingServiceRequestMethod;
}
}

138
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/MssqOrderFlow.java

@ -0,0 +1,138 @@
package com.zdxt.enforcementcode.domain;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class MssqOrderFlow {
/**
* 审批部门
*/
private String appOrgName;
/**
* 审批人名称
*/
private String approveUserName;
/**
* 审批时间
*/
private String approveTime;
/**
* 审批意见
*/
private String approveContent;
/**
* 操作类型名
*/
private String operName;
/**
* 状态
*/
private Integer state;
/**
* 文件
*/
// private AppFiles appFiles;
private String appOrgShortname;
public String getAppOrgName() {
return appOrgName;
}
public void setAppOrgName(String appOrgName) {
this.appOrgName = appOrgName;
}
public String getApproveUserName() {
return approveUserName;
}
public void setApproveUserName(String approveUserName) {
this.approveUserName = approveUserName;
}
public String getApproveTime() {
return approveTime;
}
public void setApproveTime(String approveTime) {
this.approveTime = approveTime;
}
public String getApproveContent() {
return approveContent;
}
public void setApproveContent(String approveContent) {
this.approveContent = approveContent;
}
public String getOperName() {
return operName;
}
public void setOperName(String operName) {
this.operName = operName;
}
public Integer getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
// public AppFiles getAppFiles() {
// return appFiles;
// }
//
// public void setAppFiles(AppFiles appFiles) {
// this.appFiles = appFiles;
// }
public String getAppOrgShortname() {
return appOrgShortname;
}
public void setAppOrgShortname(String appOrgShortname) {
this.appOrgShortname = appOrgShortname;
}
class AppFiles {
/**
* 文件名称
*/
private String fileName;
/**
* 文件地址
*/
private String fileUrl;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getFileUrl() {
return fileUrl;
}
public void setFileUrl(String fileUrl) {
this.fileUrl = fileUrl;
}
}
}

10
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java

@ -402,4 +402,14 @@ public class EnforcementRegistrationBo extends BaseEntity {
* 排序字段列 * 排序字段列
*/ */
private String orderByColumn; private String orderByColumn;
/**
* 执法次数区间最小值
*/
private Integer numMin;
/**
* 执法次数区间最大值
*/
private Integer numMax;
} }

13
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/ComplaintStatisticsMapper.java

@ -40,5 +40,18 @@ public interface ComplaintStatisticsMapper extends BaseMapperPlus<ComplaintStati
/** Tab2:查全量投诉列表(含enterprise_address)用于Java层区域/街道分组 */ /** Tab2:查全量投诉列表(含enterprise_address)用于Java层区域/街道分组 */
List<ComplaintStatistics> selectComplaintListForAreaStat(@Param("bo") ComplaintStatisticsBo bo, List<ComplaintStatistics> selectComplaintListForAreaStat(@Param("bo") ComplaintStatisticsBo bo,
@Param("dataFilter") String dataFilter); @Param("dataFilter") String dataFilter);
/**
* 获取投诉举报列表,合并两个投诉表的投诉部门
* @param complaintStatistics
* @return
*/
List<ComplaintStatistics> complaintGetComplaintDepartment(ComplaintStatistics complaintStatistics);
/**
* 根据投诉统计id获取投诉举报详情
* @param id
* @return
*/
ComplaintStatistics complaintGetComplaintDepartmentById(String id);
} }

7
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnterpriseComplaintMapper.java

@ -12,4 +12,11 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
*/ */
public interface EnterpriseComplaintMapper extends BaseMapperPlus<EnterpriseComplaint, EnterpriseComplaintVo> { public interface EnterpriseComplaintMapper extends BaseMapperPlus<EnterpriseComplaint, EnterpriseComplaintVo> {
/**
* 查询企业执法-在线投诉
*
* @param id 企业执法-在线投诉ID
* @return 企业执法-在线投诉
*/
EnterpriseComplaint selectEnterpriseComplaintById(String id);
} }

2
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/LawEnfOfficerMapper.java

@ -1,6 +1,7 @@
package com.zdxt.enforcementcode.mapper; package com.zdxt.enforcementcode.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zdxt.enforcementcode.common.annotation.EfcodeDataFilter;
import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo;
import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -9,6 +10,7 @@ import java.util.List;
public interface LawEnfOfficerMapper { public interface LawEnfOfficerMapper {
@EfcodeDataFilter(column = "bureau_dept_id")
Page<EnforcementRegistrationVo> selectLawEnfOfficerPageList(@Param("page") Page<EnforcementRegistrationVo> page, Page<EnforcementRegistrationVo> selectLawEnfOfficerPageList(@Param("page") Page<EnforcementRegistrationVo> page,
@Param("bo") EnforcementRegistrationBo bo); @Param("bo") EnforcementRegistrationBo bo);

10
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/ZdxtFileMapper.java

@ -5,6 +5,8 @@ import com.zdxt.enforcementcode.domain.vo.ZdxtFileVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
/** /**
* 附件Mapper接口 * 附件Mapper接口
* *
@ -23,6 +25,12 @@ public interface ZdxtFileMapper extends BaseMapperPlus<ZdxtFile, ZdxtFileVo> {
public int deleteZdxtFileByBusinessIds(String[] guids); public int deleteZdxtFileByBusinessIds(String[] guids);
/**
* 查询附件列表
*
* @param zdxtFileCommon 附件
* @return 附件集合
*/
public List<ZdxtFile> selectZdxtFileList(ZdxtFile zdxtFileCommon);
} }

3
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/IStatisticsInspectionPlanReport.java

@ -6,6 +6,7 @@ import com.zdxt.enforcementcode.domain.vo.report.InspectionPlanExportVo;
import com.zdxt.enforcementcode.domain.vo.report.InspectionPlanGroupVo; import com.zdxt.enforcementcode.domain.vo.report.InspectionPlanGroupVo;
import com.zdxt.enforcementcode.domain.vo.report.InspectionPlanOverviewVo; import com.zdxt.enforcementcode.domain.vo.report.InspectionPlanOverviewVo;
import com.zdxt.enforcementcode.domain.vo.report.InspectionPlanRankVo; import com.zdxt.enforcementcode.domain.vo.report.InspectionPlanRankVo;
import jakarta.servlet.http.HttpServletResponse;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -36,4 +37,6 @@ public interface IStatisticsInspectionPlanReport {
/** Tab1导出 */ /** Tab1导出 */
List<InspectionPlanExportVo> exportGroupList(EnforcementInspectionProgramBo bo); List<InspectionPlanExportVo> exportGroupList(EnforcementInspectionProgramBo bo);
void previewFile (String id, HttpServletResponse response);
} }

4
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/EnforcementRegistrationReportImpl.java

@ -87,8 +87,8 @@ public class EnforcementRegistrationReportImpl implements IEnforcementRegistrati
// V2:SQL层JOIN字典表排序 + 服务端分页(依赖district/street已回填) // V2:SQL层JOIN字典表排序 + 服务端分页(依赖district/street已回填)
// 手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id),表别名 er // 手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id),表别名 er
Page<EnforcementRegistrationVo> page = pageQuery.build(); Page<EnforcementRegistrationVo> page = pageQuery.build();
//String dataFilter = buildDualColumnFilter("er"); String dataFilter = buildDualColumnFilter("er");
IPage<EnforcementRegistrationVo> result = registrationMapper.selectReportPageV2(page, bo, null); IPage<EnforcementRegistrationVo> result = registrationMapper.selectReportPageV2(page, bo, dataFilter);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }

23
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/LawEnfOfficerSericeImpl.java

@ -2,6 +2,7 @@ package com.zdxt.enforcementcode.report.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zdxt.enforcementcode.common.util.DataFilterUtil;
import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo;
import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo;
import com.zdxt.enforcementcode.mapper.LawEnfOfficerMapper; import com.zdxt.enforcementcode.mapper.LawEnfOfficerMapper;
@ -32,6 +33,8 @@ public class LawEnfOfficerSericeImpl implements ILawEnfOfficerService {
} }
@Override @Override
public TableDataInfo<EnforcementRegistrationVo> selectLawEnfOfficerPageList(PageQuery pageQuery, EnforcementRegistrationBo bo) { public TableDataInfo<EnforcementRegistrationVo> selectLawEnfOfficerPageList(PageQuery pageQuery, EnforcementRegistrationBo bo) {
Page<EnforcementRegistrationVo> list=lawEnfOfficerMapper.selectLawEnfOfficerPageList(buildPage(pageQuery),bo); Page<EnforcementRegistrationVo> list=lawEnfOfficerMapper.selectLawEnfOfficerPageList(buildPage(pageQuery),bo);
return TableDataInfo.build(list); return TableDataInfo.build(list);
} }
@ -46,4 +49,24 @@ public class LawEnfOfficerSericeImpl implements ILawEnfOfficerService {
Page<EnforcementRegistrationVo> list=lawEnfOfficerMapper.selectLawEnfOfficerDetailsPageList(buildPage(pageQuery),bo); Page<EnforcementRegistrationVo> list=lawEnfOfficerMapper.selectLawEnfOfficerDetailsPageList(buildPage(pageQuery),bo);
return TableDataInfo.build(list); return TableDataInfo.build(list);
} }
/**
* 构建双列数据权限过滤条件:bureau_dept_id(执法单位)或 entrust_dept_id(委托执法部门)。
* <p>任一列在权限范围内即可保留记录。带 "AND " 前缀,可直接拼在现有 WHERE 条件后。
* <p>超管或 ViewAllDataRole 返回 null(不过滤)。
*
* @param tableAlias 表别名(不带点),无别名传 ""
* @return 拼接后的 "AND (...)" SQL片段;超管/全数据角色返回 null
*/
private String buildDualColumnFilter(String tableAlias) {
String bureauFilter = DataFilterUtil.buildFilterSql(tableAlias, "bureau_dept_id", true, true);
if (bureauFilter == null) {
// 超管或 ViewAllDataRole,全部放行
return null;
}
String entrustFilter = DataFilterUtil.buildFilterSql(tableAlias, "entrust_dept_id", true, true);
return "AND (" + bureauFilter + " OR " + entrustFilter + ")";
}
} }

54
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/StatisticsInspectionPlanReportImpl.java

@ -1,18 +1,30 @@
package com.zdxt.enforcementcode.report.impl; package com.zdxt.enforcementcode.report.impl;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zdxt.enforcementcode.common.util.DataFilterUtil; import com.zdxt.enforcementcode.common.util.DataFilterUtil;
import com.zdxt.enforcementcode.domain.ZdxtFile;
import com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo; import com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo;
import com.zdxt.enforcementcode.domain.bo.ZdxtFileBo;
import com.zdxt.enforcementcode.domain.vo.ZdxtFileVo;
import com.zdxt.enforcementcode.domain.vo.report.*; import com.zdxt.enforcementcode.domain.vo.report.*;
import com.zdxt.enforcementcode.mapper.EnforcementInspectionProgramMapper; import com.zdxt.enforcementcode.mapper.EnforcementInspectionProgramMapper;
import com.zdxt.enforcementcode.mapper.ZdxtFileMapper;
import com.zdxt.enforcementcode.report.IStatisticsInspectionPlanReport; import com.zdxt.enforcementcode.report.IStatisticsInspectionPlanReport;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.pdfbox.Loader;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentInformation;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -32,6 +44,10 @@ import java.util.stream.Collectors;
public class StatisticsInspectionPlanReportImpl implements IStatisticsInspectionPlanReport { public class StatisticsInspectionPlanReportImpl implements IStatisticsInspectionPlanReport {
private final EnforcementInspectionProgramMapper programMapper; private final EnforcementInspectionProgramMapper programMapper;
private final ZdxtFileMapper zdxtFileMapper;
@Value("${ruoyi.profile}")
private String urlProfile;
@Override @Override
public InspectionPlanOverviewVo overview(EnforcementInspectionProgramBo bo) { public InspectionPlanOverviewVo overview(EnforcementInspectionProgramBo bo) {
@ -126,6 +142,44 @@ public class StatisticsInspectionPlanReportImpl implements IStatisticsInspection
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
@Override
public void previewFile(String id, HttpServletResponse response) {
LambdaQueryWrapper<ZdxtFile> bo = new LambdaQueryWrapper<>();
bo.eq(ZdxtFile::getGuid, id);
List<ZdxtFileVo> files = zdxtFileMapper.selectVoList(bo);
if (files.size() == 0) return;
String path = files.get(0).getUploadPath().replace("/profile", urlProfile);
OutputStream os=null;
try{
FileInputStream is=new FileInputStream(path);
response.reset();
response.setContentType("application/pdf;charset=UTF-8");
response.setHeader("Content-Disposition", "inline;filename=file." + path);
byte[] bs = new byte[is.available()];
is.read(bs);
os = response.getOutputStream();
PDDocument doc= Loader.loadPDF(bs);
PDDocumentInformation info =doc.getDocumentInformation();
info.setTitle("附件");
doc.setDocumentInformation(info);
doc.save(os);
doc.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
if(os!=null){
try{
os.flush();
os.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
}
// ===== 私有方法 ===== // ===== 私有方法 =====
/** /**

22
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ComplaintsReportService.java

@ -0,0 +1,22 @@
package com.zdxt.enforcementcode.service;
import com.zdxt.enforcementcode.domain.ComplaintStatistics;
import java.util.List;
public interface ComplaintsReportService {
/**
* 获取投诉举报列表,合并两个投诉表的投诉部门
* @param complaintStatistics
* @return
*/
List<ComplaintStatistics> complaintGetComplaintDepartment(ComplaintStatistics complaintStatistics);
/**
* 根据投诉统计id获取投诉举报详情
* @param id
* @return
*/
ComplaintStatistics complaintById(String id);
}

9
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseComplaintService.java

@ -1,5 +1,6 @@
package com.zdxt.enforcementcode.service; package com.zdxt.enforcementcode.service;
import com.zdxt.enforcementcode.domain.MssqOrderFlow;
import com.zdxt.enforcementcode.domain.vo.EnterpriseComplaintVo; import com.zdxt.enforcementcode.domain.vo.EnterpriseComplaintVo;
import com.zdxt.enforcementcode.domain.bo.EnterpriseComplaintBo; import com.zdxt.enforcementcode.domain.bo.EnterpriseComplaintBo;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -65,4 +66,12 @@ public interface IEnterpriseComplaintService {
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
/**
* 查询执法投诉处置进度
*
* @param id 企业执法-在线投诉ID
* @return 企业执法-在线投诉
*/
List<MssqOrderFlow> selectEnterpriseComplaintProcess(String id);
} }

78
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/ComplaintsReportServiceImpl.java

@ -0,0 +1,78 @@
package com.zdxt.enforcementcode.service.impl;
import com.zdxt.enforcementcode.domain.ComplaintStatistics;
import com.zdxt.enforcementcode.domain.EnterpriseComplaint;
import com.zdxt.enforcementcode.domain.ZdxtFile;
import com.zdxt.enforcementcode.mapper.ComplaintStatisticsMapper;
import com.zdxt.enforcementcode.mapper.EnterpriseComplaintMapper;
import com.zdxt.enforcementcode.mapper.ZdxtFileMapper;
import com.zdxt.enforcementcode.service.ComplaintsReportService;
import com.zdxt.enforcementcode.service.IEnterpriseComplaintService;
import org.dromara.system.mapper.SysDictDataMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ComplaintsReportServiceImpl implements ComplaintsReportService {
@Autowired
private ComplaintStatisticsMapper complaintStatisticsMapper;
@Autowired
private EnterpriseComplaintMapper enterpriseComplaintMapper;
@Autowired
private ZdxtFileMapper zdxtFileCommonMapper;
@Autowired
private SysDictDataMapper dictDataMapper;
@Autowired
private IEnterpriseComplaintService iEnterpriseComplaintService;
/**
* 获取投诉部门
* @param complaintStatistics
* @return
*/
@Override
public List<ComplaintStatistics> complaintGetComplaintDepartment(ComplaintStatistics complaintStatistics) {
List<ComplaintStatistics> list=complaintStatisticsMapper.complaintGetComplaintDepartment(complaintStatistics);
return list;
}
/**
* 获取投诉信息
* @param id
* @return
*/
@Override
public ComplaintStatistics complaintById(String id) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ComplaintStatistics complaintStatistics = complaintStatisticsMapper.complaintGetComplaintDepartmentById(id);
EnterpriseComplaint enterpriseComplaint = enterpriseComplaintMapper.selectEnterpriseComplaintById(complaintStatistics.getCid());
ZdxtFile zdxtFileCommon = new ZdxtFile();
zdxtFileCommon.setBusinessId(complaintStatistics.getCid());
List<ZdxtFile> zdxtFileCommonList = zdxtFileCommonMapper.selectZdxtFileList(zdxtFileCommon);
if (zdxtFileCommonList.size() > 0) {
complaintStatistics.setFileList(zdxtFileCommonList.stream().map(ZdxtFile::getUploadPath).collect(Collectors.toList()));
}
if(enterpriseComplaint.getEnforceType()!=null) {
String enforceTypeText = dictDataMapper.selectDictLabel("caseType", enterpriseComplaint.getEnforceType() + "");
if (enforceTypeText == null || enforceTypeText.isEmpty()) {
enterpriseComplaint.setEnforceTypeStr(enterpriseComplaint.getEnforceType() + "");
} else {
enterpriseComplaint.setEnforceTypeStr(enforceTypeText);
}
}else{
enterpriseComplaint.setEnforceTypeStr(" ");
}
enterpriseComplaint.setCreateTimeStr(simpleDateFormat.format(enterpriseComplaint.getCreateTime()));
complaintStatistics.setEnterpriseComplaint(enterpriseComplaint);
return complaintStatistics;
}
}

13
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java

@ -18,6 +18,7 @@ import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationQueryBo;
import com.zdxt.enforcementcode.domain.vo.*; import com.zdxt.enforcementcode.domain.vo.*;
import com.zdxt.enforcementcode.domain.vo.enterprise.*; import com.zdxt.enforcementcode.domain.vo.enterprise.*;
import com.zdxt.enforcementcode.mapper.*; import com.zdxt.enforcementcode.mapper.*;
import com.zdxt.enforcementcode.service.ISjIndivCreditRatingInfoService;
import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
@ -67,6 +68,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat
private final ZdxtFileMapper zdxtFileMapper; private final ZdxtFileMapper zdxtFileMapper;
private final SysDeptMapper sysDeptMapper; private final SysDeptMapper sysDeptMapper;
private final EnterpriseInformationMapper enterpriseInformationMapper; private final EnterpriseInformationMapper enterpriseInformationMapper;
private final ISjIndivCreditRatingInfoService sjIndivCreditRatingInfoService;
/** /**
@ -716,7 +718,10 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat
}); });
} }
// 查风险信用等级(异步执行,不阻塞执法登记保存)
if (bo.getLawEnforceCategory().equals("1")){
sjIndivCreditRatingInfoService.insertRiskCreditWarningInfoAsync(bo);
}
return resNum; return resNum;
} }
@ -1034,6 +1039,12 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat
zdxtFileMapper.insertZdxtFile(zdxtFile); zdxtFileMapper.insertZdxtFile(zdxtFile);
}); });
} }
// 查风险信用等级
if (bo.getLawEnforceCategory().equals("1")){
sjIndivCreditRatingInfoService.insertRiskCreditWarningInfoAsync(bo);
}
return i; return i;
} }

42
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseComplaintServiceImpl.java

@ -1,5 +1,12 @@
package com.zdxt.enforcementcode.service.impl; package com.zdxt.enforcementcode.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.zdxt.enforcementcode.domain.MssqAddOrder;
import com.zdxt.enforcementcode.domain.MssqOrderFlow;
import com.zdxt.enforcementcode.domain.bo.MssqAddOrderBo;
import com.zdxt.enforcementcode.service.IMssqApiService;
import org.apache.commons.compress.utils.Lists;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -16,6 +23,7 @@ import com.zdxt.enforcementcode.domain.EnterpriseComplaint;
import com.zdxt.enforcementcode.mapper.EnterpriseComplaintMapper; import com.zdxt.enforcementcode.mapper.EnterpriseComplaintMapper;
import com.zdxt.enforcementcode.service.IEnterpriseComplaintService; import com.zdxt.enforcementcode.service.IEnterpriseComplaintService;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Collection; import java.util.Collection;
@ -32,6 +40,7 @@ import java.util.Collection;
public class EnterpriseComplaintServiceImpl implements IEnterpriseComplaintService { public class EnterpriseComplaintServiceImpl implements IEnterpriseComplaintService {
private final EnterpriseComplaintMapper baseMapper; private final EnterpriseComplaintMapper baseMapper;
private final IMssqApiService mssqApiService;
/** /**
* 查询企业执法-在线投诉 * 查询企业执法-在线投诉
@ -152,4 +161,37 @@ public class EnterpriseComplaintServiceImpl implements IEnterpriseComplaintServi
} }
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }
@Override
public List<MssqOrderFlow> selectEnterpriseComplaintProcess(String id) {
EnterpriseComplaint enterpriseComplaint = baseMapper.selectEnterpriseComplaintById(id);
if(StringUtils.isNotEmpty(enterpriseComplaint.getProWoCode())){
log.info("查询投诉信息:{}", JSONObject.toJSONString(enterpriseComplaint));
//查询民生诉求接口 获取处置进度,判断是否存在诉求工单编码
log.info("查询工单编码:{}",enterpriseComplaint.getProWoCode());
//查询工单处置流程信息
MssqAddOrderBo mssqAddOrder = new MssqAddOrderBo();
mssqAddOrder.setProWoCode(enterpriseComplaint.getProWoCode());
String s = null;
try {
//查询进度详细信息 TODO 异常捕捉之后,前端超时
s = mssqApiService.queryMssq(mssqAddOrder, "/api/API_YX/proProcess/queryAppInfo");
log.info("查询工单信息结果返回:{}",s);
JSONObject jsonObject = JSONObject.parseObject(s);
//获取进度数据
List<MssqOrderFlow> approveDatas1 =
JSONArray.parseArray(jsonObject.getString("approveDatas"), MssqOrderFlow.class);
//列表排序反转
Collections.reverse(approveDatas1);
enterpriseComplaint.setMssqOrderFlows(approveDatas1);
return approveDatas1;
} catch (Exception e) {
e.printStackTrace();
log.info("查询工单信息结果异常,{}",s);
}
}
return Lists.newArrayList();
}
} }

41
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnterpriseComplaintMapper.xml

@ -3,4 +3,45 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zdxt.enforcementcode.mapper.EnterpriseComplaintMapper"> <mapper namespace="com.zdxt.enforcementcode.mapper.EnterpriseComplaintMapper">
<resultMap type="EnterpriseComplaint" id="EnterpriseComplaintResult">
<result property="id" column="id" />
<result property="relId" column="rel_id" />
<result property="enforceType" column="enforce_type" />
<result property="problemDescription" column="problem_description" />
<result property="enterpriseAddress" column="enterprise_address" />
<result property="linkman" column="linkman" />
<result property="linkmanTel" column="linkman_tel" />
<result property="comOrOpi" column="com_or_opi" />
<result property="authorization" column="authorization" />
<result property="createTime" column="create_time" />
<result property="proWoCode" column="pro_wo_code" />
<result property="enterpriseNumber" column="enterprise_number" />
<result property="enterpriseName" column="enterprise_name" />
<result property="status" column="status" />
<result property="evaluateTime" column="evaluate_time" />
<result property="complaintDepartments" column="complaint_departments" />
<result property="complaintDepartmentIds" column="complaint_department_ids" />
<result property="enforcementTime" column="enforcement_time" />
<result property="handleTime" column="handle_time" />
<result property="complaintType" column="complaint_type" />
<result property="complaintItemCodes" column="complaint_item_codes" />
<result property="complaintItemNames" column="complaint_item_names" />
<result property="complaintRecordItem" column="complaint_record_item" />
<result property="recordType" column="record_type" />
</resultMap>
<sql id="selectEnterpriseComplaintVo">
select id, rel_id, enforce_type, problem_description, enterprise_address, linkman,
linkman_tel, com_or_opi, authorization, create_time, pro_wo_code,enterprise_number,
enterprise_name,status,evaluate_time,complaint_departments,complaint_department_ids,
enforcement_time,handle_time,complaint_type,complaint_item_codes,complaint_item_names,complaint_record_item,
record_type
from enterprise_complaint
</sql>
<select id="selectEnterpriseComplaintById" parameterType="String" resultMap="EnterpriseComplaintResult">
<include refid="selectEnterpriseComplaintVo"/>
where id = #{id}
</select>
</mapper> </mapper>

63
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/ZdxtFileMapper.xml

@ -3,6 +3,32 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zdxt.enforcementcode.mapper.ZdxtFileMapper"> <mapper namespace="com.zdxt.enforcementcode.mapper.ZdxtFileMapper">
<resultMap type="com.zdxt.enforcementcode.domain.ZdxtFile" id="ZdxtFileResult">
<result property="guid" column="guid"/>
<result property="businessId" column="business_id"/>
<result property="sortCode" column="sort_code"/>
<result property="fileName" column="file_name"/>
<result property="uploadPersonId" column="upload_person_id"/>
<result property="uploadPersonName" column="upload_person_name"/>
<result property="uploadPath" column="upload_path"/>
<result property="uploadTime" column="upload_time"/>
<result property="orgCode" column="org_code"/>
<result property="orgName" column="org_name"/>
<result property="fileType" column="file_type"/>
<result property="fileSuffix" column="file_suffix"/>
<result property="fileSaveName" column="file_save_name"/>
<result property="fileSize" column="file_size"/>
<result property="fileRemark" column="file_remark"/>
<result property="updateTime" column="update_time"/>
<result property="updatePersonName" column="update_person_name"/>
<result property="isDelete2" column="is_delete2"/>
<result property="expand1" column="expand1"/>
<result property="expand2" column="expand2"/>
<result property="expand3" column="expand3"/>
<result property="sassId" column="sass_id"/>
</resultMap>
<!-- 使用 BaseMapperPlus 提供的标准方法,无需自定义 SQL --> <!-- 使用 BaseMapperPlus 提供的标准方法,无需自定义 SQL -->
<insert id="insertZdxtFile" parameterType="com.zdxt.enforcementcode.domain.ZdxtFile"> <insert id="insertZdxtFile" parameterType="com.zdxt.enforcementcode.domain.ZdxtFile">
@ -65,4 +91,41 @@
#{businessId} #{businessId}
</foreach> </foreach>
</delete> </delete>
<sql id="selectZdxtFileVo">
select guid, business_id, sort_code, file_name, upload_person_id, upload_person_name, upload_path, upload_time, org_code, org_name, file_type, file_suffix, file_save_name, file_size, file_remark, update_time, update_person_name, is_delete2, expand1, expand2, expand3, sass_id from zdxt_file
</sql>
<select id="selectZdxtFileList" parameterType="com.zdxt.enforcementcode.domain.ZdxtFile" resultMap="ZdxtFileResult">
<include refid="selectZdxtFileVo"/>
<where>
<if test="businessId != null and businessId != ''">and business_id = #{businessId}</if>
<if test="sortCode != null and sortCode != ''">and sort_code = #{sortCode}</if>
<if test="fileName != null and fileName != ''">and file_name like concat('%', #{fileName}, '%')</if>
<if test="uploadPersonId != null and uploadPersonId != ''">and upload_person_id = #{uploadPersonId}</if>
<if test="uploadPersonName != null and uploadPersonName != ''">and upload_person_name like concat('%',
#{uploadPersonName}, '%')
</if>
<if test="uploadPath != null and uploadPath != ''">and upload_path = #{uploadPath}</if>
<if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
<if test="orgCode != null and orgCode != ''">and org_code = #{orgCode}</if>
<if test="orgName != null and orgName != ''">and org_name like concat('%', #{orgName}, '%')</if>
<if test="fileType != null and fileType != ''">and file_type = #{fileType}</if>
<if test="fileSuffix != null and fileSuffix != ''">and file_suffix = #{fileSuffix}</if>
<if test="fileSaveName != null and fileSaveName != ''">and file_save_name like concat('%', #{fileSaveName},
'%')
</if>
<if test="fileSize != null and fileSize != ''">and file_size = #{fileSize}</if>
<if test="fileRemark != null and fileRemark != ''">and file_remark = #{fileRemark}</if>
<if test="updatePersonName != null and updatePersonName != ''">and update_person_name like concat('%',
#{updatePersonName}, '%')
</if>
<if test="isDelete2 != null ">and is_delete2 = #{isDelete2}</if>
<if test="expand1 != null and expand1 != ''">and expand1 = #{expand1}</if>
<if test="expand2 != null and expand2 != ''">and expand2 = #{expand2}</if>
<if test="expand3 != null and expand3 != ''">and expand3 = #{expand3}</if>
<if test="sassId != null and sassId != ''">and sass_id = #{sassId}</if>
</where>
order BY update_time DESC
</select>
</mapper> </mapper>

31
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/report/ComplaintStatisticsReportMapper.xml

@ -145,5 +145,36 @@
${dataFilter} ${dataFilter}
</select> </select>
<select id="complaintGetComplaintDepartment" parameterType="ComplaintStatistics" resultMap="ComplaintStatisticsResult">
select (CASE WHEN c.rid IS NULL THEN c.complaint_department_id ELSE r.bureau_dept_id END) AS complaint_department_id,
(CASE WHEN c.rid IS NULL THEN c.complaint_department ELSE r.bureau_dept_name END) AS complaint_department,
c.enforce_type, c.complaint_time,c.cid,c.id,ec.pro_wo_code,r.enforcement_time as enforcementTime,c.enterprise_address as enterpriseAddress from complaint_statistics c
left join (select id, bureau_dept_id, bureau_dept_name,enforcement_time from enforcement_registration
where enterprise_number is not null and check_category is not null) r
on c.rid = r.id
left join enterprise_complaint ec
on c.cid=ec.id
<where>
and (c.rid is not null or c.complaint_department_id is not null)
and c.enforce_type is not null
and c.enterprise_number is not null
<if test="enforceType != null and enforceType != '' ">and c.enforce_type=#{enforceType}</if>
<if test="complaintDepartment != null and complaintDepartment != '' ">and( c.complaint_department like concat('%',#{complaintDepartment},'%') or r.bureau_dept_name like concat('%',#{complaintDepartment},'%') )</if>
<if test="beginTime != null and beginTime != '' ">and c.complaint_time>=STR_TO_DATE(#{beginTime},'%Y-%m-%d')</if>
<if test="endTime != null and endTime != '' ">and c.complaint_time>=STR_TO_DATE(#{endTime},'%Y-%m-%d')</if>
<if test="enterpriseAddress != null and enterpriseAddress != '' ">and c.enterprise_address like concat('%',#{enterpriseAddress},'%')</if>
</where>
order by complaint_time desc
</select>
<select id="complaintGetComplaintDepartmentById" parameterType="String" resultMap="ComplaintStatisticsResult">
select (CASE WHEN c.rid IS NULL THEN c.complaint_department_id ELSE r.bureau_dept_id END) AS complaint_department_id,
(CASE WHEN c.rid IS NULL THEN c.complaint_department ELSE r.bureau_dept_name END) AS complaint_department,c.cid,c.id
from (select * from complaint_statistics where id=#{id}) c
left join (select id, bureau_dept_id, bureau_dept_name
from enforcement_registration
where enterprise_number is not null and check_category is not null) r
on c.rid = r.id COLLATE utf8mb4_general_ci
</select>
</mapper> </mapper>

7
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/report/EnforcementRegistrationEINOFTReportMapper.xml

@ -44,8 +44,11 @@
GROUP BY er.enterprise_number, er.enterprise_name, er.district, er.street GROUP BY er.enterprise_number, er.enterprise_name, er.district, er.street
) t ) t
<where> <where>
<if test="bo.num != null and bo.num != ''"> <if test="bo.numMin != null and bo.numMin != ''">
AND t.num &gt;= #{bo.num} AND t.num &gt;= #{bo.numMin}
</if>
<if test="bo.numMax != null and bo.numMax != ''">
AND t.num &gt;= #{bo.numMax}
</if> </if>
</where> </where>
ORDER BY t.num DESC, t.enforcement_time DESC ORDER BY t.num DESC, t.enforcement_time DESC

11
zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysDictDataMapper.java

@ -1,6 +1,7 @@
package org.dromara.system.mapper; package org.dromara.system.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.system.domain.SysDictData; import org.dromara.system.domain.SysDictData;
import org.dromara.system.domain.bo.SysDictDataBo; import org.dromara.system.domain.bo.SysDictDataBo;
@ -36,4 +37,14 @@ public interface SysDictDataMapper extends BaseMapperPlus<SysDictData, SysDictDa
* @return * @return
*/ */
SysDictDataVo selectDictData(SysDictDataBo dictData); SysDictDataVo selectDictData(SysDictDataBo dictData);
/**
* 根据字典类型和字典键值查询字典数据信息
*
* @param dictType 字典类型
* @param dictValue 字典键值
* @return 字典标签
*/
public String selectDictLabel(@Param("dictType") String dictType, @Param("dictValue") String dictValue);
} }

5
zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysDictDataMapper.xml

@ -28,4 +28,9 @@
order by dict_sort asc order by dict_sort asc
</select> </select>
<select id="selectDictLabel" resultType="String">
select dict_label from sys_dict_data
where dict_type = #{dictType} and dict_value = #{dictValue}
</select>
</mapper> </mapper>

Loading…
Cancel
Save