Merge branch 'master' of https://git.njzscloud.com/lzq/njzscloud
# Conflicts: # njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/service/BizCompanyService.javalocalizer
commit
ed7d647e91
|
|
@ -71,6 +71,11 @@
|
|||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>core</artifactId>
|
||||
<version>3.5.3</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,14 +11,21 @@ import lombok.RequiredArgsConstructor;
|
|||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
public enum BizObj implements DictStr {
|
||||
ShiGongDanWei("ShiGongDanWei", "施工单位"),
|
||||
DanWei("DanWei", "单位"),
|
||||
GeRen("GeRen", "个人"),
|
||||
WuYe("WuYe", "物业"),
|
||||
QingYunGongSi("QingYunGongSi", "清运公司"),
|
||||
ShiGongDanWei("ShiGongDanWei", "施工单位"),
|
||||
ChaiQian("ChaiQian", "拆迁公司"),
|
||||
SheQu("SheQu", "社区/村/街道"),
|
||||
|
||||
QiYe("QiYe", "企业"),
|
||||
GeTi("GeTi", "个体工商户"),
|
||||
|
||||
SiJi("SiJi", "司机"),
|
||||
JianGuan("JianGuan", "监管"),
|
||||
SiBang("SiBang", "司磅"),
|
||||
|
||||
ChanFeiDanWei("ChanFeiDanWei", "产废单位"),
|
||||
QingYunGongSi("QingYunGongSi", "清运公司"),
|
||||
XiaoNaCang("XiaoNaCang", "消纳场"),
|
||||
ZhengFuBuMen("ZhengFuBuMen", "政府部门");
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ import lombok.RequiredArgsConstructor;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 企业信息
|
||||
*/
|
||||
|
|
@ -81,4 +83,12 @@ public class BizCompanyController {
|
|||
public R<PageResult<BizCompanyEntity>> paging(PageParam pageParam, SearchCompanyParam searchCompanyParam) {
|
||||
return R.success(bizCompanyService.paging(pageParam, searchCompanyParam));
|
||||
}
|
||||
|
||||
/**
|
||||
* 站点列表
|
||||
*/
|
||||
@GetMapping("/station")
|
||||
public R<List<BizCompanyEntity>> station() {
|
||||
return R.success(bizCompanyService.station());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@ package com.njzscloud.supervisory.biz.controller;
|
|||
import com.njzscloud.common.core.utils.R;
|
||||
import com.njzscloud.common.mp.support.PageParam;
|
||||
import com.njzscloud.common.mp.support.PageResult;
|
||||
import com.njzscloud.common.security.util.SecurityUtil;
|
||||
import com.njzscloud.supervisory.biz.pojo.entity.BizProjectEntity;
|
||||
import com.njzscloud.supervisory.biz.pojo.result.SearchBizProjectResult;
|
||||
import com.njzscloud.supervisory.biz.service.BizProjectService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -27,7 +29,8 @@ public class BizProjectController {
|
|||
*/
|
||||
@PostMapping("/add")
|
||||
public R<?> add(@RequestBody BizProjectEntity bizProjectEntity) {
|
||||
bizProjectService.add(bizProjectEntity);
|
||||
Long userId = SecurityUtil.currentUserId();
|
||||
bizProjectService.add(bizProjectEntity.setUserId(userId));
|
||||
return R.success();
|
||||
}
|
||||
|
||||
|
|
@ -61,7 +64,7 @@ public class BizProjectController {
|
|||
* 分页查询
|
||||
*/
|
||||
@GetMapping("/paging")
|
||||
public R<PageResult<BizProjectEntity>> paging(PageParam pageParam, BizProjectEntity bizProjectEntity) {
|
||||
public R<PageResult<SearchBizProjectResult>> paging(PageParam pageParam, BizProjectEntity bizProjectEntity) {
|
||||
return R.success(bizProjectService.paging(pageParam, bizProjectEntity));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,17 @@
|
|||
package com.njzscloud.supervisory.biz.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njzscloud.supervisory.biz.pojo.entity.BizCompanyEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 企业信息
|
||||
*/
|
||||
@Mapper
|
||||
public interface BizCompanyMapper extends BaseMapper<BizCompanyEntity> {
|
||||
IPage<BizCompanyEntity> paging(Page<Object> page, @Param("ew") QueryWrapper<Object> ew);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,13 @@
|
|||
package com.njzscloud.supervisory.biz.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njzscloud.supervisory.biz.pojo.entity.BizProjectEntity;
|
||||
import com.njzscloud.supervisory.biz.pojo.result.SearchBizProjectResult;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 项目信息
|
||||
|
|
@ -10,4 +15,5 @@ import org.apache.ibatis.annotations.Mapper;
|
|||
@Mapper
|
||||
public interface BizProjectMapper extends BaseMapper<BizProjectEntity> {
|
||||
|
||||
IPage<SearchBizProjectResult> paging(Page<Object> page, @Param("ew") QueryWrapper<BizProjectEntity> ew);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,14 @@
|
|||
package com.njzscloud.supervisory.biz.pojo.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.njzscloud.common.mp.support.handler.j.JsonTypeHandler;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目信息
|
||||
|
|
@ -15,7 +17,7 @@ import java.time.LocalDateTime;
|
|||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
@TableName("biz_project")
|
||||
@TableName(value = "biz_project", autoResultMap = true)
|
||||
public class BizProjectEntity {
|
||||
|
||||
/**
|
||||
|
|
@ -47,7 +49,8 @@ public class BizProjectEntity {
|
|||
/**
|
||||
* 合同图片; json
|
||||
*/
|
||||
private String contract;
|
||||
@TableField(typeHandler = JsonTypeHandler.class)
|
||||
private List<String> contract;
|
||||
|
||||
/**
|
||||
* 项目所在地省; 代码
|
||||
|
|
|
|||
|
|
@ -1,14 +1,12 @@
|
|||
package com.njzscloud.supervisory.biz.pojo.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.njzscloud.common.mp.support.handler.j.JsonTypeHandler;
|
||||
import com.njzscloud.supervisory.biz.contant.AuditStatus;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 车辆信息
|
||||
|
|
@ -26,12 +24,7 @@ public class BizTruckEntity {
|
|||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户 Id; sys_user.id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 清运公司/消纳场 Id; biz_company.id
|
||||
* 归属公司 Id
|
||||
*/
|
||||
private Long companyId;
|
||||
|
||||
|
|
@ -41,7 +34,7 @@ public class BizTruckEntity {
|
|||
private String licensePlate;
|
||||
|
||||
/**
|
||||
* 行驶证; 图片
|
||||
* 行驶证图片
|
||||
*/
|
||||
private String truckLicense;
|
||||
|
||||
|
|
@ -51,44 +44,22 @@ public class BizTruckEntity {
|
|||
private String vnCode;
|
||||
|
||||
/**
|
||||
* 车辆合格证; 图片
|
||||
* 合格证图片
|
||||
*/
|
||||
private String qualification;
|
||||
/**
|
||||
* 行驶证有效期; [开始日期,结束日期]
|
||||
*/
|
||||
@TableField(value = "truck_license_date", typeHandler = JsonTypeHandler.class)
|
||||
private List<String> truckLicenseDate;
|
||||
/**
|
||||
* 车辆合格证有效期; [开始日期,结束日期]
|
||||
*/
|
||||
@TableField(value = "qualification_date", typeHandler = JsonTypeHandler.class)
|
||||
private List<String> qualificationDate;
|
||||
/**
|
||||
* 资质证明有效期; [开始日期,结束日期]
|
||||
*/
|
||||
@TableField(value = "certification_date", typeHandler = JsonTypeHandler.class)
|
||||
private List<String> certificationDate;
|
||||
/**
|
||||
* 最大载重; 单位:吨
|
||||
*/
|
||||
private String carryingCapacity;
|
||||
|
||||
/**
|
||||
* GPS
|
||||
* 最大载重; 单位:千克
|
||||
*/
|
||||
private String gps;
|
||||
/**
|
||||
* 是否忙碌; 0-->空闲、1-->忙碌
|
||||
*/
|
||||
private Boolean busy;
|
||||
private Integer carryingCapacity;
|
||||
|
||||
/**
|
||||
* 是否禁用; 0-->启用、1-->禁用
|
||||
* 皮重; 单位:千克
|
||||
*/
|
||||
private Boolean disabled;
|
||||
private Integer tareWeight;
|
||||
|
||||
/**
|
||||
* 审核状态; 字典代码:audit_status
|
||||
* 审核状态
|
||||
*/
|
||||
private AuditStatus auditStatus;
|
||||
|
||||
|
|
@ -96,6 +67,7 @@ public class BizTruckEntity {
|
|||
* 审核备注
|
||||
*/
|
||||
private String auditMemo;
|
||||
|
||||
/**
|
||||
* 创建人 Id; sys_user.id
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,131 @@
|
|||
package com.njzscloud.supervisory.biz.pojo.result;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目信息
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class SearchBizProjectResult {
|
||||
|
||||
/**
|
||||
* Id
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 归属用户 Id
|
||||
*/
|
||||
private Long userId;
|
||||
private Long companyId;
|
||||
private String companyName;
|
||||
|
||||
/**
|
||||
* 对方用户 Id
|
||||
*/
|
||||
private Long otherUserId;
|
||||
|
||||
/**
|
||||
* 对方公司 Id
|
||||
*/
|
||||
private Long otherCompanyId;
|
||||
private String otherCompanyName;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 合同图片; json
|
||||
*/
|
||||
private List<String> contract;
|
||||
|
||||
/**
|
||||
* 项目所在地省; 代码
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 项目所在地市; 代码
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 项目所在地区县; 代码
|
||||
*/
|
||||
private String area;
|
||||
|
||||
/**
|
||||
* 项目所在地乡镇街道; 代码
|
||||
*/
|
||||
private String town;
|
||||
|
||||
/**
|
||||
* 项目所在地省; 名称
|
||||
*/
|
||||
private String provinceName;
|
||||
|
||||
/**
|
||||
* 项目所在地市; 名称
|
||||
*/
|
||||
private String cityName;
|
||||
|
||||
/**
|
||||
* 项目所在地区县; 名称
|
||||
*/
|
||||
private String areaName;
|
||||
|
||||
/**
|
||||
* 项目所在地乡镇街道; 名称
|
||||
*/
|
||||
private String townName;
|
||||
|
||||
/**
|
||||
* 项目所在地详细地址
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 项目所在地经度
|
||||
*/
|
||||
private Double lng;
|
||||
|
||||
/**
|
||||
* 项目所在地纬度
|
||||
*/
|
||||
private Double lat;
|
||||
|
||||
/**
|
||||
* 创建人 Id; sys_user.id
|
||||
*/
|
||||
private Long creatorId;
|
||||
|
||||
/**
|
||||
* 修改人 Id; sys_user.id
|
||||
*/
|
||||
private Long modifierId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime modifyTime;
|
||||
|
||||
}
|
||||
|
|
@ -5,9 +5,6 @@ import lombok.Getter;
|
|||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 车辆信息
|
||||
*/
|
||||
|
|
@ -15,31 +12,16 @@ import java.util.List;
|
|||
@Setter
|
||||
@Accessors(chain = true)
|
||||
public class SearchTruckResult {
|
||||
|
||||
/**
|
||||
* Id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户 Id; sys_user.id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 清运公司/消纳场 Id; biz_company.id
|
||||
*/
|
||||
private Long companyId;
|
||||
|
||||
/**
|
||||
* 清运公司/消纳场名称; biz_company.name
|
||||
*/
|
||||
private String companyName;
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 统一社会信用代码; biz_company.uscc
|
||||
* 归属公司 Id
|
||||
*/
|
||||
private String uscc;
|
||||
private Long companyId;
|
||||
|
||||
/**
|
||||
* 车牌
|
||||
|
|
@ -47,7 +29,7 @@ public class SearchTruckResult {
|
|||
private String licensePlate;
|
||||
|
||||
/**
|
||||
* 行驶证; 图片
|
||||
* 行驶证图片
|
||||
*/
|
||||
private String truckLicense;
|
||||
|
||||
|
|
@ -57,40 +39,22 @@ public class SearchTruckResult {
|
|||
private String vnCode;
|
||||
|
||||
/**
|
||||
* 车辆合格证; 图片
|
||||
* 合格证图片
|
||||
*/
|
||||
private String qualification;
|
||||
|
||||
/**
|
||||
* 最大载重; 单位:吨
|
||||
* 最大载重; 单位:千克
|
||||
*/
|
||||
private String carryingCapacity;
|
||||
private Integer carryingCapacity;
|
||||
|
||||
/**
|
||||
* GPS
|
||||
* 皮重; 单位:千克
|
||||
*/
|
||||
private String gps;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
/**
|
||||
* 行驶证有效期; [开始日期,结束日期]
|
||||
*/
|
||||
private List<String> truckLicenseDate;
|
||||
/**
|
||||
* 车辆合格证有效期; [开始日期,结束日期]
|
||||
*/
|
||||
private List<String> qualificationDate;
|
||||
/**
|
||||
* 资质证明有效期; [开始日期,结束日期]
|
||||
*/
|
||||
private List<String> certificationDate;
|
||||
private Integer tareWeight;
|
||||
|
||||
/**
|
||||
* 是否禁用; 0-->启用、1-->禁用
|
||||
*/
|
||||
private Boolean disabled;
|
||||
/**
|
||||
* 审核状态; 字典代码:audit_status
|
||||
* 审核状态
|
||||
*/
|
||||
private AuditStatus auditStatus;
|
||||
|
||||
|
|
@ -98,4 +62,5 @@ public class SearchTruckResult {
|
|||
* 审核备注
|
||||
*/
|
||||
private String auditMemo;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.njzscloud.supervisory.biz.service;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
|
|
@ -26,6 +27,9 @@ import lombok.extern.slf4j.Slf4j;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 企业信息
|
||||
*/
|
||||
|
|
@ -35,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
public class BizCompanyService extends ServiceImpl<BizCompanyMapper, BizCompanyEntity> implements IService<BizCompanyEntity> {
|
||||
|
||||
private final AppProperties appProperties;
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*
|
||||
|
|
@ -140,16 +145,31 @@ public class BizCompanyService extends ServiceImpl<BizCompanyMapper, BizCompanyE
|
|||
*/
|
||||
public PageResult<BizCompanyEntity> paging(PageParam pageParam, SearchCompanyParam searchCompanyParam) {
|
||||
BizObj bizObj = searchCompanyParam.getBizObj();
|
||||
List<String> bizObjList = null;
|
||||
|
||||
if (bizObj == BizObj.ChanFeiDanWei) {
|
||||
bizObjList = Arrays.asList(BizObj.GeRen.getVal(),
|
||||
BizObj.WuYe.getVal(),
|
||||
BizObj.ShiGongDanWei.getVal(),
|
||||
BizObj.ChaiQian.getVal(),
|
||||
BizObj.SheQu.getVal());
|
||||
} else if (bizObj == BizObj.QingYunGongSi) {
|
||||
bizObjList = Arrays.asList(
|
||||
BizObj.QiYe.getVal(),
|
||||
BizObj.GeTi.getVal());
|
||||
}
|
||||
|
||||
String uscc = searchCompanyParam.getUscc();
|
||||
AuditStatus auditStatus = searchCompanyParam.getAuditStatus();
|
||||
String companyName = searchCompanyParam.getCompanyName();
|
||||
String legalRepresentative = searchCompanyParam.getLegalRepresentative();
|
||||
return PageResult.of(this.page(pageParam.toPage(), Wrappers.<BizCompanyEntity>lambdaQuery()
|
||||
.eq(auditStatus != null, BizCompanyEntity::getAuditStatus, auditStatus)
|
||||
.eq(StrUtil.isNotBlank(searchCompanyParam.getStation()), BizCompanyEntity::getStation, searchCompanyParam.getStation())
|
||||
.like(StrUtil.isNotBlank(companyName), BizCompanyEntity::getCompanyName, companyName)
|
||||
.like(StrUtil.isNotBlank(legalRepresentative), BizCompanyEntity::getLegalRepresentative, legalRepresentative)
|
||||
.like(StrUtil.isNotBlank(uscc), BizCompanyEntity::getUscc, uscc)
|
||||
return PageResult.of(baseMapper.paging(pageParam.toPage(), Wrappers.query()
|
||||
.eq(auditStatus != null, "a.audit_status", auditStatus)
|
||||
.eq(StrUtil.isNotBlank(searchCompanyParam.getStation()), "a.station", searchCompanyParam.getStation())
|
||||
.in(CollUtil.isNotEmpty(bizObjList), "b.biz_obj", bizObjList)
|
||||
.like(StrUtil.isNotBlank(companyName), "a.company_name", companyName)
|
||||
.like(StrUtil.isNotBlank(legalRepresentative), "a.legal_representative", legalRepresentative)
|
||||
.like(StrUtil.isNotBlank(uscc), "a.uscc", uscc)
|
||||
));
|
||||
}
|
||||
|
||||
|
|
@ -172,4 +192,8 @@ public class BizCompanyService extends ServiceImpl<BizCompanyMapper, BizCompanyE
|
|||
throw Exceptions.exception("数据状态已改变,无法审核");
|
||||
}
|
||||
}
|
||||
|
||||
public List<BizCompanyEntity> station() {
|
||||
return this.list(Wrappers.<BizCompanyEntity>lambdaQuery().eq(BizCompanyEntity::getStation, Boolean.TRUE));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.njzscloud.common.mp.support.PageParam;
|
|||
import com.njzscloud.common.mp.support.PageResult;
|
||||
import com.njzscloud.supervisory.biz.mapper.BizProjectMapper;
|
||||
import com.njzscloud.supervisory.biz.pojo.entity.BizProjectEntity;
|
||||
import com.njzscloud.supervisory.biz.pojo.result.SearchBizProjectResult;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
|
@ -52,8 +53,8 @@ public class BizProjectService extends ServiceImpl<BizProjectMapper, BizProjectE
|
|||
/**
|
||||
* 分页查询
|
||||
*/
|
||||
public PageResult<BizProjectEntity> paging(PageParam pageParam, BizProjectEntity bizProjectEntity) {
|
||||
return PageResult.of(this.page(pageParam.toPage(), Wrappers.<BizProjectEntity>query(bizProjectEntity)));
|
||||
public PageResult<SearchBizProjectResult> paging(PageParam pageParam, BizProjectEntity bizProjectEntity) {
|
||||
return PageResult.of(baseMapper.paging(pageParam.toPage(), Wrappers.<BizProjectEntity>query(bizProjectEntity)));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njzscloud.common.core.ex.Exceptions;
|
||||
import com.njzscloud.common.core.fastjson.Fastjson;
|
||||
import com.njzscloud.common.mp.support.PageParam;
|
||||
import com.njzscloud.common.mp.support.PageResult;
|
||||
import com.njzscloud.common.security.support.UserDetail;
|
||||
|
|
@ -37,11 +36,7 @@ public class BizTruckService extends ServiceImpl<BizTruckMapper, BizTruckEntity>
|
|||
* @param bizTruckEntity 数据
|
||||
*/
|
||||
public void add(BizTruckEntity bizTruckEntity) {
|
||||
UserDetail userDetail = SecurityUtil.loginUser();
|
||||
bizTruckEntity.setUserId(userDetail.getUserId());
|
||||
SearchCompanyResult searchCompanyResult = baseMapper.selectCompanyByUserId(userDetail.getUserId());
|
||||
bizTruckEntity.setCompanyId(searchCompanyResult.getId())
|
||||
.setAuditStatus(AuditStatus.DaiShenHe)
|
||||
bizTruckEntity.setAuditStatus(AuditStatus.DaiShenHe)
|
||||
;
|
||||
this.save(bizTruckEntity);
|
||||
}
|
||||
|
|
@ -97,8 +92,6 @@ public class BizTruckService extends ServiceImpl<BizTruckMapper, BizTruckEntity>
|
|||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void busy(List<Long> id, Boolean busy) {
|
||||
update(Wrappers.<BizTruckEntity>update()
|
||||
.lambda().in(BizTruckEntity::getId, id).set(BizTruckEntity::getBusy, busy));
|
||||
}
|
||||
|
||||
public PageResult<BizTruckEntity> dispensabilityList(PageParam pageParam, String keywords) {
|
||||
|
|
@ -106,7 +99,6 @@ public class BizTruckService extends ServiceImpl<BizTruckMapper, BizTruckEntity>
|
|||
SearchCompanyResult searchCompanyResult = baseMapper.selectCompanyByUserId(userDetail.getUserId());
|
||||
return PageResult.of(this.page(pageParam.toPage(), Wrappers.<BizTruckEntity>lambdaQuery()
|
||||
// .eq(BizTruckEntity::getBusy, false)
|
||||
.eq(BizTruckEntity::getDisabled, false)
|
||||
.eq(BizTruckEntity::getAuditStatus, AuditStatus.TongGuo)
|
||||
.eq(BizTruckEntity::getCompanyId, searchCompanyResult.getId())
|
||||
.and(StrUtil.isNotBlank(keywords), it ->
|
||||
|
|
@ -129,7 +121,6 @@ public class BizTruckService extends ServiceImpl<BizTruckMapper, BizTruckEntity>
|
|||
boolean updated = update(Wrappers.<BizTruckEntity>lambdaUpdate()
|
||||
.set(BizTruckEntity::getAuditStatus, auditStatus)
|
||||
.set(BizTruckEntity::getAuditMemo, auditStatus == AuditStatus.TongGuo ? "" : auditMemo)
|
||||
.set(BizTruckEntity::getCertificationDate, Fastjson.toJsonStr(certificationDate))
|
||||
.eq(BizTruckEntity::getId, id)
|
||||
.eq(BizTruckEntity::getAuditStatus, AuditStatus.DaiShenHe));
|
||||
if (!updated) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
package com.njzscloud.supervisory.bs.controller;
|
||||
|
||||
import com.njzscloud.common.core.utils.R;
|
||||
import com.njzscloud.supervisory.bs.service.StatisticsService;
|
||||
import com.njzscloud.supervisory.bs.service.SupervisionStatisticsService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.CrossOrigin;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
@CrossOrigin
|
||||
@RestController
|
||||
@RequestMapping("/statistics")
|
||||
@RequiredArgsConstructor
|
||||
public class StatisticsController {
|
||||
private final StatisticsService statisticsService;
|
||||
private final SupervisionStatisticsService supervisionStatisticsService;
|
||||
|
||||
|
||||
@GetMapping("/obtain_data")
|
||||
public R<?> obtainData() throws Exception {
|
||||
long l = System.currentTimeMillis();
|
||||
Map<String, Object> data = statisticsService.obtainData();
|
||||
System.out.println("耗时: " + (System.currentTimeMillis() - l));
|
||||
return R.success(data);
|
||||
}
|
||||
|
||||
@GetMapping("/obtain_order")
|
||||
public R<?> obtainOrder(Long userId) {
|
||||
return R.success(statisticsService.obtainOrder(userId));
|
||||
}
|
||||
|
||||
@GetMapping("/supervision/obtain_data")
|
||||
public R<?> obtainData1() {
|
||||
long l = System.currentTimeMillis();
|
||||
Map<String, Object> data = supervisionStatisticsService.obtainData();
|
||||
System.out.println("耗时: " + (System.currentTimeMillis() - l));
|
||||
return R.success(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package com.njzscloud.supervisory.bs.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.njzscloud.supervisory.bs.pojo.result.*;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface ShouJuStatisticsMapper {
|
||||
List<CarTrends> getCarTrends();
|
||||
|
||||
UserSummary getUserSummary();
|
||||
|
||||
List<GarbageDisposeSummary> getGarbageDisposeSummary();
|
||||
|
||||
List<GarbageDisposeSummary> getCurrentMonthGarbageDisposeSummary();
|
||||
|
||||
List<String> getGoodsNames(@Param("ew") Wrapper<Object> ew, @Param("count") int count);
|
||||
|
||||
List<OrderSummary> getOrderSummary();
|
||||
|
||||
TodayOrderSummary getTodayOrderSummary();
|
||||
|
||||
List<OrderInfo> obtainOrder(@Param("userId") Long userId);
|
||||
|
||||
Double disposeWeight(@Param("startTime") Long startTime, @Param("endTime") Long endTime);
|
||||
|
||||
List<OrderAmountSummary> getOrderAmountSummary(@Param("startTime") Long startTime, @Param("endTime") Long endTime);
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package com.njzscloud.supervisory.bs.mapper;
|
||||
|
||||
import com.njzscloud.supervisory.bs.pojo.result.*;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface SupervisionStatisticsMapper {
|
||||
DispatchSummary getDispatchSummary();
|
||||
|
||||
YuYueSummary getYuYueSummary();
|
||||
|
||||
Integer getDisposeTotalWeight();
|
||||
|
||||
CarSummary getCarSummary();
|
||||
|
||||
Integer getTodayCarCount();
|
||||
|
||||
List<RegionSummary> getRegionSummary();
|
||||
|
||||
List<CompanySummary> getCompanySummary();
|
||||
|
||||
List<StationInfo> getStationInfo();
|
||||
|
||||
List<Order> getOrders();
|
||||
|
||||
List<Project> getProjects();
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class CarSummary {
|
||||
private Integer yunShuZhong;
|
||||
private Integer carCount;
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class CarTrends {
|
||||
private String carNumber;
|
||||
private String weight;
|
||||
private String orderStatus;
|
||||
private String stationId;
|
||||
private String stationName;
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class CompanySummary {
|
||||
private String company;
|
||||
private Integer totalWeight;
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class DispatchSummary {
|
||||
private Integer daiPaiChe;
|
||||
private Integer weiJieDan;
|
||||
private Integer yunShuZhong;
|
||||
private Integer yiWanCheng;
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class GarbageDisposeSummary {
|
||||
private String garbageName;
|
||||
private Double weight;
|
||||
private Integer depotType;
|
||||
private String depotName;
|
||||
private String icon;
|
||||
private Double percentage;
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class Order {
|
||||
|
||||
private String orderNo;
|
||||
private String realname;
|
||||
private String mobile;
|
||||
private String goodsCategoryName;
|
||||
private String createTime;
|
||||
private String orderStatus;
|
||||
private String carNumber;
|
||||
private String driverName;
|
||||
private String goodsName;
|
||||
private String company;
|
||||
private String address;
|
||||
private String lon;
|
||||
private String lat;
|
||||
private String km;
|
||||
private Integer finish;
|
||||
private Integer carStatus;
|
||||
private Integer status;
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class OrderAmountSummary {
|
||||
private Integer amount;
|
||||
private Date outTime;
|
||||
private Integer cd;
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class OrderInfo {
|
||||
private String carNumber;
|
||||
private String goodsName;
|
||||
private String orderStatus;
|
||||
private Double weight;
|
||||
private LocalDateTime inTime;
|
||||
private LocalDateTime outTime;
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class OrderSummary {
|
||||
private Boolean finish;
|
||||
private Long userId;
|
||||
private Long quantity;
|
||||
private String company;
|
||||
private Long groupId;
|
||||
private String groupName;
|
||||
private Long finishCount;
|
||||
private Long unFinishCount;
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class Project {
|
||||
private String projectName;
|
||||
private String area;
|
||||
private String street;
|
||||
private String address;
|
||||
private String km;
|
||||
private String realname;
|
||||
private String mobile;
|
||||
private Integer estimate;
|
||||
private String projectStatus;
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class RegionSummary {
|
||||
private String address;
|
||||
private Integer totalWeight;
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class StationInfo {
|
||||
private String name;
|
||||
private Double longitude;
|
||||
private Double latitude;
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class TodayOrderSummary {
|
||||
private Integer total;
|
||||
private Integer completed;
|
||||
private Integer cancelled;
|
||||
private Integer waiting;
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class UserSummary {
|
||||
private Integer sanHu;
|
||||
private Integer qingYun;
|
||||
private Integer wuYe;
|
||||
|
||||
public Integer getDaKeHu() {
|
||||
return (qingYun == null ? 0 : qingYun) + (wuYe == null ? 0 : wuYe);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.njzscloud.supervisory.bs.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class YuYueSummary {
|
||||
private Integer zuoTian;
|
||||
private Integer jinTian;
|
||||
private Double zengZhangLv;
|
||||
}
|
||||
|
|
@ -0,0 +1,323 @@
|
|||
package com.njzscloud.supervisory.bs.service;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.Week;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.njzscloud.common.core.tuple.Tuple2;
|
||||
import com.njzscloud.common.core.tuple.Tuple3;
|
||||
import com.njzscloud.common.core.utils.GroupUtil;
|
||||
import com.njzscloud.supervisory.bs.mapper.ShouJuStatisticsMapper;
|
||||
import com.njzscloud.supervisory.bs.pojo.result.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class ShouJuStatisticsService implements StatisticsService {
|
||||
private final ShouJuStatisticsMapper statisticsMapper;
|
||||
|
||||
private final String[] weeks = {"周一", "周二", "周三", "周四", "周五", "周六", "周日"};
|
||||
private final String[] weeks_ = {"周日", "周一", "周二", "周三", "周四", "周五", "周六"};
|
||||
private final String[] months = {"1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"};
|
||||
|
||||
public Map<String, Object> obtainData() throws Exception {
|
||||
CompletableFuture<List<CarTrends>> carTrends = CompletableFuture.supplyAsync(statisticsMapper::getCarTrends)
|
||||
.exceptionally(ex -> {
|
||||
log.error("车辆动态数据获取失败", ex);
|
||||
return Collections.emptyList();
|
||||
});
|
||||
CompletableFuture<UserSummary> userSummary = CompletableFuture.supplyAsync(statisticsMapper::getUserSummary)
|
||||
.exceptionally(ex -> {
|
||||
log.error("用户动态数据获取失败", ex);
|
||||
return null;
|
||||
});
|
||||
CompletableFuture<List<GarbageDisposeSummary>> garbageDisposeSummary = CompletableFuture.supplyAsync(statisticsMapper::getGarbageDisposeSummary)
|
||||
.thenApply(list -> {
|
||||
Double garbageDisposeSummary_totalWeight_1 = list.stream()
|
||||
.filter(it -> it.getDepotType() == 1)
|
||||
.map(GarbageDisposeSummary::getWeight)
|
||||
.reduce(Double::sum).orElse(0D);
|
||||
Double garbageDisposeSummary_totalWeight_2 = list.stream()
|
||||
.filter(it -> it.getDepotType() == 2)
|
||||
.map(GarbageDisposeSummary::getWeight)
|
||||
.reduce(Double::sum).orElse(0D);
|
||||
|
||||
for (GarbageDisposeSummary disposeSummary : list) {
|
||||
disposeSummary.setPercentage(disposeSummary.getDepotType() == 1 ?
|
||||
garbageDisposeSummary_totalWeight_1 == 0 ? 0 : disposeSummary.getWeight() / garbageDisposeSummary_totalWeight_1 * 100 :
|
||||
garbageDisposeSummary_totalWeight_2 == 0 ? 0 : disposeSummary.getWeight() / garbageDisposeSummary_totalWeight_2 * 100);
|
||||
}
|
||||
return list;
|
||||
})
|
||||
.exceptionally(ex -> {
|
||||
log.error("垃圾处置动态数据获取失败", ex);
|
||||
return Collections.emptyList();
|
||||
});
|
||||
|
||||
CompletableFuture<List<GarbageDisposeSummary>> currentMonthGarbageDisposeSummary = CompletableFuture.supplyAsync(statisticsMapper::getCurrentMonthGarbageDisposeSummary)
|
||||
.thenApply(list -> {
|
||||
if (list.size() < 6) {
|
||||
List<String> goodsNames = statisticsMapper.getGoodsNames(Wrappers.query().eq("depot_type", 2)
|
||||
.notLike("name", "青石")
|
||||
.notLike("name", "矿石")
|
||||
, 6 - list.size());
|
||||
for (String goodsName : goodsNames) {
|
||||
list.add(new GarbageDisposeSummary()
|
||||
.setGarbageName(goodsName)
|
||||
.setWeight(0D));
|
||||
}
|
||||
}
|
||||
Double currentMonthGarbageDisposeSummary_totalWeight = list.stream()
|
||||
.map(GarbageDisposeSummary::getWeight)
|
||||
.reduce(Double::sum).orElse(0D);
|
||||
|
||||
for (GarbageDisposeSummary disposeSummary : list) {
|
||||
disposeSummary.setPercentage(disposeSummary.getWeight() / currentMonthGarbageDisposeSummary_totalWeight * 100);
|
||||
}
|
||||
return list;
|
||||
})
|
||||
.exceptionally(ex -> {
|
||||
log.error("当前月垃圾处置动态数据获取失败", ex);
|
||||
return Collections.emptyList();
|
||||
});
|
||||
|
||||
CompletableFuture<List<OrderSummary>> summaries = CompletableFuture.supplyAsync(statisticsMapper::getOrderSummary)
|
||||
.thenApply(orderSummary -> {
|
||||
List<Long> userIds = orderSummary.stream().map(OrderSummary::getUserId).distinct().collect(Collectors.toList());
|
||||
Map<Long, List<OrderSummary>> map = GroupUtil.k_a(orderSummary, OrderSummary::getUserId);
|
||||
Map<Long, Map<Boolean, OrderSummary>> map_ = new HashMap<>();
|
||||
map.forEach((s, orderSummaries) -> map_.put(s, GroupUtil.k_o(orderSummaries, OrderSummary::getFinish)));
|
||||
return userIds.stream()
|
||||
.map(it -> {
|
||||
Map<Boolean, OrderSummary> map1 = map_.get(it);
|
||||
OrderSummary finish = map1.get(Boolean.TRUE);
|
||||
OrderSummary unFinish = map1.get(Boolean.FALSE);
|
||||
if (finish == null && unFinish == null) return null;
|
||||
|
||||
Long finishCount = 0L;
|
||||
Long unFinishCount = 0L;
|
||||
String company = null;
|
||||
String groupName = null;
|
||||
|
||||
if (finish != null) {
|
||||
company = finish.getCompany();
|
||||
groupName = finish.getGroupName();
|
||||
finishCount = finish.getQuantity();
|
||||
}
|
||||
|
||||
if (unFinish != null) {
|
||||
company = unFinish.getCompany();
|
||||
groupName = unFinish.getGroupName();
|
||||
unFinishCount = unFinish.getQuantity();
|
||||
}
|
||||
|
||||
return new OrderSummary()
|
||||
.setUserId(it)
|
||||
.setFinishCount(finishCount)
|
||||
.setUnFinishCount(unFinishCount)
|
||||
.setCompany(company)
|
||||
.setGroupName(groupName);
|
||||
|
||||
})
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
})
|
||||
.exceptionally(ex -> {
|
||||
log.error("订单动态数据获取失败", ex);
|
||||
return Collections.emptyList();
|
||||
});
|
||||
|
||||
DateTime date = DateUtil.date();
|
||||
|
||||
CompletableFuture<Double> today_disposeWeight = CompletableFuture.supplyAsync(() -> {
|
||||
long today_start = DateUtil.beginOfDay(date).getTime() / 1000;
|
||||
long today_end = DateUtil.endOfDay(date).getTime() / 1000;
|
||||
return statisticsMapper.disposeWeight(today_start, today_end);
|
||||
}).exceptionally(ex -> {
|
||||
log.error("订单动态数据获取失败", ex);
|
||||
return 0D;
|
||||
});
|
||||
CompletableFuture<Double> yesterday_disposeWeight = CompletableFuture.supplyAsync(() -> {
|
||||
DateTime yesterday = DateUtil.offsetDay(date, -1);
|
||||
long yesterday_start = DateUtil.beginOfDay(yesterday).getTime() / 1000;
|
||||
long yesterday_end = DateUtil.endOfDay(yesterday).getTime() / 1000;
|
||||
return statisticsMapper.disposeWeight(yesterday_start, yesterday_end);
|
||||
}).exceptionally(ex -> {
|
||||
log.error("订单动态数据获取失败", ex);
|
||||
return 0D;
|
||||
});
|
||||
CompletableFuture<Double> week_disposeWeight = CompletableFuture.supplyAsync(() -> {
|
||||
long week_start = DateUtil.beginOfWeek(date).getTime() / 1000;
|
||||
long week_end = DateUtil.endOfWeek(date).getTime() / 1000;
|
||||
return statisticsMapper.disposeWeight(week_start, week_end);
|
||||
}).exceptionally(ex -> {
|
||||
log.error("订单动态数据获取失败", ex);
|
||||
return 0D;
|
||||
});
|
||||
CompletableFuture<Double> month_disposeWeight = CompletableFuture.supplyAsync(() -> {
|
||||
long month_start = DateUtil.beginOfMonth(date).getTime() / 1000;
|
||||
long month_end = DateUtil.endOfMonth(date).getTime() / 1000;
|
||||
return statisticsMapper.disposeWeight(month_start, month_end);
|
||||
}).exceptionally(ex -> {
|
||||
log.error("订单动态数据获取失败", ex);
|
||||
return 0D;
|
||||
});
|
||||
CompletableFuture<Double> year_disposeWeight = CompletableFuture.supplyAsync(() -> {
|
||||
long year_start = DateUtil.beginOfYear(date).getTime() / 1000;
|
||||
long year_end = DateUtil.endOfYear(date).getTime() / 1000;
|
||||
return statisticsMapper.disposeWeight(year_start, year_end);
|
||||
}).exceptionally(ex -> {
|
||||
log.error("订单动态数据获取失败", ex);
|
||||
return 0D;
|
||||
});
|
||||
|
||||
CompletableFuture<Tuple2<List<Double>, List<Double>>> weekAmount = CompletableFuture.supplyAsync(() -> {
|
||||
long week_start = DateUtil.beginOfWeek(date).getTime() / 1000;
|
||||
long week_end = DateUtil.endOfWeek(date).getTime() / 1000;
|
||||
List<OrderAmountSummary> week_orderAmountSummary = statisticsMapper.getOrderAmountSummary(week_start, week_end);
|
||||
Map<String, List<OrderAmountSummary>> week_temp_1 = GroupUtil.k_a(week_orderAmountSummary.stream().filter(it -> it.getCd() == 1), it -> {
|
||||
Date outTime = it.getOutTime();
|
||||
Week week = DateUtil.dayOfWeekEnum(outTime);
|
||||
return weeks_[week.getValue() - 1];
|
||||
});
|
||||
|
||||
Map<String, List<OrderAmountSummary>> week_temp_2 = GroupUtil.k_a(week_orderAmountSummary.stream().filter(it -> it.getCd() == 2), it -> {
|
||||
Date outTime = it.getOutTime();
|
||||
Week week = DateUtil.dayOfWeekEnum(outTime);
|
||||
return weeks_[week.getValue() - 1];
|
||||
});
|
||||
|
||||
List<Double> weekAmountIn = new ArrayList<>(weeks.length);
|
||||
for (String week : weeks) {
|
||||
List<OrderAmountSummary> orderAmountSummary = week_temp_1.getOrDefault(week, Collections.emptyList());
|
||||
Double amount = orderAmountSummary.stream().map(OrderAmountSummary::getAmount).reduce(Integer::sum).orElse(0) / 100.0;
|
||||
weekAmountIn.add(amount);
|
||||
}
|
||||
|
||||
List<Double> weekAmountOut = new ArrayList<>(weeks.length);
|
||||
for (String week : weeks) {
|
||||
List<OrderAmountSummary> orderAmountSummary = week_temp_2.getOrDefault(week, Collections.emptyList());
|
||||
Double amount = orderAmountSummary.stream().map(OrderAmountSummary::getAmount).reduce(Integer::sum).orElse(0) / 100.0;
|
||||
weekAmountOut.add(amount);
|
||||
}
|
||||
return Tuple2.create(weekAmountIn, weekAmountOut);
|
||||
}).exceptionally(ex -> {
|
||||
log.error("订单动态数据获取失败", ex);
|
||||
return Tuple2.create(Collections.emptyList(), Collections.emptyList());
|
||||
});
|
||||
CompletableFuture<Tuple3<List<Double>, List<Double>, List<String>>> monthAmount = CompletableFuture.supplyAsync(() -> {
|
||||
long month_start = DateUtil.beginOfMonth(date).getTime() / 1000;
|
||||
long month_end = DateUtil.endOfMonth(date).getTime() / 1000;
|
||||
List<OrderAmountSummary> month_orderAmountSummary = statisticsMapper.getOrderAmountSummary(month_start, month_end);
|
||||
|
||||
int dayOfMonth = DateUtil.endOfMonth(date).dayOfMonth();
|
||||
List<String> days = new ArrayList<>(dayOfMonth);
|
||||
|
||||
for (int i = 0; i < dayOfMonth; i++) {
|
||||
days.add(i + 1 + "号");
|
||||
}
|
||||
Map<String, List<OrderAmountSummary>> month_temp_1 = GroupUtil.k_a(month_orderAmountSummary.stream().filter(it -> it.getCd() == 1), it -> {
|
||||
Date outTime = it.getOutTime();
|
||||
int day = DateUtil.dayOfMonth(outTime);
|
||||
return days.get(day - 1);
|
||||
});
|
||||
|
||||
Map<String, List<OrderAmountSummary>> month_temp_2 = GroupUtil.k_a(month_orderAmountSummary.stream().filter(it -> it.getCd() == 2), it -> {
|
||||
Date outTime = it.getOutTime();
|
||||
int day = DateUtil.dayOfMonth(outTime);
|
||||
return days.get(day - 1);
|
||||
});
|
||||
List<Double> monthAmountIn = new ArrayList<>(dayOfMonth);
|
||||
List<Double> monthAmountOut = new ArrayList<>(dayOfMonth);
|
||||
for (String day : days) {
|
||||
List<OrderAmountSummary> orderAmountSummary = month_temp_1.getOrDefault(day, Collections.emptyList());
|
||||
Double amount = orderAmountSummary.stream().map(OrderAmountSummary::getAmount).reduce(Integer::sum).orElse(0) / 100.0;
|
||||
monthAmountIn.add(amount);
|
||||
}
|
||||
for (String day : days) {
|
||||
List<OrderAmountSummary> orderAmountSummary = month_temp_2.getOrDefault(day, Collections.emptyList());
|
||||
Double amount = orderAmountSummary.stream().map(OrderAmountSummary::getAmount).reduce(Integer::sum).orElse(0) / 100.0;
|
||||
monthAmountOut.add(amount);
|
||||
}
|
||||
return Tuple3.create(monthAmountIn, monthAmountOut, days);
|
||||
}).exceptionally(ex -> {
|
||||
log.error("订单动态数据获取失败", ex);
|
||||
return Tuple3.create(Collections.emptyList(), Collections.emptyList(), Collections.emptyList());
|
||||
});
|
||||
CompletableFuture<Tuple2<List<Double>, List<Double>>> yearAmount = CompletableFuture.supplyAsync(() -> {
|
||||
long year_start = DateUtil.beginOfYear(date).getTime() / 1000;
|
||||
long year_end = DateUtil.endOfYear(date).getTime() / 1000;
|
||||
List<OrderAmountSummary> year_orderAmountSummary = statisticsMapper.getOrderAmountSummary(year_start, year_end);
|
||||
|
||||
Map<String, List<OrderAmountSummary>> year_temp_1 = GroupUtil.k_a(year_orderAmountSummary.stream().filter(it -> it.getCd() == 1), it -> {
|
||||
Date outTime = it.getOutTime();
|
||||
int month = DateUtil.month(outTime);
|
||||
return months[month];
|
||||
});
|
||||
|
||||
Map<String, List<OrderAmountSummary>> year_temp_2 = GroupUtil.k_a(year_orderAmountSummary.stream().filter(it -> it.getCd() == 2), it -> {
|
||||
Date outTime = it.getOutTime();
|
||||
int month = DateUtil.month(outTime);
|
||||
return months[month];
|
||||
});
|
||||
List<Double> yearAmountIn = new ArrayList<>(months.length);
|
||||
List<Double> yearAmountOut = new ArrayList<>(months.length);
|
||||
for (String month : months) {
|
||||
List<OrderAmountSummary> orderAmountSummary = year_temp_1.getOrDefault(month, Collections.emptyList());
|
||||
Double amount = orderAmountSummary.stream().map(OrderAmountSummary::getAmount).reduce(Integer::sum).orElse(0) / 100.0;
|
||||
yearAmountIn.add(amount);
|
||||
}
|
||||
for (String month : months) {
|
||||
List<OrderAmountSummary> orderAmountSummary = year_temp_2.getOrDefault(month, Collections.emptyList());
|
||||
Double amount = orderAmountSummary.stream().map(OrderAmountSummary::getAmount).reduce(Integer::sum).orElse(0) / 100.0;
|
||||
yearAmountOut.add(amount);
|
||||
}
|
||||
return Tuple2.create(yearAmountIn, yearAmountOut);
|
||||
}).exceptionally(ex -> {
|
||||
log.error("订单动态数据获取失败", ex);
|
||||
return Tuple2.create(Collections.emptyList(), Collections.emptyList());
|
||||
});
|
||||
|
||||
CompletableFuture<TodayOrderSummary> todayOrderSummary = CompletableFuture.supplyAsync(statisticsMapper::getTodayOrderSummary)
|
||||
.exceptionally(ex -> {
|
||||
log.error("订单动态数据获取失败", ex);
|
||||
return new TodayOrderSummary();
|
||||
});
|
||||
|
||||
Tuple2<List<Double>, List<Double>> weekAmount_ = weekAmount.get();
|
||||
Tuple3<List<Double>, List<Double>, List<String>> monthAmount_ = monthAmount.get();
|
||||
Tuple2<List<Double>, List<Double>> yearAmount_ = yearAmount.get();
|
||||
return MapUtil.<String, Object>builder()
|
||||
.put("carTrends", carTrends.get())
|
||||
.put("userSummary", userSummary.get())
|
||||
.put("garbageDisposeSummary", garbageDisposeSummary.get())
|
||||
.put("currentMonthGarbageDisposeSummary", currentMonthGarbageDisposeSummary.get())
|
||||
.put("orderSummary", summaries.get())
|
||||
.put("todayDisposeWeight", today_disposeWeight.get())
|
||||
.put("yesterdayDisposeWeight", yesterday_disposeWeight.get())
|
||||
.put("weekDisposeWeight", week_disposeWeight.get())
|
||||
.put("monthDisposeWeight", month_disposeWeight.get())
|
||||
.put("yearDisposeWeight", year_disposeWeight.get())
|
||||
.put("todayOrderSummary", todayOrderSummary.get())
|
||||
.put("weekAmountIn", weekAmount_.get_0())
|
||||
.put("weekAmountOut", weekAmount_.get_1())
|
||||
.put("monthAmountIn", monthAmount_.get_0())
|
||||
.put("monthAmountOut", monthAmount_.get_1())
|
||||
.put("days", monthAmount_.get_2())
|
||||
.put("yearAmountIn", yearAmount_.get_0())
|
||||
.put("yearAmountOut", yearAmount_.get_1())
|
||||
.build();
|
||||
}
|
||||
|
||||
public List<OrderInfo> obtainOrder(Long userId) {
|
||||
return statisticsMapper.obtainOrder(userId);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package com.njzscloud.supervisory.bs.service;
|
||||
|
||||
|
||||
import com.njzscloud.supervisory.bs.pojo.result.OrderInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
public interface StatisticsService {
|
||||
Map<String, Object> obtainData() throws Exception;
|
||||
|
||||
List<OrderInfo> obtainOrder(Long userId);
|
||||
}
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
package com.njzscloud.supervisory.bs.service;
|
||||
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import com.njzscloud.supervisory.bs.mapper.SupervisionStatisticsMapper;
|
||||
import com.njzscloud.supervisory.bs.pojo.result.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class SupervisionStatisticsService {
|
||||
private final SupervisionStatisticsMapper supervisionStatisticsMapper;
|
||||
|
||||
public Map<String, Object> obtainData() {
|
||||
|
||||
DispatchSummary dispatchSummary = supervisionStatisticsMapper.getDispatchSummary();
|
||||
|
||||
YuYueSummary yuYueSummary = supervisionStatisticsMapper.getYuYueSummary();
|
||||
|
||||
Integer disposeTotalWeight = supervisionStatisticsMapper.getDisposeTotalWeight();
|
||||
|
||||
CarSummary carSummary = supervisionStatisticsMapper.getCarSummary();
|
||||
Integer todayCarCount = supervisionStatisticsMapper.getTodayCarCount();
|
||||
List<RegionSummary> regionSummary = supervisionStatisticsMapper.getRegionSummary();
|
||||
List<CompanySummary> companySummary = supervisionStatisticsMapper.getCompanySummary();
|
||||
List<StationInfo> stationInfo = supervisionStatisticsMapper.getStationInfo();
|
||||
List<Order> orders = supervisionStatisticsMapper.getOrders();
|
||||
List<Project> projects = supervisionStatisticsMapper.getProjects();
|
||||
|
||||
return MapUtil.<String, Object>builder()
|
||||
.put("dispatchSummary", dispatchSummary == null ? new DispatchSummary() : dispatchSummary)
|
||||
.put("yuYueSummary", yuYueSummary == null ? new YuYueSummary() : yuYueSummary)
|
||||
.put("disposeTotalWeight", disposeTotalWeight == null ? 0 : disposeTotalWeight)
|
||||
.put("carSummary", carSummary == null ? new CarSummary() : carSummary)
|
||||
.put("todayCarCount", todayCarCount == null ? 0 : todayCarCount)
|
||||
.put("regionSummary", regionSummary == null ? new ArrayList<>() : regionSummary)
|
||||
.put("companySummary", companySummary == null ? new ArrayList<>() : companySummary)
|
||||
.put("stationInfo", stationInfo == null ? new ArrayList<>() : stationInfo)
|
||||
.put("orders", orders == null ? new ArrayList<>() : orders)
|
||||
.put("projects", projects == null ? new ArrayList<>() : projects)
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -9,6 +9,7 @@ import com.njzscloud.common.security.util.SecurityUtil;
|
|||
import com.njzscloud.supervisory.order.contant.OrderCategory;
|
||||
import com.njzscloud.supervisory.order.pojo.entity.OrderInfoEntity;
|
||||
import com.njzscloud.supervisory.order.pojo.param.*;
|
||||
import com.njzscloud.supervisory.order.pojo.result.OrderCertificateResult;
|
||||
import com.njzscloud.supervisory.order.pojo.result.OrderPagingResult;
|
||||
import com.njzscloud.supervisory.order.service.OrderInfoService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
|
@ -76,12 +77,30 @@ public class OrderInfoController {
|
|||
return R.success(orderInfoService.detail(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询准运证
|
||||
*/
|
||||
@GetMapping("/certificate")
|
||||
public R<OrderCertificateResult> certificate(OrderCertificateParam orderCertificateParam) {
|
||||
return R.success(orderInfoService.certificate(orderCertificateParam));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*/
|
||||
@GetMapping("/paging")
|
||||
public R<PageResult<OrderPagingResult>> paging(PageParam pageParam, OrderPagingSearchParam orderPagingSearchParam) {
|
||||
return R.success(orderInfoService.paging(pageParam, orderPagingSearchParam));
|
||||
return R.success(orderInfoService
|
||||
.paging(pageParam, orderPagingSearchParam));
|
||||
}
|
||||
|
||||
/**
|
||||
* 待派单列表
|
||||
*/
|
||||
@GetMapping("/dispatch_paging")
|
||||
public R<PageResult<OrderPagingResult>> dispatchPaging(PageParam pageParam, OrderPagingSearchParam orderPagingSearchParam) {
|
||||
return R.success(orderInfoService
|
||||
.dispatchPaging(pageParam, orderPagingSearchParam));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -127,13 +146,14 @@ public class OrderInfoController {
|
|||
* @param orderId 订单Id
|
||||
*/
|
||||
@GetMapping("/confirm")
|
||||
public R<?> confirm(@RequestParam("orderId") Long orderId) {
|
||||
orderInfoService.confirm(orderId);
|
||||
public R<?> confirm(@RequestParam("orderId") Long orderId,
|
||||
@RequestParam("truckId") Long truckId) {
|
||||
orderInfoService.confirm(orderId, truckId);
|
||||
return R.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 司机确认接单
|
||||
* 开始清运
|
||||
*/
|
||||
@GetMapping("/start_trans")
|
||||
public R<?> startTrans(StartTransportOrderParam startTransportOrderParam) {
|
||||
|
|
@ -164,8 +184,8 @@ public class OrderInfoController {
|
|||
/**
|
||||
* 车辆出场
|
||||
*/
|
||||
@PostMapping("/truck_out")
|
||||
public R<?> truckOut(@RequestBody TruckLeavingOrderParam truckLeavingOrderParam) {
|
||||
@PostMapping("/truck_leaving")
|
||||
public R<?> truckLeaving(@RequestBody TruckLeavingOrderParam truckLeavingOrderParam) {
|
||||
orderInfoService.truckLeaving(truckLeavingOrderParam);
|
||||
return R.success();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -172,7 +172,11 @@ public class OrderInfoEntity {
|
|||
*/
|
||||
@TableField(typeHandler = JsonTypeHandler.class)
|
||||
private List<String> checkPhoto;
|
||||
|
||||
/**
|
||||
* 现场照片
|
||||
*/
|
||||
@TableField(typeHandler = JsonTypeHandler.class)
|
||||
private List<String> sitePhotos;
|
||||
/**
|
||||
* 进出场信息
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import lombok.experimental.Accessors;
|
|||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 订单信息
|
||||
|
|
@ -66,7 +67,10 @@ public class AddOrderInfoParam implements Constrained {
|
|||
* 支付方类型; 字典代码:payer_category
|
||||
*/
|
||||
private PayerCategory payerCategory;
|
||||
|
||||
/**
|
||||
* 现场照片
|
||||
*/
|
||||
private List<String> sitePhotos;
|
||||
/**
|
||||
* 客户备注
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
package com.njzscloud.supervisory.order.pojo.param;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class OrderCertificateParam {
|
||||
/**
|
||||
* 订单id
|
||||
*/
|
||||
private Long orderId;
|
||||
/**
|
||||
* 跳转链接
|
||||
*/
|
||||
private String link;
|
||||
|
||||
/**
|
||||
* 二维码宽度
|
||||
*/
|
||||
private Integer width;
|
||||
/**
|
||||
* 二维码高度
|
||||
*/
|
||||
private Integer height;
|
||||
/**
|
||||
* 二维码图片类型,jpg 或 png
|
||||
*/
|
||||
private String imgType;
|
||||
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package com.njzscloud.supervisory.order.pojo.param;
|
||||
|
||||
import com.njzscloud.supervisory.biz.contant.AuditStatus;
|
||||
import com.njzscloud.supervisory.order.contant.CheckStatus;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
|
@ -25,6 +26,7 @@ public class OrderPagingSearchParam {
|
|||
* 订单状态; 字典代码:order_status
|
||||
*/
|
||||
private String orderStatus;
|
||||
private CheckStatus checkStatus;
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
package com.njzscloud.supervisory.order.pojo.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class OrderCertificateResult {
|
||||
/**
|
||||
* 订单详情
|
||||
*/
|
||||
private OrderPagingResult orderDetail;
|
||||
|
||||
/**
|
||||
* 准运证二维码
|
||||
*/
|
||||
private String certificateQrcode;
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@ import lombok.experimental.Accessors;
|
|||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
@ -168,7 +169,10 @@ public class OrderPagingResult {
|
|||
* 看料照片
|
||||
*/
|
||||
private String checkPhoto;
|
||||
|
||||
/**
|
||||
* 现场照片
|
||||
*/
|
||||
private List<String> sitePhotos;
|
||||
/**
|
||||
* 进出场信息
|
||||
*/
|
||||
|
|
@ -186,6 +190,7 @@ public class OrderPagingResult {
|
|||
* 产品 Id
|
||||
*/
|
||||
private Long originGoodsId;
|
||||
private String categoryName;
|
||||
|
||||
/**
|
||||
* 产品名称
|
||||
|
|
@ -231,6 +236,7 @@ public class OrderPagingResult {
|
|||
* 总金额; 单位:元
|
||||
*/
|
||||
private BigDecimal totalMoney;
|
||||
private LocalDateTime createTime;
|
||||
// endregion
|
||||
|
||||
// region 装货地址
|
||||
|
|
@ -400,24 +406,24 @@ public class OrderPagingResult {
|
|||
// endregion
|
||||
|
||||
// region 企业信息
|
||||
private String trafficCompanyUscc;
|
||||
private String trafficCompanyCompanyName;
|
||||
private String trafficCompanyBusinessLicense;
|
||||
private LocalDate trafficCompanyLicenseStartTime;
|
||||
private LocalDate trafficCompanyLicenseEndTime;
|
||||
private String trafficCompanyLegalRepresentative;
|
||||
private String trafficCompanyProvince;
|
||||
private String trafficCompanyCity;
|
||||
private String trafficCompanyArea;
|
||||
private String trafficCompanyTown;
|
||||
private String trafficCompanyProvinceName;
|
||||
private String trafficCompanyCityName;
|
||||
private String trafficCompanyAreaName;
|
||||
private String trafficCompanyTownName;
|
||||
private String trafficCompanyAddress;
|
||||
private Double trafficCompanyLng;
|
||||
private Double trafficCompanyLat;
|
||||
private String trafficCompanyContacts;
|
||||
private String trafficCompanyPhone;
|
||||
private String transUscc;
|
||||
private String transCompanyName;
|
||||
private String transBusinessLicense;
|
||||
private LocalDate transLicenseStartTime;
|
||||
private LocalDate transLicenseEndTime;
|
||||
private String transLegalRepresentative;
|
||||
private String transProvince;
|
||||
private String transCity;
|
||||
private String transArea;
|
||||
private String transTown;
|
||||
private String transProvinceName;
|
||||
private String transCityName;
|
||||
private String transAreaName;
|
||||
private String transTownName;
|
||||
private String transAddress;
|
||||
private Double transLng;
|
||||
private Double transLat;
|
||||
private String transContacts;
|
||||
private String transPhone;
|
||||
// endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,17 +2,26 @@ package com.njzscloud.supervisory.order.service;
|
|||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.img.ImgUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||
import cn.hutool.extra.qrcode.QrConfig;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njzscloud.common.core.ex.Exceptions;
|
||||
import com.njzscloud.common.core.ienum.Dict;
|
||||
import com.njzscloud.common.mp.support.PageParam;
|
||||
import com.njzscloud.common.mp.support.PageResult;
|
||||
import com.njzscloud.common.security.support.UserDetail;
|
||||
import com.njzscloud.common.security.util.SecurityUtil;
|
||||
import com.njzscloud.common.sn.support.SnUtil;
|
||||
import com.njzscloud.supervisory.biz.contant.AuditStatus;
|
||||
import com.njzscloud.supervisory.biz.contant.BizObj;
|
||||
import com.njzscloud.supervisory.biz.pojo.entity.BizAuditConfigEntity;
|
||||
import com.njzscloud.supervisory.biz.service.BizAuditConfigService;
|
||||
import com.njzscloud.supervisory.order.contant.CheckStatus;
|
||||
|
|
@ -22,6 +31,7 @@ import com.njzscloud.supervisory.order.mapper.OrderInfoMapper;
|
|||
import com.njzscloud.supervisory.order.pojo.entity.OrderGoodsEntity;
|
||||
import com.njzscloud.supervisory.order.pojo.entity.OrderInfoEntity;
|
||||
import com.njzscloud.supervisory.order.pojo.param.*;
|
||||
import com.njzscloud.supervisory.order.pojo.result.OrderCertificateResult;
|
||||
import com.njzscloud.supervisory.order.pojo.result.OrderPagingResult;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -30,6 +40,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -58,7 +69,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
String area = cargoPlace.getArea();
|
||||
BizAuditConfigEntity bizAuditConfigEntity = bizAuditConfigService.getOne(Wrappers.lambdaQuery(BizAuditConfigEntity.class).eq(BizAuditConfigEntity::getArea, area));
|
||||
|
||||
AuditStatus auditStatus = null;
|
||||
AuditStatus auditStatus = AuditStatus.DaiShenHe;
|
||||
if (bizAuditConfigEntity != null) {
|
||||
String areaRole = bizAuditConfigEntity.getAreaRole();
|
||||
String cityRole = bizAuditConfigEntity.getCityRole();
|
||||
|
|
@ -130,20 +141,32 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
public PageResult<OrderPagingResult> paging(PageParam pageParam, OrderPagingSearchParam orderPagingSearchParam) {
|
||||
AuditStatus auditStatus = orderPagingSearchParam.getAuditStatus();
|
||||
String orderStatus = orderPagingSearchParam.getOrderStatus();
|
||||
List<String> orderStatusList = null;
|
||||
if (StrUtil.isNotBlank(orderStatus)) {
|
||||
orderStatusList = Arrays.stream(orderStatus.split(",")).collect(Collectors.toList());
|
||||
}
|
||||
CheckStatus checkStatus = orderPagingSearchParam.getCheckStatus();
|
||||
String sn = orderPagingSearchParam.getSn();
|
||||
String licensePlate = orderPagingSearchParam.getLicensePlate();
|
||||
String nickname = orderPagingSearchParam.getNickname();
|
||||
String phone = orderPagingSearchParam.getPhone();
|
||||
LocalDateTime startTime = orderPagingSearchParam.getStartTime();
|
||||
LocalDateTime endTime = orderPagingSearchParam.getEndTime();
|
||||
return PageResult.of(baseMapper.paging(pageParam.toPage(), Wrappers.<OrderPagingResult>query()
|
||||
Page<OrderPagingResult> page = pageParam.toPage();
|
||||
OrderItem orderItem = new OrderItem();
|
||||
orderItem.setColumn("a.create_time");
|
||||
orderItem.setAsc(false);
|
||||
page.addOrder(orderItem);
|
||||
return PageResult.of(baseMapper.paging(page, Wrappers.<OrderPagingResult>query()
|
||||
.like(StrUtil.isNotBlank(sn), "a.sn", sn)
|
||||
.like(StrUtil.isNotBlank(licensePlate), "a.license_plate", licensePlate)
|
||||
.like(StrUtil.isNotBlank(nickname), "h.nickname", nickname)
|
||||
.like(StrUtil.isNotBlank(phone), "h.phone", phone)
|
||||
.eq(auditStatus != null, "a.audit_status", auditStatus)
|
||||
.eq(orderStatus != null, "a.order_status", orderStatus)
|
||||
.between(startTime != null && endTime != null, "a.create_time", startTime, endTime)
|
||||
.in(CollUtil.isNotEmpty(orderStatusList), "a.order_status", orderStatusList)
|
||||
.eq(checkStatus != null, "a.check_status", checkStatus)
|
||||
.ge(startTime != null, "a.create_time", startTime)
|
||||
.le(endTime != null, "a.create_time", endTime)
|
||||
));
|
||||
}
|
||||
|
||||
|
|
@ -157,9 +180,21 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
if (CollUtil.isEmpty(areas)) {
|
||||
return PageResult.of(pageParam.toPage());
|
||||
}
|
||||
AuditStatus auditStatus = orderPagingSearchParam.getAuditStatus();
|
||||
|
||||
List<String> orderStatusList = null;
|
||||
if (auditStatus != null) {
|
||||
if (auditStatus == AuditStatus.DaiShenHe) {
|
||||
orderStatusList = Arrays.asList(AuditStatus.QuDaiShenHe.getVal(), AuditStatus.ShiDaiShenHe.getVal());
|
||||
} else {
|
||||
orderStatusList = Collections.singletonList(auditStatus.getVal());
|
||||
}
|
||||
}
|
||||
|
||||
return PageResult.of(baseMapper.paging(pageParam.toPage(), Wrappers.<OrderPagingResult>query()
|
||||
.in("b.area", areas)));
|
||||
.in("b.area", areas)
|
||||
.eq("a.order_status", OrderStatus.YiJieDan)
|
||||
.in(CollUtil.isNotEmpty(orderStatusList), "a.audit_status", orderStatusList)));
|
||||
}
|
||||
|
||||
public void audit(AuditOrderParam auditOrderParam) {
|
||||
|
|
@ -170,10 +205,11 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
|| auditStatus == AuditStatus.ShiDaiShenHe,
|
||||
() -> Exceptions.clierr("订单已审核"));
|
||||
|
||||
Assert.isTrue(auditStatus == AuditStatus.TongGuo || auditStatus == AuditStatus.BoHui);
|
||||
AuditStatus newAuditStatus = auditOrderParam.getAuditStatus();
|
||||
|
||||
Assert.isTrue(newAuditStatus == AuditStatus.TongGuo || newAuditStatus == AuditStatus.BoHui, () -> Exceptions.clierr("未指明审核结果"));
|
||||
|
||||
Set<String> roles = SecurityUtil.loginUser().getRoles();
|
||||
String area = detail.getArea();
|
||||
BizAuditConfigEntity config = bizAuditConfigService.getOne(Wrappers.<BizAuditConfigEntity>query()
|
||||
.eq("area", detail.getArea()));
|
||||
String areaRole = config.getAreaRole();
|
||||
|
|
@ -182,15 +218,14 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
throw Exceptions.clierr("您没有权限审核该订单");
|
||||
}
|
||||
|
||||
AuditStatus newAuditStatus = auditOrderParam.getAuditStatus();
|
||||
if (auditStatus == AuditStatus.QuDaiShenHe) {
|
||||
if (StrUtil.isBlank(areaRole) && roles.contains(areaRole)) {
|
||||
if (StrUtil.isNotBlank(areaRole) && roles.contains(areaRole)) {
|
||||
auditStatus = newAuditStatus == AuditStatus.TongGuo ? AuditStatus.ShiDaiShenHe : newAuditStatus;
|
||||
} else {
|
||||
throw Exceptions.clierr("您没有权限审核该订单");
|
||||
}
|
||||
} else {
|
||||
if (StrUtil.isBlank(cityRole) && roles.contains(cityRole)) {
|
||||
if (StrUtil.isNotBlank(cityRole) && roles.contains(cityRole)) {
|
||||
auditStatus = newAuditStatus;
|
||||
} else {
|
||||
throw Exceptions.clierr("您没有权限审核该订单");
|
||||
|
|
@ -200,6 +235,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
detail.setAuditStatus(newAuditStatus);
|
||||
detail.setAuditMemo(auditOrderParam.getAuditMemo());
|
||||
this.updateById(new OrderInfoEntity()
|
||||
.setId(detail.getId())
|
||||
.setAuditStatus(auditStatus)
|
||||
.setAuditMemo(auditOrderParam.getAuditMemo())
|
||||
);
|
||||
|
|
@ -257,12 +293,13 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
return true;
|
||||
}
|
||||
|
||||
public void confirm(Long orderId) {
|
||||
public void confirm(Long orderId, Long truckId) {
|
||||
OrderInfoEntity orderInfo = this.getById(orderId);
|
||||
Assert.notNull(orderInfo, () -> Exceptions.clierr("订单不存在"));
|
||||
Assert.isTrue(orderInfo.getOrderStatus() == OrderStatus.DaiJieDan, () -> Exceptions.clierr("当前订单状态,无法确认接单"));
|
||||
this.updateById(new OrderInfoEntity()
|
||||
.setId(orderInfo.getId())
|
||||
.setTruckId(truckId)
|
||||
.setOrderStatus(OrderStatus.YiJieDan)
|
||||
);
|
||||
}
|
||||
|
|
@ -358,4 +395,72 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
.orderByDesc("a.trans_time")
|
||||
);
|
||||
}
|
||||
|
||||
public PageResult<OrderPagingResult> dispatchPaging(PageParam pageParam, OrderPagingSearchParam orderPagingSearchParam) {
|
||||
AuditStatus auditStatus = orderPagingSearchParam.getAuditStatus();
|
||||
String orderStatus = orderPagingSearchParam.getOrderStatus();
|
||||
List<String> orderStatusList = null;
|
||||
if (StrUtil.isNotBlank(orderStatus)) {
|
||||
orderStatusList = Arrays.stream(orderStatus.split(",")).collect(Collectors.toList());
|
||||
}
|
||||
CheckStatus checkStatus = orderPagingSearchParam.getCheckStatus();
|
||||
String sn = orderPagingSearchParam.getSn();
|
||||
String licensePlate = orderPagingSearchParam.getLicensePlate();
|
||||
String nickname = orderPagingSearchParam.getNickname();
|
||||
String phone = orderPagingSearchParam.getPhone();
|
||||
LocalDateTime startTime = orderPagingSearchParam.getStartTime();
|
||||
LocalDateTime endTime = orderPagingSearchParam.getEndTime();
|
||||
Page<OrderPagingResult> page = pageParam.toPage();
|
||||
OrderItem orderItem = new OrderItem();
|
||||
orderItem.setColumn("a.create_time");
|
||||
orderItem.setAsc(false);
|
||||
page.addOrder(orderItem);
|
||||
QueryWrapper<OrderPagingResult> ew = Wrappers.<OrderPagingResult>query()
|
||||
.like(StrUtil.isNotBlank(sn), "a.sn", sn)
|
||||
.like(StrUtil.isNotBlank(licensePlate), "a.license_plate", licensePlate)
|
||||
.like(StrUtil.isNotBlank(nickname), "h.nickname", nickname)
|
||||
.like(StrUtil.isNotBlank(phone), "h.phone", phone)
|
||||
.eq(auditStatus != null, "a.audit_status", auditStatus)
|
||||
.in(CollUtil.isNotEmpty(orderStatusList), "a.order_status", orderStatusList)
|
||||
.eq(checkStatus != null, "a.check_status", checkStatus)
|
||||
.ge(startTime != null, "a.create_time", startTime)
|
||||
.le(endTime != null, "a.create_time", endTime);
|
||||
UserDetail userDetail = SecurityUtil.loginUser();
|
||||
BizObj bizObj = Dict.parse(userDetail.getBizObj(), BizObj.values());
|
||||
if (bizObj != null) {
|
||||
switch (bizObj) {
|
||||
case QiYe:
|
||||
case GeTi:
|
||||
ew.eq("a.order_status", OrderStatus.DaiPaiDan)
|
||||
.isNotNull("a.trans_company_id");
|
||||
break;
|
||||
default:
|
||||
ew.isNull("a.trans_company_id");
|
||||
}
|
||||
} else {
|
||||
ew.isNull("a.trans_company_id");
|
||||
}
|
||||
return PageResult.of(baseMapper.paging(page, ew));
|
||||
}
|
||||
|
||||
public OrderCertificateResult certificate(OrderCertificateParam orderCertificateParam) {
|
||||
Integer width = orderCertificateParam.getWidth();
|
||||
Integer height = orderCertificateParam.getHeight();
|
||||
if (width == null) {
|
||||
width = 300;
|
||||
}
|
||||
if (height == null) {
|
||||
height = 300;
|
||||
}
|
||||
String imgType = orderCertificateParam.getImgType();
|
||||
if (imgType == null) {
|
||||
imgType = ImgUtil.IMAGE_TYPE_JPG;
|
||||
}
|
||||
|
||||
String qrcode = QrCodeUtil.generateAsBase64(orderCertificateParam.getLink(), new QrConfig(width, height), imgType);
|
||||
|
||||
return new OrderCertificateResult()
|
||||
.setOrderDetail(this.detail(orderCertificateParam.getOrderId()))
|
||||
.setCertificateQrcode(qrcode);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
package com.njzscloud.supervisory.sys.user.pojo.param;
|
||||
|
||||
import com.njzscloud.supervisory.sys.role.pojo.entity.RoleEntity;
|
||||
import com.njzscloud.supervisory.sys.user.contant.Gender;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Set;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Getter
|
||||
|
|
@ -32,6 +33,6 @@ public class UserModifyParam {
|
|||
/**
|
||||
* 角色 Id 列表
|
||||
*/
|
||||
private Set<Long> roleIds;
|
||||
private List<RoleEntity> roles;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.njzscloud.supervisory.sys.user.pojo.result;
|
||||
|
||||
import com.njzscloud.supervisory.biz.contant.BizObj;
|
||||
import com.njzscloud.supervisory.sys.role.pojo.result.RoleDetailResult;
|
||||
import com.njzscloud.supervisory.sys.user.contant.Gender;
|
||||
import lombok.Getter;
|
||||
|
|
@ -34,6 +35,7 @@ public class UserDetailResult {
|
|||
* 手机号
|
||||
*/
|
||||
private String phone;
|
||||
private BizObj bizObj;
|
||||
private Long tenantId;
|
||||
/**
|
||||
* 账号信息
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ import com.njzscloud.common.security.util.SecurityUtil;
|
|||
import com.njzscloud.supervisory.biz.contant.BizObj;
|
||||
import com.njzscloud.supervisory.biz.pojo.param.AddBizCompanyParam;
|
||||
import com.njzscloud.supervisory.biz.service.BizCompanyService;
|
||||
import com.njzscloud.supervisory.sys.role.pojo.entity.RoleEntity;
|
||||
import com.njzscloud.supervisory.sys.role.pojo.result.RoleDetailResult;
|
||||
import com.njzscloud.supervisory.sys.user.contant.Gender;
|
||||
import com.njzscloud.supervisory.sys.user.mapper.UserMapper;
|
||||
|
|
@ -31,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 用户信息表
|
||||
|
|
@ -79,8 +81,11 @@ public class UserService extends ServiceImpl<UserMapper, UserEntity> implements
|
|||
userEntity = BeanUtil.copyProperties(userModifyParam, UserEntity.class);
|
||||
this.updateById(userEntity);
|
||||
|
||||
Set<Long> roleIds = userModifyParam.getRoleIds();
|
||||
userRoleService.bindUserRole(id, roleIds);
|
||||
List<RoleEntity> roles = userModifyParam.getRoles();
|
||||
if (roles != null && !roles.isEmpty()) {
|
||||
Set<Long> collect = roles.stream().map(RoleEntity::getId).collect(Collectors.toSet());
|
||||
userRoleService.bindUserRole(id, collect);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,4 +2,11 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.njzscloud.supervisory.biz.mapper.BizCompanyMapper">
|
||||
<select id="paging" resultType="com.njzscloud.supervisory.biz.pojo.entity.BizCompanyEntity">
|
||||
select a.* from biz_company a
|
||||
left join sys_user b on b.id = a.user_id
|
||||
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
|
||||
${ew.customSqlSegment}
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -3,4 +3,38 @@
|
|||
|
||||
<mapper namespace="com.njzscloud.supervisory.biz.mapper.BizProjectMapper">
|
||||
|
||||
</mapper>
|
||||
<resultMap id="SearchBizProjectResultMap" autoMapping="true" type="com.njzscloud.supervisory.biz.pojo.result.SearchBizProjectResult">
|
||||
<result property="contract" column="contract" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="paging" resultMap="SearchBizProjectResultMap">
|
||||
SELECT a.id,
|
||||
a.user_id,
|
||||
a.other_user_id,
|
||||
a.other_company_id,
|
||||
a.project_name,
|
||||
a.contract,
|
||||
a.province,
|
||||
a.city,
|
||||
a.area,
|
||||
a.town,
|
||||
a.province_name,
|
||||
a.city_name,
|
||||
a.area_name,
|
||||
a.town_name,
|
||||
a.address,
|
||||
a.lng,
|
||||
a.lat,
|
||||
a.creator_id,
|
||||
a.modifier_id,
|
||||
a.create_time,
|
||||
a.modify_time,
|
||||
a.deleted,
|
||||
b.company_name other_company_name,
|
||||
c.company_name,
|
||||
c.id company_id
|
||||
FROM biz_project a
|
||||
INNER JOIN biz_company b ON b.id = a.other_company_id AND b.deleted = 0
|
||||
INNER JOIN biz_company c ON c.user_id = a.user_id AND b.deleted = 0
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -2,17 +2,9 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.njzscloud.supervisory.biz.mapper.BizTruckMapper">
|
||||
|
||||
<resultMap id="pagingMap" autoMapping="true" type="com.njzscloud.supervisory.biz.pojo.result.SearchTruckResult">
|
||||
<result property="truckLicenseDate" column="truck_license_date" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
|
||||
<result property="qualificationDate" column="qualification_date" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
|
||||
<result property="certificationDate" column="certification_date" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
|
||||
</resultMap>
|
||||
<select id="paging" resultMap="pagingMap">
|
||||
<select id="paging" resultType="com.njzscloud.supervisory.biz.pojo.result.SearchTruckResult">
|
||||
SELECT
|
||||
a.id,
|
||||
a.user_id,
|
||||
b.uscc,
|
||||
a.company_id,
|
||||
b.company_name,
|
||||
a.license_plate,
|
||||
|
|
@ -20,18 +12,14 @@
|
|||
a.vn_code,
|
||||
a.qualification,
|
||||
a.carrying_capacity,
|
||||
a.gps,
|
||||
a.tare_weight,
|
||||
a.audit_status,
|
||||
a.audit_memo,
|
||||
a.creator_id,
|
||||
a.modifier_id,
|
||||
a.create_time,
|
||||
a.modify_time,
|
||||
a.deleted,
|
||||
a.disabled,
|
||||
a.audit_status,
|
||||
a.audit_memo,
|
||||
a.truck_license_date,
|
||||
a.qualification_date,
|
||||
a.certification_date
|
||||
a.deleted
|
||||
FROM biz_truck a
|
||||
INNER JOIN biz_company b ON b.id = a.company_id AND b.deleted = 0
|
||||
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,192 @@
|
|||
<?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.njzscloud.supervisory.bs.mapper.ShouJuStatisticsMapper">
|
||||
|
||||
<select id="getCarTrends" resultType="com.njzscloud.supervisory.bs.pojo.result.CarTrends">
|
||||
SELECT a.car_number, a.weight, a.order_status, a.station_id, b.name station_name
|
||||
FROM (SELECT car_number, weight, order_status, station_id
|
||||
FROM (SELECT a.car_number,
|
||||
a.weight,
|
||||
IF(a.status = 1, '已完成', IF(a.status = 4, '已取消', IF(a.car_status = 0, '已预约', IF(a.car_status = 1 AND a.admin_status = 0, '待看料', '待出场')))) order_status,
|
||||
a.station_id
|
||||
FROM ba_order a
|
||||
INNER JOIN ba_goods b ON b.id = a.goods_id AND b.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2)
|
||||
WHERE a.station_id = 1
|
||||
AND a.status IN (0, 1, 2, 3)
|
||||
AND a.type != 4
|
||||
AND b.name NOT LIKE '%青石%'
|
||||
AND b.name NOT LIKE '%矿石%'
|
||||
ORDER BY a.create_time DESC
|
||||
LIMIT 5) t1
|
||||
UNION ALL
|
||||
SELECT car_number, weight, order_status, station_id
|
||||
FROM (SELECT a.car_number,
|
||||
a.weight,
|
||||
IF(a.status = 1, '已完成', IF(a.status = 4, '已取消', IF(a.car_status = 0, '已预约', IF(a.car_status = 1 AND a.admin_status = 0, '待看料', '待出场')))) order_status,
|
||||
a.station_id
|
||||
FROM ba_order a
|
||||
INNER JOIN ba_goods b ON b.id = a.goods_id AND b.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2)
|
||||
WHERE a.station_id = 2
|
||||
AND a.type != 4
|
||||
AND b.name NOT LIKE '%青石%'
|
||||
AND b.name NOT LIKE '%矿石%'
|
||||
AND a.status IN (0, 1, 2, 3)
|
||||
ORDER BY a.create_time DESC
|
||||
LIMIT 5) t2) a
|
||||
INNER JOIN ba_station b ON b.id = a.station_id
|
||||
</select>
|
||||
<select id="getUserSummary" resultType="com.njzscloud.supervisory.bs.pojo.result.UserSummary">
|
||||
SELECT MAX(IF(group_id = 1, c, 0)) san_hu,
|
||||
MAX(IF(group_id = 2, c, 0)) qing_yun,
|
||||
MAX(IF(group_id = 7, c, 0)) wu_ye
|
||||
FROM (SELECT group_id, FLOOR(COUNT(*) / 2) c
|
||||
FROM ba_user
|
||||
WHERE group_id IN (1, 2, 7)
|
||||
GROUP BY group_id) t
|
||||
</select>
|
||||
<select id="getGarbageDisposeSummary"
|
||||
resultType="com.njzscloud.supervisory.bs.pojo.result.GarbageDisposeSummary">
|
||||
SELECT garbage_name, weight, 1 depot_type, '入库' depot_name
|
||||
FROM (SELECT garbage_name, weight
|
||||
FROM (SELECT b.name garbage_name, IFNULL(SUM(a.weight), 0) weight
|
||||
FROM ba_order a
|
||||
INNER JOIN ba_goods b ON b.id = a.goods_id AND b.depot_type = 1 AND b.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2)
|
||||
INNER JOIN ba_goods_category c ON c.id = b.category_id
|
||||
WHERE b.name NOT LIKE '%青石%'
|
||||
AND b.name NOT LIKE '%拆除垃圾(派车清运零星客户专用)%'
|
||||
AND b.name NOT LIKE '%拆除垃圾(活动优惠)%'
|
||||
AND b.name NOT LIKE '%矿石%'
|
||||
AND a.type != 4
|
||||
GROUP BY b.name) t
|
||||
ORDER BY weight DESC
|
||||
LIMIT 3) t1
|
||||
UNION ALL
|
||||
SELECT garbage_name, weight, 2 depot_type, '出库' depot_name
|
||||
FROM (SELECT garbage_name, weight
|
||||
FROM (SELECT b.name garbage_name, IFNULL(SUM(a.weight), 0) weight
|
||||
FROM ba_order a
|
||||
INNER JOIN ba_goods b ON b.id = a.goods_id AND b.depot_type = 2 AND b.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2)
|
||||
INNER JOIN ba_goods_category c ON c.id = b.category_id
|
||||
WHERE b.name NOT LIKE '%青石%'
|
||||
AND b.name NOT LIKE '%矿石%'
|
||||
AND b.name NOT LIKE '%一期项目%'
|
||||
AND a.type != 4
|
||||
GROUP BY b.name) t
|
||||
ORDER BY weight DESC
|
||||
LIMIT 3) t2
|
||||
</select>
|
||||
|
||||
<select id="getCurrentMonthGarbageDisposeSummary"
|
||||
resultType="com.njzscloud.supervisory.bs.pojo.result.GarbageDisposeSummary">
|
||||
SELECT goods_name garbage_name, weight
|
||||
FROM (SELECT a.goods_name, IFNULL(SUM(a.weight), 0) weight
|
||||
FROM ba_order a
|
||||
INNER JOIN ba_goods b ON b.id = a.goods_id AND b.depot_type = 2 AND b.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2)
|
||||
WHERE a.out_time >= UNIX_TIMESTAMP(DATE_FORMAT(CURDATE(), '%Y-%m-01 00:00:00'))
|
||||
AND a.type != 4
|
||||
AND b.name NOT LIKE '%青石%'
|
||||
AND b.name NOT LIKE '%矿石%'
|
||||
AND a.out_time <![CDATA[ < ]]> UNIX_TIMESTAMP(DATE_ADD(DATE_FORMAT(CURDATE(), '%Y-%m-01'), INTERVAL 1 MONTH))
|
||||
GROUP BY a.goods_name) t
|
||||
ORDER BY weight DESC
|
||||
LIMIT 6
|
||||
</select>
|
||||
<select id="getOrderSummary" resultType="com.njzscloud.supervisory.bs.pojo.result.OrderSummary">
|
||||
SELECT *
|
||||
FROM (SELECT t1.id user_id, finish, c quantity, t2.group_id, t2.company, '清运公司' group_name
|
||||
FROM (SELECT b.id,
|
||||
IF(a.status = 1, 1, 0) AS finish,
|
||||
COUNT(*) AS c
|
||||
FROM ba_order a
|
||||
INNER JOIN ba_user b ON b.id = a.vip_user AND b.group_id = 2
|
||||
INNER JOIN ba_goods c ON c.id = a.goods_id AND c.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2)
|
||||
WHERE a.status IN (0, 1, 2, 3)
|
||||
AND a.type != 4
|
||||
AND c.name NOT LIKE '%青石%'
|
||||
AND c.name NOT LIKE '%矿石%'
|
||||
GROUP BY b.id, IF(a.status = 1, 1, 0)) t1
|
||||
INNER JOIN ba_user t2 ON t2.id = t1.id
|
||||
ORDER BY c DESC
|
||||
LIMIT 47) tt1
|
||||
UNION ALL
|
||||
SELECT *
|
||||
FROM (SELECT t1.id user_id, finish, c quantity, t2.group_id, t2.company, '物业' group_name
|
||||
FROM (SELECT b.id,
|
||||
IF(a.status = 1, 1, 0) AS finish,
|
||||
COUNT(*) AS c
|
||||
FROM ba_order a
|
||||
INNER JOIN ba_user b ON b.id IN (230, 343, 435)
|
||||
INNER JOIN ba_goods c ON c.id = a.goods_id AND c.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2)
|
||||
WHERE a.status IN (0, 1, 2, 3)
|
||||
AND a.type != 4
|
||||
AND c.name NOT LIKE '%青石%'
|
||||
AND c.name NOT LIKE '%矿石%'
|
||||
GROUP BY b.id, IF(a.status = 1, 1, 0)) t1
|
||||
INNER JOIN ba_user t2 ON t2.id = t1.id
|
||||
ORDER BY c DESC) tt2
|
||||
</select>
|
||||
<select id="obtainOrder" resultType="com.njzscloud.supervisory.bs.pojo.result.OrderInfo">
|
||||
SELECT a.car_number,
|
||||
a.goods_name,
|
||||
IF(a.status = 1, '已完成', IF(a.status = 4, '已取消', IF(a.car_status = 0, '已预约', IF(a.car_status = 1 AND a.admin_status = 0, '待看料', '待出场')))) order_status,
|
||||
a.weight,
|
||||
IF(a.in_time = 0, NULL, FROM_UNIXTIME(a.in_time)) in_time,
|
||||
IF(a.out_time = 0, NULL, FROM_UNIXTIME(a.out_time)) out_time
|
||||
FROM ba_order a
|
||||
INNER JOIN ba_goods b ON b.id = a.goods_id AND b.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2)
|
||||
WHERE a.vip_user = #{userId}
|
||||
AND a.type != 4
|
||||
AND b.name NOT LIKE '%青石%'
|
||||
AND b.name NOT LIKE '%矿石%'
|
||||
ORDER BY a.create_time DESC
|
||||
LIMIT 10
|
||||
</select>
|
||||
<select id="disposeWeight" resultType="java.lang.Double">
|
||||
SELECT IFNULL(SUM(a.weight), 0) weight
|
||||
FROM ba_order a
|
||||
INNER JOIN ba_goods b ON b.id = a.goods_id AND b.depot_type = 1 AND b.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2)
|
||||
WHERE a.out_time >= #{startTime}
|
||||
AND a.out_time <![CDATA[ <= ]]> #{endTime}
|
||||
AND b.name NOT LIKE '%青石%'
|
||||
AND b.name NOT LIKE '%矿石%'
|
||||
AND a.type != 4
|
||||
</select>
|
||||
<select id="getTodayOrderSummary" resultType="com.njzscloud.supervisory.bs.pojo.result.TodayOrderSummary">
|
||||
SELECT MAX(IF(order_status = '已完成', order_count, 0)) completed,
|
||||
MAX(IF(order_status = '已取消', order_count, 0)) cancelled,
|
||||
MAX(IF(order_status = '已预约', order_count, 0)) waiting,
|
||||
MAX(IF(order_status = '已完成', order_count, 0)) + MAX(IF(order_status = '已取消', order_count, 0)) + MAX(IF(order_status = '已预约', order_count, 0)) + MAX(IF(order_status = '待看料', order_count, 0)) + MAX(IF(order_status = '待出场', order_count, 0)) total
|
||||
FROM (SELECT order_status, COUNT(*) order_count
|
||||
FROM (SELECT IF(a.status = 1, '已完成', IF(a.status = 4, '已取消', IF(a.car_status = 0, '已预约', IF(a.car_status = 1 AND a.admin_status = 0, '待看料', '待出场')))) order_status
|
||||
FROM ba_order a
|
||||
INNER JOIN ba_goods b ON b.id = a.goods_id AND b.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2)
|
||||
WHERE a.create_time >= UNIX_TIMESTAMP(CURDATE())
|
||||
AND a.type != 4
|
||||
AND b.name NOT LIKE '%青石%'
|
||||
AND b.name NOT LIKE '%矿石%'
|
||||
AND a.create_time <![CDATA[ < ]]> UNIX_TIMESTAMP(DATE_ADD(CURDATE(), INTERVAL 24 HOUR))) t
|
||||
GROUP BY order_status) tt
|
||||
</select>
|
||||
<select id="getOrderAmountSummary"
|
||||
resultType="com.njzscloud.supervisory.bs.pojo.result.OrderAmountSummary">
|
||||
SELECT a.price amount, FROM_UNIXTIME(a.out_time) out_time, a.who_pay cd
|
||||
FROM ba_order a
|
||||
INNER JOIN ba_goods b ON b.id = a.goods_id AND b.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2)
|
||||
WHERE a.status = 1
|
||||
AND a.out_time >= #{startTime}
|
||||
AND a.out_time <![CDATA[ <= ]]> #{endTime}
|
||||
AND a.type != 4
|
||||
AND b.name NOT LIKE '%青石%'
|
||||
AND b.name NOT LIKE '%矿石%'
|
||||
</select>
|
||||
|
||||
<select id="getGoodsNames" resultType="java.lang.String">
|
||||
SELECT name
|
||||
FROM ba_goods
|
||||
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
|
||||
${ew.customSqlSegment}
|
||||
</if>
|
||||
LIMIT #{count}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
<?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.njzscloud.supervisory.bs.mapper.SupervisionStatisticsMapper">
|
||||
<select id="getDispatchSummary" resultType="com.njzscloud.supervisory.bs.pojo.result.DispatchSummary">
|
||||
SELECT MAX(IF(order_status = 'DaiPaiDan', c, 0)) dai_pai_che,
|
||||
MAX(IF(order_status = 'DaiJieDan', c, 0)) wei_jie_dan,
|
||||
MAX(IF(order_status = 'QingYunZhong', c, 0)) yun_shu_zhong,
|
||||
MAX(IF(order_status = 'YiWanCheng', c, 0)) yi_wan_cheng
|
||||
FROM (SELECT order_status, COUNT(*) c
|
||||
FROM order_info
|
||||
WHERE order_status IN ('DaiPaiDan', 'DaiJieDan', 'QingYunZhong', 'YiWanCheng')
|
||||
GROUP BY order_status) t
|
||||
</select>
|
||||
|
||||
<select id="getYuYueSummary" resultType="com.njzscloud.supervisory.bs.pojo.result.YuYueSummary">
|
||||
SELECT zuo_tian,
|
||||
jin_tian,
|
||||
IF(zuo_tian = 0, IF(jin_tian = 0, 0, 100),
|
||||
ROUND((jin_tian - zuo_tian / zuo_tian) * 100, 2)) zeng_zhang_lv
|
||||
FROM (SELECT MAX(IF(t = 1, c, 0)) zuo_tian,
|
||||
MAX(IF(t = 2, c, 0)) jin_tian
|
||||
FROM (SELECT COUNT(*) c, 1 t
|
||||
FROM order_info a
|
||||
WHERE a.create_time >= UNIX_TIMESTAMP(CURDATE())
|
||||
AND a.create_time <![CDATA[ < ]]> UNIX_TIMESTAMP(DATE_ADD(CURDATE(), INTERVAL -24 HOUR))
|
||||
UNION ALL
|
||||
SELECT COUNT(*) c, 2 t
|
||||
FROM order_info a
|
||||
WHERE a.create_time >= UNIX_TIMESTAMP(CURDATE())
|
||||
AND a.create_time <![CDATA[ < ]]> UNIX_TIMESTAMP(DATE_ADD(CURDATE(), INTERVAL 24 HOUR))) t) tt
|
||||
</select>
|
||||
|
||||
<select id="getDisposeTotalWeight" resultType="java.lang.Integer">
|
||||
SELECT SUM(settle_weight) total_weight
|
||||
FROM order_info a
|
||||
INNER JOIN order_car_in_out b ON b.id = a.car_in_out_id
|
||||
WHERE order_status = 'YiWanCheng'
|
||||
</select>
|
||||
|
||||
<select id="getCarSummary" resultType="com.njzscloud.supervisory.bs.pojo.result.CarSummary">
|
||||
SELECT MAX(IF(t = 1, c, 0)) yun_shu_zhong,
|
||||
MAX(IF(t = 2, c, 0)) car_count
|
||||
FROM (SELECT COUNT(*) c, 1 t
|
||||
FROM order_info
|
||||
WHERE order_status IN ('QingYunZhong', 'YiJinChang', 'YiChuChang')
|
||||
UNION ALL
|
||||
SELECT COUNT(*) c, 2 t
|
||||
FROM biz_truck) t
|
||||
</select>
|
||||
|
||||
<select id="getTodayCarCount" resultType="java.lang.Integer">
|
||||
SELECT COUNT(*) car_count
|
||||
FROM order_info a
|
||||
WHERE a.create_time >= UNIX_TIMESTAMP(CURDATE())
|
||||
AND a.create_time <![CDATA[ < ]]> UNIX_TIMESTAMP(DATE_ADD(CURDATE(), INTERVAL 24 HOUR))
|
||||
AND a.order_status = 'YiWanCheng'
|
||||
</select>
|
||||
|
||||
<select id="getRegionSummary" resultType="com.njzscloud.supervisory.bs.pojo.result.RegionSummary">
|
||||
SELECT b.area,
|
||||
IFNULL(SUM(c.settle_weight), 0) total_weight
|
||||
FROM order_info a
|
||||
INNER JOIN order_cargo_place b ON b.id = a.cargo_place_id
|
||||
INNER JOIN order_car_in_out c ON c.id = a.car_in_out_id
|
||||
|
||||
WHERE a.order_status = 'YiWanCheng'
|
||||
GROUP BY b.area
|
||||
</select>
|
||||
|
||||
<select id="getCompanySummary" resultType="com.njzscloud.supervisory.bs.pojo.result.CompanySummary">
|
||||
SELECT t1.total_weight, t2.company_name company
|
||||
FROM (SELECT IFNULL(SUM(b.settle_weight), 0) total_weight, a.trans_company_id
|
||||
FROM order_info a
|
||||
INNER JOIN order_car_in_out b ON b.id = a.car_in_out_id
|
||||
WHERE order_status = 'YiWanCheng'
|
||||
GROUP BY a.trans_company_id) t1
|
||||
INNER JOIN biz_company t2 ON t2.id = t1.trans_company_id
|
||||
ORDER BY t1.total_weight DESC
|
||||
LIMIT 5
|
||||
</select>
|
||||
|
||||
<select id="getStationInfo" resultType="com.njzscloud.supervisory.bs.pojo.result.StationInfo">
|
||||
SELECT company_name `name`,
|
||||
lat latitude,
|
||||
lng longitude
|
||||
FROM biz_company
|
||||
WHERE station = 1
|
||||
</select>
|
||||
|
||||
<select id="getOrders" resultType="com.njzscloud.supervisory.bs.pojo.result.Order">
|
||||
SELECT a.sn order_no,
|
||||
d.nickname realname,
|
||||
d.phone mobile,
|
||||
i.category_name goods_category_name,
|
||||
a.create_time,
|
||||
CASE order_status
|
||||
WHEN 'YiYuYue' THEN '已预约'
|
||||
WHEN 'DaiPaiDan' THEN '待派单'
|
||||
WHEN 'DaiJieDan' THEN '待接单'
|
||||
WHEN 'YiJieDan' THEN '已接单'
|
||||
WHEN 'QingYunZhong' THEN '清运中'
|
||||
WHEN 'YiJinChang' THEN '已进场'
|
||||
WHEN 'YiChuChang' THEN '已出场'
|
||||
WHEN 'YiWanCheng' THEN '已完成'
|
||||
ELSE ''
|
||||
END order_status,
|
||||
g.license_plate car_number,
|
||||
f.nickname driver_name,
|
||||
e.goods_name goods_name,
|
||||
c.company_name company,
|
||||
h.address,
|
||||
h.lng lon,
|
||||
h.lat,
|
||||
IF(a.order_status = 'YiWanCheng', 1, 0) finish
|
||||
FROM order_info a
|
||||
LEFT JOIN (SELECT a.id, a.company_name, b.nickname
|
||||
FROM biz_company a
|
||||
INNER JOIN sys_user b ON b.id = a.user_id) c ON c.id = a.trans_company_id
|
||||
LEFT JOIN sys_user d ON d.id = a.user_id
|
||||
LEFT JOIN sys_user f ON f.id = a.driver_id
|
||||
LEFT JOIN order_goods e ON e.id = a.goods_id
|
||||
LEFT JOIN biz_truck g ON g.id = a.truck_id
|
||||
INNER JOIN order_cargo_place h ON h.id = a.cargo_place_id
|
||||
INNER JOIN goods_category i ON i.id = e.goods_category_id
|
||||
WHERE a.order_status IN ('YiYuYue', 'DaiPaiDan', 'DaiJieDan', 'QingYunZhong', 'YiJinChang', 'YiChuChang', 'YiWanCheng')
|
||||
ORDER BY a.create_time DESC
|
||||
LIMIT 50
|
||||
</select>
|
||||
|
||||
<select id="getProjects" resultType="com.njzscloud.supervisory.bs.pojo.result.Project">
|
||||
SELECT g.project_name,
|
||||
g.area,
|
||||
g.town street,
|
||||
g.address,
|
||||
c.nickname realname,
|
||||
c.phone mobile
|
||||
FROM biz_project g
|
||||
LEFT JOIN sys_user c ON c.id = g.user_id
|
||||
ORDER BY g.create_time DESC
|
||||
LIMIT 10
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
SELECT a.id,
|
||||
a.sn,
|
||||
a.station_id,
|
||||
a.lane_id,
|
||||
a.lane,
|
||||
a.project_id,
|
||||
a.trans_company_id,
|
||||
a.user_id,
|
||||
|
|
@ -38,7 +38,7 @@
|
|||
a.deleted,
|
||||
a.cargo_place_id,
|
||||
a.car_in_out_id,
|
||||
|
||||
a.site_photos,
|
||||
b.province,
|
||||
b.city,
|
||||
b.area,
|
||||
|
|
@ -50,7 +50,6 @@
|
|||
b.address,
|
||||
b.lng,
|
||||
b.lat,
|
||||
|
||||
c.goods_category_id,
|
||||
c.origin_goods_id,
|
||||
c.goods_name,
|
||||
|
|
@ -62,7 +61,7 @@
|
|||
c.tax_rate,
|
||||
c.quantity,
|
||||
c.total_money,
|
||||
|
||||
i.category_name,
|
||||
d.rough_weight,
|
||||
d.tare_weight,
|
||||
d.settle_weight,
|
||||
|
|
@ -72,53 +71,47 @@
|
|||
d.out_body_photo,
|
||||
d.in_time,
|
||||
d.out_time,
|
||||
|
||||
|
||||
e.license_plate,
|
||||
e.truck_license,
|
||||
e.vn_code,
|
||||
e.qualification,
|
||||
e.carrying_capacity,
|
||||
e.tare_weight history_tare_weight,
|
||||
e.audit_status,
|
||||
e.audit_memo,
|
||||
|
||||
f.driver_name,
|
||||
f.phone driver_phone,
|
||||
f.driving_licence,
|
||||
f.licence_start_time,
|
||||
f.licence_end_time,
|
||||
|
||||
g.uscc tarffic_company_uscc,
|
||||
g.company_name tarffic_company_company_name,
|
||||
g.business_license tarffic_company_business_license,
|
||||
g.license_start_time tarffic_company_license_start_time,
|
||||
g.license_end_time tarffic_company_license_end_time,
|
||||
g.legal_representative tarffic_company_legal_representative,
|
||||
g.province tarffic_company_province,
|
||||
g.city tarffic_company_city,
|
||||
g.area tarffic_company_area,
|
||||
g.town tarffic_company_town,
|
||||
g.province_name tarffic_company_province_name,
|
||||
g.city_name tarffic_company_city_name,
|
||||
g.area_name tarffic_company_area_name,
|
||||
g.town_name tarffic_company_town_name,
|
||||
g.address tarffic_company_address,
|
||||
g.lng tarffic_company_lng,
|
||||
g.lat tarffic_company_lat,
|
||||
g.contacts tarffic_company_contacts,
|
||||
g.phone tarffic_company_phone,
|
||||
g.uscc trans_uscc,
|
||||
g.company_name trans_company_name,
|
||||
g.business_license trans_business_license,
|
||||
g.license_start_time trans_license_start_time,
|
||||
g.license_end_time trans_license_end_time,
|
||||
g.legal_representative trans_legal_representative,
|
||||
g.province trans_province,
|
||||
g.city trans_city,
|
||||
g.area trans_area,
|
||||
g.town trans_town,
|
||||
g.province_name trans_province_name,
|
||||
g.city_name trans_city_name,
|
||||
g.area_name trans_area_name,
|
||||
g.town_name trans_town_name,
|
||||
g.address trans_address,
|
||||
g.lng trans_lng,
|
||||
g.lat trans_lat,
|
||||
g.contacts trans_contacts,
|
||||
g.phone trans_phone,
|
||||
h.nickname,
|
||||
h.phone
|
||||
|
||||
FROM order_info a
|
||||
INNER JOIN order_cargo_place b ON b.id = a.cargo_place_id
|
||||
INNER JOIN order_goods c ON c.id = a.goods_id
|
||||
INNER JOIN order_car_in_out d ON d.id = a.car_in_out_id
|
||||
INNER JOIN biz_truck e ON e.id = a.truck_id
|
||||
INNER JOIN biz_driver f ON f.id = a.driver_id
|
||||
INNER JOIN biz_company g ON g.id = a.trans_company_id
|
||||
INNER JOIN sys_user h ON h.id = a.user_id
|
||||
LEFT JOIN order_cargo_place b ON b.id = a.cargo_place_id
|
||||
LEFT JOIN order_goods c ON c.id = a.goods_id
|
||||
LEFT JOIN order_car_in_out d ON d.id = a.car_in_out_id
|
||||
LEFT JOIN biz_truck e ON e.id = a.truck_id
|
||||
LEFT JOIN biz_driver f ON f.id = a.driver_id
|
||||
LEFT JOIN biz_company g ON g.id = a.trans_company_id
|
||||
LEFT JOIN sys_user h ON h.id = a.user_id
|
||||
LEFT JOIN goods_category i ON i.id = c.goods_category_id
|
||||
</sql>
|
||||
<select id="paging" resultType="com.njzscloud.supervisory.order.pojo.result.OrderPagingResult">
|
||||
<include refid="base_select"/>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<mapper namespace="com.njzscloud.supervisory.sys.user.mapper.UserMapper">
|
||||
|
||||
<resultMap id="pagingResultMap" autoMapping="true" type="com.njzscloud.supervisory.sys.user.pojo.result.UserDetailResult">
|
||||
<result column="biz_obj" property="bizObj" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
|
||||
<association property="account" autoMapping="true" javaType="com.njzscloud.supervisory.sys.user.pojo.result.UserAccountDetailResult">
|
||||
<id column="account_id" property="id"/>
|
||||
</association>
|
||||
|
|
@ -16,6 +17,7 @@
|
|||
a.avatar,
|
||||
a.email,
|
||||
a.phone,
|
||||
a.biz_obj,
|
||||
b.id account_id,
|
||||
b.username,
|
||||
b.email,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"avatar": "data:image/png;base64,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",
|
||||
"version": "4.9.4",
|
||||
"createdTime": "2023-4-13 11:53:52",
|
||||
"updatedTime": "2025-9-13 22:32:18",
|
||||
"updatedTime": "2025-9-15 16:35:54",
|
||||
"dbConns": [],
|
||||
"profile": {
|
||||
"default": {
|
||||
|
|
@ -2799,7 +2799,7 @@
|
|||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoIncrement": false,
|
||||
"defaultValue": "",
|
||||
"defaultValue": "''",
|
||||
"hideInGraph": false,
|
||||
"refDict": "",
|
||||
"extProps": {},
|
||||
|
|
@ -10521,6 +10521,23 @@
|
|||
"extProps": {},
|
||||
"id": "D7E1B58D-74B5-44DA-8263-00D1AAE40FEC"
|
||||
},
|
||||
{
|
||||
"defKey": "site_photos",
|
||||
"defName": "现场照片",
|
||||
"comment": "",
|
||||
"type": "TEXT",
|
||||
"len": "",
|
||||
"scale": "",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoIncrement": false,
|
||||
"defaultValue": "",
|
||||
"hideInGraph": false,
|
||||
"refDict": "",
|
||||
"baseType": "B1BC2E92-6A75-44C0-A254-76E066047F53",
|
||||
"extProps": {},
|
||||
"id": "29E07EDF-8ACA-4D31-8175-C4EDE6F46147"
|
||||
},
|
||||
{
|
||||
"defKey": "creator_id",
|
||||
"defName": "创建人 Id",
|
||||
|
|
@ -11521,7 +11538,7 @@
|
|||
"len": "",
|
||||
"scale": "",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"notNull": false,
|
||||
"autoIncrement": false,
|
||||
"defaultValue": "",
|
||||
"hideInGraph": false,
|
||||
|
|
@ -11548,7 +11565,7 @@
|
|||
"len": 14,
|
||||
"scale": 2,
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"notNull": false,
|
||||
"autoIncrement": false,
|
||||
"defaultValue": "",
|
||||
"hideInGraph": false,
|
||||
|
|
|
|||
Loading…
Reference in New Issue