platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteItemQueryDTO.java
@@ -9,4 +9,6 @@ private String releaseCode; private Long noteId; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java
New file @@ -0,0 +1,81 @@ package com.by4cloud.platformx.device.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.by4cloud.platformx.common.data.mybatis.BaseModel; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.hibernate.annotations.Table; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.criteria.CriteriaBuilder; import java.util.Date; @Data @Entity @TableName("device_leasing_ledger") @javax.persistence.Table(name = "device_leasing_ledger") @Table(appliesTo = "device_leasing_ledger", comment = "设备租赁台账") public class DeviceLeasingLedger extends BaseModel<DeviceLeasingLedger> { /** * 租赁台账编号 */ @Schema(description = "租赁台账编号") @Column(columnDefinition="VARCHAR(32) comment '租赁台账编号'") private String ledgerCode; /** * 租赁合同号 */ @Schema(description = "租赁合同号") @Column(columnDefinition="VARCHAR(32) comment '租赁合同号'") private String contractCode; /** * 起租日期 */ @JsonFormat(pattern = "yyyy-MM-dd") @Schema(description = "起租日期") @Column(columnDefinition="datetime comment '起租日期'") private Date leaseStartDate; /** * 停租日期 */ @JsonFormat(pattern = "yyyy-MM-dd") @Schema(description = "停租日期") @Column(columnDefinition="datetime comment '停租日期'") private Date leaseStopDate; /** * 出厂验收日期 */ @JsonFormat(pattern = "yyyy-MM-dd") @Schema(description = "出厂验收日期") @Column(columnDefinition="datetime comment '出厂验收日期'") private Date factoryAcceptanceDate; /** * 到货验收日期 */ @JsonFormat(pattern = "yyyy-MM-dd") @Schema(description = "到货验收日期") @Column(columnDefinition="datetime comment '到货验收日期'") private Date deliveryAcceptanceDate; /** * 租赁类型 */ @Schema(description = "租赁类型") @Column(columnDefinition="INTEGER comment '租赁类型(1:单一租赁;2:多租赁;3:对外租)'") private Integer leaseType; /** * 承租公司 */ @Schema(description = "承租公司") @Column(columnDefinition="bigint comment '承租公司'") private Long lesseeContractId; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedgerItem.java
New file @@ -0,0 +1,74 @@ package com.by4cloud.platformx.device.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.by4cloud.platformx.common.data.mybatis.BaseModel; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.hibernate.annotations.Table; import javax.persistence.Column; import javax.persistence.Entity; @Data @Entity @TableName("device_leasing_ledger_item") @javax.persistence.Table(name = "device_leasing_ledger_item") @Table(appliesTo = "device_leasing_ledger_item", comment = "设备租赁台账明细") public class DeviceLeasingLedgerItem extends BaseModel<DeviceLeasingLedger> { /** * 设备ID */ @Schema(description="台账ID") @Column(columnDefinition="bigint comment '台账ID'") private Long ledgerId; /** * 设备ID */ @Schema(description="设备ID") @Column(columnDefinition="bigint comment '设备ID'") private Long deviceId; /** * 设备编码 */ @Schema(description="设备编码") @Column(columnDefinition="VARCHAR(16) comment '设备编码'") private String deviceCode; /** * 设备名称 */ @Schema(description="设备名称") @Column(columnDefinition="VARCHAR(256) comment '设备名称'") private String deviceName; /** * 规格型号 */ @Schema(description="规格型号") @Column(columnDefinition="VARCHAR(256) comment '规格型号'") private String deviceModels; /** * 关键参数 */ @Schema(description="关键参数") @Column(columnDefinition="VARCHAR(256) comment '关键参数'") private String keyParameter; /** * 计量单位 */ @Schema(description="计量单位") @Column(columnDefinition="VARCHAR(32) comment '计量单位'") private String meteringUnit; /** * 数量 */ @Schema(description = "数量") @Column(columnDefinition="INTEGER comment '数量'") private Integer num; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java
@@ -11,7 +11,9 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Transient; import java.util.Date; import java.util.List; /** * @author kdq @@ -127,4 +129,8 @@ @Schema(description = "使用公司") @Column(columnDefinition="long comment '使用公司'") private Long deptId; @Transient @TableField(exist = false) private List<ReceivingNoteItem> noteItemList; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java
@@ -11,7 +11,9 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Transient; import java.util.Date; import java.util.List; /** * @author kdq @@ -29,17 +31,17 @@ /** * 验收主表Id */ @Column(columnDefinition="long comment '验收主表Id'") @Column(columnDefinition="bigint comment '验收主表Id'") private Long noteId; /** * 合同Id */ @Column(columnDefinition="long comment '合同子项Id'") @Column(columnDefinition="bigint comment '合同子项Id'") private Long contractItemId; @Schema(description = "数量") @Column(columnDefinition="long comment '数量'") @Column(columnDefinition="bigint comment '数量'") private Long num; /** @@ -48,6 +50,13 @@ @TableField("`output`") @Column(columnDefinition="double comment '验收金额'") private Double output; /** * 设备ID */ @Schema(description="设备ID") @Column(columnDefinition="bigint comment '设备ID'") private Long deviceId; /** * 设备编码 @@ -85,4 +94,11 @@ @Column(columnDefinition="VARCHAR(32) comment '计量单位'") private String meteringUnit; /** * 入库时所需序列号 */ @Schema(description = "设备序列号") @Transient @TableField(exist = false) private List<String> serialNos; } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java
@@ -10,8 +10,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.by4cloud.platformx.common.core.util.R; import com.by4cloud.platformx.common.log.annotation.SysLog; import com.by4cloud.platformx.device.constant.MaxSizeContant; import com.by4cloud.platformx.device.entity.Contract; import com.by4cloud.platformx.device.service.ContractService; import com.by4cloud.platformx.device.service.JcMaxSizeService; import org.springframework.security.access.prepost.PreAuthorize; import com.by4cloud.platformx.common.excel.annotation.ResponseExcel; import io.swagger.v3.oas.annotations.security.SecurityRequirement; @@ -39,6 +41,7 @@ public class ContractController { private final ContractService contractService; private final JcMaxSizeService maxSizeService; /** * 分页查询 @@ -80,6 +83,7 @@ @PostMapping @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)); } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractItemController.java
@@ -43,7 +43,7 @@ /** * 分页查询 * @param page 分页对象 * @param 合同明细表 * @param * @return */ @Operation(summary = "分页查询" , description = "分页查询" ) platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerController.java
New file @@ -0,0 +1,142 @@ package com.by4cloud.platformx.device.controller; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.by4cloud.platformx.common.core.util.R; import com.by4cloud.platformx.common.log.annotation.SysLog; import com.by4cloud.platformx.device.constant.MaxSizeContant; import com.by4cloud.platformx.device.entity.DeviceLeasingLedger; import com.by4cloud.platformx.device.service.DeviceLeasingLedgerService; import com.by4cloud.platformx.device.service.JcMaxSizeService; import org.springframework.security.access.prepost.PreAuthorize; import com.by4cloud.platformx.common.excel.annotation.ResponseExcel; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import org.springdoc.api.annotations.ParameterObject; import org.springframework.http.HttpHeaders; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; /** * 设备租赁台账 * * @author syt * @date 2025-03-27 09:30:29 */ @RestController @RequiredArgsConstructor @RequestMapping("/deviceLeasingLedger" ) @Tag(description = "deviceLeasingLedger" , name = "设备租赁台账管理" ) @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) public class DeviceLeasingLedgerController { private final DeviceLeasingLedgerService deviceLeasingLedgerService; private final JcMaxSizeService maxSizeService; /** * 分页查询 * @param page 分页对象 * @param deviceLeasingLedger 设备租赁台账 * @return */ @Operation(summary = "分页查询" , description = "分页查询" ) @GetMapping("/page" ) @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedger_view')" ) public R getDeviceLeasingLedgerPage(@ParameterObject Page page, @ParameterObject DeviceLeasingLedger deviceLeasingLedger) { LambdaQueryWrapper<DeviceLeasingLedger> wrapper = Wrappers.lambdaQuery(); wrapper.eq(StrUtil.isNotBlank(deviceLeasingLedger.getContractCode()),DeviceLeasingLedger::getContractCode,deviceLeasingLedger.getContractCode()); wrapper.eq(StrUtil.isNotBlank(deviceLeasingLedger.getLedgerCode()),DeviceLeasingLedger::getLedgerCode,deviceLeasingLedger.getLedgerCode()); return R.ok(deviceLeasingLedgerService.page(page, wrapper)); } /** * 通过id查询设备租赁台账 * @param id id * @return R */ @Operation(summary = "通过id查询" , description = "通过id查询" ) @GetMapping("/{id}" ) @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedger_view')" ) public R getById(@PathVariable("id" ) Long id) { return R.ok(deviceLeasingLedgerService.getById(id)); } /** * 新增设备租赁台账 * @param deviceLeasingLedger 设备租赁台账 * @return R */ @Operation(summary = "新增设备租赁台账" , description = "新增设备租赁台账" ) @SysLog("新增设备租赁台账" ) @PostMapping @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedger_add')" ) public R save(@RequestBody DeviceLeasingLedger deviceLeasingLedger) { deviceLeasingLedger.setLedgerCode(maxSizeService.nextNo(MaxSizeContant.LEDGER_CODE)); return R.ok(deviceLeasingLedgerService.save(deviceLeasingLedger)); } /** * 修改设备租赁台账 * @param deviceLeasingLedger 设备租赁台账 * @return R */ @Operation(summary = "修改设备租赁台账" , description = "修改设备租赁台账" ) @SysLog("修改设备租赁台账" ) @PutMapping @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedger_edit')" ) public R updateById(@RequestBody DeviceLeasingLedger deviceLeasingLedger) { return R.ok(deviceLeasingLedgerService.updateById(deviceLeasingLedger)); } /** * 通过id删除设备租赁台账 * @param ids id列表 * @return R */ @Operation(summary = "通过id删除设备租赁台账" , description = "通过id删除设备租赁台账" ) @SysLog("通过id删除设备租赁台账" ) @DeleteMapping @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedger_del')" ) public R removeById(@RequestBody Long[] ids) { return R.ok(deviceLeasingLedgerService.removeBatchByIds(CollUtil.toList(ids))); } /** * 导出excel 表格 * @param deviceLeasingLedger 查询条件 * @param ids 导出指定ID * @return excel 文件流 */ @ResponseExcel @GetMapping("/export") @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedger_export')" ) public List<DeviceLeasingLedger> export(DeviceLeasingLedger deviceLeasingLedger,Long[] ids) { return deviceLeasingLedgerService.list(Wrappers.lambdaQuery(deviceLeasingLedger).in(ArrayUtil.isNotEmpty(ids), DeviceLeasingLedger::getId, ids)); } /** * 台账下拉 */ @GetMapping("/getSelectList") public R getSelectList() { return R.ok(deviceLeasingLedgerService.getSelectList()); } /** * 根据台账获取设备下拉 */ @GetMapping("/getDeviceSelectList/{ledgerId}") public R getDeviceSelectList(@PathVariable("ledgerId")Long ledgerId) { return R.ok(deviceLeasingLedgerService.getDeviceSelectList(ledgerId)); } } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerItemController.java
New file @@ -0,0 +1,121 @@ package com.by4cloud.platformx.device.controller; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.by4cloud.platformx.common.core.util.R; import com.by4cloud.platformx.common.log.annotation.SysLog; import com.by4cloud.platformx.device.entity.DeviceLeasingLedgerItem; import com.by4cloud.platformx.device.service.DeviceLeasingLedgerItemService; import org.springframework.security.access.prepost.PreAuthorize; import com.by4cloud.platformx.common.excel.annotation.ResponseExcel; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import org.springdoc.api.annotations.ParameterObject; import org.springframework.http.HttpHeaders; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; /** * 设备租赁台账明细 * * @author syt * @date 2025-03-27 09:33:07 */ @RestController @RequiredArgsConstructor @RequestMapping("/deviceLeasingLedgerItem" ) @Tag(description = "deviceLeasingLedgerItem" , name = "设备租赁台账明细管理" ) @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) public class DeviceLeasingLedgerItemController { private final DeviceLeasingLedgerItemService deviceLeasingLedgerItemService; /** * 分页查询 * @param page 分页对象 * @param deviceLeasingLedgerItem 设备租赁台账明细 * @return */ @Operation(summary = "分页查询" , description = "分页查询" ) @GetMapping("/page" ) @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedgerItem_view')" ) public R getDeviceLeasingLedgerItemPage(@ParameterObject Page page, @ParameterObject DeviceLeasingLedgerItem deviceLeasingLedgerItem) { LambdaQueryWrapper<DeviceLeasingLedgerItem> wrapper = Wrappers.lambdaQuery(); wrapper.eq(StrUtil.isNotBlank(deviceLeasingLedgerItem.getDeviceCode()),DeviceLeasingLedgerItem::getDeviceCode,deviceLeasingLedgerItem.getDeviceCode()); return R.ok(deviceLeasingLedgerItemService.page(page, wrapper)); } /** * 通过id查询设备租赁台账明细 * @param id id * @return R */ @Operation(summary = "通过id查询" , description = "通过id查询" ) @GetMapping("/{id}" ) @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedgerItem_view')" ) public R getById(@PathVariable("id" ) Long id) { return R.ok(deviceLeasingLedgerItemService.getById(id)); } /** * 新增设备租赁台账明细 * @param deviceLeasingLedgerItem 设备租赁台账明细 * @return R */ @Operation(summary = "新增设备租赁台账明细" , description = "新增设备租赁台账明细" ) @SysLog("新增设备租赁台账明细" ) @PostMapping @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedgerItem_add')" ) public R save(@RequestBody DeviceLeasingLedgerItem deviceLeasingLedgerItem) { return R.ok(deviceLeasingLedgerItemService.save(deviceLeasingLedgerItem)); } /** * 修改设备租赁台账明细 * @param deviceLeasingLedgerItem 设备租赁台账明细 * @return R */ @Operation(summary = "修改设备租赁台账明细" , description = "修改设备租赁台账明细" ) @SysLog("修改设备租赁台账明细" ) @PutMapping @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedgerItem_edit')" ) public R updateById(@RequestBody DeviceLeasingLedgerItem deviceLeasingLedgerItem) { return R.ok(deviceLeasingLedgerItemService.updateById(deviceLeasingLedgerItem)); } /** * 通过id删除设备租赁台账明细 * @param ids id列表 * @return R */ @Operation(summary = "通过id删除设备租赁台账明细" , description = "通过id删除设备租赁台账明细" ) @SysLog("通过id删除设备租赁台账明细" ) @DeleteMapping @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedgerItem_del')" ) public R removeById(@RequestBody Long[] ids) { return R.ok(deviceLeasingLedgerItemService.removeBatchByIds(CollUtil.toList(ids))); } /** * 导出excel 表格 * @param deviceLeasingLedgerItem 查询条件 * @param ids 导出指定ID * @return excel 文件流 */ @ResponseExcel @GetMapping("/export") @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedgerItem_export')" ) public List<DeviceLeasingLedgerItem> export(DeviceLeasingLedgerItem deviceLeasingLedgerItem,Long[] ids) { return deviceLeasingLedgerItemService.list(Wrappers.lambdaQuery(deviceLeasingLedgerItem).in(ArrayUtil.isNotEmpty(ids), DeviceLeasingLedgerItem::getId, ids)); } } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteController.java
@@ -60,7 +60,7 @@ @GetMapping("/{id}" ) @PreAuthorize("@pms.hasPermission('device_receivingNote_view')" ) public R getById(@PathVariable("id" ) Long id) { return R.ok(receivingNoteService.getById(id)); return R.ok(receivingNoteService.getByIdDeep(id)); } /** @@ -73,7 +73,7 @@ @PostMapping @PreAuthorize("@pms.hasPermission('device_receivingNote_add')" ) public R save(@RequestBody ReceivingNote receivingNote) { return R.ok(receivingNoteService.save(receivingNote)); return R.ok(receivingNoteService.saveDeep(receivingNote)); } /** @@ -86,7 +86,7 @@ @PutMapping @PreAuthorize("@pms.hasPermission('device_receivingNote_edit')" ) public R updateById(@RequestBody ReceivingNote receivingNote) { return R.ok(receivingNoteService.updateById(receivingNote)); return R.ok(receivingNoteService.updateByIdDeep(receivingNote)); } /** platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerItemMapper.java
New file @@ -0,0 +1,11 @@ package com.by4cloud.platformx.device.mapper; import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper; import com.by4cloud.platformx.device.entity.DeviceLeasingLedgerItem; import org.apache.ibatis.annotations.Mapper; @Mapper public interface DeviceLeasingLedgerItemMapper extends PlatformxBaseMapper<DeviceLeasingLedgerItem> { } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerMapper.java
New file @@ -0,0 +1,11 @@ package com.by4cloud.platformx.device.mapper; import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper; import com.by4cloud.platformx.device.entity.DeviceLeasingLedger; import org.apache.ibatis.annotations.Mapper; @Mapper public interface DeviceLeasingLedgerMapper extends PlatformxBaseMapper<DeviceLeasingLedger> { } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceMapper.java
@@ -3,9 +3,13 @@ import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper; import com.by4cloud.platformx.device.entity.Device; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; @Mapper public interface DeviceMapper extends PlatformxBaseMapper<Device> { List<Device> getDeviceSelectListByLedgerId(@Param("ledgerId") Long ledgerId); } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerItemService.java
New file @@ -0,0 +1,8 @@ package com.by4cloud.platformx.device.service; import com.baomidou.mybatisplus.extension.service.IService; import com.by4cloud.platformx.device.entity.DeviceLeasingLedgerItem; public interface DeviceLeasingLedgerItemService extends IService<DeviceLeasingLedgerItem> { } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerService.java
New file @@ -0,0 +1,14 @@ package com.by4cloud.platformx.device.service; import com.baomidou.mybatisplus.extension.service.IService; import com.by4cloud.platformx.device.entity.Device; import com.by4cloud.platformx.device.entity.DeviceLeasingLedger; import java.util.List; public interface DeviceLeasingLedgerService extends IService<DeviceLeasingLedger> { List<DeviceLeasingLedger> getSelectList(); List<Device> getDeviceSelectList(Long ledgerId); } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteService.java
@@ -9,4 +9,10 @@ public interface ReceivingNoteService extends IService<ReceivingNote> { IPage pageNew(Page page, ReceivingNoteQueryDTO queryDTO); boolean saveDeep(ReceivingNote receivingNote); boolean updateByIdDeep(ReceivingNote receivingNote); ReceivingNote getByIdDeep(Long id); } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
@@ -12,6 +12,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springframework.transaction.annotation.Transactional; import lombok.RequiredArgsConstructor; import java.io.Serializable; import java.util.Objects; /** * 合同表 @@ -65,4 +67,9 @@ contractItemMapper.deleteBatchIds(CollUtil.toList(ids)); return Boolean.TRUE; } @Override public Contract getByIdDeep(Serializable id) { return ContractService.super.getByIdDeep(id); } } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerItemServiceImpl.java
New file @@ -0,0 +1,16 @@ package com.by4cloud.platformx.device.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.by4cloud.platformx.device.entity.DeviceLeasingLedgerItem; import com.by4cloud.platformx.device.mapper.DeviceLeasingLedgerItemMapper; import com.by4cloud.platformx.device.service.DeviceLeasingLedgerItemService; import org.springframework.stereotype.Service; /** * 设备租赁台账明细 * * @author syt * @date 2025-03-27 09:33:07 */ @Service public class DeviceLeasingLedgerItemServiceImpl extends ServiceImpl<DeviceLeasingLedgerItemMapper, DeviceLeasingLedgerItem> implements DeviceLeasingLedgerItemService { } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java
New file @@ -0,0 +1,39 @@ 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.Device; import com.by4cloud.platformx.device.entity.DeviceLeasingLedger; import com.by4cloud.platformx.device.mapper.DeviceLeasingLedgerMapper; import com.by4cloud.platformx.device.mapper.DeviceMapper; import com.by4cloud.platformx.device.service.DeviceLeasingLedgerService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.List; /** * 设备租赁台账 * * @author syt * @date 2025-03-27 09:30:29 */ @Service @AllArgsConstructor public class DeviceLeasingLedgerServiceImpl extends ServiceImpl<DeviceLeasingLedgerMapper, DeviceLeasingLedger> implements DeviceLeasingLedgerService { private final DeviceMapper deviceMapper; @Override public List<DeviceLeasingLedger> getSelectList() { QueryWrapper<DeviceLeasingLedger> queryWrapper = new QueryWrapper<>(); List<DeviceLeasingLedger> list = baseMapper.selectList(queryWrapper); return list; } @Override public List<Device> getDeviceSelectList(Long ledgerId) { List<Device> list = deviceMapper.getDeviceSelectListByLedgerId(ledgerId); return list; } } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java
@@ -1,13 +1,23 @@ package com.by4cloud.platformx.device.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.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.service.ReceivingNoteService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.io.Serializable; import java.util.List; /** * 验收表 * @@ -15,9 +25,67 @@ * @date 2025-03-13 11:03:52 */ @Service @AllArgsConstructor public class ReceivingNoteServiceImpl extends ServiceImpl<ReceivingNoteMapper, ReceivingNote> implements ReceivingNoteService { private final ReceivingNoteItemMapper itemMapper; private final DeviceInventoryMapper inventoryMapper; @Override public IPage pageNew(Page page, ReceivingNoteQueryDTO queryDTO) { return baseMapper.pageNew(page,queryDTO); } @Override public boolean saveDeep(ReceivingNote entity) { baseMapper.insert(entity); if (entity.getNoteItemList()!=null&&entity.getNoteItemList().size()>0){ for (ReceivingNoteItem item:entity.getNoteItemList() ) { item.setNoteId(entity.getId()); itemMapper.insert(item); //设备库存同步新增 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); } } } } return Boolean.TRUE; } @Override public boolean updateByIdDeep(ReceivingNote entity) { baseMapper.updateById(entity); QueryWrapper<ReceivingNoteItem> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("note_id",entity.getId()); itemMapper.delete(queryWrapper); if (entity.getNoteItemList()!=null&&entity.getNoteItemList().size()>0){ for (ReceivingNoteItem item:entity.getNoteItemList() ) { item.setNoteId(entity.getId()); itemMapper.insert(item); } } return Boolean.TRUE; } @Override public ReceivingNote getByIdDeep(Long id) { ReceivingNote note = baseMapper.selectById(id); QueryWrapper<ReceivingNoteItem> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("note_id",note.getId()); List<ReceivingNoteItem> itemList = itemMapper.selectList(queryWrapper); note.setNoteItemList(itemList); return note; } } platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerItemMapper.xml
New file @@ -0,0 +1,22 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.by4cloud.platformx.device.mapper.DeviceLeasingLedgerItemMapper"> <resultMap id="deviceLeasingLedgerItemMap" type="com.by4cloud.platformx.device.entity.DeviceLeasingLedgerItem"> <id property="id" column="id"/> <result property="compId" column="comp_id"/> <result property="deviceCode" column="device_code"/> <result property="deviceId" column="device_id"/> <result property="deviceModels" column="device_models"/> <result property="deviceName" column="device_name"/> <result property="keyParameter" column="key_parameter"/> <result property="meteringUnit" column="metering_unit"/> <result property="num" column="num"/> <result property="createBy" column="create_by"/> <result property="createTime" column="create_time"/> <result property="updateBy" column="update_by"/> <result property="updateTime" column="update_time"/> <result property="delFlag" column="del_flag"/> </resultMap> </mapper> platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerMapper.xml
New file @@ -0,0 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.by4cloud.platformx.device.mapper.DeviceLeasingLedgerMapper"> <resultMap id="deviceLeasingLedgerMap" type="com.by4cloud.platformx.device.entity.DeviceLeasingLedger"> <id property="id" column="id"/> <result property="compId" column="comp_id"/> <result property="contractCode" column="contract_code"/> <result property="deliveryAcceptanceDate" column="delivery_acceptance_date"/> <result property="factoryAcceptanceDate" column="factory_acceptance_date"/> <result property="leaseStartDate" column="lease_start_date"/> <result property="leaseStopDate" column="lease_stop_date"/> <result property="leaseType" column="lease_type"/> <result property="ledgerCode" column="ledger_code"/> <result property="lesseeContractId" column="lessee_contract_id"/> <result property="createBy" column="create_by"/> <result property="createTime" column="create_time"/> <result property="updateBy" column="update_by"/> <result property="updateTime" column="update_time"/> <result property="delFlag" column="del_flag"/> </resultMap> </mapper> platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml
@@ -24,4 +24,29 @@ <result property="updateTime" column="update_time"/> <result property="delFlag" column="del_flag"/> </resultMap> <select id="getDeviceSelectListByLedgerId" resultType="com.by4cloud.platformx.device.entity.Device"> select id, d.name, d.specification, d.number from device d where d.del_flag = '0' and exists ( select ci.device_id from contract_item ci join contract c on c.`id` = ci.contract_id join device_leasing_ledger dll on dll.contract_code = c.`number` join device_leasing_ledger_item dlli on dll.id = dlli.ledger_id where dll.id = #{ledgerId} and d.id = ci.device_id ); </select> </mapper> platformx-device-biz/src/main/resources/mapper/DeviceTechnicalAgreementMapper.xml
@@ -35,7 +35,7 @@ dta.partyc , dta.sign_date , d.name deviceName, d.`number` deviceCode dta.device_code from device_technical_agreement dta join contract c on dta.contract_id = c.id platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml
@@ -35,5 +35,8 @@ <if test="queryDTO.releaseCode != null and queryDTO.releaseCode !=''"> and rn.release_code like CONCAT('%', #{queryDTO.releaseCode}, '%') </if> <if test="queryDTO.noteId != null and queryDTO.noteId !=''"> and rni.note_id = #{queryDTO.noteId} </if> </select> </mapper>