状态修改、勘料、进场

master
ljw 2025-12-31 14:00:30 +08:00
parent 2c5e34d213
commit caddd9eed1
17 changed files with 331 additions and 37 deletions

View File

@ -101,9 +101,37 @@ public class OrderController {
@PostMapping("/start_trans") @PostMapping("/start_trans")
public R<?> startTrans(@RequestBody StartTransParam transParam) { public R<?> startTrans(@RequestBody StartTransParam transParam) {
orderService.startTrans(transParam); orderService.startTrans(transParam);
return R.success(); 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();
} */
} }

View File

@ -2,6 +2,8 @@ package com.njzscloud.dispose.cst.order.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.njzscloud.dispose.common.pojo.entity.BaseEntity; 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.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
@ -59,12 +61,12 @@ public class OrderEntity extends BaseEntity {
/** /**
* order_categoryHuiShouYuYue-->XiaoShouYuYue-->DuanBoRu-->DuanBoChu--> * order_categoryHuiShouYuYue-->XiaoShouYuYue-->DuanBoRu-->DuanBoChu-->
*/ */
private String orderCategory; private OrderCategory orderCategory;
/** /**
* order_statusYiYuYue-->JinXingZhong-->YiWanCheng-->YiQuXiao--> * order_statusYiYuYue-->JinXingZhong-->YiWanCheng-->YiQuXiao-->
*/ */
private String orderStatus; private OrderStatus orderStatus;
/** /**
* *

View File

@ -1,7 +1,12 @@
package com.njzscloud.dispose.cst.order.pojo.entity; package com.njzscloud.dispose.cst.order.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; 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.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.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
@ -9,6 +14,7 @@ import lombok.experimental.Accessors;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* *
@ -35,7 +41,7 @@ public class OrderTransEntity extends BaseEntity {
/** /**
* trans_statusDaiPaiDan-->DaiJieDan-->YiJieDan-->YunShuZhong-->YiJinChang-->YiChuChang-->YiWanCheng-->YiQuXiao--> * trans_statusDaiPaiDan-->DaiJieDan-->YiJieDan-->YunShuZhong-->YiJinChang-->YiChuChang-->YiWanCheng-->YiQuXiao-->
*/ */
private String transStatus; private TransStatus transStatus;
/** /**
* *
@ -70,7 +76,7 @@ public class OrderTransEntity extends BaseEntity {
/** /**
* check_statusWu-->YiKanLiao-->WeiKanLiao--> * check_statusWu-->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<String> checkPhoto;
/** /**
* *
@ -180,7 +187,7 @@ public class OrderTransEntity extends BaseEntity {
/** /**
* MianFei-->WeiZhiFu-->YiZhiFu-->YiTuiKuan-->退 * MianFei-->WeiZhiFu-->YiZhiFu-->YiTuiKuan-->退
*/ */
private String paymentStatus; private PaymentStatus paymentStatus;
/** /**
* *

View File

@ -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<String> checkPhoto;
/**
*
*/
private String checkerMemo;
}

View File

@ -1,5 +1,7 @@
package com.njzscloud.dispose.cst.order.pojo.param; 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 lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -31,12 +33,12 @@ public class CreateOrderParam {
/** /**
* order_categoryHuiShouYuYue-->XiaoShouYuYue-->DuanBoRu-->DuanBoChu--> * order_categoryHuiShouYuYue-->XiaoShouYuYue-->DuanBoRu-->DuanBoChu-->
*/ */
private String orderCategory; private OrderCategory orderCategory;
/** /**
* order_statusYiYuYue-->JinXingZhong-->YiWanCheng-->YiQuXiao--> * order_statusYiYuYue-->JinXingZhong-->YiWanCheng-->YiQuXiao-->
*/ */
private String orderStatus; private OrderStatus orderStatus;
/** /**
* *

View File

@ -1,5 +1,7 @@
package com.njzscloud.dispose.cst.order.pojo.param; 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.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
@ -9,6 +11,7 @@ import java.time.LocalDateTime;
/** /**
* *
* @author ljw
*/ */
@Getter @Getter
@Setter @Setter
@ -54,13 +57,12 @@ public class OrderTransQueryParam {
/** /**
* *
*/ */
private String orderStatus; private OrderStatus orderStatus;
/** /**
* *
*/ */
private String transStatus; private TransStatus transStatus;
} }

View File

@ -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;
}

View File

@ -1,9 +1,16 @@
package com.njzscloud.dispose.cst.order.pojo.result; 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 lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* *
@ -28,7 +35,7 @@ public class OrderTransResult {
/** /**
* trans_statusDaiPaiDan-->DaiJieDan-->YiJieDan-->YunShuZhong-->YiJinChang-->YiChuChang-->YiWanCheng-->YiQuXiao--> * trans_statusDaiPaiDan-->DaiJieDan-->YiJieDan-->YunShuZhong-->YiJinChang-->YiChuChang-->YiWanCheng-->YiQuXiao-->
*/ */
private String transStatus; private TransStatus transStatus;
/** /**
* *
@ -63,7 +70,7 @@ public class OrderTransResult {
/** /**
* check_statusWu-->YiKanLiao-->WeiKanLiao--> * check_statusWu-->YiKanLiao-->WeiKanLiao-->
*/ */
private String checkStatus; private CheckStatus checkStatus;
/** /**
* *
@ -73,7 +80,8 @@ public class OrderTransResult {
/** /**
* *
*/ */
private String checkPhoto; @TableField(typeHandler = JsonTypeHandler.class)
private List<String> checkPhoto;
/** /**
* *
@ -265,10 +273,15 @@ public class OrderTransResult {
*/ */
private LocalDateTime assignmentTransTime; private LocalDateTime assignmentTransTime;
/**
* order_categoryHuiShouYuYue-->XiaoShouYuYue-->DuanBoRu-->DuanBoChu-->
*/
private OrderCategory orderCategory;
/** /**
* order_statusYiYuYue-->JinXingZhong-->YiWanCheng-->YiQuXiao--> * order_statusYiYuYue-->JinXingZhong-->YiWanCheng-->YiQuXiao-->
*/ */
private String orderStatus; private OrderStatus orderStatus;
/** /**
* Idcst_customer.id * Idcst_customer.id

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njzscloud.common.core.ex.Exceptions; import com.njzscloud.common.core.ex.Exceptions;
import com.njzscloud.common.core.fastjson.Fastjson; 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.PageParam;
import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.common.mp.support.PageResult;
import com.njzscloud.common.security.util.SecurityUtil; 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.order.pojo.vo.Scope;
import com.njzscloud.dispose.cst.truck.mapper.TruckMapper; import com.njzscloud.dispose.cst.truck.mapper.TruckMapper;
import com.njzscloud.dispose.cst.truck.pojo.entity.TruckEntity; 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.constant.ScopeStrategy;
import com.njzscloud.dispose.finance.pojo.entity.ExpenseItemEntity; import com.njzscloud.dispose.finance.pojo.entity.ExpenseItemEntity;
import com.njzscloud.dispose.finance.service.ExpenseItemService; import com.njzscloud.dispose.finance.service.ExpenseItemService;
@ -38,8 +42,12 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors; 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<OrderMapper, OrderEntity> {
private final CustomerMapper customerMapper; private final CustomerMapper customerMapper;
private final OrderExpenseItemsService orderExpenseItemsService; private final OrderExpenseItemsService orderExpenseItemsService;
{
DISCOVER_TRUCK.on(this::a);
OBTAIN_TRUCK_DATA_REPLY.on(this::b);
}
public void a(Tuple2<DiscoverTruckMsg, WbsHandle> 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<ObtainTruckDataResultMsg, WbsHandle> 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) @Transactional(rollbackFor = Exception.class)
public void add(CreateOrderParam param) { public void add(CreateOrderParam param) {
// 订单信息 // 订单信息
param.setOrderStatus(OrderStatus.YiYuYue.getVal()); param.setOrderStatus(OrderStatus.YiYuYue);
Long transOrgId = param.getTransOrgId(); Long transOrgId = param.getTransOrgId();
OrderStatus orderStatus = transOrgId == null ? OrderStatus.YiYuYue : OrderStatus.JinXingZhong; OrderStatus orderStatus = transOrgId == null ? OrderStatus.YiYuYue : OrderStatus.JinXingZhong;
MyResult userDetail = SecurityUtil.loginUser(); MyResult userDetail = SecurityUtil.loginUser();
@ -70,7 +127,7 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
.setUserId(SecurityUtil.currentUserId()) .setUserId(SecurityUtil.currentUserId())
.setCustomerId(userDetail.getCurrentCustomerId()) .setCustomerId(userDetail.getCurrentCustomerId())
.setOrderTime(LocalDateTime.now()) .setOrderTime(LocalDateTime.now())
.setOrderStatus(orderStatus.getVal()) .setOrderStatus(orderStatus)
.setAssignmentTransTime(transOrgId == null ? null : LocalDateTime.now()); .setAssignmentTransTime(transOrgId == null ? null : LocalDateTime.now());
this.save(orderEntity); this.save(orderEntity);
@ -78,9 +135,9 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
CreateOrderCargoPlaceParam cargoPlace = param.getCargoPlaceParam(); CreateOrderCargoPlaceParam cargoPlace = param.getCargoPlaceParam();
OrderCargoPlaceEntity placeEntity = BeanUtil.copyProperties(cargoPlace, OrderCargoPlaceEntity.class) OrderCargoPlaceEntity placeEntity = BeanUtil.copyProperties(cargoPlace, OrderCargoPlaceEntity.class)
.setOrderId(orderEntity.getId()); .setOrderId(orderEntity.getId());
if (OrderCategory.HuiShouYuYue.getVal().equals(param.getOrderCategory())) { if (OrderCategory.HuiShouYuYue.equals(param.getOrderCategory())) {
placeEntity.setZx(Zx.ZhuangHuo.getVal()); 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()); placeEntity.setZx(Zx.XieHuo.getVal());
} }
orderCargoPlaceService.add(placeEntity); orderCargoPlaceService.add(placeEntity);
@ -91,10 +148,10 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
transEntity.setOrderId(orderEntity.getId()); transEntity.setOrderId(orderEntity.getId());
for (int i = 1; i <= transNum; i++) { for (int i = 1; i <= transNum; i++) {
transEntity.setTrainNum(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.setTransTime(transOrgId == null ? null : LocalDateTime.now());
transEntity.setCheckStatus(CheckStatus.WeiKanLiao.getVal()); transEntity.setCheckStatus(CheckStatus.WeiKanLiao);
transEntity.setPaymentStatus(PaymentStatus.WeiZhiFu.getVal()); transEntity.setPaymentStatus(PaymentStatus.WeiZhiFu);
transEntity.setTransDistance(param.getTransDistance()); transEntity.setTransDistance(param.getTransDistance());
orderTransMapper.insert(transEntity); orderTransMapper.insert(transEntity);
} }
@ -131,7 +188,7 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
OrderTransResult result = orderTransMapper.getById(orgParam.getOrderTransId()); OrderTransResult result = orderTransMapper.getById(orgParam.getOrderTransId());
Assert.notNull(result, () -> Exceptions.clierr("订单不存在")); Assert.notNull(result, () -> Exceptions.clierr("订单不存在"));
Assert.isNull(result.getTransOrgId(), () -> 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.<CustomerEntity>lambdaQuery() CustomerEntity customer = customerMapper.selectOne(Wrappers.<CustomerEntity>lambdaQuery()
.eq(CustomerEntity::getOrgId, orgParam.getTransOrgId()) .eq(CustomerEntity::getOrgId, orgParam.getTransOrgId())
@ -143,14 +200,14 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
orderEntity.setTransOrgId(orgParam.getTransOrgId()) orderEntity.setTransOrgId(orgParam.getTransOrgId())
.setTransCustomerId(customer.getId()) .setTransCustomerId(customer.getId())
.setAssignmentTransTime(LocalDateTime.now()) .setAssignmentTransTime(LocalDateTime.now())
.setOrderStatus(OrderStatus.JinXingZhong.getVal()) .setOrderStatus(OrderStatus.JinXingZhong)
.setId(result.getOrderId()); .setId(result.getOrderId());
this.updateById(orderEntity); this.updateById(orderEntity);
// 更新运输信息表 cst_trans_order 的运输状态信息 // 更新运输信息表 cst_trans_order 的运输状态信息
OrderTransEntity transEntity = new OrderTransEntity(); OrderTransEntity transEntity = new OrderTransEntity();
transEntity.setId(orgParam.getOrderTransId()); transEntity.setId(orgParam.getOrderTransId());
transEntity.setTransStatus(TransStatus.DaiPaiDan.getVal()); transEntity.setTransStatus(TransStatus.DaiPaiDan);
orderTransMapper.updateById(transEntity); orderTransMapper.updateById(transEntity);
} }
@ -163,7 +220,7 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
OrderTransResult result = orderTransMapper.getById(driverParam.getOrderTransId()); OrderTransResult result = orderTransMapper.getById(driverParam.getOrderTransId());
Assert.notNull(result, () -> Exceptions.clierr("订单不存在")); Assert.notNull(result, () -> Exceptions.clierr("订单不存在"));
Assert.isNull(result.getDriverId(), () -> 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()); DriverEntity driver = driverMapper.selectById(driverParam.getDriverId());
Assert.notNull(driver, () -> Exceptions.clierr("司机不存在")); Assert.notNull(driver, () -> Exceptions.clierr("司机不存在"));
@ -171,7 +228,7 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
// 更新运输信息表 cst_trans_order 的运输状态等信息 // 更新运输信息表 cst_trans_order 的运输状态等信息
OrderTransEntity transEntity = new OrderTransEntity(); OrderTransEntity transEntity = new OrderTransEntity();
transEntity.setId(driverParam.getOrderTransId()); transEntity.setId(driverParam.getOrderTransId());
transEntity.setTransStatus(TransStatus.DaiJieDan.getVal()); transEntity.setTransStatus(TransStatus.DaiJieDan);
transEntity.setAssignmentDriverTime(LocalDateTime.now()); transEntity.setAssignmentDriverTime(LocalDateTime.now());
transEntity.setDriverId(driverParam.getDriverId()); transEntity.setDriverId(driverParam.getDriverId());
transEntity.setDriverCustomerId(driver.getCustomerId()); transEntity.setDriverCustomerId(driver.getCustomerId());
@ -194,7 +251,7 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
OrderTransResult result = orderTransMapper.getById(acceptOrderParam.getOrderTransId()); OrderTransResult result = orderTransMapper.getById(acceptOrderParam.getOrderTransId());
Assert.notNull(result, () -> Exceptions.clierr("订单不存在")); 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(); long userId = SecurityUtil.currentUserId();
DriverEntity driver = driverMapper.selectOne(Wrappers.<DriverEntity>lambdaQuery() DriverEntity driver = driverMapper.selectOne(Wrappers.<DriverEntity>lambdaQuery()
@ -208,12 +265,13 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
// 更新运输信息 // 更新运输信息
OrderTransEntity transEntity = new OrderTransEntity(); OrderTransEntity transEntity = new OrderTransEntity();
transEntity.setId(acceptOrderParam.getOrderTransId()); transEntity.setId(acceptOrderParam.getOrderTransId());
transEntity.setTransStatus(TransStatus.YiJieDan.getVal()); transEntity.setTransStatus(TransStatus.YiJieDan);
transEntity.setDriverConfirmTime(LocalDateTime.now()); transEntity.setDriverConfirmTime(LocalDateTime.now());
transEntity.setTruckCustomerId(truckEntity.getCustomerId()); transEntity.setTruckCustomerId(truckEntity.getCustomerId());
transEntity.setTruckOrgId(truckEntity.getOrgId()); transEntity.setTruckOrgId(truckEntity.getOrgId());
transEntity.setTruckId(acceptOrderParam.getTruckId()); transEntity.setTruckId(acceptOrderParam.getTruckId());
transEntity.setTruckLicensePlate(truckEntity.getLicensePlate()); transEntity.setTruckLicensePlate(truckEntity.getLicensePlate());
transEntity.setHistoryTareWeight(truckEntity.getTareWeight());
orderTransMapper.updateById(transEntity); orderTransMapper.updateById(transEntity);
// 更新车辆状态 // 更新车辆状态
@ -231,17 +289,82 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
OrderTransResult result = orderTransMapper.getById(transParam.getOrderTransId()); OrderTransResult result = orderTransMapper.getById(transParam.getOrderTransId());
Assert.notNull(result, () -> Exceptions.clierr("订单不存在")); 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(); OrderTransEntity transEntity = new OrderTransEntity();
transEntity.setId(transParam.getOrderTransId()); transEntity.setId(transParam.getOrderTransId());
transEntity.setTransStatus(TransStatus.YunShuZhong.getVal()); transEntity.setTransStatus(TransStatus.YunShuZhong);
transEntity.setTransTime(LocalDateTime.now()); transEntity.setTransTime(LocalDateTime.now());
orderTransMapper.updateById(transEntity); 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);
}
/** /**
* *
* *

View File

@ -68,8 +68,8 @@ public class OrderTransService extends ServiceImpl<OrderTransMapper, OrderTransE
.like(StrUtil.isNotBlank(param.getSn()), "co.sn", param.getSn()) .like(StrUtil.isNotBlank(param.getSn()), "co.sn", param.getSn())
.eq(param.getTrainNum() != null, "cot.train_num", param.getTrainNum()) .eq(param.getTrainNum() != null, "cot.train_num", param.getTrainNum())
.like(StrUtil.isNotBlank(param.getStationName()), "co.station_name", param.getStationName()) .like(StrUtil.isNotBlank(param.getStationName()), "co.station_name", param.getStationName())
.eq(StrUtil.isNotBlank(param.getOrderStatus()), "co.order_status", param.getOrderStatus()) .eq(param.getOrderStatus() != null, "co.order_status", param.getOrderStatus())
.eq(StrUtil.isNotBlank(param.getTransStatus()), "cot.trans_status", param.getTransStatus()); .eq(param.getTransStatus() != null, "cot.trans_status", param.getTransStatus());
} }
// 管理员查看全部,非管理员按身份过滤 // 管理员查看全部,非管理员按身份过滤
if (!SecurityUtil.isAdmin()) { if (!SecurityUtil.isAdmin()) {

View File

@ -0,0 +1,26 @@
package com.njzscloud.dispose.goods.contant;
import com.njzscloud.common.core.ienum.DictStr;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
* unit
*
*
* @author ljw
*/
@Getter
@RequiredArgsConstructor
public enum Unit implements DictStr {
CHE("che", "车"),
DUN("dun", "吨");
private final String val;
private final String txt;
}

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.njzscloud.dispose.common.pojo.entity.BaseEntity; import com.njzscloud.dispose.common.pojo.entity.BaseEntity;
import com.njzscloud.dispose.finance.pojo.entity.ExpenseItemEntity; import com.njzscloud.dispose.finance.pojo.entity.ExpenseItemEntity;
import com.njzscloud.dispose.goods.contant.Unit;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
@ -26,6 +27,12 @@ public class GoodsEntity extends BaseEntity {
*/ */
private Long goodsCategoryId; private Long goodsCategoryId;
/**
*
*/
@TableField(exist = false)
private String goodsCategoryName;
/** /**
* *
*/ */
@ -49,7 +56,7 @@ public class GoodsEntity extends BaseEntity {
/** /**
* unit * unit
*/ */
private String unit; private Unit unit;
/** /**
* *
@ -65,6 +72,7 @@ public class GoodsEntity extends BaseEntity {
* *
*/ */
private String memo; private String memo;
/** /**
* *
*/ */

View File

@ -12,7 +12,9 @@ import com.njzscloud.dispose.finance.pojo.entity.ExpenseItemEntity;
import com.njzscloud.dispose.finance.pojo.param.AddExpenseItemParam; import com.njzscloud.dispose.finance.pojo.param.AddExpenseItemParam;
import com.njzscloud.dispose.finance.pojo.param.ModifyExpenseItemParam; import com.njzscloud.dispose.finance.pojo.param.ModifyExpenseItemParam;
import com.njzscloud.dispose.finance.service.ExpenseItemService; import com.njzscloud.dispose.finance.service.ExpenseItemService;
import com.njzscloud.dispose.goods.mapper.GoodsCategoryMapper;
import com.njzscloud.dispose.goods.mapper.GoodsMapper; import com.njzscloud.dispose.goods.mapper.GoodsMapper;
import com.njzscloud.dispose.goods.pojo.entity.GoodsCategoryEntity;
import com.njzscloud.dispose.goods.pojo.entity.GoodsEntity; import com.njzscloud.dispose.goods.pojo.entity.GoodsEntity;
import com.njzscloud.dispose.goods.pojo.param.AddGoodsParam; import com.njzscloud.dispose.goods.pojo.param.AddGoodsParam;
import com.njzscloud.dispose.goods.pojo.param.ModifyGoodsParam; import com.njzscloud.dispose.goods.pojo.param.ModifyGoodsParam;
@ -35,6 +37,7 @@ import java.util.List;
public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, GoodsEntity> implements GoodsService { public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, GoodsEntity> implements GoodsService {
private final ExpenseItemService expenseItemService; private final ExpenseItemService expenseItemService;
private final GoodsCategoryMapper goodsCategoryMapper;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -94,6 +97,9 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, GoodsEntity> impl
for (GoodsEntity goods : page.getRecords()) { for (GoodsEntity goods : page.getRecords()) {
goods.setExpenseItem(expenseItemService.getOne(Wrappers.<ExpenseItemEntity>lambdaQuery() goods.setExpenseItem(expenseItemService.getOne(Wrappers.<ExpenseItemEntity>lambdaQuery()
.eq(ExpenseItemEntity::getGoodsId, goods.getId()))); .eq(ExpenseItemEntity::getGoodsId, goods.getId())));
goods.setGoodsCategoryName(goodsCategoryMapper.selectOne(Wrappers.<GoodsCategoryEntity>lambdaQuery()
.eq(GoodsCategoryEntity::getId, goods.getGoodsCategoryId())).getCategoryName());
} }
return PageResult.of(page); return PageResult.of(page);
} }

View File

@ -102,7 +102,7 @@ public class OutOrderService extends ServiceImpl<OutOrderMapper, OutOrderEntity>
* @return sn * @return sn
*/ */
public String generateSn() { public String generateSn() {
String sn = SnUtil.next("In-Order-SN"); String sn = SnUtil.next("Out-Order-SN");
if (this.exists(Wrappers.<OutOrderEntity>lambdaQuery().eq(OutOrderEntity::getSn, sn) if (this.exists(Wrappers.<OutOrderEntity>lambdaQuery().eq(OutOrderEntity::getSn, sn)
.eq(OutOrderEntity::getDeleted, Boolean.FALSE))) { .eq(OutOrderEntity::getDeleted, Boolean.FALSE))) {
this.generateSn(); this.generateSn();

View File

@ -38,6 +38,7 @@ public class PurchaseOrderService extends ServiceImpl<PurchaseOrderMapper, Purch
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void add(PurchaseOrderEntity orderEntity) { public void add(PurchaseOrderEntity orderEntity) {
orderEntity.setSn(this.generateSn()); orderEntity.setSn(this.generateSn());
orderEntity.setPurchaseOrderStatus(PurchaseOrderStatus.JinXingZhong);
this.save(orderEntity); this.save(orderEntity);
} }

View File

@ -40,6 +40,7 @@ public class SalesOrderService extends ServiceImpl<SalesOrderMapper, SalesOrderE
public void add(AddSalesOrderParam param) { public void add(AddSalesOrderParam param) {
SalesOrderEntity entity = BeanUtil.copyProperties(param, SalesOrderEntity.class); SalesOrderEntity entity = BeanUtil.copyProperties(param, SalesOrderEntity.class);
entity.setSn(this.generateSn()); entity.setSn(this.generateSn());
entity.setSalesOrderStatus(SalesOrderStatus.JinXingZhong);
this.save(entity); this.save(entity);
} }

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njzscloud.dispose.cst.order.mapper.OrderTransMapper"> <mapper namespace="com.njzscloud.dispose.cst.order.mapper.OrderTransMapper">
<resultMap id="BaseResultMap" type="com.njzscloud.dispose.cst.order.pojo.result.OrderTransResult"> <resultMap id="BaseResultMap" autoMapping="true" type="com.njzscloud.dispose.cst.order.pojo.result.OrderTransResult">
<id column="id" property="id"/> <id column="id" property="id"/>
<result column="train_num" property="trainNum"/> <result column="train_num" property="trainNum"/>
<result column="order_id" property="orderId"/> <result column="order_id" property="orderId"/>
@ -14,7 +14,7 @@
<result column="checker_id" property="checkerId"/> <result column="checker_id" property="checkerId"/>
<result column="check_status" property="checkStatus"/> <result column="check_status" property="checkStatus"/>
<result column="check_time" property="checkTime"/> <result column="check_time" property="checkTime"/>
<result column="check_photo" property="checkPhoto"/> <result column="check_photo" property="checkPhoto" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
<result column="checker_memo" property="checkerMemo"/> <result column="checker_memo" property="checkerMemo"/>
<result column="driver_id" property="driverId"/> <result column="driver_id" property="driverId"/>
<result column="driver_customer_id" property="driverCustomerId"/> <result column="driver_customer_id" property="driverCustomerId"/>
@ -48,6 +48,7 @@
<result column="trans_org_id" property="transOrgId"/> <result column="trans_org_id" property="transOrgId"/>
<result column="trans_customer_id" property="transCustomerId"/> <result column="trans_customer_id" property="transCustomerId"/>
<result column="assignment_trans_time" property="assignmentTransTime"/> <result column="assignment_trans_time" property="assignmentTransTime"/>
<result column="order_category" property="orderCategory"/>
<result column="order_status" property="orderStatus"/> <result column="order_status" property="orderStatus"/>
<result column="customer_id" property="customerId"/> <result column="customer_id" property="customerId"/>
<result column="order_time" property="orderTime"/> <result column="order_time" property="orderTime"/>
@ -105,6 +106,7 @@
co.trans_org_id AS trans_org_id, co.trans_org_id AS trans_org_id,
co.trans_customer_id AS trans_customer_id, co.trans_customer_id AS trans_customer_id,
co.assignment_trans_time AS assignment_trans_time, co.assignment_trans_time AS assignment_trans_time,
co.order_category,
co.order_status, co.order_status,
co.customer_id, co.customer_id,
co.order_time, co.order_time,