package cn.huge.module.cases.controller.web; import cn.huge.base.common.utils.ObjectUtils; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.base.config.CurrentUser; import cn.huge.module.cases.domain.dto.CaseRegisterDTO; import cn.huge.module.cases.domain.po.CaseInfo; import cn.huge.module.cases.service.CaseInfoService; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.cust.dto.CtUserDTO; 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 getParameter() { Map 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)) { if (caseLevel.equals("三级")) terms.put("caseLevel", 3); else if (caseLevel.equals("二级")) terms.put("caseLevel", 2); else terms.put("caseLevel", 1); } // 纠纷一级类型 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 mediResult = request.getParameter("mediResult"); if (org.apache.commons.lang3.StringUtils.isNotBlank(mediResult)) { terms.put("mediResult", mediResult); } // 登记时间区间 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; @Autowired private CustClientImpl custClient; @GetMapping("/pageQuery") public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size , @CurrentUser String userId) { try { Map terms = getParameter(); // 排序 Sort sort = null; String sortName = null; String sortColmnStr = request.getParameter("sortColmn"); String sortTypeStr = request.getParameter("sortType"); int sortColmn = 1; int sortType = 1; if (StringUtils.isNotBlank(sortColmnStr)) { sortColmn = Integer.valueOf(sortColmnStr); } if (StringUtils.isNotBlank(sortTypeStr)) { sortType = Integer.valueOf(sortTypeStr); } switch (sortColmn) { case 1: sortName = "t1.create_time"; break; case 2: sortName = "t1.case_level"; break; case 3: sortName = "t3.number"; break; } switch (sortType) { case 1: sort = Sort.by(Sort.Direction.ASC, sortName); break; case 2: sort = Sort.by(Sort.Direction.DESC, sortName); break; } if (ObjectUtils.isEmpty(sort)) { sort = Sort.by(Sort.Direction.DESC, "t1.create_time"); } PageRequest pageRequest = PageRequest.of(page - 1, size, sort); CtUserDTO loginUser = custClient.clientGetUserAll(userId); log.info("xsd:user{}",loginUser.getUnitId()); terms.put("inputUnitId", loginUser.getUnitId()); Page caseInfoPage = service.pageQueryRegister(pageRequest, terms); return ReturnSucUtils.getRepInfo("处理成功", caseInfoPage); } catch (Exception e) { log.error("Controller接口[CaseRegisterInfoWebController.pageQuery]请求异常:" + e, e); return ReturnFailUtils.getRepInfo(); } } }