非称重品类,派车方式

hsf
ljw 2026-04-10 14:00:54 +08:00
parent 3064ed8425
commit ce0f24bd7b
14 changed files with 123 additions and 15 deletions

View File

@ -215,4 +215,10 @@ public class BizCompanyEntity {
*/
private String remark;
/**
* ids
*/
@TableField(typeHandler = JsonTypeHandler.class)
private List<String> goodsIds;
}

View File

@ -1,5 +1,7 @@
package com.njzscloud.supervisory.biz.pojo.param;
import com.baomidou.mybatisplus.annotation.TableField;
import com.njzscloud.common.mp.support.handler.j.JsonTypeHandler;
import com.njzscloud.supervisory.biz.constant.AuditStatus;
import com.njzscloud.supervisory.biz.constant.BizObj;
import lombok.Getter;
@ -161,4 +163,11 @@ public class ModifyBizCompanyParam {
* ; audit_status
*/
private AuditStatus auditStatus;
/**
* ids
*/
@TableField(typeHandler = JsonTypeHandler.class)
private List<String> goodsIds;
}

View File

@ -46,4 +46,10 @@ public class SearchCompanyParam {
* ; 0-->1-->
*/
private Boolean enabled;
/**
*
*/
private String area;
}

View File

@ -172,4 +172,7 @@ public class SearchCompanyResult {
*/
private String remark;
@TableField(typeHandler = JsonTypeHandler.class)
private List<String> goodsIds;
}

View File

@ -192,12 +192,14 @@ public class BizCompanyService extends ServiceImpl<BizCompanyMapper, BizCompanyE
String legalRepresentative = searchCompanyParam.getLegalRepresentative();
Integer station = searchCompanyParam.getStation();
Boolean enabled = searchCompanyParam.getEnabled();
String area = searchCompanyParam.getArea();
return PageResult.of(baseMapper.paging(pageParam.toPage(), Wrappers.query()
// .eq("a.station", Boolean.FALSE)
.eq("a.deleted", 0)
.eq(StrUtil.isNotBlank(aStatus), "a.audit_status", aStatus)
.eq(station != null, "a.station", station)
.eq(enabled != null, "a.enabled", enabled)
.eq(StrUtil.isNotBlank(area), "a.area", area)
// .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)

View File

@ -128,4 +128,8 @@ public class SearchCompanyResult {
*
*/
private String remark;
@TableField(typeHandler = JsonTypeHandler.class)
private List<String> goodsIds;
}

View File

@ -0,0 +1,20 @@
package com.njzscloud.supervisory.order.contant;
import com.njzscloud.common.core.ienum.DictStr;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
* car_way
*
*/
@Getter
@RequiredArgsConstructor
public enum CarWay implements DictStr {
PROJECT("project", "项目"),
PLATFORM("platform", "平台"),
OPTIONAL("optional", "自选")
;
private final String val;
private final String txt;
}

View File

@ -3,10 +3,7 @@ package com.njzscloud.supervisory.order.pojo.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.njzscloud.common.mp.support.handler.j.JsonTypeHandler;
import com.njzscloud.supervisory.biz.constant.AuditStatus;
import com.njzscloud.supervisory.order.contant.CheckStatus;
import com.njzscloud.supervisory.order.contant.OrderCategory;
import com.njzscloud.supervisory.order.contant.OrderStatus;
import com.njzscloud.supervisory.order.contant.PaymentStatus;
import com.njzscloud.supervisory.order.contant.*;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -312,4 +309,9 @@ public class OrderInfoEntity {
*/
private BigDecimal changeMoney;
/**
* -->project -->platform -->optional
*/
private CarWay carWay;
}

View File

@ -3,6 +3,7 @@ package com.njzscloud.supervisory.order.pojo.param;
import com.njzscloud.common.mvc.validator.Constrained;
import com.njzscloud.common.mvc.validator.Constraint;
import com.njzscloud.common.mvc.validator.ValidRule;
import com.njzscloud.supervisory.order.contant.CarWay;
import com.njzscloud.supervisory.order.contant.OrderCategory;
import com.njzscloud.supervisory.order.contant.PayerCategory;
import lombok.Getter;
@ -73,6 +74,11 @@ public class AddOrderInfoParam implements Constrained {
*/
private Long targetOrderId;
/**
* -->project -->platform -->optional
*/
private CarWay carWay;
/**
* ; order_category
*/

View File

@ -544,4 +544,9 @@ public class OrderPagingResult {
private Double stationLat;
private List<String> route;
// endregion
/**
* -->project -->platform -->optional
*/
private CarWay carWay;
}

View File

@ -759,7 +759,32 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
CheckStatus checkStatus = oldOrder.getCheckStatus();
Assert.isFalse(checkStatus == null, () -> Exceptions.clierr("当前订单无需看料"));
Assert.isFalse(CheckStatus.YiKanLiao == checkStatus, () -> Exceptions.clierr("当前订单已看料"));
Assert.isTrue(oldOrder.getOrderStatus() == OrderStatus.YiJinChang, () -> Exceptions.clierr("当前订单状态,无法看料"));
// 查询站点企业信息,判断是否为站点且配置了非称重产品
Long stationId = oldOrder.getStationId();
BizCompanyEntity stationCompany = bizCompanyService.getById(stationId);
boolean isStationWithNoWeighGoods = stationCompany != null
&& Boolean.TRUE.equals(stationCompany.getStation())
&& CollUtil.isNotEmpty(stationCompany.getGoodsIds());
// 如果是站点且配置了非称重产品,则判断订单产品是否属于非称重产品
boolean isNoWeighProductOrder = false;
if (isStationWithNoWeighGoods) {
// 通过订单的 goodsId 查询 order_goods 表获取 origin_goods_id
OrderGoodsEntity orderGoods = orderGoodsService.getById(oldOrder.getGoodsId());
if (orderGoods != null) {
Long originGoodsId = orderGoods.getOriginGoodsId();
// 判断 originGoodsId 是否在企业的非称重产品 goodsIds 集合中
isNoWeighProductOrder = stationCompany.getGoodsIds()
.contains(originGoodsId.toString());
}
}
// 如果是非称重产品订单,直接完成订单
if (isNoWeighProductOrder) {
// 获取支付上下文,获取支付方式
PaymentContextResult paymentCtx = paymentContext(orderId);
String settlementWay = paymentCtx != null ? paymentCtx.getSettlementWay() : null;
this.updateById(new OrderInfoEntity()
.setId(orderId)
@ -767,9 +792,22 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
.setCheckTime(LocalDateTime.now())
.setCheckStatus(CheckStatus.YiKanLiao)
.setCheckerId(SecurityUtil.currentUserId())
.setOrderStatus(OrderStatus.YiWanCheng)
.setPaymentStatus(PaymentStatus.YiZhiFu)
.setFinishTime(LocalDateTime.now())
.setSettlementWay(settlementWay)
);
// truckLeaving(new TruckLeavingOrderParam().setOrderId(orderId), 0);
} else {
// 普通产品订单,仅更新看料状态
Assert.isTrue(oldOrder.getOrderStatus() == OrderStatus.YiJinChang, () -> Exceptions.clierr("当前订单状态,无法看料"));
this.updateById(new OrderInfoEntity()
.setId(orderId)
.setCheckPhoto(checkGoodsParam.getCheckPhoto())
.setCheckTime(LocalDateTime.now())
.setCheckStatus(CheckStatus.YiKanLiao)
.setCheckerId(SecurityUtil.currentUserId())
);
}
}
@Transactional(rollbackFor = Exception.class)

View File

@ -2,7 +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">
<resultMap id="CompanyResultMap" autoMapping="true" type="com.njzscloud.supervisory.biz.pojo.entity.BizCompanyEntity">
<result property="serviceScope" column="service_scope" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
<result property="goodsIds" column="goods_ids" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
</resultMap>
<select id="paging" resultMap="CompanyResultMap">
select a.*, b.biz_obj from biz_company a
left join sys_user b on b.id = a.user_id
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
@ -10,7 +14,7 @@
</if>
</select>
<select id="selectDetailWithBizObj" resultType="com.njzscloud.supervisory.biz.pojo.entity.BizCompanyEntity">
<select id="selectDetailWithBizObj" resultMap="CompanyResultMap">
select a.*, b.biz_obj
from biz_company a
left join sys_user b on b.id = a.user_id

View File

@ -8,6 +8,7 @@
<result column="contacts_phone" property="phone"/>
<result column="audit_status" property="auditStatus" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="serviceScope" column="service_scope" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
<result property="goodsIds" column="goods_ids" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
<result column="idcard" property="idcard"/>
<result column="idcard_Start_Time" property="idcardStartTime"/>
<result column="idcard_end_time" property="idcardEndTime"/>

View File

@ -155,6 +155,7 @@
a.driver_confirm_time,
a.phone,
a.expect_time,
a.car_way,
a.estimated_quantity,
e.truck_license_date,
e.qualification_date truck_qualification_date,
@ -210,6 +211,7 @@
<result property="payerCategory" column="payer_category" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="paymentStatus" column="payment_status" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="moneyStrategy" column="money_strategy" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="carWay" column="car_way" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
</resultMap>
<resultMap id="OrderExportResultMap" type="com.njzscloud.supervisory.order.pojo.result.OrderExportResult">