|
@@ -38,21 +38,28 @@ import java.util.stream.Stream;
|
|
|
*/
|
|
|
@Service
|
|
|
public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, TBDeviceInOut> implements TBDeviceInOutService {
|
|
|
+
|
|
|
@Resource
|
|
|
private SysDeviceService sysDeviceService;
|
|
|
+
|
|
|
@Resource
|
|
|
private SequenceService sequenceService;
|
|
|
+
|
|
|
@Resource
|
|
|
private SysUserService sysUserService;
|
|
|
+
|
|
|
@Resource
|
|
|
private TBCrmService tbCrmService;
|
|
|
+
|
|
|
@Resource
|
|
|
private SysCustomService sysCustomService;
|
|
|
+
|
|
|
@Resource
|
|
|
private TBDeviceDeliveryService tbDeviceDeliveryService;
|
|
|
|
|
|
@Override
|
|
|
- public IPage<DeviceInOutResult> findDeviceInOutPageBySop(Long serviceUnitId, DeviceUsageTypeEnum usageType, Long userId, DeviceStatusEnum deviceStatus, Long inOutTimeStart, Long inOutTimeEnd, String deviceNo, String deviceSerialNo, String customName, String location, String address, String serialNo, Integer pageNumber, Integer pageSize) {
|
|
|
+ public IPage<DeviceInOutResult> findDeviceInOutPageBySop(Long serviceUnitId, DeviceUsageTypeEnum usageType, Long userId, DeviceStatusEnum deviceStatus, Long inOutTimeStart, Long inOutTimeEnd, String deviceNo,
|
|
|
+ String deviceSerialNo, String customName, String location, String address, String serialNo, Integer pageNumber, Integer pageSize) {
|
|
|
deviceNo = SystemConstant.translateSpecificSign(deviceNo);
|
|
|
deviceSerialNo = SystemConstant.translateSpecificSign(deviceSerialNo);
|
|
|
customName = SystemConstant.translateSpecificSign(customName);
|
|
@@ -62,8 +69,9 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
|
|
|
|
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
DataPermissionDto dpr = sysUserService.buildUserDataPermission(requestUser.getId());
|
|
|
- IPage<DeviceInOutResult> result = this.baseMapper.findDeviceInOutPageBySop(new Page<>(pageNumber, pageSize), serviceUnitId, usageType,
|
|
|
- userId, deviceStatus, inOutTimeStart, inOutTimeEnd, deviceNo, deviceSerialNo, customName, location, address, serialNo, dpr);
|
|
|
+ IPage<DeviceInOutResult> result = this.baseMapper.findDeviceInOutPageBySop(new Page<>(pageNumber, pageSize),
|
|
|
+ serviceUnitId, usageType, userId, deviceStatus, inOutTimeStart, inOutTimeEnd, deviceNo, deviceSerialNo,
|
|
|
+ customName, location, address, serialNo, dpr);
|
|
|
result.getRecords().forEach(e -> {
|
|
|
String addressArrTemp = e.getAddressArrTemp();
|
|
|
String locationArrTemp = e.getLocationArrTemp();
|
|
@@ -86,12 +94,12 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
|
|
|
crmNo = sopCrmInfo.getCrmNo();
|
|
|
}
|
|
|
|
|
|
- List<TBDeviceDelivery> tbDeviceDeliveryList = tbDeviceDeliveryService.list(new QueryWrapper<TBDeviceDelivery>()
|
|
|
- .lambda()
|
|
|
- .eq(TBDeviceDelivery::getEffect, true));
|
|
|
+ List<TBDeviceDelivery> tbDeviceDeliveryList = tbDeviceDeliveryService.list(
|
|
|
+ new QueryWrapper<TBDeviceDelivery>().lambda().eq(TBDeviceDelivery::getEffect, true));
|
|
|
|
|
|
List<DeviceInOutResult> result = new ArrayList<>();
|
|
|
- List<DeviceInOutResult> deviceInOutResultList = this.baseMapper.findDeviceCanOutInfo(supplierId, DeviceStatusEnum.NORMAL, InOutTypeEnum.IN);
|
|
|
+ List<DeviceInOutResult> deviceInOutResultList = this.baseMapper.findDeviceCanOutInfo(supplierId,
|
|
|
+ DeviceStatusEnum.NORMAL, InOutTypeEnum.IN);
|
|
|
for (DeviceInOutResult e : deviceInOutResultList) {
|
|
|
String locationArrTemp = e.getLocationArrTemp();
|
|
|
if (locationArrTemp != null && locationArrTemp.length() > 0) {
|
|
@@ -118,6 +126,11 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
|
|
|
e.setDefaultData(true);
|
|
|
e.setExpressNo(tbDeviceDelivery.getExpressNo());
|
|
|
result.add(e);
|
|
|
+ } else if (deliveryCrmNo == null || deliveryCrmNo.length() == 0){
|
|
|
+ // 也可以选用设备发货管理里没有绑sop的
|
|
|
+ e.setDefaultData(true);
|
|
|
+ e.setExpressNo(tbDeviceDelivery.getExpressNo());
|
|
|
+ result.add(e);
|
|
|
}
|
|
|
} else {
|
|
|
// 用于培训
|
|
@@ -141,7 +154,6 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public void deviceInOutSubmit(DeviceInOutSubmitParam deviceInOutSubmitParam) {
|
|
@@ -152,6 +164,13 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
|
|
|
|
|
|
Long serviceUnitId = deviceInOutSubmitParam.getServiceUnitId();
|
|
|
String crmNo = deviceInOutSubmitParam.getCrmNo();
|
|
|
+ String sopNo = deviceInOutSubmitParam.getSopNo();
|
|
|
+
|
|
|
+ List<TBDeviceInOut> alreadyOutList = this.list(
|
|
|
+ new QueryWrapper<TBDeviceInOut>().lambda().eq(TBDeviceInOut::getSopNo, sopNo)
|
|
|
+ .eq(TBDeviceInOut::getType, InOutTypeEnum.OUT));
|
|
|
+ List<String> alreadyOutSerialNoList = alreadyOutList.stream().map(TBDeviceInOut::getDeviceSerialNo).distinct().collect(Collectors.toList());
|
|
|
+
|
|
|
String customName = null;
|
|
|
if (crmNo != null && crmNo.length() > 0) {
|
|
|
TBCrm tbCrm = tbCrmService.findByCrmNo(crmNo);
|
|
@@ -162,13 +181,8 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
|
|
|
customName = sysCustom.getName();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- String sopNo = deviceInOutSubmitParam.getSopNo();
|
|
|
-
|
|
|
DeviceUsageTypeEnum usageType;
|
|
|
if (sopNo != null && sopNo.length() > 0) {
|
|
|
usageType = DeviceUsageTypeEnum.PROJECT;
|
|
@@ -181,7 +195,7 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
|
|
|
|
|
|
List<DeviceInOutForm> deviceInOutFormList = deviceInOutSubmitParam.getDeviceInOutFormList();
|
|
|
String finalCustomName = customName;
|
|
|
- List<TBDeviceInOut> tbDeviceInOutList = deviceInOutFormList.stream().flatMap(e -> {
|
|
|
+ List<TBDeviceInOut> tbDeviceInOutList = deviceInOutFormList.stream().filter(e -> !alreadyOutSerialNoList.contains(e.getSerialNo())).flatMap(e -> {
|
|
|
TBDeviceInOut tbDeviceInOut = new TBDeviceInOut();
|
|
|
if (serviceUnitId != null && serviceUnitId > 0) {
|
|
|
tbDeviceInOut.setServiceId(serviceUnitId);
|
|
@@ -213,13 +227,10 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
|
|
|
}
|
|
|
|
|
|
UpdateWrapper<SysDevice> updateWrapper = new UpdateWrapper<>();
|
|
|
- updateWrapper.lambda()
|
|
|
- .set(SysDevice::getLocation, e.getAddress())
|
|
|
+ updateWrapper.lambda().set(SysDevice::getLocation, e.getAddress())
|
|
|
.set(SysDevice::getLocationArr, JSON.toJSONString(e.getAddressArr()))
|
|
|
.set(SysDevice::getScanCount, e.getScanCount())
|
|
|
- .set(SysDevice::getStatus, e.getDeviceStatus())
|
|
|
- .set(SysDevice::getBound, inOutType)
|
|
|
- .eq(SysDevice::getSerialNo, e.getSerialNo());
|
|
|
+ .set(SysDevice::getStatus, e.getDeviceStatus()).set(SysDevice::getBound, inOutType).eq(SysDevice::getSerialNo, e.getSerialNo());
|
|
|
sysDeviceService.update(updateWrapper);
|
|
|
|
|
|
return Stream.of(tbDeviceInOut);
|
|
@@ -237,7 +248,8 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public IPage<DeviceInOutResult> findDeviceInOutPageBySource(Long serviceUnitId, DeviceUsageTypeEnum usageType, Long userId, DeviceStatusEnum deviceStatus, Long inOutTimeStart, Long inOutTimeEnd, String deviceNo, String deviceSerialNo, String customName, String location, String address, String serialNo, Integer pageNumber, Integer pageSize) {
|
|
|
+ public IPage<DeviceInOutResult> findDeviceInOutPageBySource(Long serviceUnitId, DeviceUsageTypeEnum usageType, Long userId, DeviceStatusEnum deviceStatus, Long inOutTimeStart, Long inOutTimeEnd, String deviceNo,
|
|
|
+ String deviceSerialNo, String customName, String location, String address, String serialNo, Integer pageNumber, Integer pageSize) {
|
|
|
deviceNo = SystemConstant.translateSpecificSign(deviceNo);
|
|
|
customName = SystemConstant.translateSpecificSign(customName);
|
|
|
location = SystemConstant.translateSpecificSign(location);
|
|
@@ -248,8 +260,9 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
|
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
DataPermissionDto dpr = sysUserService.buildUserDataPermission(requestUser.getId());
|
|
|
|
|
|
- IPage<DeviceInOutResult> result = this.baseMapper.findDeviceInOutPageBySource(new Page<>(pageNumber, pageSize), serviceUnitId, usageType,
|
|
|
- userId, deviceStatus, inOutTimeStart, inOutTimeEnd, deviceNo, deviceSerialNo, customName, location, address, serialNo, dpr);
|
|
|
+ IPage<DeviceInOutResult> result = this.baseMapper.findDeviceInOutPageBySource(new Page<>(pageNumber, pageSize),
|
|
|
+ serviceUnitId, usageType, userId, deviceStatus, inOutTimeStart, inOutTimeEnd, deviceNo, deviceSerialNo,
|
|
|
+ customName, location, address, serialNo, dpr);
|
|
|
|
|
|
result.getRecords().forEach(e -> {
|
|
|
String addressArrTemp = e.getAddressArrTemp();
|