|
@@ -10,6 +10,7 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
@@ -24,6 +25,7 @@ import org.jeecg.common.system.base.controller.JeecgController;
|
|
|
import org.jeecg.common.system.query.QueryGenerator;
|
|
import org.jeecg.common.system.query.QueryGenerator;
|
|
|
import org.jeecg.common.system.vo.DictModel;
|
|
import org.jeecg.common.system.vo.DictModel;
|
|
|
import org.jeecg.common.system.vo.LoginUser;
|
|
import org.jeecg.common.system.vo.LoginUser;
|
|
|
|
|
+import org.jeecg.common.system.vo.SysDepartModel;
|
|
|
import org.jeecg.modules.smscheck.configs.CheckStateCode;
|
|
import org.jeecg.modules.smscheck.configs.CheckStateCode;
|
|
|
import org.jeecg.modules.smscheck.entity.*;
|
|
import org.jeecg.modules.smscheck.entity.*;
|
|
|
import org.jeecg.modules.smscheck.entity.currency.DataYearMonth;
|
|
import org.jeecg.modules.smscheck.entity.currency.DataYearMonth;
|
|
@@ -32,6 +34,7 @@ import org.jeecg.modules.smscheck.service.impl.DataYearMonthImpl;
|
|
|
import org.jeecg.modules.smscheck.vo.SmsCheckCustomerInfoVo;
|
|
import org.jeecg.modules.smscheck.vo.SmsCheckCustomerInfoVo;
|
|
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
|
|
import org.jeecgframework.poi.excel.entity.ImportParams;
|
|
import org.jeecgframework.poi.excel.entity.ImportParams;
|
|
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
@@ -39,10 +42,9 @@ import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
-import java.util.Arrays;
|
|
|
|
|
-import java.util.Date;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
+import java.util.function.Function;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @author jeecg-boot
|
|
* @author jeecg-boot
|
|
@@ -71,7 +73,8 @@ public class SmsCheckTaskController extends JeecgController<SmsCheckTask, ISmsCh
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private DataYearMonthImpl dataYearMonth;
|
|
private DataYearMonthImpl dataYearMonth;
|
|
|
-
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private ISmsCheckCustomerInfoErrorService smsCheckCustomerInfoErrorService;
|
|
|
/**
|
|
/**
|
|
|
* 分页列表查询
|
|
* 分页列表查询
|
|
|
*
|
|
*
|
|
@@ -90,6 +93,7 @@ public class SmsCheckTaskController extends JeecgController<SmsCheckTask, ISmsCh
|
|
|
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
|
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
|
|
HttpServletRequest request) {
|
|
HttpServletRequest request) {
|
|
|
QueryWrapper<SmsCheckTask> queryWrapper = QueryGenerator.initQueryWrapper(smsCheckTask, request.getParameterMap());
|
|
QueryWrapper<SmsCheckTask> queryWrapper = QueryGenerator.initQueryWrapper(smsCheckTask, request.getParameterMap());
|
|
|
|
|
+ queryWrapper.orderByDesc("create_time");
|
|
|
Page<SmsCheckTask> page = new Page<>(pageNo, pageSize);
|
|
Page<SmsCheckTask> page = new Page<>(pageNo, pageSize);
|
|
|
IPage<SmsCheckTask> pageList = taskService.page(page, queryWrapper);
|
|
IPage<SmsCheckTask> pageList = taskService.page(page, queryWrapper);
|
|
|
return Result.OK(pageList);
|
|
return Result.OK(pageList);
|
|
@@ -185,7 +189,6 @@ public class SmsCheckTaskController extends JeecgController<SmsCheckTask, ISmsCh
|
|
|
public ModelAndView exportXls(HttpServletRequest request, SmsCheckTask smsCheckTask) {
|
|
public ModelAndView exportXls(HttpServletRequest request, SmsCheckTask smsCheckTask) {
|
|
|
return super.exportXls(request, smsCheckTask, SmsCheckTask.class, "稽核任务");
|
|
return super.exportXls(request, smsCheckTask, SmsCheckTask.class, "稽核任务");
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 通过excel导入数据
|
|
* 通过excel导入数据
|
|
|
*
|
|
*
|
|
@@ -257,6 +260,8 @@ public class SmsCheckTaskController extends JeecgController<SmsCheckTask, ISmsCh
|
|
|
*/
|
|
*/
|
|
|
@PostMapping(value = "/{taskId}/importCustomerData")
|
|
@PostMapping(value = "/{taskId}/importCustomerData")
|
|
|
public Result<?> importCustomerData(@PathVariable String taskId, @RequestBody List<SmsCheckCustomerInfoVo> list) {
|
|
public Result<?> importCustomerData(@PathVariable String taskId, @RequestBody List<SmsCheckCustomerInfoVo> list) {
|
|
|
|
|
+ //1同一个任务 用户编号不可一致
|
|
|
|
|
+ //2 员工得存在
|
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
List<SmsCheckCustomerInfo> dataList = new ArrayList<>();
|
|
List<SmsCheckCustomerInfo> dataList = new ArrayList<>();
|
|
|
//导入失败数据
|
|
//导入失败数据
|
|
@@ -267,15 +272,34 @@ public class SmsCheckTaskController extends JeecgController<SmsCheckTask, ISmsCh
|
|
|
infoVo.setTaskId(taskId);
|
|
infoVo.setTaskId(taskId);
|
|
|
SmsCheckCustomerInfo info = new SmsCheckCustomerInfo();
|
|
SmsCheckCustomerInfo info = new SmsCheckCustomerInfo();
|
|
|
BeanUtil.copyProperties(infoVo, info, true);
|
|
BeanUtil.copyProperties(infoVo, info, true);
|
|
|
- SysUser user = sysUserService.getOne(new LambdaQueryWrapper<SysUser>()
|
|
|
|
|
- .eq(SysUser::getWorkNo, infoVo.getStaffNo()));
|
|
|
|
|
|
|
+ List<SysUser> userList = sysUserService.list(new LambdaQueryWrapper<SysUser>()
|
|
|
|
|
+ .eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0));
|
|
|
|
|
+
|
|
|
|
|
+ Map<String, SysUser> userMap
|
|
|
|
|
+ = userList.stream().collect(Collectors.toMap(SysUser::getWorkNo, Function.identity(), (o, n) -> o));
|
|
|
|
|
+// SysUser user = sysUserService.getOne(new LambdaQueryWrapper<SysUser>()
|
|
|
|
|
+// .eq(SysUser::getWorkNo, infoVo.getStaffNo()));
|
|
|
//放入用户信息
|
|
//放入用户信息
|
|
|
|
|
+ SysUser user =userMap.get( infoVo.getStaffNo());
|
|
|
if (user == null) {
|
|
if (user == null) {
|
|
|
infoVo.setResult("0");
|
|
infoVo.setResult("0");
|
|
|
- infoVo.setErrorMsg("系统无相关用户");
|
|
|
|
|
|
|
+ infoVo.setErrorMsg("系统无此员工");
|
|
|
listErro.add(infoVo);
|
|
listErro.add(infoVo);
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
|
|
+ if (info.getStaffDeptLevel2Name()==null || info.getStaffDeptLevel2No()==null) {
|
|
|
|
|
+ infoVo.setResult("0");
|
|
|
|
|
+ infoVo.setErrorMsg("二级部门信息为空");
|
|
|
|
|
+ listErro.add(infoVo);
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (info.getStaffDeptLevel3Name()==null || info.getStaffDeptLevel3No()==null) {
|
|
|
|
|
+ infoVo.setResult("0");
|
|
|
|
|
+ infoVo.setErrorMsg("三级部门信息为空");
|
|
|
|
|
+ listErro.add(infoVo);
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
info.setStaffUsername(user.getUsername());
|
|
info.setStaffUsername(user.getUsername());
|
|
|
info.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
info.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
|
// 0:未处理;1:未完善;2:待稽核;3:待整改;4:已整改;5:稽核通过 6 未上传;
|
|
// 0:未处理;1:未完善;2:待稽核;3:待整改;4:已整改;5:稽核通过 6 未上传;
|
|
@@ -289,7 +313,7 @@ public class SmsCheckTaskController extends JeecgController<SmsCheckTask, ISmsCh
|
|
|
.eq(SmsCheckCustomerInfo::getDelFlag, CommonConstant.DEL_FLAG_0));
|
|
.eq(SmsCheckCustomerInfo::getDelFlag, CommonConstant.DEL_FLAG_0));
|
|
|
if (count > 0) {
|
|
if (count > 0) {
|
|
|
infoVo.setResult("0");
|
|
infoVo.setResult("0");
|
|
|
- infoVo.setErrorMsg("公司信息已存在");
|
|
|
|
|
|
|
+ infoVo.setErrorMsg("用户编号重复");
|
|
|
listErro.add(infoVo);
|
|
listErro.add(infoVo);
|
|
|
// TODO 重复处理,放校验里面?
|
|
// TODO 重复处理,放校验里面?
|
|
|
// return Result.error("客户[" + info.getCustomerNo() + "]已存在!");
|
|
// return Result.error("客户[" + info.getCustomerNo() + "]已存在!");
|
|
@@ -342,6 +366,22 @@ public class SmsCheckTaskController extends JeecgController<SmsCheckTask, ISmsCh
|
|
|
task.setCustomerCount(task.getCustomerCount() + customerCount);
|
|
task.setCustomerCount(task.getCustomerCount() + customerCount);
|
|
|
taskService.updateById(task);
|
|
taskService.updateById(task);
|
|
|
}
|
|
}
|
|
|
|
|
+ if (listErro!=null && listErro.size()>0){
|
|
|
|
|
+ List<SmsCheckCustomerInfoError> smsCheckCustomerInfoErrors = new ArrayList<>();
|
|
|
|
|
+ for (SmsCheckCustomerInfoVo smsCheckCustomerInfoVo : listErro) {
|
|
|
|
|
+ if (StringUtils.isNotBlank(smsCheckCustomerInfoVo.getResult())&&smsCheckCustomerInfoVo.getResult().equals("0")){
|
|
|
|
|
+ SmsCheckCustomerInfoError smsCheckCustomerInfoError =new SmsCheckCustomerInfoError();
|
|
|
|
|
+ BeanUtils.copyProperties(smsCheckCustomerInfoVo, smsCheckCustomerInfoError);
|
|
|
|
|
+ smsCheckCustomerInfoError.setDelFlag(0);
|
|
|
|
|
+ smsCheckCustomerInfoErrors.add(smsCheckCustomerInfoError);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ boolean b = smsCheckCustomerInfoErrorService.saveOrUpdateBatch(smsCheckCustomerInfoErrors);
|
|
|
|
|
+ int i=0;
|
|
|
|
|
+ }
|
|
|
return Result.OK("导入成功!导入条数" + customerCount, listErro);
|
|
return Result.OK("导入成功!导入条数" + customerCount, listErro);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -358,34 +398,76 @@ public class SmsCheckTaskController extends JeecgController<SmsCheckTask, ISmsCh
|
|
|
if (StrUtil.isBlank(vo.getCustomerNo()) && StrUtil.isBlank(vo.getUserNo())) {
|
|
if (StrUtil.isBlank(vo.getCustomerNo()) && StrUtil.isBlank(vo.getUserNo())) {
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
// 格式化入网时间
|
|
// 格式化入网时间
|
|
|
String accessTime = vo.getNetworkAccessTime();
|
|
String accessTime = vo.getNetworkAccessTime();
|
|
|
DateTime accessTimeDate = DateUtil.parse(accessTime, "yyyyMMdd");
|
|
DateTime accessTimeDate = DateUtil.parse(accessTime, "yyyyMMdd");
|
|
|
vo.setNetworkAccessTime(accessTimeDate.toDateStr());
|
|
vo.setNetworkAccessTime(accessTimeDate.toDateStr());
|
|
|
|
|
|
|
|
- // 拆分员工工号和员工姓名
|
|
|
|
|
|
|
+ // 员工工号
|
|
|
String staffInfo = vo.getStaffInfo();
|
|
String staffInfo = vo.getStaffInfo();
|
|
|
- List<String> staffInfos = removeBrackets(staffInfo);
|
|
|
|
|
- if (staffInfos.size() == 3) {
|
|
|
|
|
- vo.setStaffName(staffInfos.get(0));
|
|
|
|
|
- vo.setStaffNo(staffInfos.get(2));
|
|
|
|
|
|
|
+ vo.setStaffNo(staffInfo);
|
|
|
|
|
+ // }
|
|
|
|
|
+
|
|
|
|
|
+ //用户状态
|
|
|
|
|
+ List<SysUser> userList = sysUserService.list(new LambdaQueryWrapper<SysUser>()
|
|
|
|
|
+ .eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0));
|
|
|
|
|
+ Map<String, SysUser> userMap
|
|
|
|
|
+ = userList.stream().collect(Collectors.toMap(SysUser::getWorkNo, Function.identity(), (o, n) -> o));
|
|
|
|
|
+ SysUser sysUser = userMap.get(vo.getStaffNo());
|
|
|
|
|
+ // 状态(1:正常 2:冻结 )
|
|
|
|
|
+ String orgCode="";
|
|
|
|
|
+ //员工姓名
|
|
|
|
|
+ if (sysUser!=null){
|
|
|
|
|
+ vo.setStaffName(sysUser.getRealname());
|
|
|
|
|
+ vo.setStaffUsername( sysUser.getUsername());
|
|
|
|
|
+ Integer status = sysUser.getStatus();
|
|
|
|
|
+ if (status==1){
|
|
|
|
|
+ vo.setUserState("冻结");
|
|
|
|
|
+ }else {
|
|
|
|
|
+ vo.setUserState("正常");
|
|
|
|
|
+ }
|
|
|
|
|
+ orgCode = sysUser.getOrgCode();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 拆分员工二级部门
|
|
|
|
|
- String staffDeptLevel2 = vo.getStaffDeptLevel2();
|
|
|
|
|
- List<String> staffDeptLevel2s = removeBrackets(staffDeptLevel2);
|
|
|
|
|
- if (staffDeptLevel2s.size() == 2) {
|
|
|
|
|
- vo.setStaffDeptLevel2Name(staffDeptLevel2s.get(0));
|
|
|
|
|
- vo.setStaffDeptLevel2No(staffDeptLevel2s.get(1));
|
|
|
|
|
|
|
+ List<SysDepartModel> sysDepartModel = customerInfoService.getSysDepartModel();
|
|
|
|
|
+ Map<String, SysDepartModel> sysDepartModelMap
|
|
|
|
|
+ = sysDepartModel.stream().collect(Collectors.toMap(SysDepartModel::getOrgCode,Function.identity(), (o, n) -> o));
|
|
|
|
|
+ //员工二级部门
|
|
|
|
|
+ if (StringUtils.isNotBlank(orgCode) &&orgCode.length()>9){
|
|
|
|
|
+ String towString = orgCode.substring(0, 9);
|
|
|
|
|
+ SysDepartModel sysDepartModelTow= sysDepartModelMap.get(towString);
|
|
|
|
|
+ if (sysDepartModelTow!=null){
|
|
|
|
|
+ vo.setStaffDeptLevel2No(sysDepartModelTow.getOrgCode());
|
|
|
|
|
+ vo.setStaffDeptLevel2Name(sysDepartModelTow.getDepartName());
|
|
|
|
|
+ vo.setStaffDeptLevel2(sysDepartModelTow.getDepartName()+"("+sysDepartModelTow.getOrgCode()+")");
|
|
|
|
|
+ }
|
|
|
|
|
+ //员工三级部门
|
|
|
|
|
+ String threeString = orgCode.substring(0, 13);
|
|
|
|
|
+ SysDepartModel sysDepartModelThree = sysDepartModelMap.get(threeString);
|
|
|
|
|
+ if (sysDepartModelThree!=null){
|
|
|
|
|
+ vo.setStaffDeptLevel3No(sysDepartModelThree.getOrgCode());
|
|
|
|
|
+ vo.setStaffDeptLevel3Name(sysDepartModelThree.getDepartName());
|
|
|
|
|
+ vo.setStaffDeptLevel3(sysDepartModelThree.getDepartName()+"("+sysDepartModelThree.getOrgCode()+")");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 拆分员工三级部门
|
|
|
|
|
- String staffDeptLevel3 = vo.getStaffDeptLevel3();
|
|
|
|
|
- List<String> staffDeptLevel3s = removeBrackets(staffDeptLevel3);
|
|
|
|
|
- if (staffDeptLevel3s.size() == 2) {
|
|
|
|
|
- vo.setStaffDeptLevel3Name(staffDeptLevel3s.get(0));
|
|
|
|
|
- vo.setStaffDeptLevel3No(staffDeptLevel3s.get(1));
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
|
|
+// // 拆分员工二级部门
|
|
|
|
|
+// String staffDeptLevel2 = vo.getStaffDeptLevel2();
|
|
|
|
|
+// List<String> staffDeptLevel2s = removeBrackets(staffDeptLevel2);
|
|
|
|
|
+// if (staffDeptLevel2s.size() == 2) {
|
|
|
|
|
+// vo.setStaffDeptLevel2Name(staffDeptLevel2s.get(0));
|
|
|
|
|
+// vo.setStaffDeptLevel2No(staffDeptLevel2s.get(1));
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// // 拆分员工三级部门
|
|
|
|
|
+// String staffDeptLevel3 = vo.getStaffDeptLevel3();
|
|
|
|
|
+// List<String> staffDeptLevel3s = removeBrackets(staffDeptLevel3);
|
|
|
|
|
+// if (staffDeptLevel3s.size() == 2) {
|
|
|
|
|
+// vo.setStaffDeptLevel3Name(staffDeptLevel3s.get(0));
|
|
|
|
|
+// vo.setStaffDeptLevel3No(staffDeptLevel3s.get(1));
|
|
|
|
|
+// }
|
|
|
|
|
|
|
|
return vo;
|
|
return vo;
|
|
|
}
|
|
}
|