Переглянути джерело

Merge remote-tracking branch 'origin/master'

liuhy 2 роки тому
батько
коміт
b1db7339bf

+ 255 - 22
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.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+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,32 +53,80 @@ 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
     private PhonePurposeService phonePurposeService;
 
     private static final String PHONE_PLACE_API_URL="https://cx.shouji.360.cn/phonearea.php";
-
-
+    @Resource
+    private SysCompanyService sysCompanyService;
+    @Resource
+    private SysBusinessHallService sysBusinessHallService;
     @ApiOperation(value = "入网信息业务-分页列表查询", notes = "入网信息业务-分页列表查询")
     @GetMapping(value = "/list")
     public Result<IPage<BusinessReminderCard>> queryPageList(BusinessReminderCard businessReminderCard,
                                                              @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                                              @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                              HttpServletRequest request) {
+
+//        //判研营业厅
+//        String sysBusinessHall = request.getParameterMap().get("sysBusinessHall")==null?"":
+//                Arrays.toString(request.getParameterMap().get("sysBusinessHall")).replace("[", "").replace("]", "").replace("*", "");
+        //创建人 营业厅
+         String businessAddress = request.getParameterMap().get("businessAddress")==null?"":
+                 Arrays.toString(request.getParameterMap().get("businessAddress")).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(businessAddress)){
+            queryWrapper.like("business_address",businessAddress);
+        }
 
-        request.getParameterMap().get("numberResults_MultiString");
-        LambdaQueryWrapper<BusinessReminderCard> queryWrapperData = new LambdaQueryWrapper<>();
-        QueryWrapper<BusinessReminderCard> queryWrapper = QueryGenerator.initQueryWrapper(businessReminderCard, request.getParameterMap());
-
+        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.or().like("number_results",numberResults_MultiString);
+            queryWrapper.like("number_results",numberResults_MultiString);
         }
+        if (StringUtils.isNotBlank(numberResults)){
+            queryWrapper.like("number_results",numberResults);
+        }
+        queryWrapper.orderByDesc("create_time");
         Page<BusinessReminderCard> page = new Page<>(pageNo, pageSize);
         IPage<BusinessReminderCard> pageList = businessReminderCardService.page(page, queryWrapper);
         return Result.OK(pageList);
@@ -84,6 +146,172 @@ public class BusinessReminderCardController {
     }
 
 
+    private List<String> resultData(String name,String id){
+        //营业厅查询处理
+        List<String>ids =new ArrayList<>();
+        List<SysCompany> sysCompanyList =sysCompanyService.list();
+        List<SysBusinessHallAndSysCompany> dataSysBusinessHall = sysBusinessHallService.getDataSysBusinessHall(sysCompanyList);
+        for (SysBusinessHallAndSysCompany sysBusinessHallAndSysCompany : dataSysBusinessHall) {
+            List<SysBusinessHall> sysBusinessHallList = sysBusinessHallAndSysCompany.getSysBusinessHallList();
+            for (SysBusinessHall businessHall : sysBusinessHallList) {
+                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 = businessReminderCardService.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());
+            }
+            if ( reminderCard.getCreateTime()!=null){
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+                String dateString = sdf.format(reminderCard.getCreateTime());
+                reminderCard.setStaffNo(dateString);
+            }
+
+        }
+
+        // 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查询 入网信息统计数
      *
@@ -254,20 +482,25 @@ public class BusinessReminderCardController {
             queryWrapperData.eq(BusinessReminderCard::getId,id);
         }
         List<BusinessReminderCard> businessReminderCard = businessReminderCardService.list(queryWrapperData);
-        int i = 0;
-        for (BusinessReminderCard reminderCard : businessReminderCard) {
-            if (ObjectUtil.isNotNull(reminderCard.getNumberResults())){
-                if (!reminderCard.getNumberResults().contains("1")){
-                    i++;
-                }
+        List<BusinessReminderCard> businessReminderCards =new ArrayList<>();
+
+        for (BusinessReminderCard u : businessReminderCard) {
+            if (!u.getNumberResults().contains("1")) {
+                businessReminderCards.add(u);
             }
-            if (i>=2){
-                businessReminderCard.stream().forEach(u->u.setIsSizeNumberResults("is"));
-                reminderCard.setIsSizeNumberResults("is");
+        }
+
+
+
+        if (StringUtils.isBlank(id)){
+            if (businessReminderCards.size()>=2){
+                businessReminderCards.stream().forEach(u->u.setIsSizeNumberResults("is"));
             }
+            return Result.OK(businessReminderCards);
+        }else {
+            return Result.OK(businessReminderCard);
         }
 
-        return Result.OK(businessReminderCard);
 
     }
 

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

@@ -79,26 +79,52 @@ 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;
+
+
+    @ApiModelProperty(value = "判研营业厅")
+    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 +145,6 @@ public class BusinessReminderCard {
     @DateTimeFormat(pattern="yyyy-MM-dd")
     @ApiModelProperty(value = "有效期开始")
     private Date cardStartTime;
-    /** 证件号 */
-    @ApiModelProperty(value = "证件号")
-    private String cardNo;
-
-    /** 姓名 */
-    @ApiModelProperty(value = "姓名")
-    private String cardName;
 
 
     /** 位置信息 */
@@ -138,7 +157,8 @@ public class BusinessReminderCard {
     private String wordAddress;
 
     /** 营业厅地址 */
-    @ApiModelProperty(value = "营业厅地址")
+    @ApiModelProperty(value = "创建人营业厅地址")
+    @Excel(name = "创建人营业厅地址", width = 15)
     private String businessAddress;
 
     // 研判结果 个数
@@ -149,11 +169,10 @@ public class BusinessReminderCard {
     @ApiModelProperty(value = "客户所属行业")
     private String industry;
     /** 新开手机号码 */
-    @ApiModelProperty(value = "新开手机号码")
-    private String newPhone;
 
 
-    private String sysBusinessHall;
+
+
     private String company;
 
     private  String judgmentResearch;
@@ -164,5 +183,13 @@ public class BusinessReminderCard {
     private String liantong;
     private String qita;
 
-    private String newBusinessAddress;
+
+
+    //身份证是否有期
+    private String cardStartTimeAndEnd ;
+    //staffNo  这个未使用 导出时候暂用下  进行日期转换
+    @Excel(name = "创建日期", width = 15)
+    private String staffNo;
+    //地址判研
+    private String judgmentResearchAddress;
 }