dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseRegisterInfoWebController.java
New file @@ -0,0 +1,133 @@ package cn.huge.module.cases.controller.web; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.module.cases.domain.dto.CaseRegisterDTO; import cn.huge.module.cases.domain.po.CaseInfo; import cn.huge.module.cases.service.CaseInfoService; import com.google.common.collect.Maps; import dm.jdbc.util.StringUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.util.Map; @Slf4j @RestController @RequestMapping("/api/web/caseRegisterInfo") public class CaseRegisterInfoWebController { @Autowired(required = false) private HttpServletRequest request; private Map<String, Object> getParameter(){ Map<String, Object> terms = Maps.newHashMap(); // 登记部门 String inputUnitName = request.getParameter("inputUnitName"); if (org.apache.commons.lang3.StringUtils.isNotBlank(inputUnitName)){ terms.put("inputUnitName", inputUnitName); } // 事项等级 String caseLevel = request.getParameter("caseLevel"); if (org.apache.commons.lang3.StringUtils.isNotBlank(caseLevel)){ terms.put("caseLevel", caseLevel); } // 纠纷一级类型 String caseTypeFirst = request.getParameter("caseTypeFirst"); if (org.apache.commons.lang3.StringUtils.isNotBlank(caseTypeFirst)){ terms.put("caseTypeFirst", caseTypeFirst); } // 纠纷一级类型名称 String caseTypeFirstName = request.getParameter("caseTypeFirstName"); if (org.apache.commons.lang3.StringUtils.isNotBlank(caseTypeFirstName)){ terms.put("caseTypeFirstName", caseTypeFirstName); } // 纠纷类型 String caseType = request.getParameter("caseType"); if (org.apache.commons.lang3.StringUtils.isNotBlank(caseType)){ terms.put("caseType", caseType); } // 纠纷类型名称 String caseTypeName = request.getParameter("caseTypeName"); if (org.apache.commons.lang3.StringUtils.isNotBlank(caseTypeName)){ terms.put("caseTypeName", caseTypeName); } // 事项来源 String canal = request.getParameter("canal"); if (org.apache.commons.lang3.StringUtils.isNotBlank(canal)){ terms.put("canal", canal); } // 事项来源名称 String canalName = request.getParameter("canalName"); if (org.apache.commons.lang3.StringUtils.isNotBlank(canalName)){ terms.put("canalName", canalName); } // 申请方当事人名称 String plaintiffs = request.getParameter("plaintiffs"); if (org.apache.commons.lang3.StringUtils.isNotBlank(plaintiffs)){ terms.put("plaintiffs", plaintiffs); } // 被申请方当事人名称 String defendants = request.getParameter("defendants"); if (org.apache.commons.lang3.StringUtils.isNotBlank(defendants)){ terms.put("defendants", defendants); } // 事项状态,1:待分派,2:待签收,3:待受理,:4:办理中,5:结案审核,6:待评价,7:已归档 String status = request.getParameter("status"); if (org.apache.commons.lang3.StringUtils.isNotBlank(status)){ terms.put("status", status); } // 事项状态名称 String statusName = request.getParameter("statusName"); if (org.apache.commons.lang3.StringUtils.isNotBlank(statusName)){ terms.put("statusName", statusName); } // 事项状态名称 String mediResultName = request.getParameter("mediResultName"); if (org.apache.commons.lang3.StringUtils.isNotBlank(mediResultName)){ terms.put("mediResultName", mediResultName); } // 登记时间区间 String createStart = request.getParameter("createStart"); String createEnd = request.getParameter("createEnd"); if(org.apache.commons.lang3.StringUtils.isNotBlank(createStart) && org.apache.commons.lang3.StringUtils.isNotBlank(createEnd)) { terms.put("createStart", createStart); terms.put("createEnd", createEnd); } return terms; } @Autowired private CaseInfoService service; @GetMapping("/pageQuery") public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, @RequestParam(value = "orderBy") String orderBy) { try { Sort sort = null; if (StringUtil.isEmpty(orderBy)) { sort = Sort.by(Sort.Direction.DESC, "create_time"); } else { sort = Sort.by(Sort.Direction.DESC, orderBy); } Map<String, Object> terms = getParameter(); PageRequest pageRequest = PageRequest.of(page - 1, size, sort); Page<CaseRegisterDTO> caseInfoPage = service.pageQueryRegister(pageRequest, terms); return ReturnSucUtils.getRepInfo("处理成功", caseInfoPage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseInfoMapper.java
@@ -69,6 +69,9 @@ */ List<CaseInfo> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); List<CaseRegisterDTO> pageTermsCaseRegister(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); long countTermsCaseRegister(@Param("terms") Map<String, Object> terms); /** * 按条件查询实体总数 * @param terms 查询条件集合 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
@@ -107,7 +107,10 @@ <!-- 表 --> <sql id='table-name'>dyh_case_info</sql> <sql id="column-part-all"> a.id, a . id , a.status, a.status_name, a.canal, @@ -131,7 +134,8 @@ </sql> <!-- 字段 --> <sql id="column-part"> id, id , case_title, case_ref, case_level, @@ -521,7 +525,8 @@ </if> <if test="terms.processList != null and terms.processList.size > 0"> and process in <foreach collection="terms.processList" item="process" index="index" open="(" separator="," close=")"> <foreach collection="terms.processList" item="process" index="index" open="(" separator="," close=")"> #{process} </foreach> </if> @@ -652,6 +657,80 @@ </select> <sql id="where-register-part"> <if test="terms != null"> <where> <if test="terms.inputUnitName != null and terms.inputUnitName !=''"> and t1.input_unit_mame = #{inputUnitName} </if> <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''"> and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart} and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd}) </if> <if test="terms.caseLevel != null and terms.caseLevel !=''"> and t1.case_level = #{terms.caseLevel} </if> <if test="terms.caseTypeFirstName != null and terms.caseTypeFirstName !=''"> and t1.case_type_first_name = #{caseTypeFirstName} </if> <if test="terms.caseTypeName != null and terms.caseTypeName !=''"> and t1.case_type_name = #{terms.caseTypeName} </if> <if test="terms.canal != null and terms.canal !=''"> and t1.canal = #{canal} </if> <if test="terms.canalName != null and terms.canalName !=''"> and t1.canal_name = #{canalName} </if> <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> and t1.plaintiffs = #{terms.plaintiffs} </if> <if test="terms.defendants != null and terms.defendants !=''"> and t1.defendants = #{terms.defendants} </if> <if test="terms.status != null and terms.status !=''"> and t1.status = #{terms.status} </if> <if test="terms.statusName != null and terms.statusName !=''"> and t1.statusName = #{terms.statusName} </if> <if test="terms.mediResultName != null and terms.mediResultName !=''"> and t2.medi_result_name = #{terms.mediResultName} </if> </where> </if> </sql> <select id="pageTermsCaseRegister" resultType="cn.huge.module.cases.domain.dto.CaseRegisterDTO"> SELECT t1.create_time as createTime,t1.input_user_name as inputUserName,t1.status_name as statusName,t1.case_level as caseLevel,t1.canal_name as canalName, t1.case_type_first_name as caseTypeFirstName,t1.case_type_name as caseTypeName,t1.plaintiffs as plaintiffs,t1.defendants as defendants,t2.medi_result_name as mediResultName, t3.number as superviseCount FROM dyh_case_info t1 left join dyh_case_info_unfold t2 on t1.id = t2.id left join (select count(*) as number ,case_id from dyh_case_supervise group by case_id) t3 on t3.case_id=t1.id <include refid="where-register-part"/> <if test="page.sort != null"> <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> isnull(${s.property}), ${s.property} ${s.direction} </foreach> </if> <if test="page.sort == null"> order by isnull(create_time), create_time desc </if> limit #{page.offset}, #{page.size} </select> <select id="countTermsCaseRegister" resultType="java.lang.Long" > SELECT count(t1.id) FROM dyh_case_info t1 left join dyh_case_info_unfold t2 on t1.id = t2.id <include refid="where-register-part"/> </select> <!-- 根据条件统计 --> <select id="countTermsAll" resultType="java.lang.Long"> select dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseRegisterDTO.java
New file @@ -0,0 +1,55 @@ package cn.huge.module.cases.domain.dto; import lombok.Data; import java.util.Date; @Data public class CaseRegisterDTO { /** * 登记时间 */ private Date createTime; /** * 登记人员 */ private String inputUserName; /** * 事项状态 */ private String statusName; /** * 事项登记 */ private int caseLevel; /** * 事项来源 */ private String canalName; /** * 纠纷一级类型名称 */ private String caseTypeFirstName; /** * 纠纷二级类型名称 */ private String caseTypeName; /** *化解结果 */ private String mediResultName; /** * 申请方 */ private String plaintiffs; /** * 被申请方 */ private String defendants; /** * 督办次数 */ private int superviseCount; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -44,12 +44,12 @@ import java.util.stream.Collectors; /** * @author wangwh * @version 1.0.0 * @title: 纠纷信息主表业务逻辑处理 * @Description 纠纷信息主表业务逻辑处理 * @company hugeinfo * @author wangwh * @Time 2024-08-27 10:00:57 * @version 1.0.0 */ @Slf4j @Service @@ -89,6 +89,7 @@ /** * 更新对象 * * @param entity 对象 */ public void updateCaseInfo(CaseInfo entity){ @@ -102,6 +103,7 @@ /** * 批量更新对象 * * @param entity 对象 * @param caseIdList */ @@ -116,6 +118,7 @@ /** * 条件更新对象 * * @param entity 对象 * @param terms 条件 */ @@ -130,6 +133,7 @@ /** * 根据编号物理删除 * * @param id 查询条件集合 */ public void deleteCaseInfo(String id){ @@ -143,6 +147,7 @@ /** * 按条件查询 * * @param terms 条件 * @return List */ @@ -152,6 +157,7 @@ /** * 按条件统计 * * @param terms 条件 * @return long */ @@ -161,6 +167,7 @@ /** * 按条件分页查询 * * @param page 分页对象 * @param terms 条件 * @return Page @@ -172,7 +179,21 @@ } /** * 按条件分页查询 * * @param page 分页对象 * @param terms 条件 * @return Page */ public Page<CaseRegisterDTO> pageQueryRegister(PageRequest page, Map<String, Object> terms) { long total = mapper.countTermsCaseRegister(terms); List<CaseRegisterDTO> content = mapper.pageTermsCaseRegister(page, terms); return new PageImpl<CaseRegisterDTO>(content, page, total); } /** * 新增或更新对象 * * @param caseInfo 实体对象 */ public void saveCaseInfo(CaseInfo caseInfo){ @@ -193,6 +214,7 @@ /** * PC端-纠纷登记-保存纠纷信息-正常案件 * * @param registerSaveDTO 纠纷信息 * @param userId 用户编号 * @return String 纠纷编号 @@ -270,6 +292,7 @@ /** * pc端-常规登记-保存正式案件-保存人员信息 * * @param registerSaveDTO 纠纷信息 * @param plaintiffs 申请人 * @param pagents 申请人代理人 @@ -388,6 +411,7 @@ /** * PC端-查询纠纷信息 * * @param caseId 纠纷编号 * @return CaseInfo 纠纷信息 */ @@ -446,6 +470,7 @@ /** * PC端-查询纠纷信息 * * @param caseId 纠纷编号 * @return CaseInfo 纠纷信息 */ @@ -504,6 +529,7 @@ /** * 绑定当事人小程序 * * @param casePerson 当事人信息 */ public void setPartyUserId(CasePerson casePerson) { @@ -527,6 +553,7 @@ /** * 绑定当事人小程序 * * @param caseAgent 代理人人信息 */ public void setPartyUserId(CaseAgent caseAgent){ @@ -546,6 +573,7 @@ /** * PC端-纠纷登记-保存纠纷信息-正常案件 * * @param registerSaveDTO 纠纷信息 * @param userId 用户编号 * @return String 纠纷编号 @@ -591,7 +619,6 @@ caseInfo.setCaseRef(utilsClient.createCaseRef()); // 为了演示先兼容小程序没属地问题,写死属地 if (ObjectUtils.isEmpty(caseInfo.getQueProv())) { // caseInfo.setQueProv("19"); // caseInfo.setQueProvName("广东"); // caseInfo.setQueCity("1601"); @@ -600,9 +627,9 @@ // caseInfo.setQueAreaName("白云区"); // caseInfo.setQueRoad("62857"); // caseInfo.setQueRoadName("新市街道"); // 根据经纬度查询问题属地 QueAddrBaseDTO queAddrBaseDTO = sysClient.getQueAddrByBaiduiLngLat(caseInfo.getLng(), caseInfo.getLat()); log.info("xsdqueAddrBaseDTO:{}", queAddrBaseDTO); caseInfo.setQueProv(queAddrBaseDTO.getQueProv()); caseInfo.setQueProvName(queAddrBaseDTO.getQueProvName()); caseInfo.setQueCity(queAddrBaseDTO.getQueCity()); @@ -611,7 +638,7 @@ caseInfo.setQueAreaName(queAddrBaseDTO.getQueAreaName()); caseInfo.setQueRoad(queAddrBaseDTO.getQueRoad()); caseInfo.setQueRoadName(queAddrBaseDTO.getQueRoadName()); } log.info("xsdcaseInfo:{}", caseInfo); caseInfoUnfold.setId(caseInfo.getId()); caseInfoUnfold.setCreateTime(nowDate); caseInfoUnfold.setUpdateTime(nowDate); @@ -657,6 +684,7 @@ /** * 生成调解案件标题 * * @param plaintiffs 申请人 * @param defendants 被申请人 * @param caseTypeName 纠纷类型 @@ -687,6 +715,7 @@ /** * pc端-常规登记-保存正式案件-保存人员信息 * * @param registerSaveDTO 纠纷信息 * @param plaintiffs 申请人 * @param pagents 申请人代理人 @@ -779,6 +808,7 @@ /** * 按条件分页查询-小程序查询 * * @param page 分页对象 * @param terms 条件 * @return Page @@ -865,6 +895,7 @@ /** * 按条件分页查询-综合查询 * * @param page 分页对象 * @param terms 条件 * @return Page