diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/entity/BizCompanyEntity.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/entity/BizCompanyEntity.java index 4cd17df..ac1cea3 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/entity/BizCompanyEntity.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/entity/BizCompanyEntity.java @@ -215,4 +215,10 @@ public class BizCompanyEntity { */ private String remark; + /** + * 非称重产品ids集合 + */ + @TableField(typeHandler = JsonTypeHandler.class) + private List goodsIds; + } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/param/ModifyBizCompanyParam.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/param/ModifyBizCompanyParam.java index 97b5803..b471c9b 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/param/ModifyBizCompanyParam.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/param/ModifyBizCompanyParam.java @@ -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 goodsIds; + } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/param/SearchCompanyParam.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/param/SearchCompanyParam.java index f649028..30ac8b9 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/param/SearchCompanyParam.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/param/SearchCompanyParam.java @@ -46,4 +46,10 @@ public class SearchCompanyParam { * 企业是否可选; 0-->否、1-->是 */ private Boolean enabled; + + /** + * 区域 + */ + private String area; + } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/result/SearchCompanyResult.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/result/SearchCompanyResult.java index e82ed79..8cc83e6 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/result/SearchCompanyResult.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/pojo/result/SearchCompanyResult.java @@ -172,4 +172,7 @@ public class SearchCompanyResult { */ private String remark; + @TableField(typeHandler = JsonTypeHandler.class) + private List goodsIds; + } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/service/BizCompanyService.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/service/BizCompanyService.java index c8c3035..7e93d69 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/service/BizCompanyService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/biz/service/BizCompanyService.java @@ -192,12 +192,14 @@ public class BizCompanyService extends ServiceImpl goodsIds; + } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/contant/CarWay.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/contant/CarWay.java new file mode 100644 index 0000000..13c35aa --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/contant/CarWay.java @@ -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; +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/entity/OrderInfoEntity.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/entity/OrderInfoEntity.java index 2339d3e..34d1657 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/entity/OrderInfoEntity.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/entity/OrderInfoEntity.java @@ -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; + } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/param/AddOrderInfoParam.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/param/AddOrderInfoParam.java index 271cbd5..179463c 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/param/AddOrderInfoParam.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/param/AddOrderInfoParam.java @@ -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 */ diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/result/OrderPagingResult.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/result/OrderPagingResult.java index 3dbfa77..dca1e87 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/result/OrderPagingResult.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/result/OrderPagingResult.java @@ -544,4 +544,9 @@ public class OrderPagingResult { private Double stationLat; private List route; // endregion + + /** + * 派车方式:项目-->project 平台-->platform 自选-->optional + */ + private CarWay carWay; } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/service/OrderInfoService.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/service/OrderInfoService.java index b2fb7eb..9a7ae65 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/service/OrderInfoService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/service/OrderInfoService.java @@ -759,17 +759,55 @@ public class OrderInfoService extends ServiceImpl Exceptions.clierr("当前订单无需看料")); Assert.isFalse(CheckStatus.YiKanLiao == checkStatus, () -> Exceptions.clierr("当前订单已看料")); - 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()) - ); + // 查询站点企业信息,判断是否为站点且配置了非称重产品 + Long stationId = oldOrder.getStationId(); + BizCompanyEntity stationCompany = bizCompanyService.getById(stationId); + boolean isStationWithNoWeighGoods = stationCompany != null + && Boolean.TRUE.equals(stationCompany.getStation()) + && CollUtil.isNotEmpty(stationCompany.getGoodsIds()); - // truckLeaving(new TruckLeavingOrderParam().setOrderId(orderId), 0); + // 如果是站点且配置了非称重产品,则判断订单产品是否属于非称重产品 + 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) + .setCheckPhoto(checkGoodsParam.getCheckPhoto()) + .setCheckTime(LocalDateTime.now()) + .setCheckStatus(CheckStatus.YiKanLiao) + .setCheckerId(SecurityUtil.currentUserId()) + .setOrderStatus(OrderStatus.YiWanCheng) + .setPaymentStatus(PaymentStatus.YiZhiFu) + .setFinishTime(LocalDateTime.now()) + .setSettlementWay(settlementWay) + ); + } 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) diff --git a/njzscloud-svr/src/main/resources/mapper/biz/BizCompanyMapper.xml b/njzscloud-svr/src/main/resources/mapper/biz/BizCompanyMapper.xml index 56a9ae0..bc02cb6 100644 --- a/njzscloud-svr/src/main/resources/mapper/biz/BizCompanyMapper.xml +++ b/njzscloud-svr/src/main/resources/mapper/biz/BizCompanyMapper.xml @@ -2,7 +2,11 @@ - select a.*, b.biz_obj from biz_company a left join sys_user b on b.id = a.user_id @@ -10,7 +14,7 @@ - select a.*, b.biz_obj from biz_company a left join sys_user b on b.id = a.user_id diff --git a/njzscloud-svr/src/main/resources/mapper/customer/CustomerMapper.xml b/njzscloud-svr/src/main/resources/mapper/customer/CustomerMapper.xml index 6aeab08..e799c8a 100644 --- a/njzscloud-svr/src/main/resources/mapper/customer/CustomerMapper.xml +++ b/njzscloud-svr/src/main/resources/mapper/customer/CustomerMapper.xml @@ -8,6 +8,7 @@ + diff --git a/njzscloud-svr/src/main/resources/mapper/order/OrderInfoMapper.xml b/njzscloud-svr/src/main/resources/mapper/order/OrderInfoMapper.xml index af381c0..6420ef2 100644 --- a/njzscloud-svr/src/main/resources/mapper/order/OrderInfoMapper.xml +++ b/njzscloud-svr/src/main/resources/mapper/order/OrderInfoMapper.xml @@ -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 @@ +