1. 调整condition , 注入方式进行where 条件编写
This commit is contained in:
parent
93120f3778
commit
7fd574d4ad
|
|
@ -36,6 +36,7 @@ public class DictJsonSerializer extends JsonSerializer<Object> implements Contex
|
|||
@Override
|
||||
public void serialize(Object value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
|
||||
try {
|
||||
if (null != value){
|
||||
String dictLabel = DictUtils.getDictLabel(dictType, Convert.toStr(value));
|
||||
if (rewrite) {
|
||||
// 重写了 原先的 code
|
||||
|
|
@ -46,6 +47,10 @@ public class DictJsonSerializer extends JsonSerializer<Object> implements Contex
|
|||
gen.writeFieldName(gen.getOutputContext().getCurrentName() + "Name");
|
||||
gen.writeString(dictLabel);
|
||||
}
|
||||
}else {
|
||||
gen.writeObject(value);
|
||||
}
|
||||
|
||||
} catch (BeansException e) {
|
||||
log.error("字典数据未查到, 采用默认处理【{}】", e.getMessage());
|
||||
gen.writeObject(value);
|
||||
|
|
|
|||
|
|
@ -13,9 +13,13 @@ public @interface Condition {
|
|||
|
||||
String name();
|
||||
|
||||
ConditionType[] type() default {eq};
|
||||
|
||||
String tableName() default "";
|
||||
|
||||
/**
|
||||
* 用于 批量获取
|
||||
* @return
|
||||
*/
|
||||
ConditionType type() default eq;
|
||||
|
||||
enum ConditionType {
|
||||
ge,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,9 @@ import cn.hutool.core.util.ReflectUtil;
|
|||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.chushang.common.core.util.StringUtils;
|
||||
import com.chushang.common.mybatis.annotation.Condition;
|
||||
import com.chushang.common.mybatis.base.BaseEntity;
|
||||
import com.chushang.common.mybatis.exception.MybatisConditionException;
|
||||
import com.chushang.common.mybatis.page.CommonParam;
|
||||
import lombok.AccessLevel;
|
||||
|
|
@ -28,7 +30,153 @@ public class WrapperUtils {
|
|||
return builder(null, null, columns);
|
||||
}
|
||||
|
||||
public static <T> LambdaQueryWrapper<T> builder(Object query, CommonParam commonParam, String... columns) {
|
||||
public static void buildSql(Object query)
|
||||
{
|
||||
// 获取注解
|
||||
Field[] fields = ReflectUtil.getFields(query.getClass(), field -> field.isAnnotationPresent(Condition.class));
|
||||
|
||||
StringBuilder allSql = new StringBuilder();
|
||||
for (Field field : fields) {
|
||||
Condition condition = field.getAnnotation(Condition.class);
|
||||
Object value = ReflectUtil.getFieldValue(query, field);
|
||||
if (ObjectUtil.isEmpty(value)) {
|
||||
continue;
|
||||
}
|
||||
String name = condition.name();
|
||||
String tableName = condition.tableName();
|
||||
String[] split = name.split(",");
|
||||
Condition.ConditionType conditionType = condition.type();
|
||||
if (null != conditionType) {
|
||||
switch (conditionType) {
|
||||
case ge:
|
||||
if (StringUtils.isNotEmpty(tableName)) {
|
||||
allSql.append(" AND ").append(tableName).append(".")
|
||||
.append(name).append(" $ge; ").append(value).append(" ");
|
||||
}
|
||||
break;
|
||||
case le:
|
||||
if (StringUtils.isNotEmpty(tableName))
|
||||
allSql.append(" AND ").append(tableName).append(".")
|
||||
.append(name).append(" $le; ").append(value).append(" ");
|
||||
break;
|
||||
case gt:
|
||||
if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".")
|
||||
.append(name).append(" $gt; ").append(value).append(" ");
|
||||
break;
|
||||
case lt:
|
||||
if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".")
|
||||
.append(name).append(" $lt; ").append(value).append(" ");
|
||||
break;
|
||||
case isNull:
|
||||
if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".")
|
||||
.append(name).append(" is null ").append(" ");
|
||||
break;
|
||||
case eq:
|
||||
if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".")
|
||||
.append(name).append(" = ").append(value).append(" ");
|
||||
break;
|
||||
case like:
|
||||
if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".")
|
||||
.append(name).append(" like concat('%', ").append(value).append(", '%'").append(" ");
|
||||
break;
|
||||
case in:
|
||||
if (value instanceof Collection<?> values) {
|
||||
if (StringUtils.isNotEmpty(tableName)) {
|
||||
allSql.append(" AND ").append(tableName).append(".")
|
||||
.append(name).append(" in (");
|
||||
for (Object o : values) {
|
||||
allSql.append(o).append(",");
|
||||
}
|
||||
if (allSql.toString().endsWith(",")) {
|
||||
allSql.delete(allSql.length() - 1, allSql.length());
|
||||
}
|
||||
allSql.append(" )").append(" ");
|
||||
}
|
||||
|
||||
} else {
|
||||
throw new MybatisConditionException("in 条件必须为集合");
|
||||
}
|
||||
break;
|
||||
case between:
|
||||
if (value instanceof Collection<?>) {
|
||||
List<?> list = Convert.toList(value);
|
||||
if (CollUtil.size(list) == 2) {
|
||||
if (StringUtils.isNotEmpty(tableName))
|
||||
allSql.append(" AND ").append(tableName).append(".")
|
||||
.append(name).append(" between ").append(list.get(0)).append(" AND ").append(list.get(1)).append(" ");
|
||||
}
|
||||
} else {
|
||||
throw new MybatisConditionException("between 条件必须为集合");
|
||||
}
|
||||
break;
|
||||
case likeLeft:
|
||||
if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".")
|
||||
.append(name).append(" like concat('%', ").append(value).append(", '')").append(" ");
|
||||
break;
|
||||
case dataScope:
|
||||
// TODO 因为 dataScope 是在父类, 所以没有指定tableName, 此处无法获取对应的dataScopeIds
|
||||
if (value instanceof HashMap sqlParam) {
|
||||
// dataScope 的 拼接部门Ids
|
||||
Object dataScope = sqlParam.get("dataScope");
|
||||
if (ObjectUtil.isNotEmpty(dataScope) && dataScope instanceof String sql) {
|
||||
allSql.append(sql).append(" ");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case or_eq:
|
||||
if (StringUtils.isNotEmpty(tableName)) {
|
||||
allSql.append(" OR ");
|
||||
for (String key : split) {
|
||||
allSql.append(tableName).append(".")
|
||||
.append(key).append(" = ").append(value).append(" AND ");
|
||||
}
|
||||
allSql.deleteCharAt(allSql.length() - 4);
|
||||
if (allSql.toString().endsWith("AND ")) {
|
||||
allSql.delete(allSql.length() - 4, allSql.length());
|
||||
}
|
||||
allSql.append(") ");
|
||||
}
|
||||
|
||||
break;
|
||||
case or_like:
|
||||
if (StringUtils.isNotEmpty(tableName)) {
|
||||
allSql.append(" OR (");
|
||||
for (String key : split) {
|
||||
allSql.append(tableName).append(".")
|
||||
.append(key).append(" like concat('%', ").append(value).append(", '%'").append(" AND ");
|
||||
}
|
||||
if (allSql.toString().endsWith("AND ")) {
|
||||
allSql.delete(allSql.length() - 4, allSql.length());
|
||||
}
|
||||
allSql.append(") ");
|
||||
}
|
||||
break;
|
||||
case or_likeLeft:
|
||||
if (StringUtils.isNotEmpty(tableName)) {
|
||||
allSql.append(" OR (");
|
||||
for (String key : split) {
|
||||
allSql.append(tableName).append(".")
|
||||
.append(key).append(" like concat('%', ").append(value).append(", '')").append(" AND ");
|
||||
}
|
||||
// 去掉末尾的 AND
|
||||
if (allSql.toString().endsWith("AND ")) {
|
||||
allSql.delete(allSql.length() - 4, allSql.length());
|
||||
}
|
||||
allSql.append(") ");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (query instanceof CommonParam commonParam){
|
||||
commonParam.getSqlParam().put("sqlWhere", allSql.toString());
|
||||
}else if (query instanceof BaseEntity baseEntity){
|
||||
baseEntity.getSqlParam().put("sqlWhere", allSql.toString());
|
||||
}
|
||||
}
|
||||
|
||||
public static <T> LambdaQueryWrapper<T> builder(Object query, CommonParam commonParam, String... columns)
|
||||
{
|
||||
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
|
||||
if (null != columns) {
|
||||
queryWrapper = queryWrapper.select(columns);
|
||||
|
|
@ -63,10 +211,10 @@ public class WrapperUtils {
|
|||
continue;
|
||||
}
|
||||
String name = condition.name();
|
||||
String tableName = condition.tableName();
|
||||
String[] split = name.split(",");
|
||||
Condition.ConditionType[] type = condition.type();
|
||||
if (null != type){
|
||||
for (Condition.ConditionType conditionType : type) {
|
||||
Condition.ConditionType conditionType = condition.type();
|
||||
if (null != conditionType) {
|
||||
switch (conditionType) {
|
||||
case ge:
|
||||
queryWrapper = queryWrapper.ge(ObjectUtil.isNotEmpty(value), name, value);
|
||||
|
|
@ -141,9 +289,19 @@ public class WrapperUtils {
|
|||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return queryWrapper.lambda();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
StringBuilder s = new StringBuilder();
|
||||
s.append("sss")
|
||||
.append("(")
|
||||
.append(",")
|
||||
.append(")")
|
||||
.append(" AND ");
|
||||
s.delete(s.length() - 4, s.length());
|
||||
System.out.println(s.toString());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import lombok.NoArgsConstructor;
|
|||
*/
|
||||
/**
|
||||
* 工单信息
|
||||
* 通过 wrk_id 去 store 获取 商户信息, 去 terminal 获取终端信息
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=true)
|
||||
|
|
@ -37,19 +38,8 @@ public class WrkInfo extends BaseEntity {
|
|||
*/
|
||||
@TableField(value = "dept_id")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 商户id
|
||||
*/
|
||||
@TableField(value = "store_id")
|
||||
private Long storeId;
|
||||
|
||||
/**
|
||||
* 终端id
|
||||
*/
|
||||
@TableField(value = "terminal_id")
|
||||
private Long terminalId;
|
||||
|
||||
@TableField(value = "dept_name")
|
||||
private String deptName;
|
||||
/**
|
||||
* 总任务id
|
||||
*/
|
||||
|
|
@ -66,12 +56,6 @@ public class WrkInfo extends BaseEntity {
|
|||
@TableField(value = "lower_task_name")
|
||||
private String lowerTaskName;
|
||||
|
||||
/**
|
||||
* 终端记录id
|
||||
*/
|
||||
@TableField(value = "terminal_records_id")
|
||||
private Long terminalRecordsId;
|
||||
|
||||
/**
|
||||
* 业务员id
|
||||
*/
|
||||
|
|
@ -131,13 +115,6 @@ public class WrkInfo extends BaseEntity {
|
|||
*/
|
||||
@TableField(value = "account_phone")
|
||||
private String accountPhone;
|
||||
|
||||
/**
|
||||
* 终端状态
|
||||
*/
|
||||
@TableField(value = "terminal_status")
|
||||
private Integer terminalStatus;
|
||||
|
||||
/**
|
||||
* 服务结果
|
||||
*/
|
||||
|
|
@ -149,16 +126,15 @@ public class WrkInfo extends BaseEntity {
|
|||
*/
|
||||
@TableField(value = "remark")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@TableField(value = "`state`")
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@TableField(value = "end_time")
|
||||
private LocalDateTime endTime;
|
||||
/**
|
||||
* 工单状态
|
||||
*/
|
||||
@TableField(value = "wrk_status")
|
||||
private Integer wrkStatus;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,80 @@
|
|||
package com.chushang.inspection.work.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chushang.common.mybatis.base.BaseEntity;
|
||||
import java.util.Date;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
* @date: 2024/6/27 18:13
|
||||
*/
|
||||
/**
|
||||
* 工单审核表
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=true)
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "wrk_info_audit")
|
||||
public class WrkInfoAudit extends BaseEntity {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 工单id
|
||||
*/
|
||||
@TableField(value = "wrk_id")
|
||||
private Long wrkId;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@TableField(value = "user_id")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@TableField(value = "user_name")
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
@TableField(value = "audit_time")
|
||||
private Date auditTime;
|
||||
|
||||
/**
|
||||
* 审核状态
|
||||
*/
|
||||
@TableField(value = "audit_state")
|
||||
private Byte auditState;
|
||||
|
||||
/**
|
||||
* 审核描述
|
||||
*/
|
||||
@TableField(value = "remark")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 是否为历史记录 1是 0否
|
||||
*/
|
||||
@TableField(value = "is_record")
|
||||
private Byte isRecord;
|
||||
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
@TableField(value = "dept_id")
|
||||
private Long deptId;
|
||||
}
|
||||
|
|
@ -32,60 +32,6 @@ public class WrkInfoStoreRecord extends BaseEntity {
|
|||
@TableId(value = "wrk_id", type = IdType.INPUT)
|
||||
private Long wrkId;
|
||||
|
||||
/**
|
||||
* 工单编号
|
||||
*/
|
||||
@TableField(value = "wrk_no")
|
||||
private Long wrkNo;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
@TableField(value = "dept_id")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 总任务id
|
||||
*/
|
||||
@TableField(value = "task_id")
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 本级id
|
||||
*/
|
||||
@TableField(value = "lower_task_id")
|
||||
private Long lowerTaskId;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
@TableField(value = "task_name")
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 本级任务名称
|
||||
*/
|
||||
@TableField(value = "lower_task_name")
|
||||
private String lowerTaskName;
|
||||
|
||||
/**
|
||||
* 服务结果
|
||||
*/
|
||||
@TableField(value = "service_result")
|
||||
private Integer serviceResult;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@TableField(value = "remark")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@TableField(value = "end_time")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 商户id
|
||||
*/
|
||||
|
|
@ -157,19 +103,11 @@ public class WrkInfoStoreRecord extends BaseEntity {
|
|||
*/
|
||||
@TableField(value = "tip_tool")
|
||||
private String tipTool;
|
||||
|
||||
/**
|
||||
* 操作员编号
|
||||
*/
|
||||
@TableField(value = "admin_id")
|
||||
private String adminId;
|
||||
|
||||
/**
|
||||
* 巡检频次
|
||||
*/
|
||||
@TableField(value = "ins_fre")
|
||||
private Integer insFre;
|
||||
|
||||
/**
|
||||
* 注册地址
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -32,60 +32,6 @@ public class WrkInfoTerminalRecord extends BaseEntity {
|
|||
@TableId(value = "wrk_id", type = IdType.INPUT)
|
||||
private Long wrkId;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
@TableField(value = "dept_id")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 工单编号
|
||||
*/
|
||||
@TableField(value = "wrk_no")
|
||||
private Long wrkNo;
|
||||
|
||||
/**
|
||||
* 总任务id
|
||||
*/
|
||||
@TableField(value = "task_id")
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 本级id
|
||||
*/
|
||||
@TableField(value = "lower_task_id")
|
||||
private Long lowerTaskId;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
@TableField(value = "task_name")
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 本级任务名称
|
||||
*/
|
||||
@TableField(value = "lower_task_name")
|
||||
private String lowerTaskName;
|
||||
|
||||
/**
|
||||
* 服务结果
|
||||
*/
|
||||
@TableField(value = "service_result")
|
||||
private Integer serviceResult;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@TableField(value = "remark")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@TableField(value = "end_time")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 终端id
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,130 @@
|
|||
package com.chushang.inspection.work.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.*;
|
||||
import org.hibernate.validator.constraints.Range;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Null;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ReviewedQuery extends CommonParam {
|
||||
|
||||
/**
|
||||
* 工单编号
|
||||
*/
|
||||
@Condition(name = "work_no", tableName = "i")
|
||||
private String workNo;
|
||||
|
||||
/**
|
||||
* 商户编号
|
||||
*/
|
||||
@Condition(name = "store_no", tableName = "i")
|
||||
@Size(max = 64, message = "商户编号不能超过64个字符")
|
||||
private String storeNo;
|
||||
|
||||
/**
|
||||
* 终端sn号
|
||||
*/
|
||||
@Condition(name = "terminal_sn", tableName = "itr")
|
||||
@Size(max = 100, message = "终端sn号不能超过100个字符")
|
||||
private String terminalSn;
|
||||
|
||||
/**
|
||||
* 终端编号
|
||||
*/
|
||||
@Condition(name = "terminal_no", tableName = "itr")
|
||||
@Size(max = 30, message = "终端sn号不能超过30个字符")
|
||||
private String terminalNo;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
@Condition(name = "task_id", tableName = "i")
|
||||
@NotNull(message = "任务id不能为空")
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 工单类型
|
||||
*/
|
||||
@Condition(name = "work_type", tableName = "i")
|
||||
@Range(min = 1, max = 50, message = "工单类型非法")
|
||||
private Integer workType;
|
||||
|
||||
/**
|
||||
* 工单状态
|
||||
*/
|
||||
@Condition(name = "wrk_status", tableName = "i")
|
||||
@Range(min = 1, max = 6, message = "工单状态非法")
|
||||
private Integer wrkStatus;
|
||||
|
||||
/**
|
||||
* 终端类型
|
||||
*/
|
||||
@Condition(name = "terminal_type", tableName = "itr")
|
||||
@Range(min = 1, max = 9, message = "终端类型非法")
|
||||
private Integer terminalType;
|
||||
|
||||
/**
|
||||
* 巡检频次
|
||||
*/
|
||||
@Condition(name = "ins_fre", tableName = "isr")
|
||||
@Range(min = 1, max = 5, message = "巡检频次非法")
|
||||
private Integer insFre;
|
||||
|
||||
/**
|
||||
* 处理时间
|
||||
*/
|
||||
@Condition(name = "dispose_time", type = Condition.ConditionType.between, tableName = "i")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DatePattern.NORM_DATETIME_PATTERN)
|
||||
private List<LocalDateTime> disposeTime;
|
||||
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DatePattern.NORM_DATETIME_PATTERN)
|
||||
private List<LocalDateTime> auditTime;
|
||||
|
||||
/**
|
||||
* 领用时间
|
||||
*/
|
||||
@Condition(name = "create_time", type = Condition.ConditionType.between, tableName = "i")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DatePattern.NORM_DATETIME_PATTERN)
|
||||
private List<LocalDateTime> createTime;
|
||||
|
||||
/**
|
||||
* 复审时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DatePattern.NORM_DATETIME_PATTERN)
|
||||
private List<LocalDateTime> reviewTime;
|
||||
|
||||
/**
|
||||
* 工单状态
|
||||
*/
|
||||
@Condition(name = "wrk_status", type = Condition.ConditionType.in, tableName = "i")
|
||||
@Null(message = "内部参数,不允许访问")
|
||||
private List<Integer> states;
|
||||
|
||||
/**
|
||||
* 业务员名称/门店名称
|
||||
*/
|
||||
@Size(max = 128, message = "业务员名称/门店名称不能超过128个字符")
|
||||
@Condition(name = "shop_name,user_name,store_name", type = Condition.ConditionType.or_like, tableName = "isr")
|
||||
private String universal;
|
||||
|
||||
/**
|
||||
* 下级任务id
|
||||
*/
|
||||
@Condition(name = "lower_task_id", type = Condition.ConditionType.in, tableName = "i")
|
||||
private List<Long> lowerTaskIds;
|
||||
}
|
||||
|
|
@ -22,61 +22,61 @@ public class WrkInfoQuery extends CommonParam {
|
|||
/**
|
||||
* 工单编号
|
||||
*/
|
||||
@Condition(name = "work_no")
|
||||
@Condition(name = "work_no", tableName = "i")
|
||||
private String workNo;
|
||||
|
||||
/**
|
||||
* 业务员名称
|
||||
*/
|
||||
@Condition(name = "work_name")
|
||||
@Condition(name = "user_name", tableName = "i")
|
||||
@Size(max = 32, message = "业务员名称不能超过32个字符")
|
||||
private String workName;
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 商户编号
|
||||
*/
|
||||
@Condition(name = "no")
|
||||
@Condition(name = "store_no", tableName = "isr")
|
||||
@Size(max = 64, message = "商户编号不能超过64个字符")
|
||||
private String no;
|
||||
private String storeNo;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
@Condition(name = "task_id")
|
||||
@Condition(name = "task_id", tableName = "i")
|
||||
@NotNull(message = "任务id不能为空")
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 终端编号
|
||||
*/
|
||||
@Condition(name = "terminal_no")
|
||||
@Condition(name = "terminal_no", tableName = "itr")
|
||||
@Size(max = 30, message = "终端sn号不能超过30个字符")
|
||||
private String terminalNo;
|
||||
|
||||
/**
|
||||
* 商户名称
|
||||
*/
|
||||
@Condition(name = "name",type = Condition.ConditionType.like)
|
||||
@Condition(name = "store_name",type = Condition.ConditionType.like, tableName = "isr")
|
||||
@Size(max = 128, message = "商户名称不能超过128个字符")
|
||||
private String name;
|
||||
private String storeName;
|
||||
|
||||
/**
|
||||
* 处理时间
|
||||
*/
|
||||
@Condition(name = "dispose_time", type = Condition.ConditionType.between)
|
||||
@Condition(name = "dispose_time", type = Condition.ConditionType.between, tableName = "i")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DatePattern.NORM_DATETIME_PATTERN)
|
||||
private List<LocalDateTime> disposeTime;
|
||||
|
||||
/**
|
||||
* 工单状态
|
||||
*/
|
||||
@Condition(name = "state", type = Condition.ConditionType.in)
|
||||
@Condition(name = "wrk_status", type = Condition.ConditionType.in, tableName = "i")
|
||||
@Null(message = "内部参数,不允许访问")
|
||||
private List<Integer> states;
|
||||
|
||||
/**
|
||||
* 下级任务id
|
||||
*/
|
||||
@Condition(name = "lower_task_id", type = Condition.ConditionType.in)
|
||||
@Condition(name = "lower_task_id", type = Condition.ConditionType.in, tableName = "i")
|
||||
private List<Long> lowerTaskIds;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,109 @@
|
|||
package com.chushang.inspection.work.vo;
|
||||
|
||||
import com.chushang.common.dict.annotation.DictFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WrkAuditVO {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long wrkId;
|
||||
|
||||
/**
|
||||
* 工单编号
|
||||
*/
|
||||
private String workNo;
|
||||
|
||||
/**
|
||||
* 商户编号
|
||||
*/
|
||||
private String storeNo;
|
||||
|
||||
/**
|
||||
* 商户名称
|
||||
*/
|
||||
private String storeName;
|
||||
|
||||
/**
|
||||
* 业务员名称
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 终端编号
|
||||
*/
|
||||
private String terminalNo;
|
||||
|
||||
/**
|
||||
* 终端SN号
|
||||
*/
|
||||
private String terminalSn;
|
||||
|
||||
/**
|
||||
* 工单类型
|
||||
*/
|
||||
@DictFormat(dictType = "wrk_type")
|
||||
private Integer workType;
|
||||
|
||||
/**
|
||||
* 巡检频次
|
||||
*/
|
||||
@DictFormat(dictType = "ins_fre")
|
||||
private Integer insFre;
|
||||
|
||||
/**
|
||||
* 审核状态
|
||||
*/
|
||||
@DictFormat(dictType = "wrk_status")
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 顶级任务名称
|
||||
*/
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 下级任务名称
|
||||
*/
|
||||
private String lowerTaskName;
|
||||
|
||||
/**
|
||||
* 地理位置信息 经度,纬度
|
||||
*/
|
||||
private String geographicLocation;
|
||||
|
||||
/**
|
||||
* 地理位置信息地址
|
||||
*/
|
||||
private String locationAddress;
|
||||
|
||||
/**
|
||||
* 偏差(米)
|
||||
*/
|
||||
private Long deviation;
|
||||
|
||||
/**
|
||||
* 处理时间
|
||||
*/
|
||||
private LocalDateTime disposeTime;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
protected String createBy;
|
||||
|
||||
/**
|
||||
* 创建日期
|
||||
*/
|
||||
protected LocalDateTime createTime;
|
||||
}
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
package com.chushang.inspection.work.vo;
|
||||
|
||||
import com.chushang.common.dict.annotation.DictFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WrkDispatchVO implements Serializable {
|
||||
|
||||
/**
|
||||
* wrkId
|
||||
*/
|
||||
private Long wrkId;
|
||||
|
||||
/**
|
||||
* 业务员名称
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 业务员名称
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private Long deptId;
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
private String deptName;
|
||||
private Long storeId;
|
||||
/**
|
||||
* 商户名称
|
||||
*/
|
||||
private String storeName;
|
||||
/**
|
||||
* 商户编号
|
||||
*/
|
||||
private String storeNo;
|
||||
/**
|
||||
* 终端编号
|
||||
*/
|
||||
private String terminalNo;
|
||||
private String terminalSn;
|
||||
@DictFormat(dictType = "terminal_type")
|
||||
private Integer terminalType;
|
||||
/**
|
||||
* 终端型号
|
||||
*/
|
||||
private String terminalModel;
|
||||
private Long terminalId;
|
||||
/**
|
||||
* 工单类型
|
||||
*/
|
||||
@DictFormat(dictType = "wrk_type")
|
||||
private Integer workType;
|
||||
/**
|
||||
* 工单编号
|
||||
*/
|
||||
private String workNo;
|
||||
/**
|
||||
* 工单优先级
|
||||
*/
|
||||
@DictFormat(dictType = "wrk_priority")
|
||||
private Integer workSort;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 截至时间
|
||||
*/
|
||||
private LocalDateTime endTime;
|
||||
/**
|
||||
* 派单时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
/**
|
||||
* 派单人
|
||||
*/
|
||||
private String createBy;
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.chushang.inspection.work.controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* 工单审核表(wrk_info_audit)表控制层
|
||||
*
|
||||
* @author xxxxx
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/wrk_info_audit")
|
||||
public class WrkInfoAuditController {
|
||||
}
|
||||
|
|
@ -1,12 +1,62 @@
|
|||
package com.chushang.inspection.work.controller;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import com.chushang.common.core.web.AjaxResult;
|
||||
import com.chushang.common.log.annotation.SysLog;
|
||||
import com.chushang.common.log.enums.BusinessType;
|
||||
import com.chushang.inspection.utils.TaskConfigUtils;
|
||||
import com.chushang.inspection.work.query.ReviewedQuery;
|
||||
import com.chushang.inspection.work.query.WrkInfoQuery;
|
||||
import com.chushang.inspection.work.service.WrkInfoService;
|
||||
import com.chushang.security.annotation.RequiresPermissions;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.extern.java.Log;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 工单信息(wrk_info)表控制层
|
||||
*
|
||||
* @author xxxxx
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/wrk_info")
|
||||
@RequestMapping("/wrk/info")
|
||||
public class WrkInfoController {
|
||||
|
||||
@Resource
|
||||
WrkInfoService wrkInfoService;
|
||||
|
||||
/**
|
||||
* 查询派单/领取列表
|
||||
*/
|
||||
@SysLog(value = "派单/领取列表", businessType = BusinessType.QUERY)
|
||||
@GetMapping("/dispatch/page")
|
||||
// @RequiresPermissions("wrk:dispatch:page")
|
||||
public AjaxResult queryDispatchPage(@Validated WrkInfoQuery query) {
|
||||
query.setStates(Lists.newArrayList(1, 5, 6, 7));
|
||||
return AjaxResult.success(wrkInfoService.queryDispatchPage(query));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询待审核列表
|
||||
*
|
||||
* @param query 条件
|
||||
*/
|
||||
@SysLog(value = "待审核列表", businessType = BusinessType.QUERY)
|
||||
@GetMapping("/review/page")
|
||||
@RequiresPermissions("wrk:reviewed:page")
|
||||
public AjaxResult queryToDeReviewedPage(@Validated ReviewedQuery query) {
|
||||
Integer reviewMethod = TaskConfigUtils.reviewMethod(query.getTaskId());
|
||||
Assert.isTrue(reviewMethod != 1, "审核方式为无需审核,无法进入次页面");
|
||||
List<Integer> status = ListUtil.toList(2, 5);
|
||||
if (reviewMethod == 3) {
|
||||
status.add(3);
|
||||
status.add(6);
|
||||
}
|
||||
query.setStates(status);
|
||||
return AjaxResult.success(wrkInfoService.queryArchivePage(query));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,11 +52,11 @@ public class WrkInfoPhoneController {
|
|||
@SysLog(value = "电话工单save",businessType = BusinessType.IMPORT)
|
||||
@PostMapping(value = "/import/save")
|
||||
@RequiresPermissions("wrk:phone:import")
|
||||
public AjaxResult importSave(@RequestBody List<WrkInfoPhoneImportDTO> importReadList,
|
||||
public AjaxResult importSave(@RequestBody List<WrkInfoPhoneImportDTO> dataList,
|
||||
@RequestParam("taskId") Long taskId,
|
||||
@RequestParam("lowerTaskId") Long lowerTaskId)
|
||||
{
|
||||
return infoPhoneService.importSave(importReadList, taskId, lowerTaskId);
|
||||
return infoPhoneService.importSave(dataList, taskId, lowerTaskId);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -86,7 +86,6 @@ public class WrkInfoPhoneController {
|
|||
}
|
||||
|
||||
/**
|
||||
* todo
|
||||
* 单条删除
|
||||
*/
|
||||
@SysLog(value = "电话工单", businessType = BusinessType.DELETE)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
package com.chushang.inspection.work.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.chushang.inspection.work.po.WrkInfoAudit;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
* @date: 2024/6/27 18:13
|
||||
*/
|
||||
public interface WrkInfoAuditMapper extends BaseMapper<WrkInfoAudit> {
|
||||
}
|
||||
|
|
@ -1,11 +1,24 @@
|
|||
package com.chushang.inspection.work.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.chushang.inspection.work.po.WrkInfo;
|
||||
import com.chushang.inspection.work.query.ReviewedQuery;
|
||||
import com.chushang.inspection.work.query.WrkInfoQuery;
|
||||
import com.chushang.inspection.work.vo.WrkAuditVO;
|
||||
import com.chushang.inspection.work.vo.WrkDispatchVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
* @date: 2024/6/26 17:13
|
||||
*/
|
||||
public interface WrkInfoMapper extends BaseMapper<WrkInfo> {
|
||||
|
||||
List<WrkDispatchVO> queryDispatchPage(@Param("query") WrkInfoQuery query,
|
||||
Page<WrkDispatchVO> page);
|
||||
|
||||
List<WrkAuditVO> queryArchivePage(ReviewedQuery query, Page<WrkAuditVO> page);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
package com.chushang.inspection.work.service;
|
||||
|
||||
import com.chushang.inspection.work.po.WrkInfoAudit;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
/**
|
||||
* @auther: zhao
|
||||
* @date: 2024/6/27 18:13
|
||||
*/
|
||||
public interface WrkInfoAuditService extends IService<WrkInfoAudit>{
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,7 +1,11 @@
|
|||
package com.chushang.inspection.work.service;
|
||||
|
||||
import com.chushang.common.mybatis.utils.PageResult;
|
||||
import com.chushang.inspection.work.po.WrkInfo;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.chushang.inspection.work.query.ReviewedQuery;
|
||||
import com.chushang.inspection.work.query.WrkInfoQuery;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
* @date: 2024/6/26 17:13
|
||||
|
|
@ -9,4 +13,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
public interface WrkInfoService extends IService<WrkInfo> {
|
||||
|
||||
|
||||
PageResult queryDispatchPage(WrkInfoQuery query);
|
||||
|
||||
PageResult queryArchivePage(ReviewedQuery query);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
package com.chushang.inspection.work.service.impl;
|
||||
|
||||
import com.chushang.inspection.work.service.WrkInfoAuditService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.chushang.inspection.work.mapper.WrkInfoAuditMapper;
|
||||
import com.chushang.inspection.work.po.WrkInfoAudit;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
* @date: 2024/6/27 18:13
|
||||
*/
|
||||
@Service
|
||||
public class WrkInfoAuditServiceImpl extends ServiceImpl<WrkInfoAuditMapper, WrkInfoAudit> implements WrkInfoAuditService {
|
||||
|
||||
}
|
||||
|
|
@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.chushang.common.core.constant.SecurityConstants;
|
||||
import com.chushang.common.core.context.SecurityContextHolder;
|
||||
import com.chushang.common.core.exception.ResultException;
|
||||
import com.chushang.common.core.exception.utils.AssertUtil;
|
||||
import com.chushang.common.core.text.Convert;
|
||||
import com.chushang.common.core.util.StringUtils;
|
||||
import com.chushang.common.core.web.AjaxResult;
|
||||
|
|
@ -120,13 +121,119 @@ public class WrkInfoPhoneServiceImpl extends ServiceImpl<WrkInfoPhoneMapper, Wrk
|
|||
* 单条录入
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public Long saveInfo(WrkInfoPhoneImportDTO info, Long taskId, Long lowerTaskId) {
|
||||
return 1L;
|
||||
Result<Map<String, Long>> result = remoteUserService.getIdByUsernames(Set.of(info.getUserName()), SecurityConstants.INNER);
|
||||
AssertUtil.invalidate(!result.isSuccess() || CollectionUtil.isEmpty(result.getData()), "没有获取到业务员信息");
|
||||
|
||||
Map<String, Long> idByUsernames = result.getData();
|
||||
PollingTask pollingTask = pollingTaskService.getById(taskId);
|
||||
PollingTask lowerTask = pollingTaskService.getById(lowerTaskId);
|
||||
AssertUtil.invalidate(ObjectUtil.isEmpty(pollingTask) || ObjectUtil.isEmpty(lowerTask), "没有获取到巡检任务信息");
|
||||
WrkInfoPhone wrkInfoPhone = convert(info, idByUsernames);
|
||||
wrkInfoPhone.setTaskId(taskId);
|
||||
wrkInfoPhone.setTaskName(pollingTask.getName());
|
||||
wrkInfoPhone.setLowerTaskId(lowerTaskId);
|
||||
wrkInfoPhone.setLowerTaskName(lowerTask.getName());
|
||||
String terminalNo = info.getTerminalNo();
|
||||
String storeNo = info.getStoreNo();
|
||||
String storeName = info.getStoreName();
|
||||
if (StringUtils.isNotEmpty(storeNo) && StringUtils.isNotEmpty(storeName)) {
|
||||
// 去获取唯一的 store 集合
|
||||
List<Store> list = storeService.list(
|
||||
new LambdaQueryWrapper<Store>()
|
||||
.eq(Store::getStoreNo, storeNo)
|
||||
.eq(Store::getStoreName, storeName));
|
||||
// 不为空时走下一步
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
if (list.size() > 1) {
|
||||
AssertUtil.invalidate(true, "商户编号:" + storeNo + ",商户名称:" + storeName + "重复");
|
||||
} else {
|
||||
Store storeEntity = list.get(0);
|
||||
assert null != storeEntity;
|
||||
// 获取 到了 商户编号, 商户id, 商户名称
|
||||
wrkInfoPhone.setStoreId(storeEntity.getStoreId());
|
||||
wrkInfoPhone.setStoreNo(storeEntity.getStoreNo());
|
||||
wrkInfoPhone.setStoreName(storeEntity.getStoreName());
|
||||
}
|
||||
}
|
||||
}
|
||||
// 终端不为空
|
||||
if (StringUtils.isNotEmpty(terminalNo)) {
|
||||
List<Terminal> list = terminalService.list(
|
||||
new LambdaQueryWrapper<Terminal>()
|
||||
.eq(Terminal::getTerminalNo, terminalNo)
|
||||
.eq(Terminal::getStoreNo, storeNo));
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
if (list.size() > 1) {
|
||||
AssertUtil.invalidate(true, "商户编号:" + storeNo + ",商户名称:" + storeName + "终端编号:" + terminalNo + " 重复");
|
||||
} else {
|
||||
Terminal terminal = list.get(0);
|
||||
assert null != terminal;
|
||||
wrkInfoPhone.setTerminalType(terminal.getTerminalType());
|
||||
wrkInfoPhone.setTerminalNo(terminal.getTerminalNo());
|
||||
wrkInfoPhone.setTerminalId(terminal.getTerminalId());
|
||||
}
|
||||
}
|
||||
// 去获取唯一的 store 集合
|
||||
}
|
||||
save(wrkInfoPhone);
|
||||
return wrkInfoPhone.getWrkId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long updateInfo(WrkInfoPhoneImportDTO info, Long wrkId) {
|
||||
return 0L;
|
||||
Result<Map<String, Long>> result = remoteUserService.getIdByUsernames(Set.of(info.getUserName()), SecurityConstants.INNER);
|
||||
AssertUtil.invalidate(!result.isSuccess() || CollectionUtil.isEmpty(result.getData()), "没有获取到业务员信息");
|
||||
|
||||
Map<String, Long> idByUsernames = result.getData();
|
||||
WrkInfoPhone wrkInfoPhone = convert(info, idByUsernames);
|
||||
wrkInfoPhone.setWrkId(wrkId);
|
||||
String terminalNo = info.getTerminalNo();
|
||||
String storeNo = info.getStoreNo();
|
||||
String storeName = info.getStoreName();
|
||||
if (StringUtils.isNotEmpty(storeNo) && StringUtils.isNotEmpty(storeName)) {
|
||||
// 去获取唯一的 store 集合
|
||||
List<Store> list = storeService.list(
|
||||
new LambdaQueryWrapper<Store>()
|
||||
.eq(Store::getStoreNo, storeNo)
|
||||
.eq(Store::getStoreName, storeName));
|
||||
// 不为空时走下一步
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
if (list.size() > 1) {
|
||||
AssertUtil.invalidate(true, "商户编号:" + storeNo + ",商户名称:" + storeName + "重复");
|
||||
} else {
|
||||
Store storeEntity = list.get(0);
|
||||
assert null != storeEntity;
|
||||
// 获取 到了 商户编号, 商户id, 商户名称
|
||||
wrkInfoPhone.setStoreId(storeEntity.getStoreId());
|
||||
wrkInfoPhone.setStoreNo(storeEntity.getStoreNo());
|
||||
wrkInfoPhone.setStoreName(storeEntity.getStoreName());
|
||||
}
|
||||
}
|
||||
}
|
||||
// 终端不为空
|
||||
if (StringUtils.isNotEmpty(terminalNo)) {
|
||||
List<Terminal> list = terminalService.list(
|
||||
new LambdaQueryWrapper<Terminal>()
|
||||
.eq(Terminal::getTerminalNo, terminalNo)
|
||||
.eq(Terminal::getStoreNo, storeNo));
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
if (list.size() > 1) {
|
||||
AssertUtil.invalidate(true, "商户编号:" + storeNo + ",商户名称:" + storeName + "终端编号:" + terminalNo + " 重复");
|
||||
} else {
|
||||
Terminal terminal = list.get(0);
|
||||
assert null != terminal;
|
||||
wrkInfoPhone.setTerminalType(terminal.getTerminalType());
|
||||
wrkInfoPhone.setTerminalNo(terminal.getTerminalNo());
|
||||
wrkInfoPhone.setTerminalId(terminal.getTerminalId());
|
||||
}
|
||||
}
|
||||
// 去获取唯一的 store 集合
|
||||
}
|
||||
updateById(wrkInfoPhone);
|
||||
|
||||
return wrkId;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -210,7 +317,6 @@ public class WrkInfoPhoneServiceImpl extends ServiceImpl<WrkInfoPhoneMapper, Wrk
|
|||
}
|
||||
// 去获取唯一的 store 集合
|
||||
}
|
||||
|
||||
successList.add(wrkInfoPhone);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,51 @@
|
|||
package com.chushang.inspection.work.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
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.work.query.ReviewedQuery;
|
||||
import com.chushang.inspection.work.query.WrkInfoQuery;
|
||||
import com.chushang.inspection.work.service.WrkInfoService;
|
||||
import com.chushang.inspection.work.vo.WrkAuditVO;
|
||||
import com.chushang.inspection.work.vo.WrkDispatchVO;
|
||||
import com.chushang.system.feign.RemoteUserService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.chushang.inspection.work.mapper.WrkInfoMapper;
|
||||
import com.chushang.inspection.work.po.WrkInfo;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
* @date: 2024/6/26 17:13
|
||||
*/
|
||||
@Service
|
||||
public class WrkInfoServiceImpl extends ServiceImpl<WrkInfoMapper, WrkInfo> implements WrkInfoService {
|
||||
@Resource
|
||||
RemoteUserService remoteUserService;
|
||||
|
||||
@Override
|
||||
@DataScope(deptAlias = "i")
|
||||
public PageResult queryDispatchPage(WrkInfoQuery query) {
|
||||
CommonParam commonParam = CommonParam.buildPageRequest();
|
||||
WrapperUtils.buildSql(query);
|
||||
Page<WrkDispatchVO> page = new Page<>(commonParam.getPage(), commonParam.getLimit());
|
||||
List<WrkDispatchVO> records = baseMapper.queryDispatchPage(query, page);
|
||||
return new PageResult(records, page);
|
||||
}
|
||||
|
||||
@Override
|
||||
@DataScope(deptAlias = "i")
|
||||
public PageResult queryArchivePage(ReviewedQuery query) {
|
||||
CommonParam commonParam = CommonParam.buildPageRequest();
|
||||
WrapperUtils.buildSql(query);
|
||||
Page<WrkAuditVO> page = new Page<>(commonParam.getPage(), commonParam.getLimit());
|
||||
List<WrkAuditVO> records = baseMapper.queryArchivePage(query, page);
|
||||
return new PageResult(records, page);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
<?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.work.mapper.WrkInfoAuditMapper">
|
||||
<resultMap id="BaseResultMap" type="com.chushang.inspection.work.po.WrkInfoAudit">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table wrk_info_audit-->
|
||||
<id column="id" jdbcType="BIGINT" property="id" />
|
||||
<result column="wrk_id" jdbcType="BIGINT" property="wrkId" />
|
||||
<result column="user_id" jdbcType="BIGINT" property="userId" />
|
||||
<result column="user_name" jdbcType="VARCHAR" property="userName" />
|
||||
<result column="audit_time" jdbcType="TIMESTAMP" property="auditTime" />
|
||||
<result column="audit_state" jdbcType="TINYINT" property="auditState" />
|
||||
<result column="remark" jdbcType="VARCHAR" property="remark" />
|
||||
<result column="is_record" jdbcType="TINYINT" property="isRecord" />
|
||||
<result column="dept_id" jdbcType="BIGINT" property="deptId" />
|
||||
<result column="version" jdbcType="BIGINT" property="version" />
|
||||
<result column="del_state" jdbcType="BOOLEAN" property="delState" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, wrk_id, user_id, user_name, audit_time, audit_state, remark, is_record, dept_id,
|
||||
version, del_state, create_by, create_time, update_by, update_time
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
@ -1,43 +1,64 @@
|
|||
<?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.work.mapper.WrkInfoMapper">
|
||||
<resultMap id="BaseResultMap" type="com.chushang.inspection.work.po.WrkInfo">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table wrk_info-->
|
||||
<id column="wrk_id" jdbcType="BIGINT" property="wrkId" />
|
||||
<result column="dept_id" jdbcType="BIGINT" property="deptId" />
|
||||
<result column="store_id" jdbcType="BIGINT" property="storeId" />
|
||||
<result column="terminal_id" jdbcType="BIGINT" property="terminalId" />
|
||||
<result column="task_id" jdbcType="BIGINT" property="taskId" />
|
||||
<result column="lower_task_id" jdbcType="BIGINT" property="lowerTaskId" />
|
||||
<result column="terminal_records_id" jdbcType="BIGINT" property="terminalRecordsId" />
|
||||
<result column="user_id" jdbcType="BIGINT" property="userId" />
|
||||
<result column="user_name" jdbcType="VARCHAR" property="userName" />
|
||||
<result column="work_no" jdbcType="BIGINT" property="workNo" />
|
||||
<result column="work_type" jdbcType="SMALLINT" property="workType" />
|
||||
<result column="work_method" jdbcType="SMALLINT" property="workMethod" />
|
||||
<result column="work_sort" jdbcType="TINYINT" property="workSort" />
|
||||
<result column="work_source" jdbcType="SMALLINT" property="workSource" />
|
||||
<result column="dispose_time" jdbcType="TIMESTAMP" property="disposeTime" />
|
||||
<result column="account_manager" jdbcType="VARCHAR" property="accountManager" />
|
||||
<result column="account_phone" jdbcType="VARCHAR" property="accountPhone" />
|
||||
<result column="terminal_status" jdbcType="TINYINT" property="terminalStatus" />
|
||||
<result column="service_result" jdbcType="SMALLINT" property="serviceResult" />
|
||||
<result column="remark" jdbcType="VARCHAR" property="remark" />
|
||||
<result column="state" jdbcType="SMALLINT" property="state" />
|
||||
<result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
|
||||
<result column="version" jdbcType="BIGINT" property="version" />
|
||||
<result column="del_state" jdbcType="BOOLEAN" property="delState" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
wrk_id, dept_id, store_id, terminal_id, task_id, lower_task_id, terminal_records_id,
|
||||
user_id, user_name, work_no, work_type, work_method, work_sort, work_source, dispose_time,
|
||||
account_manager, account_phone, terminal_status, service_result, remark, `state`,
|
||||
end_time, version, del_state, create_by, create_time, update_by, update_time
|
||||
</sql>
|
||||
<select id="queryDispatchPage" resultType="com.chushang.inspection.work.vo.WrkDispatchVO">
|
||||
SELECT i.wrk_id AS wrkId,
|
||||
i.user_name AS userName,
|
||||
i.user_id AS userId,
|
||||
i.dept_id AS deptId,
|
||||
i.dept_name AS deptName,
|
||||
i.work_type AS workType,
|
||||
i.work_no AS workNo,
|
||||
i.work_sort AS workSort,
|
||||
i.remark AS remark,
|
||||
i.end_time AS endTime,
|
||||
i.create_time AS createTime,
|
||||
i.create_by AS createBy,
|
||||
isr.store_id AS storeId,
|
||||
isr.store_no AS storeName,
|
||||
isr.store_name AS storeNo,
|
||||
itr.terminal_id AS terminalId,
|
||||
itr.terminal_no AS terminalNo,
|
||||
itr.terminal_sn AS terminalSn,
|
||||
itr.terminal_type AS terminalType,
|
||||
itr.terminal_model AS terminalModel
|
||||
FROM `wrk_info` i
|
||||
INNER JOIN wrk_info_store_record isr ON i.wrk_id = isr.wrk_id
|
||||
INNER JOIN wrk_info_terminal_record itr ON i.wrk_id = itr.wrk_id
|
||||
<where>
|
||||
<if test="1==1">
|
||||
${query.sqlParam.get('sqlWhere')}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY i.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="queryArchivePage" resultType="com.chushang.inspection.work.vo.WrkAuditVO">
|
||||
SELECT i.wrk_id,
|
||||
i.work_no,
|
||||
isr.store_no,
|
||||
isr.store_id,
|
||||
i.user_id,
|
||||
i.user_name,
|
||||
itr.terminal_id,
|
||||
itr.terminal_no,
|
||||
i.work_type,
|
||||
isr.ins_fre,
|
||||
i.wrk_status,
|
||||
isr.geographic_location,
|
||||
isr.location_address,
|
||||
isr.deviation,
|
||||
i.dispose_time,
|
||||
i.create_by,
|
||||
i.create_time,
|
||||
i.task_id,
|
||||
i.task_name,
|
||||
i.lower_task_id,
|
||||
i.lower_task_name
|
||||
FROM wrk_info i
|
||||
INNER JOIN wrk_info_store_record isr ON i.wrk_id = isr.wrk_id
|
||||
INNER JOIN wrk_info_terminal_record itr ON i.wrk_id = itr.wrk_id
|
||||
|
||||
ORDER BY i.create_time desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue