给配件主单增加是否派发服务主单字段

This commit is contained in:
cb 2025-06-20 11:33:53 +08:00
parent ea0233425e
commit c726bf91d4
4 changed files with 24 additions and 6 deletions

View File

@ -1953,9 +1953,9 @@ public class OrderController extends BaseController {
return AjaxResult.error("当前订单不是配件订单,无法生成服务订单");
}
// 检查是否已经有对应的服务商品
if (accessoryOrderMaster.getServerGoodsId() == null) {
return AjaxResult.error("配件订单未关联服务商品,无法生成服务订单");
// 检查是否已经派发过服务订单
if (accessoryOrderMaster.getHasServiceOrder() != null && accessoryOrderMaster.getHasServiceOrder() == 1) {
return AjaxResult.error("该配件订单已经派发过服务订单,不能重复操作");
}
// 获取服务商品信息
@ -2043,10 +2043,11 @@ public class OrderController extends BaseController {
);
orderGoodsService.insertOrderGoods(serviceOrderGoods);
// 更新配件主单关联生成的服务订单
// 更新配件主单关联生成的服务订单并标记已派发服务订单
OrderMaster accessoryUpdate = new OrderMaster();
accessoryUpdate.setId(accessoryOrderMaster.getId());
accessoryUpdate.setRemark(accessoryOrderMaster.getRemark() + " [已生成服务订单:" + serviceOrderMaster.getCode() + ",服务金额:" + serviceMoney + "]");
accessoryUpdate.setHasServiceOrder(1); // 标记已派发服务订单
orderMasterService.updateOrderMaster(accessoryUpdate);
// 通知服务师傅新订单

View File

@ -1790,6 +1790,12 @@ public class OrderMasterController extends BaseController {
// 退还服务金额到商品订单
refundServerMoneyToGoodsOrder(orderMaster.getGoodsOrderMasterId(), orderMaster.getServerGoodsMoney());
// 重置配件主单的服务订单派发状态
OrderMaster goodsOrderUpdate = new OrderMaster();
goodsOrderUpdate.setId(orderMaster.getGoodsOrderMasterId());
goodsOrderUpdate.setHasServiceOrder(0); // 重置为未派发状态
orderMasterService.updateOrderMaster(goodsOrderUpdate);
}
// 清空id

View File

@ -245,4 +245,9 @@ public class OrderMaster extends BaseEntity {
private Long goodsOrderMasterId;
private String trackingNumber;
/**
* 是否已派发服务订单0=未派发1=已派发
*/
private Integer hasServiceOrder;
}

View File

@ -55,6 +55,7 @@
<result property="serverGoodsId" column="server_goods_id"/>
<result property="goodsOrderMasterId" column="goods_order_master_id"/>
<result property="trackingNumber" column="tracking_number"/>
<result property="hasServiceOrder" column="has_service_order"/>
</resultMap>
@ -107,7 +108,8 @@
server_goods_id,
goods_order_master_id,
tracking_number,
server_goods_money
server_goods_money,
has_service_order
FROM order_master
</sql>
@ -160,7 +162,8 @@
om.server_goods_id,
om.goods_order_master_id,
om.tracking_number,
om.server_goods_money
om.server_goods_money,
om.has_service_order
FROM order_master om
LEFT JOIN customer_address ca ON ca.customer_address_id = om.address_id
LEFT JOIN goods g ON g.goods_id = om.goods_id
@ -456,6 +459,7 @@
<if test="goodsOrderMasterId != null">goods_order_master_id = #{goodsOrderMasterId},</if>
<if test="trackingNumber != null">tracking_number = #{trackingNumber},</if>
<if test="serverGoodsMoney != null">server_goods_money = #{serverGoodsMoney},</if>
<if test="hasServiceOrder != null">has_service_order = #{hasServiceOrder},</if>
update_time = SYSDATE()
</set>
WHERE id = #{id}
@ -514,6 +518,7 @@
<if test="goodsOrderMasterId != null">goods_order_master_id,</if>
<if test="trackingNumber != null and trackingNumber != ''">tracking_number,</if>
<if test="serverGoodsMoney != null">server_goods_money,</if>
<if test="hasServiceOrder != null">has_service_order,</if>
create_time
)VALUES(
<if test="deptId != null and deptId != 0">#{deptId},</if>
@ -553,6 +558,7 @@
<if test="goodsOrderMasterId != null">#{goodsOrderMasterId},</if>
<if test="trackingNumber != null and trackingNumber != ''">#{trackingNumber},</if>
<if test="serverGoodsMoney != null">#{serverGoodsMoney},</if>
<if test="hasServiceOrder != null">#{hasServiceOrder},</if>
SYSDATE()
)
</insert>