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