shiyunteng
2025-03-27 a7ad35b3e20867204cda9faa7bdf8a686264e906
合同及明细业务调整
12个文件已修改
172 ■■■■ 已修改文件
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceInventory.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InventoryFlowWater.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteItemController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteItemService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteItemServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}
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;
}
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)
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));
    }
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);
    }
}
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);
}
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);
}
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);
}
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;
    }
}
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);
    }
}
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);
                        }
                    }
                }
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>