From 2f6bd04715eba821713b9e1492999b7e5be7fcdb Mon Sep 17 00:00:00 2001 From: shiyunteng <shiyunteng@example.com> Date: 星期四, 27 三月 2025 15:32:33 +0800 Subject: [PATCH] 租赁台账 --- platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerItemMapper.xml | 22 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java | 4 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteController.java | 6 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractItemController.java | 2 platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteItemQueryDTO.java | 2 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java | 6 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerMapper.java | 11 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedgerItem.java | 74 ++++++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerService.java | 14 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerItemService.java | 8 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java | 81 ++++++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerItemMapper.java | 11 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerController.java | 142 +++++++++++ platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml | 25 ++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java | 68 +++++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerItemController.java | 121 ++++++++++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceMapper.java | 4 platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerMapper.xml | 23 + platformx-device-biz/src/main/resources/mapper/DeviceTechnicalAgreementMapper.xml | 2 platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml | 3 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteService.java | 6 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerItemServiceImpl.java | 16 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java | 7 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java | 22 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java | 39 +++ 25 files changed, 711 insertions(+), 8 deletions(-) diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteItemQueryDTO.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteItemQueryDTO.java index 0bf8c61..b9b2522 100644 --- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteItemQueryDTO.java +++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteItemQueryDTO.java @@ -9,4 +9,6 @@ private String releaseCode; + private Long noteId; + } diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java new file mode 100644 index 0000000..b205abf --- /dev/null +++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java @@ -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; +} diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedgerItem.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedgerItem.java new file mode 100644 index 0000000..e0b9404 --- /dev/null +++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedgerItem.java @@ -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; +} 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 5670ea3..2f70181 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 @@ -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; } diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java index bb91a8e..5ab650a 100644 --- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java +++ b/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; } 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 1d8bf4e..0b7ce8f 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 @@ -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)); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractItemController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractItemController.java index 583add0..ce4aa3b 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractItemController.java +++ b/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 = "鍒嗛〉鏌ヨ" ) diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerController.java new file mode 100644 index 0000000..6c6d1ab --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerController.java @@ -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)); + } +} \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerItemController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerItemController.java new file mode 100644 index 0000000..e19a466 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerItemController.java @@ -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)); + } +} \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteController.java index c8a7142..120840d 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteController.java +++ b/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)); } /** diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerItemMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerItemMapper.java new file mode 100644 index 0000000..5c623c1 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerItemMapper.java @@ -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> { + + +} \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerMapper.java new file mode 100644 index 0000000..1caa0c1 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerMapper.java @@ -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> { + + +} \ No newline at end of file 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 06b4439..524c1fd 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 @@ -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); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerItemService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerItemService.java new file mode 100644 index 0000000..41ff5c5 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerItemService.java @@ -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> { + +} \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerService.java new file mode 100644 index 0000000..31904ec --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerService.java @@ -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); +} \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteService.java index 6ae7af8..1e00631 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteService.java +++ b/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); } 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 312841b..1a03df0 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 @@ -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); + } } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerItemServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerItemServiceImpl.java new file mode 100644 index 0000000..a0a7855 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerItemServiceImpl.java @@ -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 { +} \ No newline at end of file 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 new file mode 100644 index 0000000..44c7d67 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java @@ -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; + } +} \ No newline at end of file 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 4f159a1..e4d4310 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 @@ -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; + } } diff --git a/platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerItemMapper.xml b/platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerItemMapper.xml new file mode 100644 index 0000000..d75dbf0 --- /dev/null +++ b/platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerItemMapper.xml @@ -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> \ No newline at end of file diff --git a/platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerMapper.xml b/platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerMapper.xml new file mode 100644 index 0000000..95b7826 --- /dev/null +++ b/platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerMapper.xml @@ -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> \ No newline at end of file diff --git a/platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml b/platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml index ec1d5c8..2d6d259 100644 --- a/platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml +++ b/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> diff --git a/platformx-device-biz/src/main/resources/mapper/DeviceTechnicalAgreementMapper.xml b/platformx-device-biz/src/main/resources/mapper/DeviceTechnicalAgreementMapper.xml index c7df52c..f939b40 100644 --- a/platformx-device-biz/src/main/resources/mapper/DeviceTechnicalAgreementMapper.xml +++ b/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 diff --git a/platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml b/platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml index 6ebc75f..4ff3176 100644 --- a/platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml +++ b/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> -- Gitblit v1.9.1