|
|
@@ -12,24 +12,38 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.beanutils.PropertyUtils;
|
|
|
+import org.apache.poi.ss.formula.functions.T;
|
|
|
+import org.apache.shiro.SecurityUtils;
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
import org.jeecg.common.aspect.annotation.PermissionData;
|
|
|
import org.jeecg.common.constant.CommonConstant;
|
|
|
+import org.jeecg.common.system.base.controller.JeecgController;
|
|
|
import org.jeecg.common.system.query.QueryGenerator;
|
|
|
+import org.jeecg.common.system.vo.LoginUser;
|
|
|
+import org.jeecg.common.util.oConvertUtils;
|
|
|
import org.jeecg.modules.smscheck.entity.*;
|
|
|
import org.jeecg.modules.smscheck.service.BusinessReminderCardService;
|
|
|
import org.jeecg.modules.smscheck.service.PhonePurposeService;
|
|
|
import org.jeecg.modules.smscheck.service.SysBusinessHallService;
|
|
|
import org.jeecg.modules.smscheck.service.SysCompanyService;
|
|
|
import org.jeecg.modules.smscheck.util.HttpClientUtil;
|
|
|
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
|
|
+import org.jeecgframework.poi.excel.entity.ExportParams;
|
|
|
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.text.DateFormat;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
|
+import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
@@ -39,7 +53,9 @@ import java.util.stream.Stream;
|
|
|
@RestController
|
|
|
@RequestMapping("/businessReminderCard")
|
|
|
@Slf4j
|
|
|
-public class BusinessReminderCardController {
|
|
|
+public class BusinessReminderCardController extends JeecgController<BusinessReminderCard, BusinessReminderCardService> {
|
|
|
+ @Value("${jeecg.path.upload}")
|
|
|
+ private String upLoadPath;
|
|
|
@Autowired
|
|
|
private BusinessReminderCardService businessReminderCardService;
|
|
|
@Autowired
|
|
|
@@ -79,7 +95,7 @@ public class BusinessReminderCardController {
|
|
|
queryWrapper.eq("del_flag",CommonConstant.DEL_FLAG_0);
|
|
|
|
|
|
if (StringUtils.isNotBlank(sysBusinessHall)){
|
|
|
- List<String> list = resultData(sysBusinessHall);
|
|
|
+ List<String> list = resultData(sysBusinessHall,null);
|
|
|
if (list.size()>0){
|
|
|
queryWrapper.in("sys_business_hall",list);
|
|
|
}else {
|
|
|
@@ -122,7 +138,7 @@ public class BusinessReminderCardController {
|
|
|
}
|
|
|
|
|
|
|
|
|
- private List<String> resultData(String name){
|
|
|
+ private List<String> resultData(String name,String id){
|
|
|
//营业厅查询处理
|
|
|
List<String>ids =new ArrayList<>();
|
|
|
List<SysCompany> sysCompanyList =sysCompanyService.list();
|
|
|
@@ -130,14 +146,158 @@ public class BusinessReminderCardController {
|
|
|
for (SysBusinessHallAndSysCompany sysBusinessHallAndSysCompany : dataSysBusinessHall) {
|
|
|
List<SysBusinessHall> sysBusinessHallList = sysBusinessHallAndSysCompany.getSysBusinessHallList();
|
|
|
for (SysBusinessHall businessHall : sysBusinessHallList) {
|
|
|
- if (businessHall.getName().contains(name)){
|
|
|
- ids.add(businessHall.getId());
|
|
|
+ if (StringUtils.isNotBlank(name)){
|
|
|
+ if (businessHall.getName().contains(name)){
|
|
|
+ ids.add(businessHall.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(id)){
|
|
|
+ if (businessHall.getId().equals(id)){
|
|
|
+ ids.add(businessHall.getName());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return ids;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+ private QueryWrapper<BusinessReminderCard> getQueryWrapper(HttpServletRequest request,BusinessReminderCard businessReminderCard){
|
|
|
+ String sysBusinessHall = request.getParameterMap().get("sysBusinessHall")==null?"":
|
|
|
+ Arrays.toString(request.getParameterMap().get("sysBusinessHall")).replace("[", "").replace("]", "").replace("*", "");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ businessReminderCard.setDelFlag( CommonConstant.DEL_FLAG_0);
|
|
|
+ String numberResults_MultiString = request.getParameterMap().get("numberResults_MultiString")==null?"":
|
|
|
+ Arrays.toString(request.getParameterMap().get("numberResults_MultiString")).replace("[", "").replace("]", "").replace("*", "");
|
|
|
+ String numberResults = request.getParameterMap().get("numberResults")==null?"":
|
|
|
+ Arrays.toString(request.getParameterMap().get("numberResults")).replace("[", "").replace("]", "").replace("*", "");
|
|
|
+ businessReminderCard.setNumberResults(null);
|
|
|
+ businessReminderCard.setSysBusinessHall(null);
|
|
|
+ String createDateStart = request.getParameterMap().get("createDateStart")==null?"":
|
|
|
+ Arrays.toString(request.getParameterMap().get("createDateStart")).replace("[", "").replace("]", "").replace("*", "");
|
|
|
+ String createDateEnd = request.getParameterMap().get("createDateEnd")==null?"":
|
|
|
+ Arrays.toString(request.getParameterMap().get("createDateEnd")).replace("[", "").replace("]", "").replace("*", "");
|
|
|
+
|
|
|
+
|
|
|
+ QueryWrapper<BusinessReminderCard> queryWrapper = QueryGenerator.initQueryWrapper(businessReminderCard, null);
|
|
|
+ queryWrapper.eq("del_flag",CommonConstant.DEL_FLAG_0);
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(sysBusinessHall)){
|
|
|
+ List<String> list = resultData(sysBusinessHall,null);
|
|
|
+ if (list.size()>0){
|
|
|
+ queryWrapper.in("sys_business_hall",list);
|
|
|
+ }else {
|
|
|
+ queryWrapper.eq("sys_business_hall",'无');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(createDateStart) && StringUtils.isNotBlank(createDateEnd) ){
|
|
|
+ queryWrapper.between("create_time",createDateStart,createDateEnd);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(createDateStart) || StringUtils.isNotBlank(createDateEnd) ){
|
|
|
+ queryWrapper.ge("create_time",createDateStart);
|
|
|
+ }
|
|
|
+ if ( StringUtils.isNotBlank(createDateEnd) ){
|
|
|
+ queryWrapper.le("create_time",createDateEnd);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(numberResults_MultiString)){
|
|
|
+ queryWrapper.like("number_results",numberResults_MultiString);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(numberResults)){
|
|
|
+ queryWrapper.like("number_results",numberResults);
|
|
|
+ }
|
|
|
+ queryWrapper.orderByDesc("create_time");
|
|
|
+ return queryWrapper;
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "入网信息业务-导出", notes = "入网信息业务-导出")
|
|
|
+ @GetMapping(value = "/exportXls")
|
|
|
+ public ModelAndView exportXls(HttpServletRequest request, BusinessReminderCard businessReminderCard) throws Exception {
|
|
|
+ // Step.1 组装查询条件
|
|
|
+
|
|
|
+ QueryWrapper<BusinessReminderCard> queryWrapper =getQueryWrapper( request,businessReminderCard);
|
|
|
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
+
|
|
|
+ // Step.2 获取导出数据
|
|
|
+ List<BusinessReminderCard> pageList = service.list(queryWrapper);
|
|
|
+ List<BusinessReminderCard> exportList = new ArrayList<>();
|
|
|
+
|
|
|
+ // 过滤选中数据
|
|
|
+ String selections = request.getParameter("selections");
|
|
|
+ if (oConvertUtils.isNotEmpty(selections)) {
|
|
|
+ List<String> selectionList = Arrays.asList(selections.split(","));
|
|
|
+ for (String s : selectionList) {
|
|
|
+ for (int i = 0; i < pageList.size(); i++) {
|
|
|
+ String id = PropertyUtils.getProperty(pageList.get(i), "id").toString();
|
|
|
+ if (id.equals(s)) {
|
|
|
+ exportList.add(pageList.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ exportList = pageList;
|
|
|
+ }
|
|
|
+ // 数据翻译
|
|
|
+ for (BusinessReminderCard reminderCard : exportList) {
|
|
|
+ // 营业厅地址
|
|
|
+ if (StringUtils.isNotBlank(reminderCard.getSysBusinessHall())){
|
|
|
+ List<String> list = resultData(null, reminderCard.getSysBusinessHall());
|
|
|
+ reminderCard.setSysBusinessHall(list.get(0));
|
|
|
+ }
|
|
|
+ // 营业厅地址
|
|
|
+ if (StringUtils.isNotBlank(reminderCard.getNewBusinessAddress())){
|
|
|
+ List<String> list = resultData(null, reminderCard.getNewBusinessAddress());
|
|
|
+ reminderCard.setNewBusinessAddress(list.get(0));
|
|
|
+ }
|
|
|
+ //办理电话
|
|
|
+ if (StringUtils.isNotBlank(reminderCard.getNewPhone())){
|
|
|
+
|
|
|
+ reminderCard.setNewPhone(reminderCard.getNewPhone().replace("newPhone1+"," ").replace(",newPhone2+"," ")
|
|
|
+ .replace(",newPhone3+"," ").replace(",newPhone4+"," ").replace(",newPhone5+"," "));
|
|
|
+ }
|
|
|
+ //判研结果
|
|
|
+ if (StringUtils.isNotBlank(reminderCard.getNumberResults())){
|
|
|
+ String[] split = reminderCard.getNumberResults().split(",");
|
|
|
+ StringBuilder str = new StringBuilder();
|
|
|
+ for (String s : split) {
|
|
|
+ if (s.equals("1")){
|
|
|
+ str.append("非高危");
|
|
|
+ }
|
|
|
+ if (s.equals("2")){
|
|
|
+ str.append("已报关停");
|
|
|
+ }
|
|
|
+ if (s.equals("3")){
|
|
|
+ str.append("已报蓝名单");
|
|
|
+ }
|
|
|
+ if (s.equals("4")){
|
|
|
+ str.append("已报紫名单");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ reminderCard.setNumberResults(str.toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // Step.3 AutoPoi 导出Excel
|
|
|
+ ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
|
|
+ //此处设置的filename无效 ,前端会重更新设置一下
|
|
|
+ mv.addObject(NormalExcelConstants.FILE_NAME, "入网信息业务");
|
|
|
+ mv.addObject(NormalExcelConstants.CLASS, BusinessReminderCard.class);
|
|
|
+ //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置--------------------
|
|
|
+ ExportParams exportParams=new ExportParams( "入网信息业务报表", "导出人:" + sysUser.getRealname(), "入网信息业务");
|
|
|
+ exportParams.setImageBasePath(upLoadPath);
|
|
|
+ //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置----------------------
|
|
|
+ mv.addObject(NormalExcelConstants.PARAMS,exportParams);
|
|
|
+ mv.addObject(NormalExcelConstants.DATA_LIST, exportList);
|
|
|
+ return mv;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 通过id查询 入网信息统计数
|
|
|
*
|
|
|
@@ -303,7 +463,7 @@ public class BusinessReminderCardController {
|
|
|
String cardNo = request.getParameterMap().get("cardNo")==null?"": Arrays.toString(request.getParameterMap().get("cardNo")).replace("[", "").replace("]", "").replace("*", "");
|
|
|
String id = request.getParameterMap().get("id")==null?"": Arrays.toString(request.getParameterMap().get("id")).replace("[", "").replace("]", "").replace("*", "");
|
|
|
LambdaQueryWrapper<BusinessReminderCard> queryWrapperData = new LambdaQueryWrapper<>();
|
|
|
- queryWrapperData.eq(BusinessReminderCard::getCardNo, cardNo).eq(BusinessReminderCard::getDelFlag, CommonConstant.DEL_FLAG_0).orderByDesc(BusinessReminderCard::getCreateTime);
|
|
|
+ queryWrapperData.eq(BusinessReminderCard::getCardNo, cardNo).eq(BusinessReminderCard::getDelFlag, CommonConstant.DEL_FLAG_0).orderByDesc(BusinessReminderCard::getUpdateTime);
|
|
|
if (StringUtils.isNotBlank(id)){
|
|
|
queryWrapperData.eq(BusinessReminderCard::getId,id);
|
|
|
}
|