sunyize 2 роки тому
батько
коміт
247706053f

+ 166 - 6
tnc-sms/src/main/java/org/jeecg/modules/smscheck/controller/BusinessReminderCardController.java

@@ -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);
         }

+ 36 - 16
tnc-sms/src/main/java/org/jeecg/modules/smscheck/entity/BusinessReminderCard.java

@@ -79,26 +79,54 @@ public class BusinessReminderCard {
     private Integer isInvolvingFraud;
     /** 黑名单到期客户新入网的高危疑似涉诈号码备注 */
     private String isInvolvingFraudNote;
-    /** 是否将高危号码上报蓝、紫名单或不可复开关停 */
-    private String numberResults;
+
 
     /** 删除标识 */
-    @Excel(name = "删除标识", width = 15)
+    //@Excel(name = "删除标识", width = 15)
     @ApiModelProperty(value = "删除标识")
     private Integer delFlag;
+    /** 证件号 */
+    @Excel(name = "证件号", width = 15)
+    @ApiModelProperty(value = "证件号")
+    private String cardNo;
+
+    /** 姓名 */
+    @Excel(name = "姓名", width = 15)
+    @ApiModelProperty(value = "姓名")
+    private String cardName;
 
 
     /** 创建人 */
     @ApiModelProperty(value = "创建人")
+    @Excel(name = "创建人", width = 15)
     private String createBy;
     /** 创建日期 */
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "创建日期")
-    private Date createTime;
+    @Excel(name = "创建日期", width = 15)
+    private String createTime;
+
+
+    @ApiModelProperty(value = "创建人营业厅")
+    @Excel(name = "创建人营业厅", width = 15)
+    private String sysBusinessHall;
     /** 更新人 */
     @ApiModelProperty(value = "更新人")
+    @Excel(name = "更新人", width = 15)
     private String updateBy;
+    @ApiModelProperty(value = "更新人营业厅")
+    @Excel(name = "更新人营业厅", width = 15)
+    private String newBusinessAddress;
+    @ApiModelProperty(value = "新开手机号码")
+    @Excel(name = "新开手机号码", width = 15)
+    private String newPhone;
+
+    @ApiModelProperty(value = "判研结果")
+    @Excel(name = "判研结果", width = 15)
+    /** 是否将高危号码上报蓝、紫名单或不可复开关停 */
+    private String numberResults;
     /** 更新日期 */
     @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@@ -119,13 +147,6 @@ public class BusinessReminderCard {
     @DateTimeFormat(pattern="yyyy-MM-dd")
     @ApiModelProperty(value = "有效期开始")
     private Date cardStartTime;
-    /** 证件号 */
-    @ApiModelProperty(value = "证件号")
-    private String cardNo;
-
-    /** 姓名 */
-    @ApiModelProperty(value = "姓名")
-    private String cardName;
 
 
     /** 位置信息 */
@@ -149,11 +170,10 @@ public class BusinessReminderCard {
     @ApiModelProperty(value = "客户所属行业")
     private String industry;
     /** 新开手机号码 */
-    @ApiModelProperty(value = "新开手机号码")
-    private String newPhone;
 
 
-    private String sysBusinessHall;
+
+
     private String company;
 
     private  String judgmentResearch;
@@ -164,7 +184,7 @@ public class BusinessReminderCard {
     private String liantong;
     private String qita;
 
-    private String newBusinessAddress;
+
 
     //身份证是否有期
     private String cardStartTimeAndEnd ;