1. 商户, 终端, 工单 添加任务id
This commit is contained in:
parent
080a1272e3
commit
1835bf6f1e
|
|
@ -0,0 +1,48 @@
|
|||
package com.chushang.inspection.project.query;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import com.chushang.common.mybatis.annotation.Condition;
|
||||
import com.chushang.common.mybatis.page.CommonParam;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class ProjectQuery extends CommonParam {
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@Condition(name = "project_name", type = Condition.ConditionType.like)
|
||||
private String projectName;
|
||||
/**
|
||||
* 项目联系人
|
||||
*/
|
||||
@Condition(name = "project_concat")
|
||||
private String projectConcat;
|
||||
/**
|
||||
* 联系人手机号
|
||||
*/
|
||||
@Condition(name = "project_phone", type = Condition.ConditionType.like)
|
||||
private String projectPhone;
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
@Condition(name = "dept_id")
|
||||
private Long deptId;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Condition(name = "create_time", type = Condition.ConditionType.between)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DatePattern.NORM_DATETIME_PATTERN)
|
||||
private List<LocalDateTime> createTimes;
|
||||
/**
|
||||
* 项目状态
|
||||
*/
|
||||
@Condition(name = "project_effect")
|
||||
private Integer projectEffect;
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.chushang.inspection.project.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CountTaskVO {
|
||||
|
||||
private Long projectId;
|
||||
|
||||
private int totalTask;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
package com.chushang.inspection.project.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.chushang.common.dict.annotation.DictFormat;
|
||||
import com.chushang.common.mybatis.annotation.Condition;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 项目数据展示
|
||||
*/
|
||||
@Data
|
||||
public class ProjectVO {
|
||||
|
||||
private Long projectId;
|
||||
|
||||
private String projectName;
|
||||
/**
|
||||
* 项目联系人
|
||||
* 查询条件 项目联系人
|
||||
*/
|
||||
private String projectConcat;
|
||||
|
||||
/**
|
||||
* 项目联系人电话
|
||||
* 查询条件 项目联系人电话
|
||||
*/
|
||||
private String projectPhone;
|
||||
/**
|
||||
* 项目所属部门id
|
||||
* 查询条件 项目所属部门id 单id
|
||||
*/
|
||||
private Long deptId;
|
||||
/**
|
||||
* 部门名称
|
||||
*/
|
||||
private String deptName;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
/**
|
||||
* 项目状态
|
||||
*/
|
||||
@DictFormat(dictType = "project_effect")
|
||||
private Integer projectEffect;
|
||||
/**
|
||||
* 总任务数
|
||||
*/
|
||||
private Integer totalTask;
|
||||
/**
|
||||
* 总商户数
|
||||
*/
|
||||
private Integer totalStore;
|
||||
/**
|
||||
* 总终端数
|
||||
*/
|
||||
private Integer totalTerminal;
|
||||
/**
|
||||
* 总工单数
|
||||
*/
|
||||
private Integer totalWrk;
|
||||
/**
|
||||
* 总巡检数
|
||||
*/
|
||||
private Integer totalIns;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -167,6 +167,9 @@ public class Store extends BaseEntity {
|
|||
@TableField(value = "state")
|
||||
private Integer state;
|
||||
|
||||
@TableField(value = "project_id")
|
||||
private Long projectId;
|
||||
|
||||
public Store save(WrkIcbcJsReceive dto) {
|
||||
this.storeNo = dto.getMerId();
|
||||
this.storeName = dto.getMerName();
|
||||
|
|
@ -182,6 +185,8 @@ public class Store extends BaseEntity {
|
|||
this.isEnter = 2;
|
||||
Long lowerTaskId = BankBranchesEnum.getByCode(dto.getArea());
|
||||
this.lowerTaskId = lowerTaskId == null ? this.taskId : lowerTaskId;
|
||||
// todo 此处需要获取对应的项目id
|
||||
this.projectId = BankBranchesEnum.getProjectByCode(dto.getArea());
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -127,6 +127,9 @@ public class Terminal extends BaseEntity {
|
|||
@TableField(value = "remark")
|
||||
private String remark;
|
||||
|
||||
@TableField(value = "project_id")
|
||||
private Long projectId;
|
||||
|
||||
|
||||
public Terminal save(Store store, WrkIcbcJsReceive dto) {
|
||||
this.storeId = store.getStoreId();
|
||||
|
|
@ -140,6 +143,7 @@ public class Terminal extends BaseEntity {
|
|||
this.terminalType = TerminalTypeOperation.valueOfCode(dto.getDeviceType());
|
||||
this.remark = dto.getNoteMsg();
|
||||
this.occupy = 0;
|
||||
this.projectId = store.getProjectId();
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,23 +10,24 @@ import lombok.Getter;
|
|||
@AllArgsConstructor
|
||||
public enum BankBranchesEnum {
|
||||
|
||||
NANJING_BRANCH("4301", 82582240034336768L),
|
||||
SUZHOU_BRANCH("1102", 75464095280726016L),
|
||||
WUXI_BRANCH("1103", 1712316534449692673L),
|
||||
ZHENJIANG_BRANCH("1104", 130057876893859840L),
|
||||
CHANGZHOU_BRANCH("1105", 130058354490892288L),
|
||||
XUZHOU_BRANCH("1106", 130058663179059200L),
|
||||
LIANYUNGANG_BRANCH("1107", 104793956746788864L),
|
||||
YANGZHOU_BRANCH("1108", 130041300719325184L),
|
||||
YANCheng_BRANCH("1109", 130058775791927296L),
|
||||
HUAIAN_BRANCH("1110", 130058895585443840L),
|
||||
NANTONG_BRANCH("1111", 130058943010463744L),
|
||||
TAIZHOU_BRANCH("1115", 1706151311862829058L),
|
||||
SUQIAN_BRANCH("1116", 130059053442293760L);
|
||||
NANJING_BRANCH("4301", 82582240034336768L, 1L),
|
||||
SUZHOU_BRANCH("1102", 75464095280726016L, 1L),
|
||||
WUXI_BRANCH("1103", 1712316534449692673L, 1L),
|
||||
ZHENJIANG_BRANCH("1104", 130057876893859840L, 1L),
|
||||
CHANGZHOU_BRANCH("1105", 130058354490892288L, 1L),
|
||||
XUZHOU_BRANCH("1106", 130058663179059200L, 1L),
|
||||
LIANYUNGANG_BRANCH("1107", 104793956746788864L, 1L),
|
||||
YANGZHOU_BRANCH("1108", 130041300719325184L, 1L),
|
||||
YANCheng_BRANCH("1109", 130058775791927296L, 1L),
|
||||
HUAIAN_BRANCH("1110", 130058895585443840L, 1L),
|
||||
NANTONG_BRANCH("1111", 130058943010463744L, 1L),
|
||||
TAIZHOU_BRANCH("1115", 1706151311862829058L, 1L),
|
||||
SUQIAN_BRANCH("1116", 130059053442293760L, 1L);
|
||||
|
||||
|
||||
private final String code;
|
||||
private final long lowerTaskId;
|
||||
private final long projectId;
|
||||
|
||||
public static Long getByCode(String code) {
|
||||
if (code == null) {
|
||||
|
|
@ -40,6 +41,18 @@ public enum BankBranchesEnum {
|
|||
return null;
|
||||
}
|
||||
|
||||
public static Long getProjectByCode(String code) {
|
||||
if (code == null) {
|
||||
return null;
|
||||
}
|
||||
for (BankBranchesEnum branch : BankBranchesEnum.values()) {
|
||||
if (branch.code.equals(code)) {
|
||||
return branch.projectId;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String getByLowerTaskId(Long lowerTaskId) {
|
||||
for (BankBranchesEnum branch : BankBranchesEnum.values()) {
|
||||
if (branch.lowerTaskId == lowerTaskId) {
|
||||
|
|
|
|||
|
|
@ -147,4 +147,10 @@ public class WrkInfo extends BaseEntity {
|
|||
*/
|
||||
@TableField(value = "dis_schedule")
|
||||
private Integer disSchedule;
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@TableField(value = "project_id")
|
||||
private Long projectId;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public class ReviewedQuery extends CommonParam {
|
|||
/**
|
||||
* 商户编号
|
||||
*/
|
||||
@Condition(name = "store_no", tableName = "i")
|
||||
@Condition(name = "store_no", tableName = "isr")
|
||||
@Size(max = 64, message = "商户编号不能超过64个字符")
|
||||
private String storeNo;
|
||||
|
||||
|
|
|
|||
|
|
@ -12,10 +12,12 @@ import com.chushang.inspection.project.dto.ContractDTO;
|
|||
import com.chushang.inspection.project.dto.ProjectDTO;
|
||||
import com.chushang.inspection.project.po.WrkProject;
|
||||
import com.chushang.inspection.project.po.WrkProjectContract;
|
||||
import com.chushang.inspection.project.query.ProjectQuery;
|
||||
import com.chushang.inspection.project.service.WrkProjectContractService;
|
||||
import com.chushang.inspection.project.service.WrkProjectService;
|
||||
import com.chushang.security.annotation.RequiresPermissions;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.aspectj.weaver.loadtime.Aj;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
|
|
@ -150,6 +152,15 @@ public class WrkProjectController {
|
|||
// {
|
||||
// return AjaxResult.success(postService.getById(postId));
|
||||
// }
|
||||
/**
|
||||
* 项目数据 展示
|
||||
*/
|
||||
@GetMapping(value = "/project/data")
|
||||
@RequiresPermissions("inspection:project:info")
|
||||
public AjaxResult projectData(ProjectQuery projectQuery)
|
||||
{
|
||||
return AjaxResult.success(projectService.projectData(projectQuery));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.chushang.common.core.util.StringUtils;
|
||||
import com.chushang.inspection.project.po.PollingTask;
|
||||
import com.chushang.inspection.project.vo.CountTaskVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
|
|
@ -20,4 +26,5 @@ public interface PollingTaskMapper extends BaseMapper<PollingTask> {
|
|||
// 此处为null
|
||||
return pollingTask.getSearchIndex();
|
||||
}
|
||||
List<CountTaskVO> countByProjectIds(@Param("projectIds") Set<Long> projectIds);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,10 +9,12 @@ import com.chushang.inspection.project.dto.TaskQuery;
|
|||
import com.chushang.inspection.project.po.PollingTask;
|
||||
import com.chushang.inspection.project.po.Template;
|
||||
import com.chushang.inspection.project.vo.ConfigVO;
|
||||
import com.chushang.inspection.project.vo.CountTaskVO;
|
||||
import com.chushang.inspection.project.vo.TaskVO;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
|
|
@ -44,4 +46,6 @@ public interface PollingTaskService extends IService<PollingTask>{
|
|||
return ObjectUtil.isNotEmpty(task) ? task.getName() : "";
|
||||
}
|
||||
|
||||
List<CountTaskVO> countByProjectIds(Set<Long> projectIds);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
package com.chushang.inspection.project.service;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.chushang.common.core.constant.SecurityConstants;
|
||||
import com.chushang.common.core.exception.utils.AssertUtil;
|
||||
import com.chushang.common.mybatis.enums.Operator;
|
||||
import com.chushang.common.mybatis.page.CommonParam;
|
||||
|
|
@ -12,9 +14,18 @@ import com.chushang.common.mybatis.utils.WrapperUtils;
|
|||
import com.chushang.datascope.annotation.DataScope;
|
||||
import com.chushang.inspection.project.dto.ContractDTO;
|
||||
import com.chushang.inspection.project.dto.ProjectDTO;
|
||||
import com.chushang.inspection.project.po.PollingTask;
|
||||
import com.chushang.inspection.project.po.WrkAudit;
|
||||
import com.chushang.inspection.project.po.WrkProjectContract;
|
||||
import com.chushang.inspection.project.query.ProjectQuery;
|
||||
import com.chushang.inspection.project.vo.CountTaskVO;
|
||||
import com.chushang.inspection.project.vo.ProjectVO;
|
||||
import com.chushang.inspection.terminal.po.Store;
|
||||
import com.chushang.inspection.terminal.service.StoreService;
|
||||
import com.chushang.inspection.terminal.service.TerminalService;
|
||||
import com.chushang.inspection.work.service.WrkInfoService;
|
||||
import com.chushang.security.utils.SecurityUtils;
|
||||
import com.chushang.system.feign.RemoteDeptService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
|
@ -25,6 +36,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
|
|
@ -35,6 +49,16 @@ import java.util.List;
|
|||
public class WrkProjectService extends ServiceImpl<WrkProjectMapper, WrkProject> implements IService<WrkProject> {
|
||||
@Resource
|
||||
WrkProjectContractService contractService;
|
||||
@Resource
|
||||
StoreService storeService;
|
||||
@Resource
|
||||
TerminalService terminalService;
|
||||
@Resource
|
||||
PollingTaskService taskService;
|
||||
@Resource
|
||||
WrkInfoService wrkInfoService;
|
||||
@Resource
|
||||
RemoteDeptService remoteDeptService;
|
||||
|
||||
@DataScope
|
||||
public PageResult pageList(WrkProject project, CommonParam commonParam) {
|
||||
|
|
@ -232,4 +256,41 @@ public class WrkProjectService extends ServiceImpl<WrkProjectMapper, WrkProject>
|
|||
project.setAuditStatus(auditStatus);
|
||||
updateById(project);
|
||||
}
|
||||
|
||||
@DataScope
|
||||
public PageResult projectData(ProjectQuery projectQuery) {
|
||||
CommonParam commonParam = CommonParam.buildPageRequest();
|
||||
LambdaQueryWrapper<WrkProject> sql = WrapperUtils.builder(projectQuery, commonParam);
|
||||
IPage<WrkProject> page = this.page(
|
||||
new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(commonParam.getPage(), commonParam.getLimit()),
|
||||
sql
|
||||
);
|
||||
|
||||
List<WrkProject> recordList = page.getRecords();
|
||||
List<ProjectVO> list = BeanUtil.copyToList(recordList, ProjectVO.class);
|
||||
Set<Long> deptIds = list.stream().map(ProjectVO::getDeptId).collect(Collectors.toSet());
|
||||
Map<Long, String> deptNameMap
|
||||
= remoteDeptService.getDeptNameByIds(deptIds, SecurityConstants.INNER);
|
||||
Set<Long> projectIds = list.stream().map(ProjectVO::getProjectId).collect(Collectors.toSet());
|
||||
// 任务总数
|
||||
List<CountTaskVO> totalTaskMap = taskService.countByProjectIds(projectIds);
|
||||
List<PollingTask> taskList = taskService.list(new LambdaQueryWrapper<PollingTask>()
|
||||
.in(PollingTask::getProjectId, projectIds));
|
||||
if (CollectionUtil.isNotEmpty(taskList)){
|
||||
Set<Long> taskIds = taskList.stream().map(PollingTask::getId).collect(Collectors.toSet());
|
||||
// 商户总数
|
||||
List<Store> storeList = storeService.list(new LambdaQueryWrapper<Store>()
|
||||
.in(Store::getLowerTaskId, taskIds));
|
||||
|
||||
Map<Long, List<Store>> storeMap
|
||||
= storeList.stream().collect(Collectors.groupingBy(Store::getLowerTaskId));
|
||||
// 商户id
|
||||
Set<Long> storeIds = storeList.stream().map(Store::getStoreId).collect(Collectors.toSet());
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
return new PageResult(list,page.getTotal(),page.getSize(),page.getCurrent());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,9 +26,8 @@ import com.chushang.datascope.annotation.DataScope;
|
|||
import com.chushang.inspection.project.dto.TaskDTO;
|
||||
import com.chushang.inspection.project.dto.TaskExcelDTO;
|
||||
import com.chushang.inspection.project.dto.TaskQuery;
|
||||
import com.chushang.inspection.project.po.Template;
|
||||
import com.chushang.inspection.project.service.TbTemplateService;
|
||||
import com.chushang.inspection.project.vo.ConfigVO;
|
||||
import com.chushang.inspection.project.vo.CountTaskVO;
|
||||
import com.chushang.inspection.project.vo.TaskVO;
|
||||
import com.chushang.inspection.project.service.PollingTaskService;
|
||||
import com.chushang.security.utils.SecurityUtils;
|
||||
|
|
@ -247,6 +246,12 @@ public class PollingTaskServiceImpl extends ServiceImpl<PollingTaskMapper, Polli
|
|||
.last(Operator.LIMIT_ONE.getCharacter());
|
||||
return baseMapper.selectOne(taskSql);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CountTaskVO> countByProjectIds(Set<Long> projectIds) {
|
||||
return baseMapper.countByProjectIds(projectIds);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public Result<Boolean> importTask(String params)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -31,8 +31,6 @@ public class StoreController {
|
|||
|
||||
@Resource
|
||||
StoreService storeService;
|
||||
@Resource
|
||||
TerminalService terminalService;
|
||||
/**
|
||||
* 1. 终端商户池
|
||||
* 2. 我的终端池
|
||||
|
|
|
|||
|
|
@ -123,6 +123,7 @@ public class StoreImportServiceImpl extends ServiceImpl<StoreImportMapper, Store
|
|||
store.setLowerTaskId(list.get(0).getId());
|
||||
store.setStoreId(IdUtil.getSnowflake().nextId());
|
||||
store.setDelState(false);
|
||||
store.setProjectId(topTask.getProjectId());
|
||||
return store;
|
||||
}
|
||||
|
||||
|
|
@ -140,6 +141,8 @@ public class StoreImportServiceImpl extends ServiceImpl<StoreImportMapper, Store
|
|||
Store store = genStoreEntity(storeImportDTO);
|
||||
storeMapper.insert(store);
|
||||
Terminal terminal = new Terminal();
|
||||
|
||||
terminal.setProjectId(store.getProjectId());
|
||||
terminal.setTerminalNo(storeImportDTO.getTerminalNo());
|
||||
terminal.setTerminalSn(storeImportDTO.getTerminalSn());
|
||||
terminal.setTerminalModel(storeImportDTO.getTerminalModel());
|
||||
|
|
|
|||
|
|
@ -73,4 +73,5 @@ public class TaskConfigUtils {
|
|||
Integer method = getConfig(taskId).getDispatchMethod();
|
||||
return method == null ? 0 : method;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -261,6 +261,7 @@ public class WrkInfoServiceImpl extends ServiceImpl<WrkInfoMapper, WrkInfo> impl
|
|||
wrkInfo.setDisSchedule(6);
|
||||
wrkInfo.setRegisterTime(LocalDate.now());
|
||||
wrkInfo.setDeptName(deptName);
|
||||
wrkInfo.setProjectId(store.getProjectId());
|
||||
// 处理时间
|
||||
save(wrkInfo);
|
||||
WrkInfoTerminalRecord wrkInfoTerminalRecord = BeanUtil.copyProperties(t, WrkInfoTerminalRecord.class);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.chushang.inspection.project.mapper.PollingTaskMapper">
|
||||
|
||||
<select id="countByProjectIds" resultType="com.chushang.inspection.project.vo.CountTaskVO">
|
||||
SELECT COUNT(*) AS totalTask, pt.project_id AS projectId
|
||||
FROM ta_polling_task pt
|
||||
where pt.del_state = 0
|
||||
<if test="projectIds != null and projectIds.size() != 0">
|
||||
AND pt.project_id IN
|
||||
<foreach collection="projectIds" open="(" close=")" item="projectId" separator=",">
|
||||
#{projectId}
|
||||
</foreach>
|
||||
</if>
|
||||
GROUP BY pt.project_id
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue