站内信
parent
d5e2678e95
commit
e681b925b5
|
|
@ -30,6 +30,8 @@ public class PaymentParam {
|
||||||
*/
|
*/
|
||||||
private BigDecimal settleTotalMoney;
|
private BigDecimal settleTotalMoney;
|
||||||
|
|
||||||
|
private String wxCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 支付清单
|
* 支付清单
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,10 @@
|
||||||
package com.njzscloud.supervisory.sys.stationletter.mapper;
|
package com.njzscloud.supervisory.sys.stationletter.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.njzscloud.supervisory.order.pojo.result.OrderPagingResult;
|
||||||
import com.njzscloud.supervisory.sys.stationletter.pojo.StationLetterEntity;
|
import com.njzscloud.supervisory.sys.stationletter.pojo.StationLetterEntity;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -39,6 +42,6 @@ public interface StationLetterMapper {
|
||||||
/**
|
/**
|
||||||
* 查询待审核的订单数量
|
* 查询待审核的订单数量
|
||||||
*/
|
*/
|
||||||
int selectPendingOrderCount();
|
int selectPendingOrderCount(@Param("ew") QueryWrapper<OrderPagingResult> ew);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,15 @@
|
||||||
package com.njzscloud.supervisory.sys.stationletter.service.impl;
|
package com.njzscloud.supervisory.sys.stationletter.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.njzscloud.common.security.support.UserDetail;
|
||||||
|
import com.njzscloud.common.security.util.SecurityUtil;
|
||||||
|
import com.njzscloud.supervisory.biz.constant.AuditStatus;
|
||||||
|
import com.njzscloud.supervisory.biz.pojo.entity.BizAuditConfigEntity;
|
||||||
|
import com.njzscloud.supervisory.biz.service.BizAuditConfigService;
|
||||||
|
import com.njzscloud.supervisory.order.contant.OrderStatus;
|
||||||
|
import com.njzscloud.supervisory.order.pojo.result.OrderPagingResult;
|
||||||
import com.njzscloud.supervisory.sys.stationletter.constant.WarnCategory;
|
import com.njzscloud.supervisory.sys.stationletter.constant.WarnCategory;
|
||||||
import com.njzscloud.supervisory.sys.stationletter.mapper.StationLetterMapper;
|
import com.njzscloud.supervisory.sys.stationletter.mapper.StationLetterMapper;
|
||||||
import com.njzscloud.supervisory.sys.stationletter.pojo.AuditResult;
|
import com.njzscloud.supervisory.sys.stationletter.pojo.AuditResult;
|
||||||
|
|
@ -12,6 +22,10 @@ import org.apache.commons.compress.utils.Lists;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static com.njzscloud.supervisory.constant.Constant.ROLE_JG;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 站内信服务实现类
|
* 站内信服务实现类
|
||||||
|
|
@ -22,6 +36,7 @@ import java.util.List;
|
||||||
public class StationLetterServiceImpl implements StationLetterService {
|
public class StationLetterServiceImpl implements StationLetterService {
|
||||||
|
|
||||||
private final StationLetterMapper stationLetterMapper;
|
private final StationLetterMapper stationLetterMapper;
|
||||||
|
private final BizAuditConfigService bizAuditConfigService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StationLetterResult getPendingWarnList() {
|
public StationLetterResult getPendingWarnList() {
|
||||||
|
|
@ -34,7 +49,7 @@ public class StationLetterServiceImpl implements StationLetterService {
|
||||||
}
|
}
|
||||||
result.setWarnList(entities);
|
result.setWarnList(entities);
|
||||||
List<AuditResult> auditResults = Lists.newArrayList();
|
List<AuditResult> auditResults = Lists.newArrayList();
|
||||||
|
|
||||||
// 1.查询未删除并且待审核的公司数量,表为biz_company
|
// 1.查询未删除并且待审核的公司数量,表为biz_company
|
||||||
int companyCount = stationLetterMapper.selectPendingCompanyCount();
|
int companyCount = stationLetterMapper.selectPendingCompanyCount();
|
||||||
AuditResult companyAudit = new AuditResult();
|
AuditResult companyAudit = new AuditResult();
|
||||||
|
|
@ -68,15 +83,147 @@ public class StationLetterServiceImpl implements StationLetterService {
|
||||||
auditResults.add(driverAudit);
|
auditResults.add(driverAudit);
|
||||||
|
|
||||||
// 5.查询未删除并且待审核的订单数量,表为order_info
|
// 5.查询未删除并且待审核的订单数量,表为order_info
|
||||||
int orderCount = stationLetterMapper.selectPendingOrderCount();
|
AuditResult orderAudit = buildOrderAuditResult();
|
||||||
|
auditResults.add(orderAudit);
|
||||||
|
|
||||||
|
result.setAuditResultList(auditResults);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建订单审核结果
|
||||||
|
*/
|
||||||
|
private AuditResult buildOrderAuditResult() {
|
||||||
AuditResult orderAudit = new AuditResult();
|
AuditResult orderAudit = new AuditResult();
|
||||||
orderAudit.setModuleType("order");
|
orderAudit.setModuleType("order");
|
||||||
orderAudit.setAuditName("待审核订单");
|
orderAudit.setAuditName("待审核订单");
|
||||||
orderAudit.setCount(orderCount);
|
|
||||||
auditResults.add(orderAudit);
|
try {
|
||||||
|
UserDetail userDetail = SecurityUtil.loginUser();
|
||||||
result.setAuditResultList(auditResults);
|
if (userDetail == null || CollUtil.isEmpty(userDetail.getRoles())) {
|
||||||
return result;
|
orderAudit.setCount(0);
|
||||||
|
return orderAudit;
|
||||||
|
}
|
||||||
|
|
||||||
|
Set<String> roles = userDetail.getRoles();
|
||||||
|
if (!roles.contains(ROLE_JG)) {
|
||||||
|
orderAudit.setCount(0);
|
||||||
|
return orderAudit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取审核配置区域信息
|
||||||
|
AuditAreaInfo auditAreaInfo = getAuditAreaInfoByRoles(roles);
|
||||||
|
if (CollUtil.isEmpty(auditAreaInfo.getAreaList()) &&
|
||||||
|
CollUtil.isEmpty(auditAreaInfo.getCityList()) &&
|
||||||
|
CollUtil.isEmpty(auditAreaInfo.getCityAreaList())) {
|
||||||
|
orderAudit.setCount(0);
|
||||||
|
return orderAudit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建查询条件
|
||||||
|
QueryWrapper<OrderPagingResult> queryWrapper = buildOrderQueryWrapper(auditAreaInfo);
|
||||||
|
int orderCount = stationLetterMapper.selectPendingOrderCount(queryWrapper);
|
||||||
|
orderAudit.setCount(orderCount);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("查询待审核订单数量失败", e);
|
||||||
|
orderAudit.setCount(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
return orderAudit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据角色获取审核配置区域信息
|
||||||
|
*/
|
||||||
|
private AuditAreaInfo getAuditAreaInfoByRoles(Set<String> roles) {
|
||||||
|
// 获取区级审核区域
|
||||||
|
List<String> areaList = bizAuditConfigService.list(Wrappers.<BizAuditConfigEntity>lambdaQuery()
|
||||||
|
.in(BizAuditConfigEntity::getAreaRole, roles)).stream()
|
||||||
|
.map(BizAuditConfigEntity::getArea)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 获取市级审核区域
|
||||||
|
List<String> cityList = bizAuditConfigService.list(Wrappers.<BizAuditConfigEntity>lambdaQuery()
|
||||||
|
.in(BizAuditConfigEntity::getCityRole, roles)).stream()
|
||||||
|
.map(BizAuditConfigEntity::getArea)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 获取无角色限制的区域
|
||||||
|
List<String> cityAreaList = bizAuditConfigService.list(Wrappers.<BizAuditConfigEntity>lambdaQuery()
|
||||||
|
.isNull(BizAuditConfigEntity::getAreaRole)
|
||||||
|
.isNull(BizAuditConfigEntity::getCityRole)).stream()
|
||||||
|
.map(BizAuditConfigEntity::getArea)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
return new AuditAreaInfo(areaList, cityList, cityAreaList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建订单查询条件
|
||||||
|
*/
|
||||||
|
private QueryWrapper<OrderPagingResult> buildOrderQueryWrapper(AuditAreaInfo auditAreaInfo) {
|
||||||
|
QueryWrapper<OrderPagingResult> queryWrapper = Wrappers.query();
|
||||||
|
|
||||||
|
// 基础条件:订单状态为已接单
|
||||||
|
queryWrapper.eq("a.order_status", OrderStatus.YiJieDan);
|
||||||
|
|
||||||
|
// 根据审核状态和区域构建复杂查询条件
|
||||||
|
queryWrapper.and(wrapper -> {
|
||||||
|
// 区级审核条件:区域在区级审核列表中且状态为区待审核
|
||||||
|
if (CollUtil.isNotEmpty(auditAreaInfo.getAreaList())) {
|
||||||
|
wrapper.in("b.area", auditAreaInfo.getAreaList())
|
||||||
|
.eq("a.audit_status", AuditStatus.QuDaiShenHe);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 市级审核条件:区域在市级审核列表中且状态为市待审核
|
||||||
|
if (CollUtil.isNotEmpty(auditAreaInfo.getCityList())) {
|
||||||
|
wrapper.or(subWrapper ->
|
||||||
|
subWrapper.in("b.area", auditAreaInfo.getCityList())
|
||||||
|
.eq("a.audit_status", AuditStatus.ShiDaiShenHe)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 待审核条件:区域在无角色限制列表中且状态为待审核
|
||||||
|
if (CollUtil.isNotEmpty(auditAreaInfo.getCityAreaList())) {
|
||||||
|
wrapper.or(subWrapper ->
|
||||||
|
subWrapper.in("b.area", auditAreaInfo.getCityAreaList())
|
||||||
|
.eq("a.audit_status", AuditStatus.DaiShenHe)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return queryWrapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核区域信息内部类
|
||||||
|
*/
|
||||||
|
private static class AuditAreaInfo {
|
||||||
|
private final List<String> areaList;
|
||||||
|
private final List<String> cityList;
|
||||||
|
private final List<String> cityAreaList;
|
||||||
|
|
||||||
|
public AuditAreaInfo(List<String> areaList, List<String> cityList, List<String> cityAreaList) {
|
||||||
|
this.areaList = areaList;
|
||||||
|
this.cityList = cityList;
|
||||||
|
this.cityAreaList = cityAreaList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getAreaList() {
|
||||||
|
return areaList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getCityList() {
|
||||||
|
return cityList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getCityAreaList() {
|
||||||
|
return cityAreaList;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -86,7 +233,7 @@ public class StationLetterServiceImpl implements StationLetterService {
|
||||||
if (warnCategory == null) {
|
if (warnCategory == null) {
|
||||||
return "未知类型";
|
return "未知类型";
|
||||||
}
|
}
|
||||||
|
|
||||||
for (WarnCategory category : WarnCategory.values()) {
|
for (WarnCategory category : WarnCategory.values()) {
|
||||||
if (category.getVal().equals(warnCategory)) {
|
if (category.getVal().equals(warnCategory)) {
|
||||||
return category.getTxt();
|
return category.getTxt();
|
||||||
|
|
|
||||||
|
|
@ -53,11 +53,36 @@
|
||||||
WHERE deleted = 0 AND audit_status = 'DaiShenHe'
|
WHERE deleted = 0 AND audit_status = 'DaiShenHe'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 查询待审核的订单数量 -->
|
<!-- 查询待审核的订单数量
|
||||||
<select id="selectPendingOrderCount" resultType="int">
|
<select id="selectPendingOrderCount" resultType="int">
|
||||||
SELECT COUNT(*)
|
SELECT COUNT(*)
|
||||||
FROM order_info
|
FROM order_info
|
||||||
WHERE deleted = 0 AND audit_status = 'DaiShenHe'
|
WHERE deleted = 0 AND audit_status = 'DaiShenHe'
|
||||||
|
</select>-->
|
||||||
|
|
||||||
|
<!-- 查询待审核的订单数量 -->
|
||||||
|
<select id="selectPendingOrderCount" resultType="int">
|
||||||
|
SELECT COUNT(*)
|
||||||
|
FROM
|
||||||
|
order_info a
|
||||||
|
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
|
||||||
|
LEFT JOIN biz_company j ON j.user_id = a.user_id
|
||||||
|
LEFT JOIN sys_user k ON k.id = a.checker_id
|
||||||
|
LEFT JOIN biz_project l ON l.id = a.project_id
|
||||||
|
LEFT JOIN biz_company m ON m.id = a.station_id
|
||||||
|
AND m.station = 1
|
||||||
|
LEFT JOIN sys_user n ON n.id = a.qu_audit_user_id
|
||||||
|
LEFT JOIN sys_user o ON o.id = a.shi_audit_user_id
|
||||||
|
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
|
||||||
|
${ew.customSqlSegment}
|
||||||
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue