|
@@ -3,6 +3,7 @@ package com.qmth.sop.business.service.impl;
|
|
import com.alibaba.excel.EasyExcel;
|
|
import com.alibaba.excel.EasyExcel;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
@@ -25,7 +26,6 @@ import com.qmth.sop.common.enums.*;
|
|
import com.qmth.sop.common.util.FileUtil;
|
|
import com.qmth.sop.common.util.FileUtil;
|
|
import com.qmth.sop.common.util.GsonUtil;
|
|
import com.qmth.sop.common.util.GsonUtil;
|
|
import com.qmth.sop.common.util.ServletUtil;
|
|
import com.qmth.sop.common.util.ServletUtil;
|
|
-import com.sun.org.apache.xpath.internal.operations.Bool;
|
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
|
@@ -733,8 +733,7 @@ public class TBDeviceDeliveryServiceImpl extends ServiceImpl<TBDeviceDeliveryMap
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<DeviceSignResult> signList(String crmNo) {
|
|
public List<DeviceSignResult> signList(String crmNo) {
|
|
- return baseMapper.listDeviceSign(crmNo,
|
|
|
|
- Arrays.asList(DeviceDeliveryStatusEnum.DELIVER, DeviceDeliveryStatusEnum.USING));
|
|
|
|
|
|
+ return baseMapper.listDeviceSign(crmNo, Arrays.asList(DeviceDeliveryStatusEnum.DELIVER, DeviceDeliveryStatusEnum.USING));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -744,8 +743,7 @@ public class TBDeviceDeliveryServiceImpl extends ServiceImpl<TBDeviceDeliveryMap
|
|
if (Objects.isNull(deviceDelivery)) {
|
|
if (Objects.isNull(deviceDelivery)) {
|
|
throw ExceptionResultEnum.ERROR.exception(String.format("设备发货记录不存在,ID:[%s]", id));
|
|
throw ExceptionResultEnum.ERROR.exception(String.format("设备发货记录不存在,ID:[%s]", id));
|
|
}
|
|
}
|
|
- if (deviceDelivery.getStatus() != null && !deviceDelivery.getStatus()
|
|
|
|
- .equals(DeviceDeliveryStatusEnum.DELIVER)) {
|
|
|
|
|
|
+ if (deviceDelivery.getStatus() != null && !deviceDelivery.getStatus().equals(DeviceDeliveryStatusEnum.DELIVER)) {
|
|
throw ExceptionResultEnum.ERROR.exception("只能对未签收的设备做签收操作");
|
|
throw ExceptionResultEnum.ERROR.exception("只能对未签收的设备做签收操作");
|
|
}
|
|
}
|
|
long now = System.currentTimeMillis();
|
|
long now = System.currentTimeMillis();
|
|
@@ -756,8 +754,7 @@ public class TBDeviceDeliveryServiceImpl extends ServiceImpl<TBDeviceDeliveryMap
|
|
String.format("找不到中转设备的发货来源, 发货ID:[%s]", deviceDelivery.getSourceId()));
|
|
String.format("找不到中转设备的发货来源, 发货ID:[%s]", deviceDelivery.getSourceId()));
|
|
}
|
|
}
|
|
//中转设备的源记录的状态,修改为:中转已签收
|
|
//中转设备的源记录的状态,修改为:中转已签收
|
|
- this.update(new UpdateWrapper<TBDeviceDelivery>().lambda()
|
|
|
|
- .eq(TBDeviceDelivery::getId, deviceDelivery.getSourceId())
|
|
|
|
|
|
+ this.update(new UpdateWrapper<TBDeviceDelivery>().lambda().eq(TBDeviceDelivery::getId, deviceDelivery.getSourceId())
|
|
.set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.TRANSFER_SIGN)
|
|
.set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.TRANSFER_SIGN)
|
|
.set(TBDeviceDelivery::getReceiveUserId, userId).set(TBDeviceDelivery::getReceiveTime, now)
|
|
.set(TBDeviceDelivery::getReceiveUserId, userId).set(TBDeviceDelivery::getReceiveTime, now)
|
|
.set(TBDeviceDelivery::getEffect, Boolean.FALSE).set(TBDeviceDelivery::getUpdateId, userId)
|
|
.set(TBDeviceDelivery::getEffect, Boolean.FALSE).set(TBDeviceDelivery::getUpdateId, userId)
|
|
@@ -765,9 +762,9 @@ public class TBDeviceDeliveryServiceImpl extends ServiceImpl<TBDeviceDeliveryMap
|
|
}
|
|
}
|
|
//更新设备状态为使用中
|
|
//更新设备状态为使用中
|
|
this.update(new UpdateWrapper<TBDeviceDelivery>().lambda().eq(TBDeviceDelivery::getId, id)
|
|
this.update(new UpdateWrapper<TBDeviceDelivery>().lambda().eq(TBDeviceDelivery::getId, id)
|
|
- .set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.USING)
|
|
|
|
- .set(TBDeviceDelivery::getReceiveUserId, userId).set(TBDeviceDelivery::getReceiveTime, now)
|
|
|
|
- .set(TBDeviceDelivery::getUpdateId, userId).set(TBDeviceDelivery::getUpdateTime, now));
|
|
|
|
|
|
+ .set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.USING).set(TBDeviceDelivery::getReceiveUserId, userId)
|
|
|
|
+ .set(TBDeviceDelivery::getReceiveTime, now).set(TBDeviceDelivery::getUpdateId, userId)
|
|
|
|
+ .set(TBDeviceDelivery::getUpdateTime, now));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -787,17 +784,15 @@ public class TBDeviceDeliveryServiceImpl extends ServiceImpl<TBDeviceDeliveryMap
|
|
throw ExceptionResultEnum.ERROR.exception(
|
|
throw ExceptionResultEnum.ERROR.exception(
|
|
String.format("找不到中转设备的发货来源, 发货ID:[%s]", deviceDelivery.getSourceId()));
|
|
String.format("找不到中转设备的发货来源, 发货ID:[%s]", deviceDelivery.getSourceId()));
|
|
}
|
|
}
|
|
- this.update(new UpdateWrapper<TBDeviceDelivery>().lambda()
|
|
|
|
- .eq(TBDeviceDelivery::getId, deviceDelivery.getSourceId())
|
|
|
|
- .set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.TRANSFER)
|
|
|
|
- .set(TBDeviceDelivery::getEffect, Boolean.TRUE).set(TBDeviceDelivery::getUpdateId, userId)
|
|
|
|
- .set(TBDeviceDelivery::getUpdateTime, now));
|
|
|
|
|
|
+ this.update(new UpdateWrapper<TBDeviceDelivery>().lambda().eq(TBDeviceDelivery::getId, deviceDelivery.getSourceId())
|
|
|
|
+ .set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.TRANSFER).set(TBDeviceDelivery::getEffect, Boolean.TRUE)
|
|
|
|
+ .set(TBDeviceDelivery::getUpdateId, userId).set(TBDeviceDelivery::getUpdateTime, now));
|
|
}
|
|
}
|
|
|
|
|
|
this.update(new UpdateWrapper<TBDeviceDelivery>().lambda().eq(TBDeviceDelivery::getId, id)
|
|
this.update(new UpdateWrapper<TBDeviceDelivery>().lambda().eq(TBDeviceDelivery::getId, id)
|
|
- .set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.DELIVER)
|
|
|
|
- .set(TBDeviceDelivery::getReceiveUserId, null).set(TBDeviceDelivery::getReceiveTime, null)
|
|
|
|
- .set(TBDeviceDelivery::getUpdateId, userId).set(TBDeviceDelivery::getUpdateTime, now));
|
|
|
|
|
|
+ .set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.DELIVER).set(TBDeviceDelivery::getReceiveUserId, null)
|
|
|
|
+ .set(TBDeviceDelivery::getReceiveTime, null).set(TBDeviceDelivery::getUpdateId, userId)
|
|
|
|
+ .set(TBDeviceDelivery::getUpdateTime, now));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -881,8 +876,8 @@ public class TBDeviceDeliveryServiceImpl extends ServiceImpl<TBDeviceDeliveryMap
|
|
.eq(TBDeviceDelivery::getSerialNo, deviceDelivery.getSerialNo())
|
|
.eq(TBDeviceDelivery::getSerialNo, deviceDelivery.getSerialNo())
|
|
.eq(TBDeviceDelivery::getDeliveryType, InOutTypeEnum.IN));
|
|
.eq(TBDeviceDelivery::getDeliveryType, InOutTypeEnum.IN));
|
|
if (existDeviceDelivery != null) {
|
|
if (existDeviceDelivery != null) {
|
|
- this.update(new UpdateWrapper<TBDeviceDelivery>().lambda().set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.IN)
|
|
|
|
- .set(TBDeviceDelivery::getExpressNo, expressNo).set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.IN)
|
|
|
|
|
|
+ this.update(new UpdateWrapper<TBDeviceDelivery>().lambda().set(TBDeviceDelivery::getExpressNo, expressNo)
|
|
|
|
+ .set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.IN)
|
|
.set(TBDeviceDelivery::getDeliverTime, System.currentTimeMillis()).set(TBDeviceDelivery::getDeliverUserId, userId)
|
|
.set(TBDeviceDelivery::getDeliverTime, System.currentTimeMillis()).set(TBDeviceDelivery::getDeliverUserId, userId)
|
|
.set(TBDeviceDelivery::getEffect, Boolean.FALSE).set(TBDeviceDelivery::getUpdateId, userId)
|
|
.set(TBDeviceDelivery::getEffect, Boolean.FALSE).set(TBDeviceDelivery::getUpdateId, userId)
|
|
.set(TBDeviceDelivery::getUpdateTime, System.currentTimeMillis())
|
|
.set(TBDeviceDelivery::getUpdateTime, System.currentTimeMillis())
|
|
@@ -890,22 +885,7 @@ public class TBDeviceDeliveryServiceImpl extends ServiceImpl<TBDeviceDeliveryMap
|
|
.eq(TBDeviceDelivery::getId, existDeviceDelivery.getId()));
|
|
.eq(TBDeviceDelivery::getId, existDeviceDelivery.getId()));
|
|
} else {
|
|
} else {
|
|
//新建入库记录
|
|
//新建入库记录
|
|
- TBDeviceDelivery inDeviceDelivery = new TBDeviceDelivery();
|
|
|
|
- inDeviceDelivery.setCrmNo(deviceDelivery.getCrmNo());
|
|
|
|
- inDeviceDelivery.setSerialNo(deviceDelivery.getSerialNo());
|
|
|
|
- inDeviceDelivery.setUsageType(deviceDelivery.getUsageType());
|
|
|
|
- inDeviceDelivery.setSupplierId(deviceDelivery.getSupplierId());
|
|
|
|
- inDeviceDelivery.setExpressNo(expressNo);
|
|
|
|
- inDeviceDelivery.setDeliveryType(InOutTypeEnum.IN);
|
|
|
|
- inDeviceDelivery.setStatus(DeviceDeliveryStatusEnum.IN);
|
|
|
|
- inDeviceDelivery.setDeliverTime(System.currentTimeMillis());
|
|
|
|
- inDeviceDelivery.setDeliverUserId(userId);
|
|
|
|
- inDeviceDelivery.setCreateTime(System.currentTimeMillis());
|
|
|
|
- inDeviceDelivery.setCreateId(userId);
|
|
|
|
- inDeviceDelivery.setEffect(Boolean.FALSE);
|
|
|
|
- inDeviceDelivery.setDeviceStatus(deviceDelivery.getDeviceStatus());
|
|
|
|
- inDeviceDelivery.setRemark(remark);
|
|
|
|
- save(inDeviceDelivery);
|
|
|
|
|
|
+ saveInDeviceDelivery(expressNo, remark, userId, deviceDelivery);
|
|
}
|
|
}
|
|
|
|
|
|
//更改设备使用状态为入库
|
|
//更改设备使用状态为入库
|
|
@@ -951,11 +931,124 @@ public class TBDeviceDeliveryServiceImpl extends ServiceImpl<TBDeviceDeliveryMap
|
|
.set(TBDeviceDelivery::getUpdateTime, System.currentTimeMillis()).eq(TBDeviceDelivery::getId, id));
|
|
.set(TBDeviceDelivery::getUpdateTime, System.currentTimeMillis()).eq(TBDeviceDelivery::getId, id));
|
|
|
|
|
|
//新增一条发货记录
|
|
//新增一条发货记录
|
|
|
|
+ saveTransferDeviceDelivery(receiveCrmNo, expressNo, remark, userId, deviceDelivery);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional
|
|
|
|
+ public void devicePlaceEdit(DevicePlaceParam devicePlaceParam, Long userId) {
|
|
|
|
+ TBDeviceDelivery existDeviceDelivery = checkDevicePlace(devicePlaceParam);
|
|
|
|
+ //使用状态未发生变化
|
|
|
|
+ if (existDeviceDelivery.getStatus().name().equals(devicePlaceParam.getTransferStatus().name())) {
|
|
|
|
+ //入库
|
|
|
|
+ if (devicePlaceParam.getTransferStatus().equals(DeviceUseStatusEnum.IN)) {
|
|
|
|
+ this.update(
|
|
|
|
+ new UpdateWrapper<TBDeviceDelivery>().lambda().set(TBDeviceDelivery::getExpressNo, devicePlaceParam.getExpressNo())
|
|
|
|
+ .set(TBDeviceDelivery::getEffect, Boolean.FALSE).set(TBDeviceDelivery::getUpdateId, userId)
|
|
|
|
+ .set(TBDeviceDelivery::getUpdateTime, System.currentTimeMillis())
|
|
|
|
+ .set(TBDeviceDelivery::getRemark, devicePlaceParam.getRemark())
|
|
|
|
+ .set(TBDeviceDelivery::getMailType, devicePlaceParam.getTransferMode())
|
|
|
|
+ .eq(TBDeviceDelivery::getId, existDeviceDelivery.getId()));
|
|
|
|
+ }
|
|
|
|
+ //中转
|
|
|
|
+ if (devicePlaceParam.getTransferStatus().equals(DeviceUseStatusEnum.TRANSFER)) {
|
|
|
|
+ this.update(new UpdateWrapper<TBDeviceDelivery>().lambda().set(TBDeviceDelivery::getEffect, Boolean.FALSE)
|
|
|
|
+ .set(TBDeviceDelivery::getRemark, devicePlaceParam.getRemark())
|
|
|
|
+ .set(TBDeviceDelivery::getMailType, devicePlaceParam.getTransferMode()).set(TBDeviceDelivery::getUpdateId, userId)
|
|
|
|
+ .set(TBDeviceDelivery::getUpdateTime, System.currentTimeMillis())
|
|
|
|
+ .eq(TBDeviceDelivery::getId, existDeviceDelivery.getId()));
|
|
|
|
+ //更新接收方的信息
|
|
|
|
+ this.update(
|
|
|
|
+ new UpdateWrapper<TBDeviceDelivery>().lambda().set(TBDeviceDelivery::getCrmNo, devicePlaceParam.getReceiveCrmNo())
|
|
|
|
+ .set(TBDeviceDelivery::getExpressNo, devicePlaceParam.getExpressNo())
|
|
|
|
+ .set(TBDeviceDelivery::getRemark, devicePlaceParam.getRemark()).set(TBDeviceDelivery::getUpdateId, userId)
|
|
|
|
+ .set(TBDeviceDelivery::getUpdateTime, System.currentTimeMillis())
|
|
|
|
+ .eq(TBDeviceDelivery::getSourceId, existDeviceDelivery.getId())
|
|
|
|
+ .eq(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.DELIVER));
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //入库->中转
|
|
|
|
+ if (devicePlaceParam.getTransferStatus().equals(DeviceUseStatusEnum.TRANSFER)) {
|
|
|
|
+ //删除入库记录
|
|
|
|
+ LambdaQueryWrapper<TBDeviceDelivery> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper.eq(TBDeviceDelivery::getCrmNo, existDeviceDelivery.getCrmNo());
|
|
|
|
+ queryWrapper.eq(TBDeviceDelivery::getSerialNo, existDeviceDelivery.getSerialNo());
|
|
|
|
+ queryWrapper.eq(TBDeviceDelivery::getDeliveryType, InOutTypeEnum.IN);
|
|
|
|
+ queryWrapper.eq(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.IN);
|
|
|
|
+ baseMapper.delete(queryWrapper);
|
|
|
|
+ //写入一条中转记录
|
|
|
|
+ saveTransferDeviceDelivery(devicePlaceParam.getReceiveCrmNo(), devicePlaceParam.getExpressNo(),
|
|
|
|
+ devicePlaceParam.getRemark(), userId, existDeviceDelivery);
|
|
|
|
+ //更新状态为中转
|
|
|
|
+ this.update(
|
|
|
|
+ new UpdateWrapper<TBDeviceDelivery>().lambda().set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.TRANSFER)
|
|
|
|
+ .set(TBDeviceDelivery::getEffect, Boolean.FALSE)
|
|
|
|
+ .set(TBDeviceDelivery::getRemark, devicePlaceParam.getRemark())
|
|
|
|
+ .set(TBDeviceDelivery::getMailType, devicePlaceParam.getTransferMode())
|
|
|
|
+ .set(TBDeviceDelivery::getUpdateId, userId).set(TBDeviceDelivery::getUpdateTime, System.currentTimeMillis())
|
|
|
|
+ .eq(TBDeviceDelivery::getId, existDeviceDelivery.getId()));
|
|
|
|
+ }
|
|
|
|
+ //中转->入库
|
|
|
|
+ if (devicePlaceParam.getTransferStatus().equals(DeviceUseStatusEnum.IN)) {
|
|
|
|
+ //删除中转记录
|
|
|
|
+ LambdaQueryWrapper<TBDeviceDelivery> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper.eq(TBDeviceDelivery::getSourceId, existDeviceDelivery.getId());
|
|
|
|
+ queryWrapper.eq(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.DELIVER);
|
|
|
|
+ baseMapper.delete(queryWrapper);
|
|
|
|
+ //写入入库记录
|
|
|
|
+ saveInDeviceDelivery(devicePlaceParam.getExpressNo(), devicePlaceParam.getRemark(), userId, existDeviceDelivery);
|
|
|
|
+ //更新状态为入库
|
|
|
|
+ this.update(new UpdateWrapper<TBDeviceDelivery>().lambda().set(TBDeviceDelivery::getStatus, DeviceDeliveryStatusEnum.IN)
|
|
|
|
+ .set(TBDeviceDelivery::getMailType, devicePlaceParam.getTransferMode())
|
|
|
|
+ .set(TBDeviceDelivery::getRemark, devicePlaceParam.getRemark()).set(TBDeviceDelivery::getEffect, Boolean.FALSE)
|
|
|
|
+ .set(TBDeviceDelivery::getUpdateId, userId).set(TBDeviceDelivery::getUpdateTime, System.currentTimeMillis())
|
|
|
|
+ .eq(TBDeviceDelivery::getId, existDeviceDelivery.getId()));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 写入一条新的入库记录
|
|
|
|
+ *
|
|
|
|
+ * @param expressNo 订单号
|
|
|
|
+ * @param remark 其他方式说明
|
|
|
|
+ * @param userId 登录用户ID
|
|
|
|
+ * @param existDeviceDelivery 操作的原始发货记录
|
|
|
|
+ */
|
|
|
|
+ private void saveInDeviceDelivery(String expressNo, String remark, Long userId, TBDeviceDelivery existDeviceDelivery) {
|
|
|
|
+ TBDeviceDelivery inDeviceDelivery = new TBDeviceDelivery();
|
|
|
|
+ inDeviceDelivery.setCrmNo(existDeviceDelivery.getCrmNo());
|
|
|
|
+ inDeviceDelivery.setSerialNo(existDeviceDelivery.getSerialNo());
|
|
|
|
+ inDeviceDelivery.setUsageType(existDeviceDelivery.getUsageType());
|
|
|
|
+ inDeviceDelivery.setSupplierId(existDeviceDelivery.getSupplierId());
|
|
|
|
+ inDeviceDelivery.setExpressNo(expressNo);
|
|
|
|
+ inDeviceDelivery.setDeliveryType(InOutTypeEnum.IN);
|
|
|
|
+ inDeviceDelivery.setStatus(DeviceDeliveryStatusEnum.IN);
|
|
|
|
+ inDeviceDelivery.setDeliverTime(System.currentTimeMillis());
|
|
|
|
+ inDeviceDelivery.setDeliverUserId(userId);
|
|
|
|
+ inDeviceDelivery.setCreateTime(System.currentTimeMillis());
|
|
|
|
+ inDeviceDelivery.setCreateId(userId);
|
|
|
|
+ inDeviceDelivery.setEffect(Boolean.FALSE);
|
|
|
|
+ inDeviceDelivery.setDeviceStatus(existDeviceDelivery.getDeviceStatus());
|
|
|
|
+ inDeviceDelivery.setRemark(remark);
|
|
|
|
+ save(inDeviceDelivery);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * @param crmNo 中转的派单号
|
|
|
|
+ * @param expressNo 订单号
|
|
|
|
+ * @param remark 其他方式说明
|
|
|
|
+ * @param userId 登录用户ID
|
|
|
|
+ * @param existDeviceDelivery 操作的原始发货记录
|
|
|
|
+ */
|
|
|
|
+ private void saveTransferDeviceDelivery(String crmNo, String expressNo, String remark, Long userId,
|
|
|
|
+ TBDeviceDelivery existDeviceDelivery) {
|
|
TBDeviceDelivery newDeviceDelivery = new TBDeviceDelivery();
|
|
TBDeviceDelivery newDeviceDelivery = new TBDeviceDelivery();
|
|
- newDeviceDelivery.setCrmNo(receiveCrmNo);
|
|
|
|
- newDeviceDelivery.setSerialNo(deviceDelivery.getSerialNo());
|
|
|
|
- newDeviceDelivery.setUsageType(deviceDelivery.getUsageType());
|
|
|
|
- newDeviceDelivery.setSupplierId(deviceDelivery.getSupplierId());
|
|
|
|
|
|
+ newDeviceDelivery.setCrmNo(crmNo);
|
|
|
|
+ newDeviceDelivery.setSerialNo(existDeviceDelivery.getSerialNo());
|
|
|
|
+ newDeviceDelivery.setUsageType(existDeviceDelivery.getUsageType());
|
|
|
|
+ newDeviceDelivery.setSupplierId(existDeviceDelivery.getSupplierId());
|
|
newDeviceDelivery.setExpressNo(expressNo);
|
|
newDeviceDelivery.setExpressNo(expressNo);
|
|
newDeviceDelivery.setDeliveryType(InOutTypeEnum.OUT);
|
|
newDeviceDelivery.setDeliveryType(InOutTypeEnum.OUT);
|
|
newDeviceDelivery.setStatus(DeviceDeliveryStatusEnum.DELIVER);
|
|
newDeviceDelivery.setStatus(DeviceDeliveryStatusEnum.DELIVER);
|
|
@@ -964,29 +1057,45 @@ public class TBDeviceDeliveryServiceImpl extends ServiceImpl<TBDeviceDeliveryMap
|
|
newDeviceDelivery.setCreateTime(System.currentTimeMillis());
|
|
newDeviceDelivery.setCreateTime(System.currentTimeMillis());
|
|
newDeviceDelivery.setCreateId(userId);
|
|
newDeviceDelivery.setCreateId(userId);
|
|
newDeviceDelivery.setEffect(Boolean.FALSE);
|
|
newDeviceDelivery.setEffect(Boolean.FALSE);
|
|
- newDeviceDelivery.setDeviceStatus(deviceDelivery.getDeviceStatus());
|
|
|
|
|
|
+ newDeviceDelivery.setDeviceStatus(existDeviceDelivery.getDeviceStatus());
|
|
newDeviceDelivery.setRemark(remark);
|
|
newDeviceDelivery.setRemark(remark);
|
|
save(newDeviceDelivery);
|
|
save(newDeviceDelivery);
|
|
}
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
|
- @Transactional
|
|
|
|
- public void devicePlaceEdit(DevicePlaceParam devicePlaceParam, Long userId) {
|
|
|
|
|
|
+ private @NotNull TBDeviceDelivery checkDevicePlace(DevicePlaceParam devicePlaceParam) {
|
|
if (devicePlaceParam.getTransferStatus() == null) {
|
|
if (devicePlaceParam.getTransferStatus() == null) {
|
|
throw ExceptionResultEnum.ERROR.exception("请选择使用状态");
|
|
throw ExceptionResultEnum.ERROR.exception("请选择使用状态");
|
|
}
|
|
}
|
|
- //TODO 业务需要考虑使用状态变更的情况
|
|
|
|
- //使用状态为中转
|
|
|
|
|
|
+ if (devicePlaceParam.getTransferMode().equals(MailTypeEnum.MAIL) && StringUtils.isEmpty(devicePlaceParam.getExpressNo())) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("快递单号不能为空");
|
|
|
|
+ }
|
|
|
|
+ if (devicePlaceParam.getTransferMode().equals(MailTypeEnum.OTHER) && StringUtils.isEmpty(devicePlaceParam.getRemark())) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("备注不能为空");
|
|
|
|
+ }
|
|
if (devicePlaceParam.getTransferStatus().equals(DeviceUseStatusEnum.TRANSFER)) {
|
|
if (devicePlaceParam.getTransferStatus().equals(DeviceUseStatusEnum.TRANSFER)) {
|
|
- transfer(devicePlaceParam.getId().toString(), devicePlaceParam.getTransferMode(), devicePlaceParam.getExpressNo(),
|
|
|
|
- devicePlaceParam.getReceiveCrmNo(), devicePlaceParam.getRemark(), userId);
|
|
|
|
|
|
+ if (StringUtils.isEmpty(devicePlaceParam.getReceiveCrmNo())) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("接收方单号不能为空");
|
|
|
|
+ }
|
|
|
|
+ TBCrm crm = tbCrmService.getOne(new QueryWrapper<TBCrm>().lambda().eq(TBCrm::getCrmNo, devicePlaceParam.getReceiveCrmNo())
|
|
|
|
+ .eq(TBCrm::getEnable, Boolean.TRUE).last(SystemConstant.LIMIT1));
|
|
|
|
+ if (Objects.isNull(crm)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception(String.format("接受方单号[%s]不存在", devicePlaceParam.getReceiveCrmNo()));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
- //使用状态为入库
|
|
|
|
- if (devicePlaceParam.getTransferStatus().equals(DeviceUseStatusEnum.IN)) {
|
|
|
|
- in(devicePlaceParam.getId().toString(), devicePlaceParam.getTransferMode(), devicePlaceParam.getExpressNo(),
|
|
|
|
- devicePlaceParam.getRemark(), userId);
|
|
|
|
|
|
+ TBDeviceDelivery existDeviceDelivery = getById(devicePlaceParam.getId());
|
|
|
|
+ if (existDeviceDelivery.getStatus().equals(DeviceDeliveryStatusEnum.TRANSFER_SIGN)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("设备已经被签收,无法在编辑");
|
|
|
|
+ }
|
|
|
|
+ if (existDeviceDelivery.getStatus().equals(DeviceDeliveryStatusEnum.IN)) {
|
|
|
|
+ TBDeviceDelivery inDeviceDelivery = baseMapper.selectOne(
|
|
|
|
+ new QueryWrapper<TBDeviceDelivery>().lambda().eq(TBDeviceDelivery::getCrmNo, existDeviceDelivery.getCrmNo())
|
|
|
|
+ .eq(TBDeviceDelivery::getSerialNo, existDeviceDelivery.getSerialNo())
|
|
|
|
+ .eq(TBDeviceDelivery::getDeliveryType, InOutTypeEnum.IN));
|
|
|
|
+ if (inDeviceDelivery != null && inDeviceDelivery.getStatus().equals(DeviceDeliveryStatusEnum.RECEIVE)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("设备已经被签收,无法在编辑");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ return existDeviceDelivery;
|
|
}
|
|
}
|
|
|
|
|
|
private @NotNull String getTransportMode(String expressNo, String remark) {
|
|
private @NotNull String getTransportMode(String expressNo, String remark) {
|