parent
3110b37f5d
commit
a8e997e260
|
|
@ -42,8 +42,8 @@ public class WrapperUtils {
|
|||
if (ObjectUtil.isEmpty(value)) {
|
||||
continue;
|
||||
}
|
||||
// 检查 值是否包含关键字
|
||||
SqlUtil.filterKeyword(String.valueOf(value));
|
||||
// 检查 值是否包含关键字 不做关键字检查
|
||||
// SqlUtil.filterKeyword(String.valueOf(value));
|
||||
String name = condition.name();
|
||||
String tableName = condition.tableName();
|
||||
String[] split = name.split(",");
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||
import com.chushang.common.mybatis.base.BaseEntity;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
import com.chushang.inspection.terminal.enums.MerTypeOperation;
|
||||
import com.chushang.inspection.work.dto.WrkIcbcJsReceive;
|
||||
|
|
@ -170,7 +169,7 @@ public class Store extends BaseEntity {
|
|||
@TableField(value = "project_id")
|
||||
private Long projectId;
|
||||
|
||||
public Store save(WrkIcbcJsReceive dto) {
|
||||
public Store saveJcIcbc(WrkIcbcJsReceive dto) {
|
||||
this.storeNo = dto.getMerId();
|
||||
this.storeName = dto.getMerName();
|
||||
this.storeContact = dto.getLinkName();
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ public class DispatchDTO implements Serializable {
|
|||
*/
|
||||
protected LocalDateTime createTime;
|
||||
|
||||
public DispatchDTO dispatch(WrkIcbcJs entity) {
|
||||
public DispatchDTO dispatchJcIcbc(WrkIcbcJs entity) {
|
||||
this.terminalId = entity.getTerminalId();
|
||||
// todo 此处应当为 江苏工行的部门id
|
||||
this.deptId = 200L;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
|
|||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* TODO 此处需要改下 对应的本级任务id
|
||||
* TODO 此处需要改下 对应的本级任务id 江苏工行
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
|
|
|
|||
|
|
@ -151,4 +151,7 @@ public class WrkInfoStoreRecord extends BaseEntity {
|
|||
*/
|
||||
@TableField(value = "state")
|
||||
private Integer state;
|
||||
|
||||
@TableField(value = "project_id")
|
||||
private Long projectId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,4 +106,8 @@ public class WrkInfoTerminalRecord extends BaseEntity {
|
|||
*/
|
||||
@TableField(value = "remark")
|
||||
private String remark;
|
||||
|
||||
|
||||
@TableField(value = "project_id")
|
||||
private Long projectId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
package com.chushang.inspection.work.query;
|
||||
|
||||
import com.chushang.common.mybatis.annotation.Condition;
|
||||
import com.chushang.common.mybatis.page.CommonParam;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class WrkDataQuery extends CommonParam {
|
||||
@Condition(name = "project_name", tableName = "p", type = Condition.ConditionType.like)
|
||||
private String projectName;
|
||||
@Condition(name = "name", tableName = "pt", type = Condition.ConditionType.like)
|
||||
private String taskName;
|
||||
@Condition(name = "dept_id", tableName = "wi")
|
||||
private Long deptId;
|
||||
@Condition(name = "dispose_time", tableName = "wi", type = Condition.ConditionType.in)
|
||||
private List<LocalDateTime> disposeTimes;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
package com.chushang.inspection.work.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class WrkDataVO {
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private Long deptId;
|
||||
/**
|
||||
* 部门名称
|
||||
*/
|
||||
private String deptName;
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
private Long taskId;
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
private String taskName;
|
||||
/**
|
||||
* 终端数
|
||||
*/
|
||||
private Integer totalTer;
|
||||
/**
|
||||
* 工单数
|
||||
*/
|
||||
private Integer totalWrk;
|
||||
/**
|
||||
* 完成数
|
||||
*/
|
||||
private Integer totalSuc;
|
||||
/**
|
||||
* 超时
|
||||
*/
|
||||
private Integer totalTimeOut;
|
||||
|
||||
}
|
||||
|
|
@ -185,7 +185,7 @@ public class WrkProjectController {
|
|||
*/
|
||||
@SysLog(value = "项目数据", businessType = BusinessType.EXPORT)
|
||||
@GetMapping(value = "/project/data/export")
|
||||
// @RequiresPermissions("inspection:project:export")
|
||||
@RequiresPermissions("inspection:project:export")
|
||||
public AjaxResult projectDataExport(ProjectQuery projectQuery)
|
||||
{
|
||||
return AjaxResult.success("项目数据导出成功, 请在后台任务中查看, 任务id: ["+ projectService.projectDataExport(projectQuery) +"]");
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@ public class StoreImportController {
|
|||
StoreImportService storeImportService;
|
||||
|
||||
/**
|
||||
* todo
|
||||
* 需要 以下接口
|
||||
* 1. 导入列表页查询
|
||||
* 2. 导出修改
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.chushang.inspection.terminal.service;
|
|||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.chushang.common.mybatis.utils.PageResult;
|
||||
import com.chushang.inspection.project.po.Template;
|
||||
import com.chushang.inspection.project.vo.CountVO;
|
||||
import com.chushang.inspection.terminal.po.Store;
|
||||
import com.chushang.inspection.terminal.query.StoreQuery;
|
||||
|
|
@ -26,7 +25,7 @@ public interface StoreService extends IService<Store>{
|
|||
|
||||
void upload(MultipartFile file, Long taskId);
|
||||
|
||||
Store save(WrkIcbcJsReceive dto);
|
||||
Store saveJcIcbc(WrkIcbcJsReceive dto);
|
||||
|
||||
List<CountVO> countByProjectIds(Set<Long> projectIds);
|
||||
default Map<Long, Integer> countByProjectIdsMap(Set<Long> projectIds){
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import com.chushang.inspection.work.dto.DispatchDTO;
|
|||
import com.chushang.inspection.work.dto.WrkIcbcJsReceive;
|
||||
import com.chushang.inspection.work.query.DispatchQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
|
@ -56,7 +57,7 @@ public interface TerminalService extends IService<Terminal>{
|
|||
* @param i
|
||||
* @return
|
||||
*/
|
||||
void updateOccupy(List<Long> terminalIds, int i);
|
||||
void updateOccupy(Collection<Long> terminalIds, int i);
|
||||
|
||||
/**
|
||||
* 查询终端商户巡检信息
|
||||
|
|
|
|||
|
|
@ -97,7 +97,6 @@ public class FiveStoreServiceImpl extends ServiceImpl<FiveStoreMapper, FiveStore
|
|||
}
|
||||
|
||||
/**
|
||||
* todo 使用后台任务时, 可能导致无法获取对应dataScope数据
|
||||
* 参考 com.chushang.inspection.project.service.WrkProjectService#projectDataExport
|
||||
* @param params
|
||||
* @return
|
||||
|
|
|
|||
|
|
@ -1,26 +1,16 @@
|
|||
package com.chushang.inspection.terminal.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.chushang.common.core.constant.SecurityConstants;
|
||||
import com.chushang.common.core.util.StringUtils;
|
||||
import com.chushang.common.mybatis.page.CommonParam;
|
||||
import com.chushang.common.mybatis.utils.PageResult;
|
||||
import com.chushang.common.mybatis.utils.WrapperUtils;
|
||||
import com.chushang.datascope.annotation.DataScope;
|
||||
import com.chushang.inspection.project.po.PollingTask;
|
||||
import com.chushang.inspection.project.po.Template;
|
||||
import com.chushang.inspection.project.service.PollingTaskService;
|
||||
import com.chushang.inspection.project.service.TbTemplateService;
|
||||
import com.chushang.inspection.project.vo.CountVO;
|
||||
import com.chushang.inspection.terminal.po.Store;
|
||||
import com.chushang.inspection.terminal.query.StoreQuery;
|
||||
import com.chushang.inspection.terminal.service.StoreService;
|
||||
import com.chushang.inspection.terminal.vo.StoreTerminalVO;
|
||||
import com.chushang.inspection.terminal.vo.StoreVO;
|
||||
import com.chushang.inspection.work.dto.WrkIcbcJsReceive;
|
||||
import com.chushang.system.feign.RemoteDeptService;
|
||||
|
|
@ -72,13 +62,13 @@ public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements
|
|||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Store save(WrkIcbcJsReceive dto) {
|
||||
public Store saveJcIcbc(WrkIcbcJsReceive dto) {
|
||||
Store store = getOne(new LambdaQueryWrapper<Store>()
|
||||
.eq(Store::getTaskId, "")
|
||||
.eq(Store::getStoreNo, dto.getMerId())
|
||||
);
|
||||
if (store == null) {
|
||||
store = new Store().save(dto);
|
||||
store = new Store().saveJcIcbc(dto);
|
||||
save(store);
|
||||
}
|
||||
return store;
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ import com.chushang.inspection.terminal.mapper.TerminalMapper;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
|
@ -122,7 +123,7 @@ public class TerminalServiceImpl extends ServiceImpl<TerminalMapper, Terminal> i
|
|||
}
|
||||
|
||||
@Override
|
||||
public void updateOccupy(List<Long> terminalIds, int i) {
|
||||
public void updateOccupy(Collection<Long> terminalIds, int i) {
|
||||
for (Long terminalId : terminalIds) {
|
||||
Terminal terminal = getById(terminalId);
|
||||
terminal.setOccupy(i);
|
||||
|
|
|
|||
|
|
@ -8,10 +8,7 @@ import com.chushang.common.log.enums.BusinessType;
|
|||
import com.chushang.inspection.project.dto.Delete;
|
||||
import com.chushang.inspection.utils.TaskConfigUtils;
|
||||
import com.chushang.inspection.work.dto.WrkInfoDTO;
|
||||
import com.chushang.inspection.work.query.DispatchQuery;
|
||||
import com.chushang.inspection.work.query.ReviewedQuery;
|
||||
import com.chushang.inspection.work.query.WrkAppQuery;
|
||||
import com.chushang.inspection.work.query.WrkInfoQuery;
|
||||
import com.chushang.inspection.work.query.*;
|
||||
import com.chushang.inspection.work.service.WrkInfoService;
|
||||
import com.chushang.security.annotation.RequiresPermissions;
|
||||
import com.google.common.collect.Lists;
|
||||
|
|
@ -42,7 +39,6 @@ public class WrkInfoController {
|
|||
|
||||
/**
|
||||
* 导出
|
||||
* todo
|
||||
*/
|
||||
@SysLog(value = "导出列表", businessType = BusinessType.EXPORT)
|
||||
@GetMapping("/exportDispatchPage")
|
||||
|
|
@ -55,7 +51,6 @@ public class WrkInfoController {
|
|||
|
||||
/**
|
||||
* 查询派单/领取列表 --> 查询派单领取
|
||||
* todo
|
||||
*/
|
||||
@SysLog(value = "派单/领取列表", businessType = BusinessType.QUERY)
|
||||
@GetMapping("/dispatch/page")
|
||||
|
|
@ -241,10 +236,25 @@ public class WrkInfoController {
|
|||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 工单数据
|
||||
*/
|
||||
@GetMapping(value = "/data")
|
||||
@RequiresPermissions("wrk:info:dispatch")
|
||||
public AjaxResult wrkData(){
|
||||
return AjaxResult.success();
|
||||
// @RequiresPermissions("wrk:info:data")
|
||||
public AjaxResult wrkData(WrkDataQuery wrkDataQuery)
|
||||
{
|
||||
return AjaxResult.success(wrkInfoService.wrkData(wrkDataQuery));
|
||||
}
|
||||
|
||||
/**
|
||||
* 工单数据导出
|
||||
* @param wrkDataQuery 查询条件
|
||||
*/
|
||||
@GetMapping(value = "/data/export")
|
||||
@RequiresPermissions("wrk:data:export")
|
||||
public AjaxResult wrkDataExport(WrkDataQuery wrkDataQuery)
|
||||
{
|
||||
return AjaxResult.success("工单数据导出成功, 请在后台任务中查看, 任务id: ["+ wrkInfoService.wrkDataExport(wrkDataQuery) +"]");
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -73,12 +73,11 @@ public class WrkInfoPhoneController {
|
|||
}
|
||||
|
||||
/**
|
||||
* todo
|
||||
* 单条修改
|
||||
*/
|
||||
@SysLog(value = "电话工单", businessType = BusinessType.UPDATE)
|
||||
@PostMapping(value = "/update/{wrkId}")
|
||||
@RequiresPermissions("wrk:phone:save")
|
||||
@RequiresPermissions("wrk:phone:update")
|
||||
public AjaxResult delInfo(@RequestBody WrkInfoPhoneImportDTO info,
|
||||
@PathVariable Long wrkId)
|
||||
{
|
||||
|
|
@ -90,7 +89,7 @@ public class WrkInfoPhoneController {
|
|||
*/
|
||||
@SysLog(value = "电话工单", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping(value = "/del/{wrkId}")
|
||||
@RequiresPermissions("wrk:phone:save")
|
||||
@RequiresPermissions("wrk:phone:del")
|
||||
public AjaxResult delInfo(@PathVariable Long wrkId)
|
||||
{
|
||||
return AjaxResult.success(infoPhoneService.removeById(wrkId));
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.chushang.inspection.project.vo.CountVO;
|
|||
import com.chushang.inspection.work.po.WrkInfo;
|
||||
import com.chushang.inspection.work.query.ReviewedQuery;
|
||||
import com.chushang.inspection.work.query.WrkAppQuery;
|
||||
import com.chushang.inspection.work.query.WrkDataQuery;
|
||||
import com.chushang.inspection.work.query.WrkInfoQuery;
|
||||
import com.chushang.inspection.work.vo.*;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
|
@ -37,4 +38,12 @@ public interface WrkInfoMapper extends BaseMapper<WrkInfo> {
|
|||
|
||||
List<CountVO> countByProjectIds(@Param("projectIds") Set<Long> projectIds,
|
||||
@Param("wrkTypes") Set<Integer> wrkTypes);
|
||||
|
||||
/**
|
||||
* 工单数据
|
||||
* @param wrkDataQuery query
|
||||
* @param page 分页
|
||||
*/
|
||||
|
||||
List<WrkDataVO> wrkData(@Param("query") WrkDataQuery wrkDataQuery, Page<WrkDataVO> page);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,10 +10,7 @@ import com.chushang.inspection.terminal.po.TerminalIns;
|
|||
import com.chushang.inspection.work.dto.WrkInfoDTO;
|
||||
import com.chushang.inspection.work.po.WrkInfo;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.chushang.inspection.work.query.DispatchQuery;
|
||||
import com.chushang.inspection.work.query.ReviewedQuery;
|
||||
import com.chushang.inspection.work.query.WrkAppQuery;
|
||||
import com.chushang.inspection.work.query.WrkInfoQuery;
|
||||
import com.chushang.inspection.work.query.*;
|
||||
import com.chushang.inspection.work.vo.WrkInfoDetailsVO;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
|
@ -64,4 +61,8 @@ public interface WrkInfoService extends IService<WrkInfo> {
|
|||
}
|
||||
return Map.of();
|
||||
}
|
||||
|
||||
PageResult wrkData(WrkDataQuery wrkDataQuery);
|
||||
|
||||
Long wrkDataExport(WrkDataQuery wrkDataQuery);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,11 +9,8 @@ import cn.hutool.core.util.StrUtil;
|
|||
import cn.hutool.crypto.SecureUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.chushang.common.core.constant.SecurityConstants;
|
||||
import com.chushang.common.core.exception.utils.AssertUtil;
|
||||
|
|
@ -23,7 +20,6 @@ import com.chushang.common.mybatis.utils.PageResult;
|
|||
import com.chushang.common.mybatis.utils.WrapperUtils;
|
||||
import com.chushang.datascope.annotation.DataScope;
|
||||
import com.chushang.inspection.project.po.PollingTask;
|
||||
import com.chushang.inspection.project.po.WrkProjectPayment;
|
||||
import com.chushang.inspection.project.service.PollingTaskService;
|
||||
import com.chushang.inspection.terminal.po.Store;
|
||||
import com.chushang.inspection.terminal.po.Terminal;
|
||||
|
|
@ -93,7 +89,7 @@ public class WrkIcbcJsServiceImpl extends ServiceImpl<WrkIcbcJsMapper, WrkIcbcJs
|
|||
@Override
|
||||
@Transactional
|
||||
public void receive(WrkIcbcJsReceive dto) {
|
||||
Store store = storeService.save(dto);
|
||||
Store store = storeService.saveJcIcbc(dto);
|
||||
JSONObject terJson = terminalService.save(store, dto);
|
||||
WrkIcbcJs wrkIcbcJs = save(dto, terJson, store);
|
||||
// 派单
|
||||
|
|
@ -150,10 +146,6 @@ public class WrkIcbcJsServiceImpl extends ServiceImpl<WrkIcbcJsMapper, WrkIcbcJs
|
|||
|
||||
/**
|
||||
* TODO 需要创建对应的任务以及 业务员信息
|
||||
* @param entity
|
||||
* @param terJson
|
||||
* @param store
|
||||
* @param userId
|
||||
*/
|
||||
public void dispatchOrder(WrkIcbcJs entity, JSONObject terJson, Store store, Long userId)
|
||||
{
|
||||
|
|
@ -162,7 +154,7 @@ public class WrkIcbcJsServiceImpl extends ServiceImpl<WrkIcbcJsMapper, WrkIcbcJs
|
|||
WrkIcbcJs icbcJs = entity.getArea() != null ? entity : getById(entity.getId());
|
||||
|
||||
AssertUtil.invalidate(icbcJs.getStatus() != 1, "只有下发状态才能派单");
|
||||
DispatchDTO dispatch = new DispatchDTO().dispatch(icbcJs);
|
||||
DispatchDTO dispatch = new DispatchDTO().dispatchJcIcbc(icbcJs);
|
||||
WrkInfo wrkInfo;
|
||||
if (null == userId){
|
||||
Long lowerTaskId = BankBranchesEnum.getByCode(icbcJs.getArea());
|
||||
|
|
|
|||
|
|
@ -28,12 +28,16 @@ import com.chushang.common.mybatis.enums.Operator;
|
|||
import com.chushang.common.mybatis.page.CommonParam;
|
||||
import com.chushang.common.mybatis.utils.PageResult;
|
||||
import com.chushang.common.mybatis.utils.WrapperUtils;
|
||||
import com.chushang.datascope.annotation.DataScope;
|
||||
import com.chushang.inspection.ins.GeneratedInsFactory;
|
||||
import com.chushang.inspection.project.dto.AuditDTO;
|
||||
import com.chushang.inspection.project.po.InspectionData;
|
||||
import com.chushang.inspection.project.po.WrkProject;
|
||||
import com.chushang.inspection.project.query.ProjectQuery;
|
||||
import com.chushang.inspection.project.service.InspectionDataService;
|
||||
import com.chushang.inspection.project.service.PollingTaskService;
|
||||
import com.chushang.inspection.project.vo.CountVO;
|
||||
import com.chushang.inspection.project.vo.ProjectVO;
|
||||
import com.chushang.inspection.terminal.po.FiveStore;
|
||||
import com.chushang.inspection.terminal.po.Store;
|
||||
import com.chushang.inspection.terminal.po.Terminal;
|
||||
|
|
@ -45,12 +49,12 @@ import com.chushang.inspection.utils.TaskConfigUtils;
|
|||
import com.chushang.inspection.work.dto.WrkInfoDTO;
|
||||
import com.chushang.inspection.work.enums.WorkTypeOperation;
|
||||
import com.chushang.inspection.work.po.*;
|
||||
import com.chushang.inspection.work.query.DispatchQuery;
|
||||
import com.chushang.inspection.work.query.ReviewedQuery;
|
||||
import com.chushang.inspection.work.query.WrkAppQuery;
|
||||
import com.chushang.inspection.work.query.WrkInfoQuery;
|
||||
import com.chushang.inspection.work.query.*;
|
||||
import com.chushang.inspection.work.service.*;
|
||||
import com.chushang.inspection.work.vo.*;
|
||||
import com.chushang.oss.entity.dto.UploadBytesDTO;
|
||||
import com.chushang.oss.entity.vo.FileSourceVo;
|
||||
import com.chushang.oss.feign.RemoteOssService;
|
||||
import com.chushang.security.utils.SecurityUtils;
|
||||
import com.chushang.system.feign.RemoteDeptService;
|
||||
import com.chushang.task.entity.dto.CreateTaskDTO;
|
||||
|
|
@ -68,6 +72,8 @@ import com.chushang.inspection.work.mapper.WrkInfoMapper;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
|
|
@ -104,6 +110,7 @@ public class WrkInfoServiceImpl extends ServiceImpl<WrkInfoMapper, WrkInfo> impl
|
|||
private final RemoteUserService userFeignService;
|
||||
private final RemoteDeptService remoteDeptService;
|
||||
private final DispatchRecordService dispatchRecordService;
|
||||
private final RemoteOssService remoteOssService;
|
||||
|
||||
@Value("${push.icbc-js.enable:false}")
|
||||
private boolean enable;
|
||||
|
|
@ -360,10 +367,11 @@ public class WrkInfoServiceImpl extends ServiceImpl<WrkInfoMapper, WrkInfo> impl
|
|||
tempStorageTerminalRecord.setWrkId(wrkInfo.getWrkId());
|
||||
tempStorageTerminalInsRecord.setWrkId(wrkInfo.getWrkId());
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
// 工单状态
|
||||
tempStorageWrkInfo.setWrkStatus(info.getWrkStatus());
|
||||
tempStorageWrkInfo.setDisposeTime(now);
|
||||
// 工单状态比较 -- 7应该是暂存
|
||||
if (info.getWrkStatus() != 9) {
|
||||
tempStorageWrkInfo.setWrkStatus(info.getWrkStatus());
|
||||
tempStorageWrkInfo.setDisposeTime(now);
|
||||
// // 修改 工单信息
|
||||
// updateById(tempStorageWrkInfo);
|
||||
// // 修改 商户信息
|
||||
|
|
@ -457,18 +465,22 @@ public class WrkInfoServiceImpl extends ServiceImpl<WrkInfoMapper, WrkInfo> impl
|
|||
List<WrkInfo> list = list(queryWrapper);
|
||||
Assert.notEmpty(list, "请确认此工单是否存在或已经审核成功了");
|
||||
List<Long> wrkIds = list.stream().map(WrkInfo::getWrkId).collect(Collectors.toList());
|
||||
|
||||
removeBatchByIds(wrkIds);
|
||||
wrkImgService.remove(new LambdaQueryWrapper<WrkImg>().in(WrkImg::getWrkId, wrkIds));
|
||||
inspectionDataService.remove(new LambdaQueryWrapper<InspectionData>().in(InspectionData::getInsId, wrkIds));
|
||||
// todo 终端占用状态和江西内蒙古
|
||||
wrkInfoStoreRecordService.removeBatchByIds(wrkIds);
|
||||
// 修改 终端信息
|
||||
wrkInfoTerminalRecordService.removeBatchByIds(wrkIds);
|
||||
// 修改 终端对应巡检信息
|
||||
wrkInfoTerminalInsRecordService.removeBatchByIds(wrkIds);
|
||||
|
||||
// todo 解除终端的占用
|
||||
// todo 江苏工行, 建行内蒙古的撤回
|
||||
// 终端数据
|
||||
List<WrkInfoTerminalRecord> wrkInfoTerminalRecords = wrkInfoTerminalRecordService.listByIds(wrkIds);
|
||||
Set<Long> terminalIds = wrkInfoTerminalRecords.stream().map(WrkInfoTerminalRecord::getTerminalId)
|
||||
.collect(Collectors.toSet());
|
||||
// 解除终端占用 --> 原本会删除业务员录入 终端以及商户信息, 这里不删除, 只修改终端占用
|
||||
terminalService.updateOccupy(terminalIds, 0);
|
||||
// 建行内蒙古的撤回 本身需要删除五统一商户信息, 此处不删除
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -486,8 +498,8 @@ public class WrkInfoServiceImpl extends ServiceImpl<WrkInfoMapper, WrkInfo> impl
|
|||
* 6. 复审驳回
|
||||
* 7. 初审通过
|
||||
* 8. 默认审核通过
|
||||
* todo 当任务为只需要初审时, 点击初审通过, 则其状态由2 变为 7
|
||||
* todo 当任务需要复审时, 点击初审通过, 其状态由2 变为3
|
||||
* 当任务为只需要初审时, 点击初审通过, 则其状态由2 变为 7
|
||||
* 当任务需要复审时, 点击初审通过, 其状态由2 变为3
|
||||
* 当任务不需要审核时, 点击提交, 工单状态, 由1 变为8
|
||||
*/
|
||||
@Override
|
||||
|
|
@ -669,6 +681,72 @@ public class WrkInfoServiceImpl extends ServiceImpl<WrkInfoMapper, WrkInfo> impl
|
|||
return baseMapper.countByProjectIds(projectIds, wrkType);
|
||||
}
|
||||
|
||||
@Override
|
||||
@DataScope(deptAlias = "wi")
|
||||
public PageResult wrkData(WrkDataQuery wrkDataQuery) {
|
||||
CommonParam commonParam = CommonParam.buildPageRequest();
|
||||
WrapperUtils.buildSql(wrkDataQuery);
|
||||
Page<WrkDataVO> page = new Page<>(commonParam.getPage(), commonParam.getLimit());
|
||||
List<WrkDataVO> records = baseMapper.wrkData(wrkDataQuery, page);
|
||||
return new PageResult(records, page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 工单数据导出
|
||||
*/
|
||||
@Override
|
||||
public Long wrkDataExport(WrkDataQuery wrkDataQuery) {
|
||||
CommonParam commonParam = CommonParam.buildPageRequest();
|
||||
WrapperUtils.buildSql(wrkDataQuery);
|
||||
Page<WrkDataVO> page = new Page<>(commonParam.getPage(), commonParam.getLimit());
|
||||
List<WrkDataVO> records = baseMapper.wrkData(wrkDataQuery, page);
|
||||
AssertUtil.invalidate (records.size() <= 0, "导出数据为空");
|
||||
return remoteTaskService.createTask(CreateTaskDTO.builder()
|
||||
.params(JSON.toJSONString(wrkDataQuery))
|
||||
.taskName("工单数据导出")
|
||||
.applicationName(ServiceEnum.INSPECTION)
|
||||
.methodName("exportWrkData")
|
||||
.className(this.getClass().getName())
|
||||
.deptId(SecurityUtils.getDeptId())
|
||||
.taskType(TaskTypeEnum.DOWN)
|
||||
.remark("五统一商户明细导出")
|
||||
.createBy(SecurityUtils.getUsername())
|
||||
.build(), SecurityConstants.INNER).getData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出工单数据
|
||||
* @param params 所需参数
|
||||
*/
|
||||
public Result<String> exportWrkData(String params)
|
||||
{
|
||||
WrkDataQuery projectQuery = JSON.parseObject(params, WrkDataQuery.class);
|
||||
WrapperUtils.buildSql(projectQuery);
|
||||
List<WrkDataVO> list = baseMapper.wrkData(projectQuery, null);
|
||||
try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()){
|
||||
// 如果为空时 创建一个空excel
|
||||
if (CollectionUtil.isEmpty(list)){
|
||||
}else {
|
||||
ExcelUtils.exportList(outputStream, WrkDataVO.class, list, "工单数据");
|
||||
}
|
||||
// 上传到oss fileStore 是五统一的商户文件
|
||||
Result<List<FileSourceVo>> listResult = remoteOssService.uploadBytes(UploadBytesDTO.builder()
|
||||
.bytes(outputStream.toByteArray()).build(), "工单数据导出.xlsx", false, "", "wrkData", SecurityConstants.INNER);
|
||||
|
||||
if (listResult.isSuccess() && CollectionUtil.isNotEmpty(listResult.getData())){
|
||||
List<FileSourceVo> data = listResult.getData();
|
||||
FileSourceVo fileSourceVo = data.get(0);
|
||||
String filePath = fileSourceVo.getFilePath();
|
||||
return Result.ok(filePath);
|
||||
}else {
|
||||
log.error("生成文件异常, {}, {}", listResult.getCode(), listResult.getMsg());
|
||||
return Result.failed(listResult.getCode(), listResult.getMsg());
|
||||
}
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算经纬度 偏差
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -268,4 +268,36 @@
|
|||
</if>
|
||||
GROUP BY wi.project_id
|
||||
</select>
|
||||
|
||||
<select id="wrkData" resultType="com.chushang.inspection.work.vo.WrkDataVO">
|
||||
SELECT wi.dept_id AS deptId,
|
||||
p.project_name AS projectName,
|
||||
pt.project_id AS projectId,
|
||||
pt.`name` AS taskName,
|
||||
pt.id AS taskId,
|
||||
(SELECT count(*)
|
||||
FROM wrk_info_terminal_record
|
||||
WHERE wi.project_id = project_id) AS totalTer,
|
||||
(SELECT COUNT(*) FROM wrk_info WHERE project_id = wi.project_id) AS totalwrk,
|
||||
(SELECT COUNT(*)
|
||||
FROM wrk_info
|
||||
WHERE project_id = wi.project_id
|
||||
AND wrk_status in (4, 7, 8)) AS totalSuc,
|
||||
(SELECT COUNT(*)
|
||||
FROM wrk_info
|
||||
WHERE project_id = wi.project_id
|
||||
AND end_time IS not NULL
|
||||
AND end_time <= wi.dispose_time) AS totalTimeOut
|
||||
FROM wrk_info wi
|
||||
LEFT JOIN ta_polling_task pt ON pt.id = wi.lower_task_id
|
||||
LEFT JOIN wrk_project p ON pt.project_id = p.project_id
|
||||
WHERE wi.del_state = 0
|
||||
<if test="1 == 1">
|
||||
${query.sqlParam.get('sqlWhere')}
|
||||
</if>
|
||||
<if test="1 == 1">
|
||||
${query.sqlParam.get('dataScope')}
|
||||
</if>
|
||||
GROUP BY pt.project_id
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -52,19 +52,8 @@ public class RemoteUserController implements RemoteUserService {
|
|||
sysUserVo.setRoles(roles);
|
||||
sysUserVo.setScopes(dataScopes);
|
||||
sysUserVo.setPermissions(permissions);
|
||||
// todo 用户拥有的数据权限
|
||||
// List<SysUserData> userDataList = userDataService.listUserData(sysUser);
|
||||
// 默认传递一个空Map --> 拥有管理员
|
||||
sysUserVo.setAuthDataMap(new HashMap<>());
|
||||
// if (CollectionUtil.isNotEmpty(userDataList)){
|
||||
// Map<String, Set<String>> authDataMap = new HashMap<>();
|
||||
// // 对应的数据权限
|
||||
// for (SysUserData sysUserData : userDataList) {
|
||||
// authDataMap.put(sysUserData.getDataType().getCodeType(),
|
||||
// new HashSet<>(JSONUtil.toList(sysUserData.getDataValue(), String.class)));
|
||||
// }
|
||||
// sysUserVo.setAuthDataMap(authDataMap);
|
||||
// }
|
||||
return Result.ok(sysUserVo);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public interface ISysDictTypeService extends IService<SysDictType> {
|
|||
default boolean checkDictTypeUnique(SysDictType dictType, CommonParam commonParam){
|
||||
return this.count(buildWrapper(dictType, commonParam)) > 0;
|
||||
}
|
||||
// todo
|
||||
// todo 字典缓存刷新
|
||||
default void resetDictCache(){}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue