diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/controller/OrderController.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/controller/OrderController.java index e85f990..94e1ae0 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/controller/OrderController.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/controller/OrderController.java @@ -101,9 +101,37 @@ public class OrderController { @PostMapping("/start_trans") public R startTrans(@RequestBody StartTransParam transParam) { orderService.startTrans(transParam); + return R.success(); } + /** + * 车辆进场 + */ + @PostMapping("/truck_coming") + public R truckComing(@RequestBody TruckComingParam param) { + orderService.truckComing(param); + return R.success(); + } + + /** + * 看料 + */ + @PostMapping("/check") + public R check(@RequestBody CheckGoodsParam checkGoodsParam) { + orderService.check(checkGoodsParam); + return R.success(); + } + + /** + * 车辆出场 + *//* + @PostMapping("/truck_leaving") + public R truckLeaving(@RequestBody TruckLeavingOrderParam truckLeavingOrderParam) { + // orderInfoService.truckLeaving(truckLeavingOrderParam, 1); + return R.success(); + } */ + } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/entity/OrderEntity.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/entity/OrderEntity.java index f47f1c5..6cf60b3 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/entity/OrderEntity.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/entity/OrderEntity.java @@ -2,6 +2,8 @@ package com.njzscloud.dispose.cst.order.pojo.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.njzscloud.dispose.common.pojo.entity.BaseEntity; +import com.njzscloud.dispose.cst.order.constant.OrderCategory; +import com.njzscloud.dispose.cst.order.constant.OrderStatus; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -59,12 +61,12 @@ public class OrderEntity extends BaseEntity { /** * 订单类型;字典代码:order_category,HuiShouYuYue-->回收预约单、XiaoShouYuYue-->销售预约单、DuanBoRu-->短驳入、DuanBoChu-->短驳出 */ - private String orderCategory; + private OrderCategory orderCategory; /** * 订单状态;字典代码:order_status,YiYuYue-->已预约、JinXingZhong-->进行中、YiWanCheng-->已完成、YiQuXiao-->已取消 */ - private String orderStatus; + private OrderStatus orderStatus; /** * 完结时间 diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/entity/OrderTransEntity.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/entity/OrderTransEntity.java index 9f78b7a..32db815 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/entity/OrderTransEntity.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/entity/OrderTransEntity.java @@ -1,7 +1,12 @@ package com.njzscloud.dispose.cst.order.pojo.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.njzscloud.common.mp.support.handler.j.JsonTypeHandler; import com.njzscloud.dispose.common.pojo.entity.BaseEntity; +import com.njzscloud.dispose.cst.order.constant.CheckStatus; +import com.njzscloud.dispose.cst.order.constant.PaymentStatus; +import com.njzscloud.dispose.cst.order.constant.TransStatus; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -9,6 +14,7 @@ import lombok.experimental.Accessors; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; /** * 运输信息 @@ -35,7 +41,7 @@ public class OrderTransEntity extends BaseEntity { /** * 运输状态;字典代码:trans_status,DaiPaiDan-->待派单、DaiJieDan-->待接单、YiJieDan-->已接单、YunShuZhong-->运输中、YiJinChang-->已进场、YiChuChang-->已出场、YiWanCheng-->已完成、YiQuXiao-->已取消 */ - private String transStatus; + private TransStatus transStatus; /** * 车道名称 @@ -70,7 +76,7 @@ public class OrderTransEntity extends BaseEntity { /** * 勘料状态;字典代码:check_status,Wu-->无需勘料、YiKanLiao-->已勘料、WeiKanLiao-->未勘料 */ - private String checkStatus; + private CheckStatus checkStatus; /** * 勘料时间 @@ -80,7 +86,8 @@ public class OrderTransEntity extends BaseEntity { /** * 勘料照片 */ - private String checkPhoto; + @TableField(typeHandler = JsonTypeHandler.class) + private List checkPhoto; /** * 勘料员备注 @@ -180,7 +187,7 @@ public class OrderTransEntity extends BaseEntity { /** * 支付状态,MianFei-->免费、WeiZhiFu-->未支付、YiZhiFu-->已支付、YiTuiKuan-->已退款 */ - private String paymentStatus; + private PaymentStatus paymentStatus; /** * 支付时间 diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/CheckGoodsParam.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/CheckGoodsParam.java new file mode 100644 index 0000000..631f893 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/CheckGoodsParam.java @@ -0,0 +1,34 @@ +package com.njzscloud.dispose.cst.order.pojo.param; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * @author ljw + */ +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class CheckGoodsParam { + + /** + * 运输信息Id + */ + private Long orderTransId; + + /** + * 看料照片 + */ + private List checkPhoto; + + /** + * 看料备注 + */ + private String checkerMemo; + +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/CreateOrderParam.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/CreateOrderParam.java index 75558e0..ca4ef73 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/CreateOrderParam.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/CreateOrderParam.java @@ -1,5 +1,7 @@ package com.njzscloud.dispose.cst.order.pojo.param; +import com.njzscloud.dispose.cst.order.constant.OrderCategory; +import com.njzscloud.dispose.cst.order.constant.OrderStatus; import lombok.Data; import java.time.LocalDateTime; @@ -31,12 +33,12 @@ public class CreateOrderParam { /** * 订单类型;字典代码:order_category,HuiShouYuYue-->回收预约单、XiaoShouYuYue-->销售预约单、DuanBoRu-->短驳入、DuanBoChu-->短驳出 */ - private String orderCategory; + private OrderCategory orderCategory; /** * 订单状态;字典代码:order_status,YiYuYue-->已预约、JinXingZhong-->进行中、YiWanCheng-->已完成、YiQuXiao-->已取消 */ - private String orderStatus; + private OrderStatus orderStatus; /** * 完结时间 diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/OrderTransQueryParam.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/OrderTransQueryParam.java index 9932b7e..784f639 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/OrderTransQueryParam.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/OrderTransQueryParam.java @@ -1,5 +1,7 @@ package com.njzscloud.dispose.cst.order.pojo.param; +import com.njzscloud.dispose.cst.order.constant.OrderStatus; +import com.njzscloud.dispose.cst.order.constant.TransStatus; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -9,6 +11,7 @@ import java.time.LocalDateTime; /** * 运输分页查询参数 + * @author ljw */ @Getter @Setter @@ -54,13 +57,12 @@ public class OrderTransQueryParam { /** * 订单状态 */ - private String orderStatus; + private OrderStatus orderStatus; /** * 运输状态 */ - private String transStatus; + private TransStatus transStatus; } - \ No newline at end of file diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/TruckComingParam.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/TruckComingParam.java new file mode 100644 index 0000000..44a053c --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/TruckComingParam.java @@ -0,0 +1,39 @@ +package com.njzscloud.dispose.cst.order.pojo.param; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +/** + * 车辆进出场信息 + * + * @author ljw + */ +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class TruckComingParam { + + /** + * 运输信息Id + */ + private Long orderTransId; + + /** + * 磅重; 单位:千克 + */ + private Integer weight; + + /** + * 进场车头照片 + */ + private String frontPhoto; + + /** + * 进场车斗照片 + */ + private String bodyPhoto; + +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/result/OrderTransResult.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/result/OrderTransResult.java index 2fe4ce1..c50743d 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/result/OrderTransResult.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/result/OrderTransResult.java @@ -1,9 +1,16 @@ package com.njzscloud.dispose.cst.order.pojo.result; +import com.baomidou.mybatisplus.annotation.TableField; +import com.njzscloud.common.mp.support.handler.j.JsonTypeHandler; +import com.njzscloud.dispose.cst.order.constant.CheckStatus; +import com.njzscloud.dispose.cst.order.constant.OrderCategory; +import com.njzscloud.dispose.cst.order.constant.OrderStatus; +import com.njzscloud.dispose.cst.order.constant.TransStatus; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; /** * 运输信息 @@ -28,7 +35,7 @@ public class OrderTransResult { /** * 运输状态;字典代码:trans_status,DaiPaiDan-->待派单、DaiJieDan-->待接单、YiJieDan-->已接单、YunShuZhong-->运输中、YiJinChang-->已进场、YiChuChang-->已出场、YiWanCheng-->已完成、YiQuXiao-->已取消 */ - private String transStatus; + private TransStatus transStatus; /** * 车道名称 @@ -63,7 +70,7 @@ public class OrderTransResult { /** * 勘料状态;字典代码:check_status,Wu-->无需勘料、YiKanLiao-->已勘料、WeiKanLiao-->未勘料 */ - private String checkStatus; + private CheckStatus checkStatus; /** * 勘料时间 @@ -73,7 +80,8 @@ public class OrderTransResult { /** * 勘料照片 */ - private String checkPhoto; + @TableField(typeHandler = JsonTypeHandler.class) + private List checkPhoto; /** * 勘料员备注 @@ -265,10 +273,15 @@ public class OrderTransResult { */ private LocalDateTime assignmentTransTime; + /** + * 订单类型;字典代码:order_category,HuiShouYuYue-->回收预约单、XiaoShouYuYue-->销售预约单、DuanBoRu-->短驳入、DuanBoChu-->短驳出 + */ + private OrderCategory orderCategory; + /** * 订单状态;字典代码:order_status,YiYuYue-->已预约、JinXingZhong-->进行中、YiWanCheng-->已完成、YiQuXiao-->已取消 */ - private String orderStatus; + private OrderStatus orderStatus; /** * 下单人客户 Id;cst_customer.id diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderService.java index 133c0f7..33a4e88 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.core.tuple.Tuple2; import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.common.security.util.SecurityUtil; @@ -26,6 +27,9 @@ import com.njzscloud.dispose.cst.order.pojo.result.OrderTransResult; import com.njzscloud.dispose.cst.order.pojo.vo.Scope; import com.njzscloud.dispose.cst.truck.mapper.TruckMapper; import com.njzscloud.dispose.cst.truck.pojo.entity.TruckEntity; +import com.njzscloud.dispose.dev.DiscoverTruckMsg; +import com.njzscloud.dispose.dev.ObtainTruckDataResultMsg; +import com.njzscloud.dispose.dev.WbsHandle; import com.njzscloud.dispose.finance.constant.ScopeStrategy; import com.njzscloud.dispose.finance.pojo.entity.ExpenseItemEntity; import com.njzscloud.dispose.finance.service.ExpenseItemService; @@ -38,8 +42,12 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.List; import java.util.Objects; +import java.util.concurrent.locks.ReentrantLock; import java.util.stream.Collectors; +import static com.njzscloud.dispose.dev.DevMittEvent.DISCOVER_TRUCK; +import static com.njzscloud.dispose.dev.DevMittEvent.OBTAIN_TRUCK_DATA_REPLY; + /** * 收/销订单 * @@ -58,10 +66,59 @@ public class OrderService extends ServiceImpl { private final CustomerMapper customerMapper; private final OrderExpenseItemsService orderExpenseItemsService; + { + DISCOVER_TRUCK.on(this::a); + OBTAIN_TRUCK_DATA_REPLY.on(this::b); + } + + + public void a(Tuple2 param) { + DiscoverTruckMsg param0 = param.get_0(); + WbsHandle param1 = param.get_1(); + + // 车头照 + String image = param0.getImage(); + // 写库要加锁 + String licensePlate = param0.getLicensePlate(); + // 找订单 + + // 发语音 + + // 进前置、出前置 + + // 进场 + + // 获取磅重、车斗照片 + param1.obtainTruckData(1L); + param1.playVoice(image, 2); + param1.open(); + return; + // 出场 + + } + + ReentrantLock reentrantLock = new ReentrantLock(); + + public void b(Tuple2 param) { + ObtainTruckDataResultMsg it0 = param.get_0(); + WbsHandle it1 = param.get_1(); + // 车斗照 + Long orderId = it0.getOrderId(); + String image = it0.getImage(); + Integer weight = it0.getWeight(); + it1.open(); + it1.playVoice(image, 2); + + synchronized (this) { + // 写库要加锁 + } + } + + @Transactional(rollbackFor = Exception.class) public void add(CreateOrderParam param) { // 订单信息 - param.setOrderStatus(OrderStatus.YiYuYue.getVal()); + param.setOrderStatus(OrderStatus.YiYuYue); Long transOrgId = param.getTransOrgId(); OrderStatus orderStatus = transOrgId == null ? OrderStatus.YiYuYue : OrderStatus.JinXingZhong; MyResult userDetail = SecurityUtil.loginUser(); @@ -70,7 +127,7 @@ public class OrderService extends ServiceImpl { .setUserId(SecurityUtil.currentUserId()) .setCustomerId(userDetail.getCurrentCustomerId()) .setOrderTime(LocalDateTime.now()) - .setOrderStatus(orderStatus.getVal()) + .setOrderStatus(orderStatus) .setAssignmentTransTime(transOrgId == null ? null : LocalDateTime.now()); this.save(orderEntity); @@ -78,9 +135,9 @@ public class OrderService extends ServiceImpl { CreateOrderCargoPlaceParam cargoPlace = param.getCargoPlaceParam(); OrderCargoPlaceEntity placeEntity = BeanUtil.copyProperties(cargoPlace, OrderCargoPlaceEntity.class) .setOrderId(orderEntity.getId()); - if (OrderCategory.HuiShouYuYue.getVal().equals(param.getOrderCategory())) { + if (OrderCategory.HuiShouYuYue.equals(param.getOrderCategory())) { placeEntity.setZx(Zx.ZhuangHuo.getVal()); - } else if (OrderCategory.XiaoShouYuYue.getVal().equals(param.getOrderCategory())) { + } else if (OrderCategory.XiaoShouYuYue.equals(param.getOrderCategory())) { placeEntity.setZx(Zx.XieHuo.getVal()); } orderCargoPlaceService.add(placeEntity); @@ -91,10 +148,10 @@ public class OrderService extends ServiceImpl { transEntity.setOrderId(orderEntity.getId()); for (int i = 1; i <= transNum; i++) { transEntity.setTrainNum(i); - transEntity.setTransStatus(transOrgId == null ? null : TransStatus.DaiPaiDan.getVal()); + transEntity.setTransStatus(transOrgId == null ? null : TransStatus.DaiPaiDan); transEntity.setTransTime(transOrgId == null ? null : LocalDateTime.now()); - transEntity.setCheckStatus(CheckStatus.WeiKanLiao.getVal()); - transEntity.setPaymentStatus(PaymentStatus.WeiZhiFu.getVal()); + transEntity.setCheckStatus(CheckStatus.WeiKanLiao); + transEntity.setPaymentStatus(PaymentStatus.WeiZhiFu); transEntity.setTransDistance(param.getTransDistance()); orderTransMapper.insert(transEntity); } @@ -131,7 +188,7 @@ public class OrderService extends ServiceImpl { OrderTransResult result = orderTransMapper.getById(orgParam.getOrderTransId()); Assert.notNull(result, () -> Exceptions.clierr("订单不存在")); Assert.isNull(result.getTransOrgId(), () -> Exceptions.clierr("当前订单已分配清运公司,无需重复分配")); - Assert.isTrue(OrderStatus.YiYuYue.getVal().equals(result.getOrderStatus()), () -> Exceptions.clierr("当前订单状态,无法分配清运公司")); + Assert.isTrue(OrderStatus.YiYuYue.equals(result.getOrderStatus()), () -> Exceptions.clierr("当前订单状态,无法分配清运公司")); CustomerEntity customer = customerMapper.selectOne(Wrappers.lambdaQuery() .eq(CustomerEntity::getOrgId, orgParam.getTransOrgId()) @@ -143,14 +200,14 @@ public class OrderService extends ServiceImpl { orderEntity.setTransOrgId(orgParam.getTransOrgId()) .setTransCustomerId(customer.getId()) .setAssignmentTransTime(LocalDateTime.now()) - .setOrderStatus(OrderStatus.JinXingZhong.getVal()) + .setOrderStatus(OrderStatus.JinXingZhong) .setId(result.getOrderId()); this.updateById(orderEntity); // 更新运输信息表 cst_trans_order 的运输状态信息 OrderTransEntity transEntity = new OrderTransEntity(); transEntity.setId(orgParam.getOrderTransId()); - transEntity.setTransStatus(TransStatus.DaiPaiDan.getVal()); + transEntity.setTransStatus(TransStatus.DaiPaiDan); orderTransMapper.updateById(transEntity); } @@ -163,7 +220,7 @@ public class OrderService extends ServiceImpl { OrderTransResult result = orderTransMapper.getById(driverParam.getOrderTransId()); Assert.notNull(result, () -> Exceptions.clierr("订单不存在")); Assert.isNull(result.getDriverId(), () -> Exceptions.clierr("当前订单已分配司机,无需重复分配")); - Assert.isTrue(TransStatus.DaiPaiDan.getVal().equals(result.getTransStatus()), () -> Exceptions.clierr("当前订单状态,无法分配司机")); + Assert.isTrue(TransStatus.DaiPaiDan.equals(result.getTransStatus()), () -> Exceptions.clierr("当前订单状态,无法分配司机")); DriverEntity driver = driverMapper.selectById(driverParam.getDriverId()); Assert.notNull(driver, () -> Exceptions.clierr("司机不存在")); @@ -171,7 +228,7 @@ public class OrderService extends ServiceImpl { // 更新运输信息表 cst_trans_order 的运输状态等信息 OrderTransEntity transEntity = new OrderTransEntity(); transEntity.setId(driverParam.getOrderTransId()); - transEntity.setTransStatus(TransStatus.DaiJieDan.getVal()); + transEntity.setTransStatus(TransStatus.DaiJieDan); transEntity.setAssignmentDriverTime(LocalDateTime.now()); transEntity.setDriverId(driverParam.getDriverId()); transEntity.setDriverCustomerId(driver.getCustomerId()); @@ -194,7 +251,7 @@ public class OrderService extends ServiceImpl { OrderTransResult result = orderTransMapper.getById(acceptOrderParam.getOrderTransId()); Assert.notNull(result, () -> Exceptions.clierr("订单不存在")); - Assert.isTrue(TransStatus.DaiJieDan.getVal().equals(result.getTransStatus()), () -> Exceptions.clierr("当前订单状态,无法确认接单")); + Assert.isTrue(TransStatus.DaiJieDan.equals(result.getTransStatus()), () -> Exceptions.clierr("当前订单状态,无法确认接单")); long userId = SecurityUtil.currentUserId(); DriverEntity driver = driverMapper.selectOne(Wrappers.lambdaQuery() @@ -208,12 +265,13 @@ public class OrderService extends ServiceImpl { // 更新运输信息 OrderTransEntity transEntity = new OrderTransEntity(); transEntity.setId(acceptOrderParam.getOrderTransId()); - transEntity.setTransStatus(TransStatus.YiJieDan.getVal()); + transEntity.setTransStatus(TransStatus.YiJieDan); transEntity.setDriverConfirmTime(LocalDateTime.now()); transEntity.setTruckCustomerId(truckEntity.getCustomerId()); transEntity.setTruckOrgId(truckEntity.getOrgId()); transEntity.setTruckId(acceptOrderParam.getTruckId()); transEntity.setTruckLicensePlate(truckEntity.getLicensePlate()); + transEntity.setHistoryTareWeight(truckEntity.getTareWeight()); orderTransMapper.updateById(transEntity); // 更新车辆状态 @@ -231,17 +289,82 @@ public class OrderService extends ServiceImpl { OrderTransResult result = orderTransMapper.getById(transParam.getOrderTransId()); Assert.notNull(result, () -> Exceptions.clierr("订单不存在")); - Assert.isTrue(TransStatus.YiJieDan.getVal().equals(result.getTransStatus()), () -> Exceptions.clierr("当前订单状态,无法开始运输")); + Assert.isTrue(TransStatus.YiJieDan.equals(result.getTransStatus()), () -> Exceptions.clierr("当前订单状态,无法开始运输")); // 更新运输信息 OrderTransEntity transEntity = new OrderTransEntity(); transEntity.setId(transParam.getOrderTransId()); - transEntity.setTransStatus(TransStatus.YunShuZhong.getVal()); + transEntity.setTransStatus(TransStatus.YunShuZhong); transEntity.setTransTime(LocalDateTime.now()); orderTransMapper.updateById(transEntity); } + /** + * 车辆进场 + */ + @Transactional(rollbackFor = Exception.class) + public void truckComing(TruckComingParam comingParam) { + Assert.notNull(comingParam.getOrderTransId(), () -> Exceptions.clierr("订单运输ID不可为空")); + Assert.notNull(comingParam.getWeight(), () -> Exceptions.clierr("磅重不可为空")); + + OrderTransResult result = orderTransMapper.getById(comingParam.getOrderTransId()); + Assert.notNull(result, () -> Exceptions.clierr("订单不存在")); + + OrderStatus orderStatus = result.getOrderStatus(); + TransStatus transStatus = result.getTransStatus(); + Assert.isTrue(Objects.equals(orderStatus, OrderStatus.JinXingZhong) && + Objects.equals(transStatus, TransStatus.YunShuZhong), () -> Exceptions.clierr("当前订单状态,无法进场")); + Assert.isTrue(comingParam.getWeight() != null && comingParam.getWeight() > 0, () -> Exceptions.clierr("磅重错误")); + + // 更新运输信息 + OrderTransEntity transEntity = new OrderTransEntity(); + transEntity.setId(comingParam.getOrderTransId()); + transEntity.setTransStatus(TransStatus.YiJinChang); + // 根据订单类型区分毛重皮重 + if (OrderCategory.HuiShouYuYue.equals(result.getOrderCategory())) { + transEntity.setRoughWeight(comingParam.getWeight()); + } else if (OrderCategory.XiaoShouYuYue.equals(result.getOrderCategory())) { + transEntity.setTareWeight(comingParam.getWeight()); + // 更新车辆皮重 + TruckEntity truckEntity = truckMapper.selectById(result.getTruckId()); + Assert.notNull(truckEntity, () -> Exceptions.clierr("车辆不存在")); + + TruckEntity truck = new TruckEntity(); + truck.setId(truckEntity.getId()); + truck.setTareWeight(comingParam.getWeight()); + truckMapper.updateById(truck); + } + transEntity.setInFrontPhoto(comingParam.getFrontPhoto()); + transEntity.setInBodyPhoto(comingParam.getBodyPhoto()); + transEntity.setInTime(LocalDateTime.now()); + orderTransMapper.updateById(transEntity); + + } + + @Transactional(rollbackFor = Exception.class) + public void check(CheckGoodsParam checkGoodsParam) { + Assert.notNull(checkGoodsParam.getOrderTransId(), () -> Exceptions.clierr("订单运输ID不可为空")); + + OrderTransResult result = orderTransMapper.getById(checkGoodsParam.getOrderTransId()); + Assert.notNull(result, () -> Exceptions.clierr("订单不存在")); + + Assert.isTrue(OrderStatus.JinXingZhong.equals(result.getOrderStatus()) + && TransStatus.YiJinChang.equals(result.getTransStatus()) && CheckStatus.WeiKanLiao.equals(result.getCheckStatus()), + () -> Exceptions.clierr("当前订单状态,无法看料")); + + // 更新运输信息 + OrderTransEntity transEntity = new OrderTransEntity(); + transEntity.setId(result.getId()); + transEntity.setCheckerId(SecurityUtil.currentUserId()); + transEntity.setCheckStatus(CheckStatus.YiKanLiao); + transEntity.setCheckTime(LocalDateTime.now()); + transEntity.setCheckPhoto(checkGoodsParam.getCheckPhoto()); + transEntity.setCheckerMemo(checkGoodsParam.getCheckerMemo()); + orderTransMapper.updateById(transEntity); + + } + /** * 生成订单号 * diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderTransService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderTransService.java index 23159bc..2957d12 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderTransService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderTransService.java @@ -68,8 +68,8 @@ public class OrderTransService extends ServiceImpl implements GoodsService { private final ExpenseItemService expenseItemService; + private final GoodsCategoryMapper goodsCategoryMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -94,6 +97,9 @@ public class GoodsServiceImpl extends ServiceImpl impl for (GoodsEntity goods : page.getRecords()) { goods.setExpenseItem(expenseItemService.getOne(Wrappers.lambdaQuery() .eq(ExpenseItemEntity::getGoodsId, goods.getId()))); + goods.setGoodsCategoryName(goodsCategoryMapper.selectOne(Wrappers.lambdaQuery() + .eq(GoodsCategoryEntity::getId, goods.getGoodsCategoryId())).getCategoryName()); + } return PageResult.of(page); } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/service/OutOrderService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/service/OutOrderService.java index d175a69..d8473f5 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/service/OutOrderService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/service/OutOrderService.java @@ -102,7 +102,7 @@ public class OutOrderService extends ServiceImpl * @return sn 入库单号 */ public String generateSn() { - String sn = SnUtil.next("In-Order-SN"); + String sn = SnUtil.next("Out-Order-SN"); if (this.exists(Wrappers.lambdaQuery().eq(OutOrderEntity::getSn, sn) .eq(OutOrderEntity::getDeleted, Boolean.FALSE))) { this.generateSn(); diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/service/PurchaseOrderService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/service/PurchaseOrderService.java index ddb5570..4610a5d 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/service/PurchaseOrderService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/service/PurchaseOrderService.java @@ -38,6 +38,7 @@ public class PurchaseOrderService extends ServiceImpl - + @@ -14,7 +14,7 @@ - + @@ -48,6 +48,7 @@ + @@ -105,6 +106,7 @@ co.trans_org_id AS trans_org_id, co.trans_customer_id AS trans_customer_id, co.assignment_trans_time AS assignment_trans_time, + co.order_category, co.order_status, co.customer_id, co.order_time,