1. 工单数据相关

2. 江苏工行代码创建
This commit is contained in:
ant 2024-07-29 15:17:10 +08:00
parent 3110b37f5d
commit a8e997e260
24 changed files with 251 additions and 75 deletions

View File

@ -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(",");

View File

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

View File

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

View File

@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* TODO 此处需要改下 对应的本级任务id
* TODO 此处需要改下 对应的本级任务id 江苏工行
*/
@Getter
@AllArgsConstructor

View File

@ -151,4 +151,7 @@ public class WrkInfoStoreRecord extends BaseEntity {
*/
@TableField(value = "state")
private Integer state;
@TableField(value = "project_id")
private Long projectId;
}

View File

@ -106,4 +106,8 @@ public class WrkInfoTerminalRecord extends BaseEntity {
*/
@TableField(value = "remark")
private String remark;
@TableField(value = "project_id")
private Long projectId;
}

View File

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

View File

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

View File

@ -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) +"]");

View File

@ -45,7 +45,6 @@ public class StoreImportController {
StoreImportService storeImportService;
/**
* todo
* 需要 以下接口
* 1. 导入列表页查询
* 2. 导出修改

View File

@ -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){

View File

@ -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);
/**
* 查询终端商户巡检信息

View File

@ -97,7 +97,6 @@ public class FiveStoreServiceImpl extends ServiceImpl<FiveStoreMapper, FiveStore
}
/**
* todo 使用后台任务时, 可能导致无法获取对应dataScope数据
* 参考 com.chushang.inspection.project.service.WrkProjectService#projectDataExport
* @param params
* @return

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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();
// 工单状态比较 -- 7应该是暂存
if (info.getWrkStatus() != 9) {
// 工单状态
tempStorageWrkInfo.setWrkStatus(info.getWrkStatus());
tempStorageWrkInfo.setDisposeTime(now);
// 工单状态比较 -- 7应该是暂存
if (info.getWrkStatus() != 9) {
// // 修改 工单信息
// 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);
}
}
/**
* 计算经纬度 偏差
*/

View File

@ -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 &lt;= 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>

View File

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

View File

@ -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(){}
}