From fc8c86e7a365d5c6bdc37c2b05b9f83115ac2bc3 Mon Sep 17 00:00:00 2001 From: shiyunteng <shiyunteng@example.com> Date: 星期三, 23 四月 2025 17:30:52 +0800 Subject: [PATCH] 巡检任务 设备维修新增是否生成工单 --- platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java | 53 ++++++++++++++++++++++++++++------------------------- 1 files changed, 28 insertions(+), 25 deletions(-) diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java index 0d15e4c..18f8ff2 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.by4cloud.platformx.common.core.util.R; +import com.by4cloud.platformx.device.constant.CommonStatusContant; import com.by4cloud.platformx.device.entity.*; import com.by4cloud.platformx.device.mapper.*; import com.by4cloud.platformx.device.service.DeviceLeasingLedgerService; @@ -67,9 +68,14 @@ ) { for (DeviceLeasingLedgerItem item:deviceLeasingLedger.getLedgerItemList() ) { - if (contractItem.getDeviceId()==item.getDeviceId()){ - if (contractItem.getNum()!=item.getNum()) { - return R.failed("鍚堝悓涓�"+contract.getName()+"璁惧鏁伴噺涓庡彴璐︽槑缁嗕腑涓嶄竴鑷�"); + if (contractItem.getDeviceId().equals(item.getDeviceId())){ + if (contractItem.getNum()<item.getNum()) { + return R.failed("鍚堝悓涓�"+item.getDeviceName()+"璁惧鏁伴噺涓庡彴璐︽槑缁嗕腑涓嶄竴鑷达紝鏃犳硶寤虹珛鍙拌处"); + } + Integer deviceNum = itemMapper.selectDeviceNumByContractId(contract.getId(),contractItem.getDeviceId()); + //鏌ヨ鏄惁鏈夊巻鍙插嚭璐� + if (contractItem.getNum()<(item.getNum()+deviceNum)) { + return R.failed("鍚堝悓涓�"+item.getDeviceName()+"璁惧鏁伴噺鍑虹鍙拌处宸茶秴鍑鸿澶囧疄闄呭簱瀛橈紝鏃犳硶寤虹珛鍙拌处"); } } } @@ -84,26 +90,15 @@ for (String serialNo:item.getSerialNos() ) { Device device = deviceMapper.selectById(item.getDeviceId()); - if (device!=null) { - DeviceInventory inventory = new DeviceInventory(); - inventory.setDeviceId(item.getDeviceId()); - inventory.setDeviceNumber(item.getDeviceCode()); - inventory.setName(device.getName()); - inventory.setSerialNo(serialNo); - //鏍规嵁鍚堝悓绫诲瀷 璐拱 鎵跨 鍚堝悓绫诲瀷涓哄叆搴撴搷浣� - if (contract!=null&&(contract.getType()==1||contract.getType()==2)){ - inventory.setSource(1); - //鍏ュ簱鎿嶄綔 搴撳瓨鐘舵�佷负 鍙敤 - inventory.setInventoryStatus(1); - } - //鏍规嵁鍚堝悓绫诲瀷 绉熻祦 鍚堝悓绫诲瀷涓哄嚭搴撴搷浣� - if (contract!=null&&contract.getType()==0){ - inventory.setSource(0); - //鍑哄簱鎿嶄綔 搴撳瓨鐘舵�佷负 绉熻祦涓� - inventory.setInventoryStatus(2); - } + QueryWrapper<DeviceInventory> inventoryQueryWrapper = new QueryWrapper<>(); + inventoryQueryWrapper.eq("device_id",item.getDeviceId()); + inventoryQueryWrapper.eq("serial_no",serialNo); + DeviceInventory inventory = inventoryMapper.selectOne(inventoryQueryWrapper); + if (device!=null&&inventory!=null) { + inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_RENTING); + inventory.setLedgerItemId(item.getId()); //搴撳瓨璋冩暣 - inventoryMapper.insert(inventory); + inventoryMapper.updateById(inventory); //璁惧搴撳瓨娴佹按鍚屾鏂板 InventoryFlowWater flowWater = new InventoryFlowWater(); @@ -113,18 +108,26 @@ flowWater.setClassId(device.getClassId()); //鏍规嵁鍚堝悓绫诲瀷 璐拱 鎵跨 娴佹按鎿嶄綔绫诲瀷涓哄叆搴撴搷浣� if (contract!=null&&(contract.getType()==1||contract.getType()==2)){ - flowWater.setOperateType(2); + flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_IN); } //鏍规嵁鍚堝悓绫诲瀷 绉熻祦 娴佹按鎿嶄綔绫诲瀷涓哄嚭搴撴搷浣� if (contract!=null&&contract.getType()==0){ - flowWater.setOperateType(1); + flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_OUT); } //璁板綍搴撳瓨娴佹按 inventoryFlowWaterMapper.insert(flowWater); } } } - + //鍚堝悓鏄庣粏涓笌鍙拌处瀵规瘮 + for (ContractItem contractItem:list + ) { + Integer deviceNum = itemMapper.selectDeviceNumByContractId(contract.getId(),contractItem.getDeviceId()); + //鏌ヨ鏄惁鏈夊巻鍙插嚭璐� + if (contractItem.getNum()!=deviceNum) { + return R.ok(); + } + } //鏇存柊鍚堝悓鐘舵�佷负瀹屾垚 contract.setStatus(2); contractMapper.updateById(contract); -- Gitblit v1.9.1