From 4ad9053cc576b74f74985f22fa5af25cca282a28 Mon Sep 17 00:00:00 2001 From: shiyunteng <shiyunteng@example.com> Date: 星期五, 28 三月 2025 14:32:56 +0800 Subject: [PATCH] 合同审批 验收和台账中下拉 招标 中标编号后台生成 流水列表接口 --- platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java | 22 ++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteController.java | 2 platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml | 19 ++ platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/InventoryFlowWaterQueryDTO.java | 13 + platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java | 6 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java | 6 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedgerItem.java | 12 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerService.java | 8 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InventoryFlowWaterService.java | 4 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java | 4 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java | 15 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InventoryFlowWaterMapper.java | 5 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryFlowWaterPageVo.java | 23 ++ platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java | 11 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerController.java | 13 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java | 67 +++++++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerItemController.java | 1 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java | 4 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InventoryFlowWaterController.java | 8 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InventoryFlowWaterServiceImpl.java | 7 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java | 14 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteService.java | 3 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java | 17 ++ platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java | 15 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java | 122 ++++++++++++++ 25 files changed, 388 insertions(+), 33 deletions(-) diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/InventoryFlowWaterQueryDTO.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/InventoryFlowWaterQueryDTO.java new file mode 100644 index 0000000..0fb330c --- /dev/null +++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/InventoryFlowWaterQueryDTO.java @@ -0,0 +1,13 @@ +package com.by4cloud.platformx.device.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "搴撳瓨娴佹按鍒嗛〉鍏ュ弬") +public class InventoryFlowWaterQueryDTO { + + @Schema(description = "璁惧鍚嶇О") + private String deviceName; + +} 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 index b205abf..82736b0 100644 --- 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 @@ -1,5 +1,6 @@ package com.by4cloud.platformx.device.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.by4cloud.platformx.common.data.mybatis.BaseModel; import com.fasterxml.jackson.annotation.JsonFormat; @@ -9,8 +10,9 @@ import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.Transient; import java.util.Date; +import java.util.List; @Data @Entity @@ -78,4 +80,11 @@ @Schema(description = "鎵跨鍏徃") @Column(columnDefinition="bigint comment '鎵跨鍏徃'") private Long lesseeContractId; + + /** + * 鍙拌处鏄庣粏 + */ + @Transient + @TableField(exist = false) + private List<DeviceLeasingLedgerItem> ledgerItemList; } 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 index e0b9404..86c3e86 100644 --- 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 @@ -1,5 +1,6 @@ package com.by4cloud.platformx.device.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.by4cloud.platformx.common.data.mybatis.BaseModel; import io.swagger.v3.oas.annotations.media.Schema; @@ -8,6 +9,8 @@ import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.Transient; +import java.util.List; @Data @Entity @@ -34,7 +37,7 @@ * 璁惧缂栫爜 */ @Schema(description="璁惧缂栫爜") - @Column(columnDefinition="VARCHAR(16) comment '璁惧缂栫爜'") + @Column(columnDefinition="VARCHAR(32) comment '璁惧缂栫爜'") private String deviceCode; /** @@ -71,4 +74,11 @@ @Schema(description = "鏁伴噺") @Column(columnDefinition="INTEGER comment '鏁伴噺'") private Integer num; + + /** + * 鍙拌处鏄庣粏 + */ + @Transient + @TableField(exist = false) + private List<String> serialNos; } 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 c192bac..b2b9af4 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 @@ -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-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 5ab650a..c911c60 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 @@ -41,8 +41,8 @@ private Long contractItemId; @Schema(description = "鏁伴噺") - @Column(columnDefinition="bigint comment '鏁伴噺'") - private Long num; + @Column(columnDefinition="integer comment '鏁伴噺'") + private Integer num; /** * 楠屾敹閲戦 @@ -94,11 +94,12 @@ @Column(columnDefinition="VARCHAR(32) comment '璁¢噺鍗曚綅'") private String meteringUnit; + /** - * 鍏ュ簱鏃舵墍闇�搴忓垪鍙� + * 璁惧搴忓垪鍙� */ - @Schema(description = "璁惧搴忓垪鍙�") - @Transient - @TableField(exist = false) - private List<String> serialNos; + @Schema(description="璁惧搴忓垪鍙� 閫楀彿鍒嗛殧") + @Column(columnDefinition="VARCHAR(256) comment '璁惧搴忓垪鍙�'") + private String serialNos; + } diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryFlowWaterPageVo.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryFlowWaterPageVo.java new file mode 100644 index 0000000..cc6bbfe --- /dev/null +++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryFlowWaterPageVo.java @@ -0,0 +1,23 @@ +package com.by4cloud.platformx.device.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +@Data +public class InventoryFlowWaterPageVo { + + private Long id; + + private String devicName; + + private String className; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + private String operateType; + + private String serialNo; +} 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 4bbec76..07ac4df 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 @@ -126,4 +126,26 @@ public List<Contract> export(Contract contract,Long[] ids) { return contractService.list(Wrappers.lambdaQuery(contract).in(ArrayUtil.isNotEmpty(ids), Contract::getId, ids)); } + + /** + * 瀹℃壒閫氳繃鍚堝悓 + * @param id id + * @return R + */ + @Operation(summary = "瀹℃壒閫氳繃鍚堝悓" , description = "瀹℃壒閫氳繃鍚堝悓" ) + @GetMapping("/approved/{id}" ) + public R approved(@PathVariable("id" ) Long id) { + return R.ok(contractService.approved(id)); + } + + /** + * 鑾峰彇瀹℃壒閫氳繃鍚堝悓鐨勪笅鎷夊垪琛� + * @return R + */ + @Operation(summary = "鑾峰彇瀹℃壒閫氳繃鍚堝悓鐨勪笅鎷夊垪琛�" , description = "鑾峰彇瀹℃壒閫氳繃鍚堝悓鐨勪笅鎷夊垪琛�" ) + @GetMapping("/getApprovedContractList" ) + public R getApprovedContractList() { + return R.ok(contractService.getApprovedContractList()); + } + } 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 index 6c6d1ab..66c878a 100644 --- 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 @@ -67,7 +67,7 @@ @GetMapping("/{id}" ) @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedger_view')" ) public R getById(@PathVariable("id" ) Long id) { - return R.ok(deviceLeasingLedgerService.getById(id)); + return R.ok(deviceLeasingLedgerService.getByIdDeep(id)); } /** @@ -81,7 +81,7 @@ @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)); + return deviceLeasingLedgerService.saveDeep(deviceLeasingLedger); } /** @@ -139,4 +139,13 @@ public R getDeviceSelectList(@PathVariable("ledgerId")Long ledgerId) { return R.ok(deviceLeasingLedgerService.getDeviceSelectList(ledgerId)); } + + /** + * 鍙拌处涓澶囧簭鍒楀彿涓嬫媺涓嬫媺 + */ + @Operation(summary = "鍙拌处鏄庣粏涓澶囧簭鍒楀彿涓嬫媺",description = "鍙拌处鏄庣粏涓澶囧簭鍒楀彿涓嬫媺涓嬫媺") + @GetMapping("/getLedgerDeviceList/{deviceId}") + public R getLedgerDeviceList(@PathVariable("deviceId")Long deviceId) { + return R.ok(deviceLeasingLedgerService.getLedgerDeviceList(deviceId)); + } } \ 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 index e19a466..e7ecb0e 100644 --- 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 @@ -49,6 +49,7 @@ @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedgerItem_view')" ) public R getDeviceLeasingLedgerItemPage(@ParameterObject Page page, @ParameterObject DeviceLeasingLedgerItem deviceLeasingLedgerItem) { LambdaQueryWrapper<DeviceLeasingLedgerItem> wrapper = Wrappers.lambdaQuery(); + wrapper.eq(deviceLeasingLedgerItem.getLedgerId()!=null,DeviceLeasingLedgerItem::getLedgerId,deviceLeasingLedgerItem.getLedgerId()); wrapper.eq(StrUtil.isNotBlank(deviceLeasingLedgerItem.getDeviceCode()),DeviceLeasingLedgerItem::getDeviceCode,deviceLeasingLedgerItem.getDeviceCode()); return R.ok(deviceLeasingLedgerItemService.page(page, wrapper)); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InventoryFlowWaterController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InventoryFlowWaterController.java index 9583c9a..29894dc 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InventoryFlowWaterController.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InventoryFlowWaterController.java @@ -7,6 +7,7 @@ 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.dto.InventoryFlowWaterQueryDTO; import com.by4cloud.platformx.device.entity.InventoryFlowWater; import com.by4cloud.platformx.device.service.InventoryFlowWaterService; import org.springframework.security.access.prepost.PreAuthorize; @@ -40,15 +41,14 @@ /** * 鍒嗛〉鏌ヨ * @param page 鍒嗛〉瀵硅薄 - * @param inventoryFlowWater 搴撳瓨娴佹按琛� + * @param queryDTO 搴撳瓨娴佹按琛� * @return */ @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" ) @GetMapping("/page" ) @PreAuthorize("@pms.hasPermission('platformx_inventoryFlowWater_view')" ) - public R getInventoryFlowWaterPage(@ParameterObject Page page, @ParameterObject InventoryFlowWater inventoryFlowWater) { - LambdaQueryWrapper<InventoryFlowWater> wrapper = Wrappers.lambdaQuery(); - return R.ok(inventoryFlowWaterService.page(page, wrapper)); + public R getInventoryFlowWaterPage(@ParameterObject Page page, @ParameterObject InventoryFlowWaterQueryDTO queryDTO) { + return R.ok(inventoryFlowWaterService.pageNew(page, queryDTO)); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java index cb36a54..e0ab86d 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java @@ -8,7 +8,9 @@ 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.JcMaxSizeService; import com.by4cloud.platformx.device.service.PurchaseTendrOrderService; import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity; import com.by4cloud.platformx.device.service.PurchaseTendrOrderService; @@ -39,6 +41,7 @@ public class PurchaseTendrOrderController { private final PurchaseTendrOrderService purchaseTendrOrderService; + private final JcMaxSizeService jcMaxSizeService; /** * 鍒嗛〉鏌ヨ @@ -79,6 +82,7 @@ @PostMapping @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_add')" ) public R save(@RequestBody PurchaseTendrOrderEntity purchaseTendrOrder) { + purchaseTendrOrder.setPurchasePlanCode(jcMaxSizeService.nextNo(MaxSizeContant.PURCHASE_PLAN_CODE)); return R.ok(purchaseTendrOrderService.save(purchaseTendrOrder)); } @@ -134,4 +138,14 @@ public R complete(@PathVariable("id")Long id) { return R.ok(purchaseTendrOrderService.complete(id)); } + + /** + * 鑾峰彇鎷涙爣涓嬫媺鍒楄〃 + * @return + */ + @GetMapping("/getPurchaseRenderList" ) + public R getPurchaseRenderList() { + return R.ok(purchaseTendrOrderService.getPurchaseRenderList()); + } + } \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java index b894a96..6ee6066 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java @@ -8,9 +8,11 @@ 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.entity.PurchaseTendrOrderEntity; import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity; +import com.by4cloud.platformx.device.service.JcMaxSizeService; import com.by4cloud.platformx.device.service.PurchaseWinningLetterService; import org.springframework.security.access.prepost.PreAuthorize; import com.by4cloud.platformx.common.excel.annotation.ResponseExcel; @@ -38,6 +40,7 @@ public class PurchaseWinningLetterController { private final PurchaseWinningLetterService purchaseWinningLetterService; + private final JcMaxSizeService maxSizeService; /** * 鍒嗛〉鏌ヨ @@ -79,6 +82,7 @@ @PostMapping @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_add')" ) public R save(@RequestBody PurchaseWinningLetterEntity purchaseWinningLetter) { + purchaseWinningLetter.setWinningCode(maxSizeService.nextNo(MaxSizeContant.WINNING_CODE)); return R.ok(purchaseWinningLetterService.save(purchaseWinningLetter)); } 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 120840d..c416bfb 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 @@ -73,7 +73,7 @@ @PostMapping @PreAuthorize("@pms.hasPermission('device_receivingNote_add')" ) public R save(@RequestBody ReceivingNote receivingNote) { - return R.ok(receivingNoteService.saveDeep(receivingNote)); + return receivingNoteService.saveDeep(receivingNote); } /** diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InventoryFlowWaterMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InventoryFlowWaterMapper.java index baae039..bf7e638 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InventoryFlowWaterMapper.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InventoryFlowWaterMapper.java @@ -1,11 +1,16 @@ package com.by4cloud.platformx.device.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper; +import com.by4cloud.platformx.device.dto.InventoryFlowWaterQueryDTO; import com.by4cloud.platformx.device.entity.InventoryFlowWater; +import com.by4cloud.platformx.device.entity.vo.InventoryFlowWaterPageVo; import org.apache.ibatis.annotations.Mapper; @Mapper public interface InventoryFlowWaterMapper extends PlatformxBaseMapper<InventoryFlowWater> { + IPage<InventoryFlowWaterPageVo> pageNew(Page page, InventoryFlowWaterQueryDTO queryDTO); } 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 ce94d2f..1cb9552 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 @@ -3,6 +3,8 @@ import com.by4cloud.platformx.device.entity.Contract; import com.github.yulichang.extension.mapping.base.MPJDeepService; +import java.util.List; + public interface ContractService extends MPJDeepService<Contract> { Boolean saveDeep(Contract contract); @@ -13,4 +15,8 @@ Boolean removeChild(Long[] ids); Contract getDetailById(Long id); + + Boolean approved(Long id); + + List<Contract> getApprovedContractList(); } 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 index 31904ec..0dac202 100644 --- 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 @@ -1,7 +1,9 @@ package com.by4cloud.platformx.device.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.by4cloud.platformx.common.core.util.R; import com.by4cloud.platformx.device.entity.Device; +import com.by4cloud.platformx.device.entity.DeviceInventory; import com.by4cloud.platformx.device.entity.DeviceLeasingLedger; import java.util.List; @@ -11,4 +13,10 @@ List<DeviceLeasingLedger> getSelectList(); List<Device> getDeviceSelectList(Long ledgerId); + + R saveDeep(DeviceLeasingLedger deviceLeasingLedger); + + List<DeviceInventory> getLedgerDeviceList(Long deviceId); + + DeviceLeasingLedger getByIdDeep(Long id); } \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InventoryFlowWaterService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InventoryFlowWaterService.java index 4e1e008..3cdf286 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InventoryFlowWaterService.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InventoryFlowWaterService.java @@ -1,8 +1,12 @@ package com.by4cloud.platformx.device.service; +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.device.dto.InventoryFlowWaterQueryDTO; import com.by4cloud.platformx.device.entity.InventoryFlowWater; public interface InventoryFlowWaterService extends IService<InventoryFlowWater> { + IPage pageNew(Page page, InventoryFlowWaterQueryDTO queryDTO); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java index 9d90e54..7125da4 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java @@ -3,7 +3,11 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity; +import java.util.List; + public interface PurchaseTendrOrderService extends IService<PurchaseTendrOrderEntity> { boolean complete(Long id); + + List<PurchaseTendrOrderEntity> getPurchaseRenderList(); } \ 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 1e00631..f788fbd 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 @@ -3,6 +3,7 @@ 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.ReceivingNoteQueryDTO; import com.by4cloud.platformx.device.entity.ReceivingNote; @@ -10,7 +11,7 @@ IPage pageNew(Page page, ReceivingNoteQueryDTO queryDTO); - boolean saveDeep(ReceivingNote receivingNote); + R saveDeep(ReceivingNote receivingNote); boolean updateByIdDeep(ReceivingNote receivingNote); 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 f858eda..930e4e9 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 @@ -31,6 +31,7 @@ @Override @Transactional(rollbackFor = Exception.class) public Boolean saveDeep(Contract contract) { + contract.setStatus(0); baseMapper.insert(contract); for (ContractItem contractItem : contract.getContractItemList()) { contractItem.setContractId(contract.getId()); @@ -82,4 +83,20 @@ contract.setContractItemList(itemList); return contract; } + + @Override + public Boolean approved(Long id) { + Contract contract = baseMapper.selectById(id); + contract.setStatus(1); + baseMapper.updateById(contract); + return Boolean.TRUE; + } + + @Override + public List<Contract> getApprovedContractList() { + QueryWrapper<Contract> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("status",1); + List<Contract> list = baseMapper.selectList(queryWrapper); + return list; + } } 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 index 44c7d67..0d15e4c 100644 --- 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 @@ -2,12 +2,12 @@ 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.common.core.util.R; +import com.by4cloud.platformx.device.entity.*; +import com.by4cloud.platformx.device.mapper.*; import com.by4cloud.platformx.device.service.DeviceLeasingLedgerService; import lombok.AllArgsConstructor; +import net.sf.jsqlparser.expression.operators.arithmetic.Concat; import org.springframework.stereotype.Service; import java.util.List; @@ -23,6 +23,11 @@ public class DeviceLeasingLedgerServiceImpl extends ServiceImpl<DeviceLeasingLedgerMapper, DeviceLeasingLedger> implements DeviceLeasingLedgerService { private final DeviceMapper deviceMapper; + private final DeviceLeasingLedgerItemMapper itemMapper; + private final ContractItemMapper contractItemMapper; + private final ContractMapper contractMapper; + private final DeviceInventoryMapper inventoryMapper; + private final InventoryFlowWaterMapper inventoryFlowWaterMapper; @Override public List<DeviceLeasingLedger> getSelectList() { @@ -36,4 +41,113 @@ List<Device> list = deviceMapper.getDeviceSelectListByLedgerId(ledgerId); return list; } + + @Override + public R saveDeep(DeviceLeasingLedger deviceLeasingLedger) { + //鏄庣粏璁惧鏁伴噺涓庡悎鍚屼腑绛捐鏁版嵁姣斿 + QueryWrapper<Contract> contractQueryWrapper = new QueryWrapper<>(); + contractQueryWrapper.eq("number",deviceLeasingLedger.getContractCode()); + Contract contract = contractMapper.selectOne(contractQueryWrapper); + if (contract == null) { + return R.failed("鍚堝悓涓嶅瓨鍦�"); + } + + //鏌ヨ鍚堝悓鏄庣粏涓澶囨儏鍐� + QueryWrapper<ContractItem> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("contract_id",contract.getId()); + List<ContractItem> list = contractItemMapper.selectList(queryWrapper); + + //姣旇緝璁惧绉嶇被鏄惁涓�鑷� + if (list.size()!=deviceLeasingLedger.getLedgerItemList().size()){ + return R.failed("鍚堝悓涓澶囩绫讳笌鍙拌处鏄庣粏涓笉涓�鑷�"); + } + + //姣旇緝鍗曚釜璁惧鍙拌处鏁伴噺鏄惁涓庡悎鍚屼腑涓�鑷� + for (ContractItem contractItem:list + ) { + for (DeviceLeasingLedgerItem item:deviceLeasingLedger.getLedgerItemList() + ) { + if (contractItem.getDeviceId()==item.getDeviceId()){ + if (contractItem.getNum()!=item.getNum()) { + return R.failed("鍚堝悓涓�"+contract.getName()+"璁惧鏁伴噺涓庡彴璐︽槑缁嗕腑涓嶄竴鑷�"); + } + } + } + } + + //鍏ュ簱 + baseMapper.insert(deviceLeasingLedger); + for (DeviceLeasingLedgerItem item:deviceLeasingLedger.getLedgerItemList() + ) { + item.setLedgerId(deviceLeasingLedger.getId()); + itemMapper.insert(item); + for (String serialNo:item.getSerialNos() + ) { + Device device = deviceMapper.selectById(item.getDeviceId()); + 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(0); + //鍑哄簱鎿嶄綔 搴撳瓨鐘舵�佷负 绉熻祦涓� + 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); + } + } + } + + //鏇存柊鍚堝悓鐘舵�佷负瀹屾垚 + contract.setStatus(2); + contractMapper.updateById(contract); + + return R.ok(); + } + + @Override + public List<DeviceInventory> getLedgerDeviceList(Long deviceId) { + QueryWrapper<DeviceInventory> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("device_id",deviceId); + queryWrapper.eq("inventory_status",1); + List<DeviceInventory> list = inventoryMapper.selectList(queryWrapper); + return list; + } + + @Override + public DeviceLeasingLedger getByIdDeep(Long id) { + DeviceLeasingLedger deviceLeasingLedger = baseMapper.selectById(id); + QueryWrapper<DeviceLeasingLedgerItem> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ledger_id",id); + List<DeviceLeasingLedgerItem> itemList = itemMapper.selectList(queryWrapper); + deviceLeasingLedger.setLedgerItemList(itemList); + return deviceLeasingLedger; + } } \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InventoryFlowWaterServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InventoryFlowWaterServiceImpl.java index f172139..fc4c287 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InventoryFlowWaterServiceImpl.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InventoryFlowWaterServiceImpl.java @@ -1,6 +1,9 @@ package com.by4cloud.platformx.device.service.impl; +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.InventoryFlowWaterQueryDTO; import com.by4cloud.platformx.device.entity.InventoryFlowWater; import com.by4cloud.platformx.device.mapper.InventoryFlowWaterMapper; import com.by4cloud.platformx.device.service.InventoryFlowWaterService; @@ -13,4 +16,8 @@ */ @Service public class InventoryFlowWaterServiceImpl extends ServiceImpl<InventoryFlowWaterMapper, InventoryFlowWater> implements InventoryFlowWaterService { + @Override + public IPage pageNew(Page page, InventoryFlowWaterQueryDTO queryDTO) { + return baseMapper.pageNew(page,queryDTO); + } } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java index eea1122..b5f7e54 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java @@ -9,6 +9,9 @@ import com.by4cloud.platformx.device.service.PurchaseTendrOrderService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; + +import java.util.List; + /** * 鎷涙爣閲囪喘鍗� * @@ -19,21 +22,25 @@ @RequiredArgsConstructor public class PurchaseTendrOrderServiceImpl extends ServiceImpl<PurchaseTendrOrderMapper, PurchaseTendrOrderEntity> implements PurchaseTendrOrderService { - private final PurchaseTendrOrderMapper purchaseTendrOrderMapper; - private final PurchaseWinningLetterMapper purchaseWinningLetterMapper; @Override public boolean complete(Long id) { - PurchaseTendrOrderEntity orderEntity = purchaseTendrOrderMapper.selectById(id); + PurchaseTendrOrderEntity orderEntity = baseMapper.selectById(id); PurchaseWinningLetterEntity entity = BeanUtil.copyProperties(orderEntity, PurchaseWinningLetterEntity.class); entity.setWinningPrice(orderEntity.getEstimatePrice()); entity.setTotalWinningAmount(orderEntity.getTotalPlanndAmount()); purchaseWinningLetterMapper.insert(entity); orderEntity.setStatus("2"); - purchaseTendrOrderMapper.updateById(orderEntity); + baseMapper.updateById(orderEntity); return true; } + @Override + public List<PurchaseTendrOrderEntity> getPurchaseRenderList() { + List<PurchaseTendrOrderEntity> list = baseMapper.selectList(null); + 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 a8673d5..53bfba2 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 @@ -4,15 +4,22 @@ 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.constant.MaxSizeContant; import com.by4cloud.platformx.device.dto.ReceivingNoteQueryDTO; import com.by4cloud.platformx.device.entity.*; import com.by4cloud.platformx.device.mapper.*; +import com.by4cloud.platformx.device.service.JcMaxSizeService; import com.by4cloud.platformx.device.service.ReceivingNoteService; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * 楠屾敹琛� @@ -22,13 +29,16 @@ */ @Service @AllArgsConstructor +@Slf4j public class ReceivingNoteServiceImpl extends ServiceImpl<ReceivingNoteMapper, ReceivingNote> implements ReceivingNoteService { + private final JcMaxSizeService maxSizeService; private final ReceivingNoteItemMapper itemMapper; private final DeviceInventoryMapper inventoryMapper; private final InventoryFlowWaterMapper inventoryFlowWaterMapper; private final DeviceMapper deviceMapper; private final ContractMapper contractMapper; + private final ContractItemMapper contractItemMapper; @Override public IPage pageNew(Page page, ReceivingNoteQueryDTO queryDTO) { @@ -36,19 +46,55 @@ } @Override - public boolean saveDeep(ReceivingNote entity) { + public R saveDeep(ReceivingNote entity) { + //鏄庣粏璁惧鏁伴噺涓庡悎鍚屼腑绛捐鏁版嵁姣斿 + Contract contract = contractMapper.selectById(entity.getContractId()); + if (contract == null) { + return R.failed("鍚堝悓涓嶅瓨鍦�"); + } + + //鏌ヨ鍚堝悓鏄庣粏涓澶囨儏鍐� + QueryWrapper<ContractItem> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("contract_id",contract.getId()); + List<ContractItem> list = contractItemMapper.selectList(queryWrapper); + + //姣旇緝璁惧绉嶇被鏄惁涓�鑷� + if (list.size()!=entity.getNoteItemList().size()){ + return R.failed("鍚堝悓涓澶囩绫讳笌楠屾敹鏄庣粏涓笉涓�鑷�"); + } + + //姣旇緝鍗曚釜璁惧鍙拌处鏁伴噺鏄惁涓庡悎鍚屼腑涓�鑷� + for (ContractItem contractItem:list + ) { + for (ReceivingNoteItem item:entity.getNoteItemList() + ) { + if (contractItem.getDeviceId().equals(item.getDeviceId())){ + if (contractItem.getNum()!=item.getNum()) { + return R.failed("鍚堝悓涓�"+item.getDeviceName()+"璁惧鏁伴噺涓庨獙鏀舵槑缁嗕腑涓嶄竴鑷�"); + } + } + } + } + + //鐢熸垚楠屾敹鍗曠紪鍙� + entity.setReleaseCode(maxSizeService.nextNo(MaxSizeContant.RELEASE_CODE)); + //鍏ュ簱 baseMapper.insert(entity); if (entity.getNoteItemList()!=null&&entity.getNoteItemList().size()>0){ for (ReceivingNoteItem item:entity.getNoteItemList() ) { + List<String> serialArr = new ArrayList<>(); + if (item.getSerialNos()!=null&&!"".equals(item.getSerialNos())) { + item.setSerialNos(item.getSerialNos()); + serialArr = Arrays.stream(item.getSerialNos().split(",")).collect(Collectors.toList()); + } item.setNoteId(entity.getId()); itemMapper.insert(item); //璁惧搴撳瓨鍚屾鏂板 - if (item.getSerialNos()!=null&&item.getSerialNos().size()>0){ - for (String serialNo:item.getSerialNos() + if (serialArr.size()>0){ + for (String serialNo:serialArr ) { Device device = deviceMapper.selectById(item.getDeviceId()); - Contract contract = contractMapper.selectById(entity.getContractId()); if (device!=null) { DeviceInventory inventory = new DeviceInventory(); inventory.setDeviceId(item.getDeviceId()); @@ -83,7 +129,12 @@ } } } - return Boolean.TRUE; + + //鏇存柊鍚堝悓鐘舵�佷负瀹屾垚 + contract.setStatus(2); + contractMapper.updateById(contract); + + return R.ok(); } @Override @@ -111,4 +162,10 @@ note.setNoteItemList(itemList); return note; } + + public static void main(String[] args) { + Long l1= 1905442028714270722l; + long l2 = 1905442028714270722l; + System.out.println(l1==l2); + } } diff --git a/platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml b/platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml index 3ca2275..9f9ab0b 100644 --- a/platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml +++ b/platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml @@ -18,4 +18,23 @@ <result property="updateTime" column="update_time"/> <result property="delFlag" column="del_flag"/> </resultMap> + <select id="pageNew" resultType="com.by4cloud.platformx.device.entity.vo.InventoryFlowWaterPageVo"> + select + ifw.id, + d.name devicName, + dc.name className, + d.create_time , + ifw.operate_type, + di.serial_no + from + inventory_flow_water ifw + join device d on d.id = ifw.device_id + join device_class dc on dc.id = ifw.class_id + join device_inventory di on di.id = ifw.inventory_id + where + ifw.del_flag = '0' + <if test="queryDTO.deviceName != null and queryDTO.deviceName !=''"> + and d.name like CONCAT('%', #{queryDTO.deviceName}, '%') + </if> + </select> </mapper> -- Gitblit v1.9.1