|
|
@@ -1,6 +1,7 @@
|
|
|
package com.sckw.mine.service;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
@@ -77,10 +78,10 @@ public class MineService {
|
|
|
Long orderId = new IdWorker(1L).nextId();
|
|
|
KwBusinessMineOrder kwBusinessMineOrder = BeanUtil.copyProperties(mineAddParam, KwBusinessMineOrder.class);
|
|
|
//生成订单编号
|
|
|
- String mineOrderNo = orderServerCommon.generatorNum("M", 13);
|
|
|
+ String mineOrderNo = orderServerCommon.generatorNum("M", 8);
|
|
|
|
|
|
//生成物流订单编号- 空了再来封装了
|
|
|
- String usualTransportOrderNo = orderServerCommon.generatorNum("O", 12);
|
|
|
+ String usualTransportOrderNo = orderServerCommon.generatorNum("O", 8);
|
|
|
kwBusinessMineOrder.setId(orderId);
|
|
|
kwBusinessMineOrder.setMineOrderNo(mineOrderNo);
|
|
|
kwBusinessMineOrder.setTenantId(TenantUtil.getTenant()); //租户id
|
|
|
@@ -106,7 +107,8 @@ public class MineService {
|
|
|
mineMapper.insert(kwBusinessMine);
|
|
|
}
|
|
|
//添加操作记录
|
|
|
- orderServerCommon.saveActionTrack(orderId, String.valueOf(mineAddParam.getStatus()), null, "T");
|
|
|
+ orderServerCommon.saveActionTrack(orderId, String.valueOf(1), "确认下单", "确认下单", true);
|
|
|
+ orderServerCommon.saveActionTrack(orderId, String.valueOf(2), "订单审核", "订单审核", false);
|
|
|
|
|
|
return "添加成功";
|
|
|
} catch (Exception e) {
|
|
|
@@ -123,6 +125,16 @@ public class MineService {
|
|
|
public HttpResult pageList(MineOrderPageListParam param) {
|
|
|
PageHelper.startPage(param.getPage(), param.getPageSize());
|
|
|
List<MineOrderPageListRes> businessTruckPageListRes = mineOrderMapper.mineOrderPageList(param);
|
|
|
+
|
|
|
+ Map<String, Map<String, String>> dict = orderDictService.queryDictByType(new ArrayList<>(
|
|
|
+ Arrays.asList(OrderDictTypeEnum.GOODS_UNIT.getType())));
|
|
|
+ Map<String, String> GoodsUnitMap;
|
|
|
+ if (CollectionUtils.isNotEmpty(dict)) {
|
|
|
+ GoodsUnitMap = CollectionUtils.isNotEmpty(dict.get(OrderDictTypeEnum.GOODS_UNIT.getType())) ? dict.get(OrderDictTypeEnum.GOODS_UNIT.getType()) : new HashMap<>(16);
|
|
|
+ } else {
|
|
|
+ GoodsUnitMap = new HashMap<>(16);
|
|
|
+ }
|
|
|
+
|
|
|
businessTruckPageListRes.forEach(e -> {
|
|
|
if (ObjectUtils.isNotNull(e.getOrderSource())) {
|
|
|
e.setOrderSourceStr(e.getOrderSource() == 1 ? "生产自建" : "销售流转");
|
|
|
@@ -130,6 +142,12 @@ public class MineService {
|
|
|
if (ObjectUtils.isNotNull(e.getStatus())){
|
|
|
e.setStatusStr(getStatusStr(e.getStatus()));
|
|
|
}
|
|
|
+ if (ObjectUtils.isNotNull(e.getUnit())){
|
|
|
+ e.setUnitStr(GoodsUnitMap.get(e.getUnit().toString()));
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(e.getIsTransport())){
|
|
|
+ e.setIsTransportStr(TransportUnderEnum.getNameByCode(e.getIsTransport()));
|
|
|
+ }
|
|
|
});
|
|
|
return HttpResult.ok(new PageRes<>(new PageInfo<>(businessTruckPageListRes)));
|
|
|
}
|
|
|
@@ -295,15 +313,17 @@ public class MineService {
|
|
|
|
|
|
for (int i = 0; i < orderFlowEnums.size(); i++) {
|
|
|
orderFlowEnums.get(i).setColor("gray");
|
|
|
-
|
|
|
+ //orderFlowEnums.get(i).setStatus(Global.NUMERICAL_ZERO);
|
|
|
for (KwBusinessActionTrack track : actionTracks) {
|
|
|
if (orderFlowEnums.get(i).getCode().equals(track.getStatus())) {
|
|
|
orderFlowEnums.get(i).setColor("green");
|
|
|
+ orderFlowEnums.get(i).setTime(track.getCreateTime());
|
|
|
+ orderFlowEnums.get(i).setCreateBy(track.getCreateBy());
|
|
|
cancelIndex = i; // 更新取消前最后一个执行节点的索引
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- if (track.getStatus().equals("20") && !cancelFound) {
|
|
|
+ if ("20".equals(track.getStatus()) && !cancelFound) {
|
|
|
cancelFound = true;
|
|
|
if (cancelIndex != -1) { // 确保有一个被执行的节点在前
|
|
|
orderFlowEnums.get(cancelIndex).setColor("orange");
|
|
|
@@ -311,7 +331,7 @@ public class MineService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (track.getStatus().equals("15") && !rejectFound) {
|
|
|
+ if ("15".equals(track.getStatus()) && !rejectFound) {
|
|
|
rejectFound = true;
|
|
|
if (cancelIndex != -1) { // 确保有一个被执行的节点在前
|
|
|
orderFlowEnums.get(cancelIndex).setColor("orange");
|
|
|
@@ -322,21 +342,33 @@ public class MineService {
|
|
|
}
|
|
|
|
|
|
// 如果没有执行任何节点就直接取消了,且只有一个取消记录,需要特殊处理
|
|
|
- if (cancelFound && cancelIndex == Global.MINUS_ONE && actionTracks.size() == Global.ADDRESS_LOAD) {
|
|
|
+ if (cancelFound && cancelIndex == Global.MINUS_ONE && actionTracks.size() == Global.NUMERICAL_ONE) {
|
|
|
orderFlowEnums.get(0).setColor("orange");
|
|
|
orderFlowEnums.get(0).setName(orderFlowEnums.get(0).getName() + cancelNameAppend);
|
|
|
+ orderFlowEnums.get(0).setStatus(Global.NUMERICAL_ONE);
|
|
|
}
|
|
|
|
|
|
// 类似的,如果直接驳回且无其他执行记录,也需要处理
|
|
|
- if (rejectFound && cancelIndex == Global.MINUS_ONE && actionTracks.size() == Global.ADDRESS_LOAD) {
|
|
|
+ if (rejectFound && cancelIndex == Global.MINUS_ONE && actionTracks.size() == Global.NUMERICAL_ONE) {
|
|
|
orderFlowEnums.get(0).setColor("orange");
|
|
|
orderFlowEnums.get(0).setName(orderFlowEnums.get(0).getName() + rejectNameAppend);
|
|
|
+ orderFlowEnums.get(0).setStatus(Global.NUMERICAL_ONE);
|
|
|
+ }
|
|
|
+ for (NodeStatusDTO orderFlowEnum : orderFlowEnums) {
|
|
|
+ if (orderFlowEnum.getColor().equals("green") || orderFlowEnum.getColor().equals("orange")) {
|
|
|
+ if (orderFlowEnum.getColor().equals("orange")){
|
|
|
+ //表示取消或者驳回
|
|
|
+ orderFlowEnum.setIsCancel(Global.NUMERICAL_ONE);
|
|
|
+ }
|
|
|
+ orderFlowEnum.setStatus(Global.NUMERICAL_ONE);
|
|
|
+ }else{
|
|
|
+ orderFlowEnum.setStatus(Global.NUMERICAL_ZERO);
|
|
|
+ }
|
|
|
}
|
|
|
- return orderFlowEnums;
|
|
|
-
|
|
|
- }
|
|
|
|
|
|
+ return orderFlowEnums;
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -351,17 +383,22 @@ public class MineService {
|
|
|
{
|
|
|
throw new RuntimeException("未找到当前订单");
|
|
|
}
|
|
|
- if(kwBusinessMineorder.getIsTransport() != 2){
|
|
|
- throw new RuntimeException("当前订单不是非自有订单");
|
|
|
- }
|
|
|
if (kwBusinessMineorder.getStatus().equals(String.valueOf(MineStatusEnum.TWENTY.getCode()))) {
|
|
|
throw new RuntimeException("当前订单已取消,请勿重复操作");
|
|
|
}
|
|
|
kwBusinessMineorder.setStatus(String.valueOf(MineStatusEnum.TWENTY.getCode()));
|
|
|
mineOrderMapper.updateById(kwBusinessMineorder);
|
|
|
|
|
|
+ LambdaUpdateWrapper<KwBusinessActionTrack> objectLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
+
|
|
|
+ //所有状态都修改成已完操作过
|
|
|
+ objectLambdaUpdateWrapper.set(KwBusinessActionTrack::getIsAction, Global.NUMERICAL_ONE)
|
|
|
+ .eq(KwBusinessActionTrack::getMineOrderId, completeOrderParam.getOrderId())
|
|
|
+ .eq(KwBusinessActionTrack::getDelFlag, Global.NUMERICAL_ZERO);
|
|
|
+ kwBusinessActionTrackMapper.update(null, objectLambdaUpdateWrapper);
|
|
|
+
|
|
|
String nameByCode = MineStatusEnum.getNameByCode(MineStatusEnum.TWENTY.getCode());
|
|
|
- orderServerCommon.saveActionTrack(Long.valueOf(completeOrderParam.getOrderId()), String.valueOf(MineStatusEnum.TWENTY.getCode()), nameByCode,nameByCode);
|
|
|
+ orderServerCommon.saveActionTrack(Long.valueOf(completeOrderParam.getOrderId()), String.valueOf(MineStatusEnum.TWENTY.getCode()), nameByCode,nameByCode, false);
|
|
|
|
|
|
return "取消成功";
|
|
|
|