From a7ad35b3e20867204cda9faa7bdf8a686264e906 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期四, 27 三月 2025 17:17:43 +0800
Subject: [PATCH] 合同及明细业务调整
---
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceMapper.java | 2
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteItemService.java | 3 +
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java | 22 +++---
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java | 8 +-
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java | 1
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteItemServiceImpl.java | 17 +++++
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceInventory.java | 4 +
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java | 30 ++++++---
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InventoryFlowWater.java | 8 ++
platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml | 17 +++++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteItemController.java | 11 +++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java | 49 ++++++++++++----
12 files changed, 131 insertions(+), 41 deletions(-)
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceInventory.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceInventory.java
index 267fc3b..e862309 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceInventory.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceInventory.java
@@ -44,5 +44,7 @@
@Column(columnDefinition="int comment '鏉ユ簮 0浠撳簱 1璐拱 2瀛愬崟浣嶉棽缃�'")
private Integer source;
-
+ @Schema(description = "搴撳瓨鐘舵��")
+ @Column(columnDefinition="int comment '搴撳瓨鐘舵�� 1 鍙敤 2 绉熻祦涓� 3 鍐荤粨 4 鎶ュ簾'")
+ private Integer inventoryStatus;
}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InventoryFlowWater.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InventoryFlowWater.java
index 3102bb6..86aa06f 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InventoryFlowWater.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InventoryFlowWater.java
@@ -47,7 +47,11 @@
@Column(columnDefinition="VARCHAR(200) comment '澶囨敞'")
private String remark;
+ @Schema(description = "璁惧搴忓垪鍙�")
+ @Column(columnDefinition="VARCHAR(64) comment '璁惧搴忓垪鍙�'")
+ private String serialNo;
-
-
+ @Schema(description = "鎿嶄綔绫诲瀷")
+ @Column(columnDefinition="integer comment ' 鎿嶄綔绫诲瀷 1 鍑哄簱 2 鍏ュ簱'")
+ private Integer operateType;
}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java
index 2f70181..c192bac 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java
@@ -29,16 +29,16 @@
@Table(appliesTo = "receiving_note", comment = "楠屾敹琛�")
public class ReceivingNote extends BaseModel<ReceivingNote> {
/**
- * 鎵跨鍚堝悓Id
+ * 鍚堝悓Id
*/
- @Column(columnDefinition="long comment '鎵跨鍚堝悓Id'")
- private Long lesseeContractId;
+ @Column(columnDefinition="long comment '鍚堝悓Id'")
+ private Long contractId;
- /**
- * 绉熺敤鍚堝悓Id
- */
- @Column(columnDefinition="long comment '绉熺敤鍚堝悓Id'")
- private Long rentContractId;
+// /**
+// * 绉熺敤鍚堝悓Id
+// */
+// @Column(columnDefinition="long comment '绉熺敤鍚堝悓Id'")
+// private Long rentContractId;
@Schema(description = "楠屾敹鍏徃")
@Column(columnDefinition="VARCHAR(64) comment '楠屾敹鍏徃'")
@@ -126,9 +126,9 @@
/**
* 浣跨敤鍏徃
*/
- @Schema(description = "浣跨敤鍏徃")
- @Column(columnDefinition="long comment '浣跨敤鍏徃'")
- private Long deptId;
+// @Schema(description = "浣跨敤鍏徃")
+// @Column(columnDefinition="long comment '浣跨敤鍏徃'")
+// private Long deptId;
@Transient
@TableField(exist = false)
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java
index 0b7ce8f..4bbec76 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java
@@ -70,7 +70,7 @@
@GetMapping("/{id}" )
@PreAuthorize("@pms.hasPermission('platformx_contract_view')" )
public R getById(@PathVariable("id" ) Long id) {
- return R.ok(contractService.getById(id));
+ return R.ok(contractService.getDetailById(id));
}
/**
@@ -84,7 +84,7 @@
@PreAuthorize("@pms.hasPermission('platformx_contract_add')" )
public R save(@RequestBody Contract contract) {
contract.setNumber(maxSizeService.nextNo(MaxSizeContant.CONTRACT_NUM));
- return R.ok(contractService.save(contract));
+ return R.ok(contractService.saveDeep(contract));
}
/**
@@ -97,7 +97,7 @@
@PutMapping
@PreAuthorize("@pms.hasPermission('platformx_contract_edit')" )
public R updateById(@RequestBody Contract contract) {
- return R.ok(contractService.updateById(contract));
+ return R.ok(contractService.updateDeep(contract));
}
/**
@@ -110,7 +110,7 @@
@DeleteMapping
@PreAuthorize("@pms.hasPermission('platformx_contract_del')" )
public R removeById(@RequestBody Long[] ids) {
- return R.ok(contractService.removeBatchByIds(CollUtil.toList(ids)));
+ return R.ok(contractService.removeDeep(ids));
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteItemController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteItemController.java
index 14d40f2..3d54e29 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteItemController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteItemController.java
@@ -116,4 +116,15 @@
public List<ReceivingNoteItem> export(ReceivingNoteItem receivingNoteItem,Long[] ids) {
return receivingNoteItemService.list(Wrappers.lambdaQuery(receivingNoteItem).in(ArrayUtil.isNotEmpty(ids), ReceivingNoteItem::getId, ids));
}
+
+ /**
+ * 鏍规嵁鍚堝悓鏌ヨ鍚堝悓鍐呯殑璁惧
+ * @param contractId
+ * @return
+ */
+ @Operation(summary = "鏍规嵁鍚堝悓鏌ヨ鍚堝悓鍐呯殑璁惧" , description = "鏍规嵁鍚堝悓鏌ヨ鍚堝悓鍐呯殑璁惧")
+ @GetMapping("/getDeviceListByContractId/{contractId}")
+ public R getDeviceListByContractId(@PathVariable("contractId")Long contractId) {
+ return receivingNoteItemService.getDeviceListByContractId(contractId);
+ }
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceMapper.java
index 524c1fd..6eed404 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceMapper.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceMapper.java
@@ -12,4 +12,6 @@
List<Device> getDeviceSelectListByLedgerId(@Param("ledgerId") Long ledgerId);
+
+ List<Device> getDeviceListByContractId(@Param("contractId")Long contractId);
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java
index 1d80c42..ce94d2f 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java
@@ -12,4 +12,5 @@
Boolean removeChild(Long[] ids);
+ Contract getDetailById(Long id);
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteItemService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteItemService.java
index d2accf0..33e36a7 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteItemService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteItemService.java
@@ -3,10 +3,13 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.device.dto.ReceivingNoteItemQueryDTO;
import com.by4cloud.platformx.device.entity.ReceivingNoteItem;
public interface ReceivingNoteItemService extends IService<ReceivingNoteItem> {
IPage pageNew(Page page, ReceivingNoteItemQueryDTO queryDTO);
+
+ R getDeviceListByContractId(Long contractId);
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
index 1a03df0..f858eda 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
@@ -1,5 +1,6 @@
package com.by4cloud.platformx.device.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.device.entity.Contract;
@@ -14,6 +15,7 @@
import lombok.RequiredArgsConstructor;
import java.io.Serializable;
+import java.util.List;
import java.util.Objects;
/**
* 鍚堝悓琛�
@@ -42,14 +44,17 @@
@Transactional(rollbackFor = Exception.class)
public Boolean updateDeep(Contract contract) {
baseMapper.updateById(contract);
- for (ContractItem contractItem : contract.getContractItemList()) {
- if (Objects.isNull(contractItem.getId())) {
- contractItem.setContractId(contract.getId());
- contractItemMapper.insert(contractItem);
- } else {
- contractItemMapper.updateById(contractItem);
- }
- }
+ if (contract.getContractItemList() != null&&contract.getContractItemList().size()>0) {
+ QueryWrapper<ContractItem> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("contract_id",contract.getId());
+ contractItemMapper.delete(queryWrapper);
+ for (ContractItem contractItem : contract.getContractItemList()) {
+ contractItem.setId(null);
+ contractItem.setContractId(contract.getId());
+ contractItemMapper.insert( contractItem);
+ }
+ }
+
return Boolean.TRUE;
}
@@ -69,7 +74,12 @@
}
@Override
- public Contract getByIdDeep(Serializable id) {
- return ContractService.super.getByIdDeep(id);
+ public Contract getDetailById(Long id) {
+ Contract contract = baseMapper.selectById(id);
+ QueryWrapper<ContractItem> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("contract_id",id);
+ List<ContractItem> itemList = contractItemMapper.selectList(queryWrapper);
+ contract.setContractItemList(itemList);
+ return contract;
}
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteItemServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteItemServiceImpl.java
index f3b24a9..71eaeca 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteItemServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteItemServiceImpl.java
@@ -3,11 +3,18 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.device.dto.ReceivingNoteItemQueryDTO;
+import com.by4cloud.platformx.device.entity.Device;
import com.by4cloud.platformx.device.entity.ReceivingNoteItem;
+import com.by4cloud.platformx.device.mapper.DeviceMapper;
import com.by4cloud.platformx.device.mapper.ReceivingNoteItemMapper;
import com.by4cloud.platformx.device.service.ReceivingNoteItemService;
+import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
+
+import java.util.List;
+
/**
* 楠屾敹瀛愰」琛�
*
@@ -15,9 +22,19 @@
* @date 2025-03-13 11:04:28
*/
@Service
+@AllArgsConstructor
public class ReceivingNoteItemServiceImpl extends ServiceImpl<ReceivingNoteItemMapper, ReceivingNoteItem> implements ReceivingNoteItemService {
+
+ private final DeviceMapper deviceMapper;
+
@Override
public IPage pageNew(Page page, ReceivingNoteItemQueryDTO queryDTO) {
return baseMapper.pageNew(page,queryDTO);
}
+
+ @Override
+ public R getDeviceListByContractId(Long contractId) {
+ List<Device> deviceList = deviceMapper.getDeviceListByContractId(contractId);
+ return R.ok(deviceList);
+ }
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java
index e4d4310..a8673d5 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java
@@ -5,12 +5,8 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.device.dto.ReceivingNoteQueryDTO;
-import com.by4cloud.platformx.device.entity.DeviceInventory;
-import com.by4cloud.platformx.device.entity.ReceivingNote;
-import com.by4cloud.platformx.device.entity.ReceivingNoteItem;
-import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper;
-import com.by4cloud.platformx.device.mapper.ReceivingNoteItemMapper;
-import com.by4cloud.platformx.device.mapper.ReceivingNoteMapper;
+import com.by4cloud.platformx.device.entity.*;
+import com.by4cloud.platformx.device.mapper.*;
import com.by4cloud.platformx.device.service.ReceivingNoteService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@@ -30,6 +26,9 @@
private final ReceivingNoteItemMapper itemMapper;
private final DeviceInventoryMapper inventoryMapper;
+ private final InventoryFlowWaterMapper inventoryFlowWaterMapper;
+ private final DeviceMapper deviceMapper;
+ private final ContractMapper contractMapper;
@Override
public IPage pageNew(Page page, ReceivingNoteQueryDTO queryDTO) {
@@ -48,13 +47,37 @@
if (item.getSerialNos()!=null&&item.getSerialNos().size()>0){
for (String serialNo:item.getSerialNos()
) {
- DeviceInventory inventory = new DeviceInventory();
- inventory.setDeviceId(item.getDeviceId());
- inventory.setDeviceNumber(item.getDeviceCode());
- inventory.setName(item.getDeviceName());
- inventory.setSerialNo(serialNo);
- inventory.setSource(1);
- inventoryMapper.insert(inventory);
+ Device device = deviceMapper.selectById(item.getDeviceId());
+ Contract contract = contractMapper.selectById(entity.getContractId());
+ 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(1);
+ inventory.setInventoryStatus(2);
+ }
+ inventoryMapper.insert(inventory);
+ //璁惧搴撳瓨娴佹按鍚屾鏂板
+ InventoryFlowWater flowWater = new InventoryFlowWater();
+ flowWater.setDeviceId(item.getDeviceId());
+ flowWater.setSerialNo(serialNo);
+ flowWater.setInventoryId(inventory.getId());
+ flowWater.setClassId(device.getClassId());
+ if (contract!=null&&(contract.getType()==1||contract.getType()==2)){
+ flowWater.setOperateType(2);
+ }
+ if (contract!=null&&contract.getType()==0){
+ flowWater.setOperateType(1);
+ }
+ inventoryFlowWaterMapper.insert(flowWater);
+ }
}
}
diff --git a/platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml b/platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml
index 2d6d259..635bf6f 100644
--- a/platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml
+++ b/platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml
@@ -49,4 +49,21 @@
dll.id = #{ledgerId}
and d.id = ci.device_id );
</select>
+ <select id="getDeviceListByContractId" resultType="com.by4cloud.platformx.device.entity.Device">
+ select
+ *
+ from
+ device d
+ where
+ d.del_flag = '0'
+ and exists (
+ select
+ ci.device_id
+ from
+ contract_item ci
+ where
+ ci.del_flag = '0'
+ and ci.contract_id = #{contractId}
+ and ci.device_id = d.id )
+ </select>
</mapper>
--
Gitblit v1.9.1