no message
This commit is contained in:
parent
5489aaa620
commit
642038eef5
|
|
@ -580,12 +580,14 @@ public class OrderController extends BaseController {
|
|||
if (workIds.size() > 1 || !workIds.contains(om.getWorkerId())) {
|
||||
// 派完单 并且有其他师傅接单(包含其他人,监控单需要显示)
|
||||
om2up.setHasDispatchedAll(1);
|
||||
om2up.setAllSelfAssigned(1); // 1表示有其他师傅参与
|
||||
om2up.setAllSelfAssigned(0); // 保持原有含义:0表示有其他师傅参与
|
||||
om2up.setShowInMonitor(1); // 新字段:1表示显示在监控单
|
||||
om2up.setOrderStatus(OrderStatus.PLAIN.code());
|
||||
} else {
|
||||
// 派完单 但是只有自己接单(只有自己,监控单不显示)
|
||||
om2up.setHasDispatchedAll(1);
|
||||
om2up.setAllSelfAssigned(0); // 0表示只有自己承接
|
||||
om2up.setAllSelfAssigned(1); // 保持原有含义:1表示只有自己承接
|
||||
om2up.setShowInMonitor(0); // 新字段:0表示不显示在监控单
|
||||
if (request.getIsQuicklyDelivery() != null && request.getIsQuicklyDelivery() == 1) {
|
||||
om2up.setOrderStatus(OrderStatus.SERVER.code());
|
||||
} else {
|
||||
|
|
@ -593,10 +595,23 @@ public class OrderController extends BaseController {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
// 未派完单(还未完全派单,暂不显示在监控单)
|
||||
om2up.setAllSelfAssigned(0); // 0表示未完成派单或只有自己
|
||||
// 未派完单,但需要检查是否派给了非自己的师傅
|
||||
Set<Long> assignedWorkIds = orderDetailService.selectByOrderMasterId(om.getId()).stream()
|
||||
.map(OrderDetail::getWorkerId).collect(Collectors.toSet());
|
||||
|
||||
if (assignedWorkIds.size() > 1 || (assignedWorkIds.size() == 1 && !assignedWorkIds.contains(om.getWorkerId()))) {
|
||||
// 未派完单但派给了非自己的师傅,需要显示在监控单
|
||||
om2up.setAllSelfAssigned(0); // 保持原有含义:0表示有其他师傅参与
|
||||
om2up.setShowInMonitor(1); // 新字段:1表示显示在监控单
|
||||
om2up.setHasDispatchedAll(0);
|
||||
om2up.setOrderStatus(OrderStatus.PLAIN.code());
|
||||
} else {
|
||||
// 未派完单且只派给了自己或还没有派单,不显示在监控单
|
||||
om2up.setAllSelfAssigned(1); // 保持原有含义:1示未完成派单或只有自己
|
||||
om2up.setShowInMonitor(0); // 新字段:0表示不显示在监控单
|
||||
om2up.setHasDispatchedAll(0);
|
||||
om2up.setOrderStatus(OrderStatus.PLAIN.code());
|
||||
}
|
||||
}
|
||||
orderMasterService.updateOrderMaster(om2up);
|
||||
logger.info("是否已经全部派完单{}", om2up);
|
||||
|
|
@ -2422,23 +2437,25 @@ public class OrderController extends BaseController {
|
|||
logger.warn("配件订单[{}]未找到对应的财务主单,无法扣除服务金额", accessoryOrderMaster.getCode());
|
||||
}
|
||||
|
||||
if (!CollectionUtils.isEmpty(serviceGoodsList)) {
|
||||
Goods firstServiceGoods = serviceGoodsList.get(0); // 取第一个服务商品
|
||||
// 获取配件订单的商品信息
|
||||
List<OrderGoods> accessoryOrderGoodsList = orderGoodsService.selectByOrderMasterId(accessoryOrderMaster.getId());
|
||||
if (!CollectionUtils.isEmpty(accessoryOrderGoodsList)) {
|
||||
OrderGoods firstAccessoryGoods = accessoryOrderGoodsList.get(0); // 取第一个配件商品
|
||||
OrderGoods serviceOrderGoods = new OrderGoods();
|
||||
serviceOrderGoods.setOrderId(serviceOrderMaster.getId());
|
||||
serviceOrderGoods.setGoodsStandardId(firstServiceGoods.getDeptGoodsCategoryId()); // 用标准ID
|
||||
serviceOrderGoods.setGoodsName(firstServiceGoods.getGoodsName());
|
||||
serviceOrderGoods.setGoodsNum(1); // 数量为1
|
||||
serviceOrderGoods.setRemark("由配件订单自动生成的服务商品,服务金额:" + serviceMoney);
|
||||
serviceOrderGoods.setGoodsStandardId(firstAccessoryGoods.getGoodsStandardId()); // 使用配件商品的标准ID
|
||||
serviceOrderGoods.setGoodsName(firstAccessoryGoods.getGoodsName()); // 使用配件商品的名称
|
||||
serviceOrderGoods.setGoodsNum(firstAccessoryGoods.getGoodsNum()); // 使用配件商品的数量
|
||||
serviceOrderGoods.setRemark("由配件订单[" + accessoryOrderMaster.getCode() + "]自动生成的服务商品,服务金额:" + serviceMoney);
|
||||
serviceOrderGoods.setCreateTime(new Date());
|
||||
|
||||
// 保存OrderGoods
|
||||
orderGoodsService.insertOrderGoods(serviceOrderGoods);
|
||||
logger.info("为服务订单[{}]生成服务商品[{}],商品ID:{},金额:{}",
|
||||
serviceOrderMaster.getCode(), firstServiceGoods.getGoodsName(),
|
||||
firstServiceGoods.getGoodsId(), serviceMoney);
|
||||
logger.info("为服务订单[{}]生成服务商品[{}],商品标准ID:{},数量:{},金额:{}",
|
||||
serviceOrderMaster.getCode(), firstAccessoryGoods.getGoodsName(),
|
||||
firstAccessoryGoods.getGoodsStandardId(), firstAccessoryGoods.getGoodsNum(), serviceMoney);
|
||||
} else {
|
||||
logger.warn("服务店铺[{}]没有找到服务商品,无法生成OrderGoods", serviceShopId);
|
||||
logger.warn("配件订单[{}]没有找到商品信息,无法生成OrderGoods", accessoryOrderMaster.getCode());
|
||||
}
|
||||
|
||||
// 更新配件主单,关联生成的服务订单并标记已派发服务订单
|
||||
|
|
|
|||
|
|
@ -1982,6 +1982,7 @@ public class OrderMasterController extends BaseController {
|
|||
orderListResponse.setShop(shop);
|
||||
orderListResponse.setServiceShop(serviceShop);
|
||||
|
||||
orderListResponse.setOriginalWorkerId(goodsOrderMaster != null ? goodsOrderMaster.getWorkerId() : null);
|
||||
orderListResponse.setGoodsOrderMasterId(orderMaster.getGoodsOrderMasterId());
|
||||
orderListResponse.setGoods(goods);
|
||||
orderListResponse.setTrackingNumber(orderMaster.getTrackingNumber());
|
||||
|
|
|
|||
|
|
@ -348,6 +348,12 @@ public class OrderMaster extends BaseEntity {
|
|||
*/
|
||||
private Boolean includeOriginalWorker;
|
||||
|
||||
/**
|
||||
* 是否显示在监控单:0=不显示,1=显示在监控单
|
||||
*/
|
||||
@Excel(name = "是否显示在监控单", cellType = Excel.ColumnType.NUMERIC, readConverterExp = "0=不显示,1=显示在监控单")
|
||||
private Integer showInMonitor;
|
||||
|
||||
/**
|
||||
* 更新时间别名字段(用于SQL查询中的update_time别名映射)
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@
|
|||
<result property="workerRemark" column="worker_remark"/>
|
||||
<result property="shareAccountCountdownEndTime" column="share_account_countdown_end_time"/>
|
||||
<result property="shareAccountCountdownDuration" column="share_account_countdown_duration"/>
|
||||
<result property="showInMonitor" column="show_in_monitor"/>
|
||||
|
||||
</resultMap>
|
||||
|
||||
|
|
@ -143,7 +144,8 @@
|
|||
worker_remark,
|
||||
after_service_status,
|
||||
share_account_countdown_end_time,
|
||||
share_account_countdown_duration
|
||||
share_account_countdown_duration,
|
||||
show_in_monitor
|
||||
FROM order_master
|
||||
</sql>
|
||||
<sql id="selectOrderMasterMoreInfo">
|
||||
|
|
@ -213,7 +215,8 @@
|
|||
om.worker_remark,
|
||||
om.after_service_status,
|
||||
om.share_account_countdown_end_time,
|
||||
om.share_account_countdown_duration
|
||||
om.share_account_countdown_duration,
|
||||
om.show_in_monitor
|
||||
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
|
||||
|
|
@ -250,7 +253,7 @@
|
|||
AND ca.country_id = #{district}
|
||||
</if>
|
||||
<if test="isMonitoredOrder">
|
||||
AND om.all_self_assigned = 1 AND om.order_status in (0,1,2,3,4) and om.worker_id is not null
|
||||
AND om.show_in_monitor = 1 AND om.order_status in (0,1,2,3,4) and om.worker_id is not null
|
||||
</if>
|
||||
<if test="allSelfAssigned != null">
|
||||
AND all_self_assigned = #{allSelfAssigned}
|
||||
|
|
@ -399,7 +402,7 @@
|
|||
LEFT JOIN financial_master fm ON om.id = fm.order_master_id
|
||||
<where>
|
||||
<if test="isMonitoredOrder">
|
||||
AND om.all_self_assigned = 1 AND om.order_status in (1,2,3,4)
|
||||
AND om.show_in_monitor = 1 AND om.order_status in (1,2,3,4)
|
||||
</if>
|
||||
<if test="allSelfAssigned != null">
|
||||
AND all_self_assigned = #{allSelfAssigned}
|
||||
|
|
@ -511,6 +514,7 @@
|
|||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
<if test="allSelfAssigned != null">all_self_assigned = #{allSelfAssigned},</if>
|
||||
<if test="resetAllSelfAssigned">all_self_assigned = null,</if>
|
||||
<if test="showInMonitor != null">show_in_monitor = #{showInMonitor},</if>
|
||||
<if test="hasDispatchedAll != null">has_dispatched_all = #{hasDispatchedAll},</if>
|
||||
<if test="isCall != null">is_call = #{isCall},</if>
|
||||
<if test="isCharge != null">is_charge = #{isCharge},</if>
|
||||
|
|
|
|||
Loading…
Reference in New Issue