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