|
|
@@ -43,365 +43,376 @@ import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
- /**
|
|
|
- * @description 稽核任务
|
|
|
+/**
|
|
|
* @author jeecg-boot
|
|
|
- * @date 2022-06-20
|
|
|
* @version V1.0
|
|
|
+ * @description 稽核任务
|
|
|
+ * @date 2022-06-20
|
|
|
*/
|
|
|
-@Api(tags="稽核任务")
|
|
|
+@Api(tags = "稽核任务")
|
|
|
@RestController
|
|
|
@RequestMapping("/smsCheck/task")
|
|
|
@Slf4j
|
|
|
public class SmsCheckTaskController extends JeecgController<SmsCheckTask, ISmsCheckTaskService> {
|
|
|
- @Autowired
|
|
|
- private ISmsCheckTaskService taskService;
|
|
|
+ @Autowired
|
|
|
+ private ISmsCheckTaskService taskService;
|
|
|
@Autowired
|
|
|
private ISmsCheckCustomerInfoService customerInfoService;
|
|
|
- @Autowired
|
|
|
- private ISmsCheckCompanyService companyService;
|
|
|
- @Autowired
|
|
|
- private ISmsCheckSmsNumberService smsNumberService;
|
|
|
@Autowired
|
|
|
- private ISysBaseAPI sysBaseApi;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private ISysUserService sysUserService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private DataYearMonthImpl dataYearMonth;
|
|
|
- /**
|
|
|
- * 分页列表查询
|
|
|
- *
|
|
|
- * @param smsCheckTask 对象
|
|
|
- * @param pageNo 页码
|
|
|
- * @param pageSize 每页条数
|
|
|
- * @param request 请求
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- //@AutoLog(value = "稽核任务-分页列表查询")
|
|
|
- @ApiOperation(value="稽核任务-分页列表查询", notes="稽核任务-分页列表查询")
|
|
|
- @GetMapping(value = "/list")
|
|
|
- @PermissionData(pageComponent = "smscheck/modules/TaskList")
|
|
|
- public Result<IPage<SmsCheckTask>> queryPageList(SmsCheckTask smsCheckTask,
|
|
|
- @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
|
|
- @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
|
|
- HttpServletRequest request) {
|
|
|
- QueryWrapper<SmsCheckTask> queryWrapper = QueryGenerator.initQueryWrapper(smsCheckTask, request.getParameterMap());
|
|
|
- Page<SmsCheckTask> page = new Page<>(pageNo, pageSize);
|
|
|
- IPage<SmsCheckTask> pageList = taskService.page(page, queryWrapper);
|
|
|
- return Result.OK(pageList);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 添加
|
|
|
- *
|
|
|
- * @param smsCheckTask 对象
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @AutoLog(value = "稽核任务-添加")
|
|
|
- @ApiOperation(value="稽核任务-添加", notes="稽核任务-添加")
|
|
|
- @PostMapping(value = "/add")
|
|
|
- public Result<String> add(@RequestBody SmsCheckTask smsCheckTask) {
|
|
|
- // 0:未开始;1:进行中;2:已结束;
|
|
|
- smsCheckTask.setTaskState(0);
|
|
|
- smsCheckTask.setCustomerCount(0);
|
|
|
- smsCheckTask.setCheckCount(0);
|
|
|
- smsCheckTask.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
|
- taskService.save(smsCheckTask);
|
|
|
- return Result.OK("添加成功!");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 编辑
|
|
|
- *
|
|
|
- * @param smsCheckTask 对象
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @AutoLog(value = "稽核任务-编辑")
|
|
|
- @ApiOperation(value="稽核任务-编辑", notes="稽核任务-编辑")
|
|
|
- @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
|
|
|
- public Result<String> edit(@RequestBody SmsCheckTask smsCheckTask) {
|
|
|
- taskService.updateById(smsCheckTask);
|
|
|
- return Result.OK("编辑成功!");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 通过id删除
|
|
|
- *
|
|
|
- * @param id 主键
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @AutoLog(value = "稽核任务-通过id删除")
|
|
|
- @ApiOperation(value="稽核任务-通过id删除", notes="稽核任务-通过id删除")
|
|
|
- @DeleteMapping(value = "/delete")
|
|
|
- public Result<String> delete(@RequestParam(name="id") String id) {
|
|
|
- taskService.removeById(id);
|
|
|
- return Result.OK("删除成功!");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 批量删除
|
|
|
- *
|
|
|
- * @param ids 主键
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @AutoLog(value = "稽核任务-批量删除")
|
|
|
- @ApiOperation(value="稽核任务-批量删除", notes="稽核任务-批量删除")
|
|
|
- @DeleteMapping(value = "/deleteBatch")
|
|
|
- public Result<String> deleteBatch(@RequestParam(name="ids") String ids) {
|
|
|
- this.taskService.removeByIds(Arrays.asList(ids.split(",")));
|
|
|
- return Result.OK("批量删除成功!");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 通过id查询
|
|
|
- *
|
|
|
- * @param id 主键
|
|
|
- * @return 数据
|
|
|
- */
|
|
|
- //@AutoLog(value = "稽核任务-通过id查询")
|
|
|
- @ApiOperation(value="稽核任务-通过id查询", notes="稽核任务-通过id查询")
|
|
|
- @GetMapping(value = "/queryById")
|
|
|
- public Result<SmsCheckTask> queryById(@RequestParam(name="id") String id) {
|
|
|
- SmsCheckTask smsCheckTask = taskService.getById(id);
|
|
|
- if(smsCheckTask==null) {
|
|
|
- return Result.error("未找到对应数据");
|
|
|
- }
|
|
|
- return Result.OK(smsCheckTask);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 导出excel
|
|
|
- *
|
|
|
- * @param request 请求
|
|
|
- * @param smsCheckTask 对象
|
|
|
- * @return excel文件
|
|
|
- */
|
|
|
+ private ISmsCheckCompanyService companyService;
|
|
|
+ @Autowired
|
|
|
+ private ISmsCheckSmsNumberService smsNumberService;
|
|
|
+ @Autowired
|
|
|
+ private ISysBaseAPI sysBaseApi;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ISysUserService sysUserService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DataYearMonthImpl dataYearMonth;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分页列表查询
|
|
|
+ *
|
|
|
+ * @param smsCheckTask 对象
|
|
|
+ * @param pageNo 页码
|
|
|
+ * @param pageSize 每页条数
|
|
|
+ * @param request 请求
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ //@AutoLog(value = "稽核任务-分页列表查询")
|
|
|
+ @ApiOperation(value = "稽核任务-分页列表查询", notes = "稽核任务-分页列表查询")
|
|
|
+ @GetMapping(value = "/list")
|
|
|
+ @PermissionData(pageComponent = "smscheck/modules/TaskList")
|
|
|
+ public Result<IPage<SmsCheckTask>> queryPageList(SmsCheckTask smsCheckTask,
|
|
|
+ @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
|
|
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
|
|
+ HttpServletRequest request) {
|
|
|
+ QueryWrapper<SmsCheckTask> queryWrapper = QueryGenerator.initQueryWrapper(smsCheckTask, request.getParameterMap());
|
|
|
+ Page<SmsCheckTask> page = new Page<>(pageNo, pageSize);
|
|
|
+ IPage<SmsCheckTask> pageList = taskService.page(page, queryWrapper);
|
|
|
+ return Result.OK(pageList);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加
|
|
|
+ *
|
|
|
+ * @param smsCheckTask 对象
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @AutoLog(value = "稽核任务-添加")
|
|
|
+ @ApiOperation(value = "稽核任务-添加", notes = "稽核任务-添加")
|
|
|
+ @PostMapping(value = "/add")
|
|
|
+ public Result<String> add(@RequestBody SmsCheckTask smsCheckTask) {
|
|
|
+ // 0:未开始;1:进行中;2:已结束;
|
|
|
+ smsCheckTask.setTaskState(0);
|
|
|
+ smsCheckTask.setCustomerCount(0);
|
|
|
+ smsCheckTask.setCheckCount(0);
|
|
|
+ smsCheckTask.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
|
+ taskService.save(smsCheckTask);
|
|
|
+ return Result.OK("添加成功!");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 编辑
|
|
|
+ *
|
|
|
+ * @param smsCheckTask 对象
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @AutoLog(value = "稽核任务-编辑")
|
|
|
+ @ApiOperation(value = "稽核任务-编辑", notes = "稽核任务-编辑")
|
|
|
+ @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
|
|
|
+ public Result<String> edit(@RequestBody SmsCheckTask smsCheckTask) {
|
|
|
+ taskService.updateById(smsCheckTask);
|
|
|
+ return Result.OK("编辑成功!");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 通过id删除
|
|
|
+ *
|
|
|
+ * @param id 主键
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @AutoLog(value = "稽核任务-通过id删除")
|
|
|
+ @ApiOperation(value = "稽核任务-通过id删除", notes = "稽核任务-通过id删除")
|
|
|
+ @DeleteMapping(value = "/delete")
|
|
|
+ public Result<String> delete(@RequestParam(name = "id") String id) {
|
|
|
+ taskService.removeById(id);
|
|
|
+ return Result.OK("删除成功!");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量删除
|
|
|
+ *
|
|
|
+ * @param ids 主键
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @AutoLog(value = "稽核任务-批量删除")
|
|
|
+ @ApiOperation(value = "稽核任务-批量删除", notes = "稽核任务-批量删除")
|
|
|
+ @DeleteMapping(value = "/deleteBatch")
|
|
|
+ public Result<String> deleteBatch(@RequestParam(name = "ids") String ids) {
|
|
|
+ this.taskService.removeByIds(Arrays.asList(ids.split(",")));
|
|
|
+ return Result.OK("批量删除成功!");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 通过id查询
|
|
|
+ *
|
|
|
+ * @param id 主键
|
|
|
+ * @return 数据
|
|
|
+ */
|
|
|
+ //@AutoLog(value = "稽核任务-通过id查询")
|
|
|
+ @ApiOperation(value = "稽核任务-通过id查询", notes = "稽核任务-通过id查询")
|
|
|
+ @GetMapping(value = "/queryById")
|
|
|
+ public Result<SmsCheckTask> queryById(@RequestParam(name = "id") String id) {
|
|
|
+ SmsCheckTask smsCheckTask = taskService.getById(id);
|
|
|
+ if (smsCheckTask == null) {
|
|
|
+ return Result.error("未找到对应数据");
|
|
|
+ }
|
|
|
+ return Result.OK(smsCheckTask);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导出excel
|
|
|
+ *
|
|
|
+ * @param request 请求
|
|
|
+ * @param smsCheckTask 对象
|
|
|
+ * @return excel文件
|
|
|
+ */
|
|
|
@RequestMapping(value = "/exportXls")
|
|
|
public ModelAndView exportXls(HttpServletRequest request, SmsCheckTask smsCheckTask) {
|
|
|
return super.exportXls(request, smsCheckTask, SmsCheckTask.class, "稽核任务");
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 通过excel导入数据
|
|
|
- *
|
|
|
- * @param request 请求
|
|
|
- * @param response 响应
|
|
|
- * @return 导入结果
|
|
|
- */
|
|
|
+ /**
|
|
|
+ * 通过excel导入数据
|
|
|
+ *
|
|
|
+ * @param request 请求
|
|
|
+ * @param response 响应
|
|
|
+ * @return 导入结果
|
|
|
+ */
|
|
|
@PostMapping(value = "/importExcel")
|
|
|
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
|
|
return super.importExcel(request, response, SmsCheckTask.class);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 通过excel导入数据
|
|
|
- *
|
|
|
- * @param file 请求
|
|
|
- * @return 导入结果
|
|
|
- */
|
|
|
- @PostMapping(value = "/importCustomerExcel")
|
|
|
- public Result<?> importCustomerExcel(@RequestPart("file") MultipartFile file) {
|
|
|
- String filename = file.getOriginalFilename();
|
|
|
- if (!filename.endsWith(".xlsx") && !filename.endsWith(".xls")) {
|
|
|
- return Result.error("文件类型不正确!请导入文件类型->.xlsx或.xls");
|
|
|
- }
|
|
|
- Dict dict = new Dict();
|
|
|
-
|
|
|
- ImportParams params = new ImportParams();
|
|
|
- params.setTitleRows(1);
|
|
|
- try {
|
|
|
- // 工具类缺陷,默认导入全部sheet页,会导致
|
|
|
- List<SmsCheckCustomerInfoVo> list = ExcelImportUtil.importExcel(
|
|
|
- file.getInputStream(), SmsCheckCustomerInfoVo.class, params);
|
|
|
- List<SmsCheckCustomerInfoVo> voList = new ArrayList<>();
|
|
|
- int errorCount = 0;
|
|
|
-
|
|
|
- // 获取所有字典值
|
|
|
- List<DictModel> dictModels = sysBaseApi.getDictItems("user_type");
|
|
|
- Dict dictItemMap = Dict.create();
|
|
|
- dictModels.forEach(model -> {
|
|
|
- dictItemMap.put(model.getValue(), model.getText());
|
|
|
- });
|
|
|
-
|
|
|
- Tuple dictTuple = new Tuple(dictItemMap);
|
|
|
-
|
|
|
- for (SmsCheckCustomerInfoVo vo : list) {
|
|
|
- SmsCheckCustomerInfoVo infoVo = checkCustomerInfo(vo, dictTuple);
|
|
|
- if (ObjectUtil.isNotNull(infoVo)) {
|
|
|
- if (StrUtil.isNotBlank(infoVo.getErrorMsg())) {
|
|
|
- errorCount++;
|
|
|
- }
|
|
|
- voList.add(infoVo);
|
|
|
- }
|
|
|
- }
|
|
|
- dict.put("errorCount", errorCount);
|
|
|
- dict.put("data", voList);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("客户信息导入失败", e);
|
|
|
- }
|
|
|
-
|
|
|
- return Result.ok(dict);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 通过excel导入数据
|
|
|
- *
|
|
|
- * @param taskId 任务id
|
|
|
- * @param list 数据
|
|
|
- * @return 导入结果
|
|
|
- */
|
|
|
- @PostMapping(value = "/{taskId}/importCustomerData")
|
|
|
- public Result<?> importCustomerData(@PathVariable String taskId, @RequestBody List<SmsCheckCustomerInfoVo> list) {
|
|
|
- LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
- List<SmsCheckCustomerInfo> dataList = new ArrayList<>();
|
|
|
- int customerCount = 0;
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- SmsCheckCustomerInfoVo infoVo = list.get(i);
|
|
|
- infoVo.setTaskId(taskId);
|
|
|
- SmsCheckCustomerInfo info = new SmsCheckCustomerInfo();
|
|
|
- BeanUtil.copyProperties(infoVo, info, true);
|
|
|
- SysUser user = sysUserService.getOne(new LambdaQueryWrapper<SysUser>()
|
|
|
- .eq(SysUser::getWorkNo, infoVo.getStaffNo()));
|
|
|
- //放入用户信息
|
|
|
- if ( user == null){
|
|
|
- continue;
|
|
|
- }
|
|
|
- info.setStaffUsername(user.getUsername());
|
|
|
- info.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
|
- // 0:未处理;1:未完善;2:待稽核;3:待整改;4:已整改;5:稽核通过;
|
|
|
- info.setCheckState(0);
|
|
|
- dataList.add(info);
|
|
|
- info.setTaskId(taskId);
|
|
|
- long count = customerInfoService.count(
|
|
|
- new LambdaQueryWrapper<SmsCheckCustomerInfo>()
|
|
|
- .eq(SmsCheckCustomerInfo::getTaskId, info.getTaskId())
|
|
|
- .eq(SmsCheckCustomerInfo::getUserNo, info.getUserNo())
|
|
|
- .eq(SmsCheckCustomerInfo::getDelFlag, CommonConstant.DEL_FLAG_0));
|
|
|
- if (count > 0) {
|
|
|
- // TODO 重复处理,放校验里面?
|
|
|
+ /**
|
|
|
+ * 通过excel导入数据
|
|
|
+ *
|
|
|
+ * @param file 请求
|
|
|
+ * @return 导入结果
|
|
|
+ */
|
|
|
+ @PostMapping(value = "/importCustomerExcel")
|
|
|
+ public Result<?> importCustomerExcel(@RequestPart("file") MultipartFile file) {
|
|
|
+ String filename = file.getOriginalFilename();
|
|
|
+ if (!filename.endsWith(".xlsx") && !filename.endsWith(".xls")) {
|
|
|
+ return Result.error("文件类型不正确!请导入文件类型->.xlsx或.xls");
|
|
|
+ }
|
|
|
+ Dict dict = new Dict();
|
|
|
+
|
|
|
+ ImportParams params = new ImportParams();
|
|
|
+ params.setTitleRows(1);
|
|
|
+ try {
|
|
|
+ // 工具类缺陷,默认导入全部sheet页,会导致
|
|
|
+ List<SmsCheckCustomerInfoVo> list = ExcelImportUtil.importExcel(
|
|
|
+ file.getInputStream(), SmsCheckCustomerInfoVo.class, params);
|
|
|
+ List<SmsCheckCustomerInfoVo> voList = new ArrayList<>();
|
|
|
+ int errorCount = 0;
|
|
|
+
|
|
|
+ // 获取所有字典值
|
|
|
+ List<DictModel> dictModels = sysBaseApi.getDictItems("user_type");
|
|
|
+ Dict dictItemMap = Dict.create();
|
|
|
+ dictModels.forEach(model -> {
|
|
|
+ dictItemMap.put(model.getValue(), model.getText());
|
|
|
+ });
|
|
|
+
|
|
|
+ Tuple dictTuple = new Tuple(dictItemMap);
|
|
|
+
|
|
|
+ for (SmsCheckCustomerInfoVo vo : list) {
|
|
|
+ SmsCheckCustomerInfoVo infoVo = checkCustomerInfo(vo, dictTuple);
|
|
|
+ if (ObjectUtil.isNotNull(infoVo)) {
|
|
|
+ if (StrUtil.isNotBlank(infoVo.getErrorMsg())) {
|
|
|
+ errorCount++;
|
|
|
+ }
|
|
|
+ voList.add(infoVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dict.put("errorCount", errorCount);
|
|
|
+ dict.put("data", voList);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("客户信息导入失败", e);
|
|
|
+ }
|
|
|
+
|
|
|
+ return Result.ok(dict);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 通过excel导入数据
|
|
|
+ *
|
|
|
+ * @param taskId 任务id
|
|
|
+ * @param list 数据
|
|
|
+ * @return 导入结果
|
|
|
+ */
|
|
|
+ @PostMapping(value = "/{taskId}/importCustomerData")
|
|
|
+ public Result<?> importCustomerData(@PathVariable String taskId, @RequestBody List<SmsCheckCustomerInfoVo> list) {
|
|
|
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
+ List<SmsCheckCustomerInfo> dataList = new ArrayList<>();
|
|
|
+ //导入失败数据
|
|
|
+ List<SmsCheckCustomerInfoVo> listErro = new ArrayList<>();
|
|
|
+ int customerCount = 0;
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
+ SmsCheckCustomerInfoVo infoVo = list.get(i);
|
|
|
+ infoVo.setTaskId(taskId);
|
|
|
+ SmsCheckCustomerInfo info = new SmsCheckCustomerInfo();
|
|
|
+ BeanUtil.copyProperties(infoVo, info, true);
|
|
|
+ SysUser user = sysUserService.getOne(new LambdaQueryWrapper<SysUser>()
|
|
|
+ .eq(SysUser::getWorkNo, infoVo.getStaffNo()));
|
|
|
+ //放入用户信息
|
|
|
+ if (user == null) {
|
|
|
+ infoVo.setResult("0");
|
|
|
+ infoVo.setErrorMsg("系统无相关用户");
|
|
|
+ listErro.add(infoVo);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ info.setStaffUsername(user.getUsername());
|
|
|
+ info.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
|
+ // 0:未处理;1:未完善;2:待稽核;3:待整改;4:已整改;5:稽核通过;
|
|
|
+ info.setCheckState(0);
|
|
|
+ dataList.add(info);
|
|
|
+ info.setTaskId(taskId);
|
|
|
+ long count = customerInfoService.count(
|
|
|
+ new LambdaQueryWrapper<SmsCheckCustomerInfo>()
|
|
|
+ .eq(SmsCheckCustomerInfo::getTaskId, info.getTaskId())
|
|
|
+ .eq(SmsCheckCustomerInfo::getUserNo, info.getUserNo())
|
|
|
+ .eq(SmsCheckCustomerInfo::getDelFlag, CommonConstant.DEL_FLAG_0));
|
|
|
+ if (count > 0) {
|
|
|
+ infoVo.setResult("0");
|
|
|
+ infoVo.setErrorMsg("公司信息已存在");
|
|
|
+ listErro.add(infoVo);
|
|
|
+ // TODO 重复处理,放校验里面?
|
|
|
// return Result.error("客户[" + info.getCustomerNo() + "]已存在!");
|
|
|
- } else {
|
|
|
- customerCount++;
|
|
|
- customerInfoService.save(info);
|
|
|
- }
|
|
|
-
|
|
|
- // 添加公司信息 start
|
|
|
- long companyCount = companyService.count(new LambdaQueryWrapper<SmsCheckCompany>()
|
|
|
- .eq(SmsCheckCompany::getCustomerNo, infoVo.getCustomerNo())
|
|
|
- .eq(SmsCheckCompany::getCustomerName, infoVo.getCustomerName()));
|
|
|
- if (companyCount == 0) {
|
|
|
- SmsCheckCompany company = new SmsCheckCompany();
|
|
|
- company.setCustomerNo(infoVo.getCustomerNo());
|
|
|
- company.setCustomerName(infoVo.getCustomerName());
|
|
|
- company.setManager(infoVo.getStaffName());
|
|
|
- company.setSysOrgCode(sysUser.getOrgCode());
|
|
|
- company.setCreateBy(sysUser.getUsername());
|
|
|
- company.setCreateTime(new Date());
|
|
|
- companyService.save(company);
|
|
|
- }
|
|
|
- // 添加公司信息 end
|
|
|
-
|
|
|
- // 添加服务号码 start
|
|
|
- long smsNumberCount = smsNumberService.count(new LambdaQueryWrapper<SmsCheckSmsNumber>()
|
|
|
- .eq(SmsCheckSmsNumber::getCustomerNo, infoVo.getCustomerNo())
|
|
|
- .eq(SmsCheckSmsNumber::getSmsNumber, infoVo.getSmsNumber()));
|
|
|
-
|
|
|
- if (smsNumberCount == 0) {
|
|
|
- SmsCheckSmsNumber smsNumber = new SmsCheckSmsNumber();
|
|
|
- smsNumber.setCustomerNo(infoVo.getCustomerNo());
|
|
|
- smsNumber.setUserNo(infoVo.getUserNo());
|
|
|
- smsNumber.setNetworkAccessTime(infoVo.getNetworkAccessTime());
|
|
|
- smsNumber.setSmsNumber(infoVo.getSmsNumber());
|
|
|
- smsNumber.setUserState(infoVo.getUserState());
|
|
|
- smsNumber.setSysOrgCode(sysUser.getOrgCode());
|
|
|
- smsNumber.setCreateBy(sysUser.getUsername());
|
|
|
- smsNumber.setCreateTime(new Date());
|
|
|
- smsNumberService.save(smsNumber);
|
|
|
- }
|
|
|
- // 添加服务号码 end
|
|
|
-
|
|
|
- }
|
|
|
- SmsCheckTask task = taskService.getById(taskId);
|
|
|
- // 更新导入
|
|
|
- if (customerCount > 0) {
|
|
|
- task.setCustomerCount(task.getCustomerCount() + customerCount);
|
|
|
- taskService.updateById(task);
|
|
|
- }
|
|
|
- return Result.OK("导入成功!导入条数" + customerCount);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 校验客户信息
|
|
|
- *
|
|
|
- * @param vo 客户信息
|
|
|
- * @param dictTuple 字典转换
|
|
|
- * @return 客户信息
|
|
|
- */
|
|
|
- private SmsCheckCustomerInfoVo checkCustomerInfo(SmsCheckCustomerInfoVo vo, Tuple dictTuple) {
|
|
|
- // TODO 客户重复性校验、数据合法性校验等
|
|
|
- // 过滤客户编号和员工编号为空的信息
|
|
|
- if (StrUtil.isBlank(vo.getCustomerNo()) && StrUtil.isBlank(vo.getUserNo())) {
|
|
|
- return null;
|
|
|
- }
|
|
|
- // 格式化入网时间
|
|
|
- String accessTime = vo.getNetworkAccessTime();
|
|
|
- DateTime accessTimeDate = DateUtil.parse(accessTime, "yyyyMMdd");
|
|
|
- vo.setNetworkAccessTime(accessTimeDate.toDateStr());
|
|
|
-
|
|
|
- // 拆分员工工号和员工姓名
|
|
|
- String staffInfo = vo.getStaffInfo();
|
|
|
- List<String> staffInfos = removeBrackets(staffInfo);
|
|
|
- if (staffInfos.size() == 3) {
|
|
|
- vo.setStaffName(staffInfos.get(0));
|
|
|
- vo.setStaffNo(staffInfos.get(2));
|
|
|
- }
|
|
|
-
|
|
|
- // 拆分员工二级部门
|
|
|
- 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;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 移除括号并获取分段数据
|
|
|
- *
|
|
|
- * @param data 数据
|
|
|
- * @return 集合
|
|
|
- */
|
|
|
- private List<String> removeBrackets(String data) {
|
|
|
- List<String> dataList = new ArrayList<>();
|
|
|
- if (data.contains("(")) {
|
|
|
- data = StrUtil.removeAll(data,")");
|
|
|
- dataList = StrUtil.split(data, "(");
|
|
|
- }
|
|
|
- return dataList;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @GetMapping(value = "/year/list")
|
|
|
- public Result<List[]> yearList() {
|
|
|
- List<DataYearMonth> taskYearList = dataYearMonth.getTaskYearList();
|
|
|
- List<DataYearMonth> taskMonthList = dataYearMonth.getTaskMonthList();
|
|
|
- List[] Dates = new List[2];
|
|
|
- Dates[0] = taskYearList;
|
|
|
- Dates[1] = taskMonthList;
|
|
|
- return Result.OK(Dates);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
+ } else {
|
|
|
+ customerCount++;
|
|
|
+ customerInfoService.save(info);
|
|
|
+ infoVo.setResult("1");
|
|
|
+ listErro.add(infoVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加公司信息 start
|
|
|
+ long companyCount = companyService.count(new LambdaQueryWrapper<SmsCheckCompany>()
|
|
|
+ .eq(SmsCheckCompany::getCustomerNo, infoVo.getCustomerNo())
|
|
|
+ .eq(SmsCheckCompany::getCustomerName, infoVo.getCustomerName()));
|
|
|
+ if (companyCount == 0) {
|
|
|
+ SmsCheckCompany company = new SmsCheckCompany();
|
|
|
+ company.setCustomerNo(infoVo.getCustomerNo());
|
|
|
+ company.setCustomerName(infoVo.getCustomerName());
|
|
|
+ company.setManager(infoVo.getStaffName());
|
|
|
+ company.setSysOrgCode(sysUser.getOrgCode());
|
|
|
+ company.setCreateBy(sysUser.getUsername());
|
|
|
+ company.setCreateTime(new Date());
|
|
|
+ companyService.save(company);
|
|
|
+ }
|
|
|
+ // 添加公司信息 end
|
|
|
+
|
|
|
+ // 添加服务号码 start
|
|
|
+ long smsNumberCount = smsNumberService.count(new LambdaQueryWrapper<SmsCheckSmsNumber>()
|
|
|
+ .eq(SmsCheckSmsNumber::getCustomerNo, infoVo.getCustomerNo())
|
|
|
+ .eq(SmsCheckSmsNumber::getSmsNumber, infoVo.getSmsNumber()));
|
|
|
+
|
|
|
+ if (smsNumberCount == 0) {
|
|
|
+ SmsCheckSmsNumber smsNumber = new SmsCheckSmsNumber();
|
|
|
+ smsNumber.setCustomerNo(infoVo.getCustomerNo());
|
|
|
+ smsNumber.setUserNo(infoVo.getUserNo());
|
|
|
+ smsNumber.setNetworkAccessTime(infoVo.getNetworkAccessTime());
|
|
|
+ smsNumber.setSmsNumber(infoVo.getSmsNumber());
|
|
|
+ smsNumber.setUserState(infoVo.getUserState());
|
|
|
+ smsNumber.setSysOrgCode(sysUser.getOrgCode());
|
|
|
+ smsNumber.setCreateBy(sysUser.getUsername());
|
|
|
+ smsNumber.setCreateTime(new Date());
|
|
|
+ smsNumberService.save(smsNumber);
|
|
|
+ }
|
|
|
+ // 添加服务号码 end
|
|
|
+
|
|
|
+ }
|
|
|
+ SmsCheckTask task = taskService.getById(taskId);
|
|
|
+ // 更新导入
|
|
|
+ if (customerCount > 0) {
|
|
|
+ task.setCustomerCount(task.getCustomerCount() + customerCount);
|
|
|
+ taskService.updateById(task);
|
|
|
+ }
|
|
|
+ return Result.OK("导入成功!导入条数" + customerCount, listErro);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 校验客户信息
|
|
|
+ *
|
|
|
+ * @param vo 客户信息
|
|
|
+ * @param dictTuple 字典转换
|
|
|
+ * @return 客户信息
|
|
|
+ */
|
|
|
+ private SmsCheckCustomerInfoVo checkCustomerInfo(SmsCheckCustomerInfoVo vo, Tuple dictTuple) {
|
|
|
+ // TODO 客户重复性校验、数据合法性校验等
|
|
|
+ // 过滤客户编号和员工编号为空的信息
|
|
|
+ if (StrUtil.isBlank(vo.getCustomerNo()) && StrUtil.isBlank(vo.getUserNo())) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ // 格式化入网时间
|
|
|
+ String accessTime = vo.getNetworkAccessTime();
|
|
|
+ DateTime accessTimeDate = DateUtil.parse(accessTime, "yyyyMMdd");
|
|
|
+ vo.setNetworkAccessTime(accessTimeDate.toDateStr());
|
|
|
+
|
|
|
+ // 拆分员工工号和员工姓名
|
|
|
+ String staffInfo = vo.getStaffInfo();
|
|
|
+ List<String> staffInfos = removeBrackets(staffInfo);
|
|
|
+ if (staffInfos.size() == 3) {
|
|
|
+ vo.setStaffName(staffInfos.get(0));
|
|
|
+ vo.setStaffNo(staffInfos.get(2));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 拆分员工二级部门
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 移除括号并获取分段数据
|
|
|
+ *
|
|
|
+ * @param data 数据
|
|
|
+ * @return 集合
|
|
|
+ */
|
|
|
+ private List<String> removeBrackets(String data) {
|
|
|
+ List<String> dataList = new ArrayList<>();
|
|
|
+ if (data.contains("(")) {
|
|
|
+ data = StrUtil.removeAll(data, ")");
|
|
|
+ dataList = StrUtil.split(data, "(");
|
|
|
+ }
|
|
|
+ return dataList;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @GetMapping(value = "/year/list")
|
|
|
+ public Result<List[]> yearList() {
|
|
|
+ List<DataYearMonth> taskYearList = dataYearMonth.getTaskYearList();
|
|
|
+ List<DataYearMonth> taskMonthList = dataYearMonth.getTaskMonthList();
|
|
|
+ List[] Dates = new List[2];
|
|
|
+ Dates[0] = taskYearList;
|
|
|
+ Dates[1] = taskMonthList;
|
|
|
+ return Result.OK(Dates);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|