From fc8c86e7a365d5c6bdc37c2b05b9f83115ac2bc3 Mon Sep 17 00:00:00 2001 From: shiyunteng <shiyunteng@example.com> Date: 星期三, 23 四月 2025 17:30:52 +0800 Subject: [PATCH] 巡检任务 设备维修新增是否生成工单 --- platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/WorkOrderService.java | 2 platformx-device-biz/src/main/resources/mapper/ResidualRecycleMapper.xml | 30 ++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java | 26 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ResidualRecycleServiceImpl.java | 56 ++++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionTaskServiceImpl.java | 5 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java | 31 ++ platformx-device-api/src/main/java/com/by4cloud/platformx/device/constant/CommonStatusContant.java | 164 +++++++++++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceRepairServiceImpl.java | 15 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java | 5 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceRepairController.java | 5 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ResidualRecycle.java | 128 +++++++++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceInventoryServiceImpl.java | 28 ++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java | 11 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java | 37 ++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceScrapController.java | 3 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ResidualRecycleController.java | 138 +++++++++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ResidualRecycleMapper.java | 11 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionPlanServiceImpl.java | 13 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/WorkOrderController.java | 3 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceScrapServiceImpl.java | 5 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ResidualRecycleService.java | 12 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DevicePurchasePlanServiceImpl.java | 5 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java | 71 ++++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceInventoryService.java | 2 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java | 7 25 files changed, 772 insertions(+), 41 deletions(-) diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/constant/CommonStatusContant.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/constant/CommonStatusContant.java new file mode 100644 index 0000000..a56ab76 --- /dev/null +++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/constant/CommonStatusContant.java @@ -0,0 +1,164 @@ +package com.by4cloud.platformx.device.constant; + +import javax.persistence.criteria.CriteriaBuilder; + +public interface CommonStatusContant { + + /** + * 娈嬩綋鍥炴敹-寰呭鎵� + */ + Integer RESIDUAL_RECYCLE_STATUS_PENDING_APPROVAL = 1; + /** + * 娈嬩綋鍥炴敹-澶勭悊涓� + */ + Integer RESIDUAL_RECYCLE_STATUS_HANDLING = 2; + /** + * 娈嬩綋鍥炴敹-寰呭鎵� + */ + Integer RESIDUAL_RECYCLE_STATUS_COMPLETE = 3; + /** + * 璁惧搴撳瓨-鍙敤 + */ + Integer DEVICE_INVENTORY_USABLE = 1; + /** + * 璁惧搴撳瓨-绉熻祦涓� + */ + Integer DEVICE_INVENTORY_RENTING = 2; + /** + * 璁惧搴撳瓨- 缁翠慨涓� + */ + Integer DEVICE_INVENTORY_REPAIRING = 3; + /** + * 璁惧搴撳瓨-鎶ュ簾 + */ + Integer DEVICE_INVENTORY_SCRAPING = 4; + /** + * 璁惧搴撳瓨-娈嬪�煎洖鏀� + */ + Integer DEVICE_INVENTORY_RECYCLE = 5; + /** + * 娈嬩綋鍥炴敹-鎷嗚В鍥炴敹 + */ + Integer RESIDUAL_RECYCLE_METHOD_DISASSEMBE_RECYCLE = 1; + /** + * 娈嬩綋鍥炴敹-涓撲笟鏈烘瀯绉讳氦 + */ + Integer RESIDUAL_RECYCLE_METHOD_TRANSFER_PROFESSIONAL_INSTITUTION = 2; + /** + * 娈嬩綋鍥炴敹-鍐嶇璧佹祦杞� + */ + Integer RESIDUAL_RECYCLE_METHOD_CYCLE_RENTING = 3; + /** + * 鍚堝悓-寰呭鎵� + */ + Integer CONTRACT_STATUS_PENDING_APPROVAL = 0; + /** + * 鍚堝悓-宸插鎵� + */ + Integer CONTRACT_STATUS_APPROVED = 1; + /** + * 鍚堝悓-瀹屾垚 + */ + Integer CONTRACT_STATUS_COMPLETE = 2; + /** + * 鍚堝悓-浣滃簾瀹℃壒 + */ + Integer CONTRACT_STATUS_INVALID_PENDING_APPROVAL = 3; + /** + * 鍚堝悓-浣滃簾 + */ + Integer CONTRACT_STATUS_INVALID = 4; + /** + * 搴撳瓨娴佹按-鍏ュ簱 + */ + Integer DEVICE_INVENTORY_FLOW_WATER_IN= 2; + /** + * 搴撳瓨娴佹按-鍑哄簱 + */ + Integer DEVICE_INVENTORY_FLOW_WATER_OUT= 1; + /** + * 搴撳瓨绫诲瀷-浠撳簱 + */ + Integer DEVICE_INVENTORY_RESOURCE_WAREHOUSE= 1; + /** + * 搴撳瓨绫诲瀷-璐拱 + */ + Integer DEVICE_INVENTORY_RESOURCE_BUGING= 2; + /** + * 搴撳瓨绫诲瀷-璐拱 + */ + Integer DEVICE_INVENTORY_RESOURCE_UNUSED= 3; + /** + * 宸℃浠诲姟-鏈紑濮� + */ + Integer INSPECTION_TASK_NO_STARTED= 0; + /** + * 宸℃浠诲姟-宸℃涓� + */ + Integer INSPECTION_TASK_DURING_INSPECTION= 1; + /** + * 宸℃浠诲姟-瀹屾垚 + */ + Integer INSPECTION_TASK_COMPLETE= 2; + /** + * 宸ュ崟鐘舵��-寰呭垎閰� + */ + Integer WORK_ORDER_STATUS_ALLOCATED= 1; + /** + * 宸ュ崟鐘舵��-澶勭悊涓� + */ + Integer WORK_ORDER_STATUS_HANDLING= 2; + /** + * 宸ュ崟鐘舵��-宸插叧闂� + */ + Integer WORK_ORDER_STATUS_CLOSING= 3; + /** + * 璁惧缁翠慨鐘舵��-寰呭鎵� + */ + Integer DEVICE_REPAIR_STATUS_PANDING_APPROVAL= 1; + /** + * 璁惧缁翠慨鐘舵��-缁翠慨涓� + */ + Integer DEVICE_REPAIR_STATUS_REPAIRING= 2; + /** + * 璁惧缁翠慨鐘舵��-瀹屾垚 + */ + Integer DEVICE_REPAIR_STATUS_COMPLETE= 3; + /** + * 璁惧鎶ュ簾鐘舵��-寰呭鎵� + */ + Integer DEVICE_SCRAP_STATUS_PANDING_APPROVAL= 1; + /** + * 璁惧鎶ュ簾鐘舵��-缁翠慨涓� + */ + Integer DEVICE_SCRAP_STATUS_COMPLETE= 2; + /** + * 宸℃璁″垝-鐢熸垚浠诲姟鏍囪瘑 + */ + Integer INSPECTION_PLAN_FLAG_GEN_Y = 1; + /** + * 宸℃璁″垝-鐢熸垚浠诲姟鏍囪瘑 + */ + Integer INSPECTION_PLAN_FLAG_GEN_N = 0; + /** + * 宸℃璁″垝-鐢熸垚浠诲姟鏍囪瘑 + */ + Integer DEVICE_REPAIR_FLAG_N = 0; + /** + * 宸℃璁″垝-鐢熸垚浠诲姟鏍囪瘑 + */ + Integer DEVICE_REPAIR_FLAG_Y = 1; + /** + * 宸ュ崟绫诲瀷-鎶ヤ慨 + */ + Integer WORK_ORDER_TYPE_REPAIR = 1; + /** + * 璁惧閲囪喘璁″垝鐘舵��-寰呭鎵� + */ + Integer DEVICE_PURCHASE_STATUS_PANDING_APPROVAL = 0; + /** + * 璁惧閲囪喘璁″垝鐘舵��-寰呭鎵� + */ + Integer DEVICE_PURCHASE_STATUS_APPROVED = 1; + +} diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ResidualRecycle.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ResidualRecycle.java new file mode 100644 index 0000000..21f84a0 --- /dev/null +++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ResidualRecycle.java @@ -0,0 +1,128 @@ +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 java.math.BigDecimal; +import java.util.Date; + +@Data +@Entity +@TableName("residual_recycle") +@javax.persistence.Table(name = "residual_recycle") +@Table(appliesTo = "residual_recycle", comment = "娈嬩綋鍥炴敹") +public class ResidualRecycle extends BaseModel<ResidualRecycle> { + + /** + * 璁惧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(32) comment '璁¢噺鍗曚綅'") + private String meteringUnit; + + /** + * 璁惧搴忓垪鍙� + */ + @Schema(description="璁惧搴忓垪鍙�") + @Column(columnDefinition="VARCHAR(256) comment '璁惧搴忓垪鍙�'") + private String serialNo; + + /** + * 鍒濆浠峰�� + */ + @Schema(description="鍒濆浠峰��") + @Column(columnDefinition="decimal(10,2) comment '鍒濆浠峰��'") + private BigDecimal initialValue; + + /** + * 绱鎶樻棫 + */ + @Schema(description="绱鎶樻棫") + @Column(columnDefinition="decimal(10,2) comment '绱鎶樻棫'") + private BigDecimal accumulatedDepreciation; + + /** + * 澶勭疆鏂瑰紡 + */ + @Schema(description="澶勭疆鏂瑰紡") + @Column(columnDefinition="int comment '澶勭疆鏂瑰紡 1 鎷嗚В鍥炴敹 2 涓撲笟鏈烘瀯绉讳氦 3 鍐嶇璧佹祦杞�'") + private Integer handleMethod; + + /** + * 澶勭疆鏈烘瀯 + */ + @Schema(description="澶勭疆鏈烘瀯") + @Column(columnDefinition="VARCHAR(256) comment '澶勭疆鏈烘瀯'") + private String handleOrgan; + + /** + * 娈嬪�兼祴绠� + */ + @Schema(description="娈嬪�兼祴绠�") + @Column(columnDefinition="decimal(10,2) comment '娈嬪�兼祴绠�'") + private BigDecimal residualCalculation; + + /** + * 瀹為檯鍥炴敹 + */ + @Schema(description="瀹為檯鍥炴敹") + @Column(columnDefinition="decimal(10,2) comment '瀹為檯鍥炴敹'") + private BigDecimal actualResidual; + + /** + * 鍥炴敹鐧昏鏃ユ湡 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Schema(description = "鍥炴敹鐧昏鏃ユ湡") + @Column(columnDefinition="datetime comment '鍥炴敹鐧昏鏃ユ湡'") + private Date registrationDate; + + /** + * 璐㈠姟鏍搁攢鏃ユ湡 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Schema(description = "璐㈠姟鏍搁攢鏃ユ湡") + @Column(columnDefinition="datetime comment '璐㈠姟鏍搁攢鏃ユ湡'") + private Date verificationDate; + + /** + * 鐘舵�� + */ + @Schema(description = "鐘舵��") + @Column(columnDefinition="int comment '鐘舵�� 1 寰呭鎵� 2 澶勭悊涓� 3 宸插畬鎴�'") + private Integer status; +} 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 8d8d98c..c3092ea 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 @@ -133,6 +133,7 @@ * @param id id * @return R */ + @SysLog("瀹℃壒閫氳繃鍚堝悓" ) @Operation(summary = "瀹℃壒閫氳繃鍚堝悓" , description = "瀹℃壒閫氳繃鍚堝悓" ) @GetMapping("/approved/{id}" ) public R approved(@PathVariable("id" ) Long id) { @@ -149,4 +150,29 @@ return R.ok(contractService.getApprovedContractList()); } + /** + * 鍚堝悓鐢宠浣滃簾 + * @param id id + * @return R + */ + @SysLog("鍚堝悓鐢宠浣滃簾" ) + @Operation(summary = "鍚堝悓鐢宠浣滃簾" , description = "鍚堝悓鐢宠浣滃簾" ) + @GetMapping("/approvelInvalid/{id}" ) + @PreAuthorize("@pms.hasPermission('platformx_contract_zfsq')") + public R approvelInvalid(@PathVariable("id" ) Long id) { + return contractService.approvelInvalid(id); + } + + /** + * 鍚堝悓鐢宠浣滃簾 + * @param id id + * @return R + */ + @SysLog("鍚堝悓浣滃簾" ) + @Operation(summary = "鍚堝悓浣滃簾" , description = "鍚堝悓浣滃簾" ) + @GetMapping("/invalidById/{id}" ) + @PreAuthorize("@pms.hasPermission('platformx_contract_zf')") + public R invalidById(@PathVariable("id" ) Long id) { + return contractService.invalidById(id); + } } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java index 6a60a0b..f6b9bc9 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java @@ -2,6 +2,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ArrayUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; @@ -52,6 +53,7 @@ wrapper.like(StringUtils.isNotBlank(deviceInventory.getDeviceNumber()),DeviceInventory::getDeviceNumber,deviceInventory.getDeviceNumber()); wrapper.like(StringUtils.isNotBlank(deviceInventory.getSerialNo()),DeviceInventory::getSerialNo,deviceInventory.getSerialNo()); wrapper.like(StringUtils.isNotBlank(deviceInventory.getName()),DeviceInventory::getName,deviceInventory.getName()); + wrapper.eq(StringUtils.checkValNotNull(deviceInventory.getInventoryStatus()),DeviceInventory::getInventoryStatus,deviceInventory.getInventoryStatus()); wrapper.orderByDesc(DeviceInventory::getCreateTime); return R.ok(deviceInventoryService.page(page, wrapper)); } @@ -147,7 +149,7 @@ } /** - * 璁惧涓嬫墍鏈夊簭鍒楀彿涓嬫媺 + * 璁惧涓嬫墍鏈夊彲鐢ㄥ簭鍒楀彿涓嬫媺 * @return */ @GetMapping("/getDropdowmList/{deviceId}" ) @@ -155,6 +157,18 @@ QueryWrapper<DeviceInventory> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("device_id",deviceId); queryWrapper.eq("inventory_status","1"); + return R.ok(deviceInventoryService.list(queryWrapper)); + } + + /** + * 璁惧涓嬫墍鏈夋姤搴熷簭鍒楀彿涓嬫媺 + * @return + */ + @GetMapping("/getDropdowmScrapList/{deviceId}" ) + public R getDropdowmScrapList(@PathVariable("deviceId")Long deviceId) { + QueryWrapper<DeviceInventory> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("device_id",deviceId); + queryWrapper.eq("inventory_status","4"); return R.ok(deviceInventoryService.list(queryWrapper)); } @@ -168,13 +182,24 @@ } /** - * 淇敼搴撳瓨琛� + * 璁惧鏇存柊鐓х墖 * @param deviceInventory 搴撳瓨琛� * @return R */ - @SysLog("淇敼搴撳瓨琛�" ) + @SysLog("璁惧鏇存柊鐓х墖" ) @PutMapping("/uploadPic") public R uploadPic(@RequestBody DeviceInventory deviceInventory) { return R.ok(deviceInventoryService.updateById(deviceInventory)); } + + /** + * 淇敼搴撳瓨琛� + * @param id 搴撳瓨琛� + * @return R + */ + @SysLog("璁惧褰掕繕鍏ュ簱" ) + @GetMapping("/return/{id}") + public R returnDevice(@PathVariable("id")Long id) { + return deviceInventoryService.returnDevice(id); + } } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceRepairController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceRepairController.java index fcc610d..297f4c1 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceRepairController.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceRepairController.java @@ -6,6 +6,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.constant.CommonStatusContant; import com.by4cloud.platformx.device.dto.DeviceRepairQueryDTO; import com.by4cloud.platformx.device.entity.DeviceInventory; import com.by4cloud.platformx.device.entity.DeviceRepair; @@ -74,8 +75,8 @@ @PostMapping @PreAuthorize("@pms.hasPermission('device_deviceRepair_add')" ) public R save(@RequestBody DeviceRepair deviceRepair) { - deviceRepair.setStatus(1); - deviceRepair.setWoFlag(0); + deviceRepair.setStatus(CommonStatusContant.DEVICE_REPAIR_STATUS_PANDING_APPROVAL); + deviceRepair.setWoFlag(CommonStatusContant.DEVICE_REPAIR_FLAG_N); return R.ok(deviceRepairService.save(deviceRepair)); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceScrapController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceScrapController.java index 148e3e8..a3d2f0e 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceScrapController.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceScrapController.java @@ -6,6 +6,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.constant.CommonStatusContant; import com.by4cloud.platformx.device.dto.DeviceRepairQueryDTO; import com.by4cloud.platformx.device.entity.DeviceScrap; import com.by4cloud.platformx.device.service.DeviceScrapService; @@ -72,7 +73,7 @@ @PostMapping @PreAuthorize("@pms.hasPermission('device_deviceScrap_add')" ) public R save(@RequestBody DeviceScrap deviceScrap) { - deviceScrap.setStatus(1); + deviceScrap.setStatus(CommonStatusContant.DEVICE_SCRAP_STATUS_PANDING_APPROVAL); return R.ok(deviceScrapService.save(deviceScrap)); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ResidualRecycleController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ResidualRecycleController.java new file mode 100644 index 0000000..7da3cc5 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ResidualRecycleController.java @@ -0,0 +1,138 @@ +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.CommonStatusContant; +import com.by4cloud.platformx.device.entity.ResidualRecycle; +import com.by4cloud.platformx.device.service.ResidualRecycleService; +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-04-23 10:28:34 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/residualRecycle" ) +@Tag(description = "residualRecycle" , name = "娈嬩綋鍥炴敹绠$悊" ) +@SecurityRequirement(name = HttpHeaders.AUTHORIZATION) +public class ResidualRecycleController { + + private final ResidualRecycleService residualRecycleService; + + /** + * 鍒嗛〉鏌ヨ + * @param page 鍒嗛〉瀵硅薄 + * @param residualRecycle 娈嬩綋鍥炴敹 + * @return + */ + @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" ) + @GetMapping("/page" ) + @PreAuthorize("@pms.hasPermission('device_residualRecycle_view')" ) + public R getResidualRecyclePage(@ParameterObject Page page, @ParameterObject ResidualRecycle residualRecycle) { + LambdaQueryWrapper<ResidualRecycle> wrapper = Wrappers.lambdaQuery(); + wrapper.eq(StrUtil.isNotBlank(residualRecycle.getDeviceName()),ResidualRecycle::getDeviceName,residualRecycle.getDeviceName()); + wrapper.eq(Objects.nonNull(residualRecycle.getStatus()),ResidualRecycle::getStatus,residualRecycle.getStatus()); + wrapper.orderByDesc(ResidualRecycle::getCreateTime); + return R.ok(residualRecycleService.page(page, wrapper)); + } + + + /** + * 閫氳繃id鏌ヨ娈嬩綋鍥炴敹 + * @param id id + * @return R + */ + @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" ) + @GetMapping("/{id}" ) + @PreAuthorize("@pms.hasPermission('device_residualRecycle_view')" ) + public R getById(@PathVariable("id" ) Long id) { + return R.ok(residualRecycleService.getById(id)); + } + + /** + * 鏂板娈嬩綋鍥炴敹 + * @param residualRecycle 娈嬩綋鍥炴敹 + * @return R + */ + @Operation(summary = "鏂板娈嬩綋鍥炴敹" , description = "鏂板娈嬩綋鍥炴敹" ) + @SysLog("鏂板娈嬩綋鍥炴敹" ) + @PostMapping + @PreAuthorize("@pms.hasPermission('device_residualRecycle_add')" ) + public R save(@RequestBody ResidualRecycle residualRecycle) { + residualRecycle.setStatus(CommonStatusContant.RESIDUAL_RECYCLE_STATUS_PENDING_APPROVAL); + return R.ok(residualRecycleService.save(residualRecycle)); + } + + /** + * 淇敼娈嬩綋鍥炴敹 + * @param residualRecycle 娈嬩綋鍥炴敹 + * @return R + */ + @Operation(summary = "淇敼娈嬩綋鍥炴敹" , description = "淇敼娈嬩綋鍥炴敹" ) + @SysLog("淇敼娈嬩綋鍥炴敹" ) + @PutMapping + @PreAuthorize("@pms.hasPermission('device_residualRecycle_edit')" ) + public R updateById(@RequestBody ResidualRecycle residualRecycle) { + return residualRecycleService.updateByIdNew(residualRecycle); + } + + /** + * 閫氳繃id鍒犻櫎娈嬩綋鍥炴敹 + * @param ids id鍒楄〃 + * @return R + */ + @Operation(summary = "閫氳繃id鍒犻櫎娈嬩綋鍥炴敹" , description = "閫氳繃id鍒犻櫎娈嬩綋鍥炴敹" ) + @SysLog("閫氳繃id鍒犻櫎娈嬩綋鍥炴敹" ) + @DeleteMapping + @PreAuthorize("@pms.hasPermission('device_residualRecycle_del')" ) + public R removeById(@RequestBody Long[] ids) { + return R.ok(residualRecycleService.removeBatchByIds(CollUtil.toList(ids))); + } + + + /** + * 瀵煎嚭excel 琛ㄦ牸 + * @param residualRecycle 鏌ヨ鏉′欢 + * @param ids 瀵煎嚭鎸囧畾ID + * @return excel 鏂囦欢娴� + */ + @ResponseExcel + @GetMapping("/export") + @PreAuthorize("@pms.hasPermission('device_residualRecycle_export')" ) + public List<ResidualRecycle> export(ResidualRecycle residualRecycle,Long[] ids) { + return residualRecycleService.list(Wrappers.lambdaQuery(residualRecycle).in(ArrayUtil.isNotEmpty(ids), ResidualRecycle::getId, ids)); + } + + /** + * 瀹℃壒閫氳繃id娈嬩綋鍥炴敹 + * @param id id鍒楄〃 + * @return R + */ + @Operation(summary = "瀹℃壒閫氳繃id娈嬩綋鍥炴敹" , description = "瀹℃壒閫氳繃id娈嬩綋鍥炴敹" ) + @SysLog("瀹℃壒閫氳繃id娈嬩綋鍥炴敹" ) + @GetMapping("/approvedById/{id}") + @PreAuthorize("@pms.hasPermission('device_residualRecycle_approved')" ) + public R approvedById(@PathVariable("id") Long id) { + return residualRecycleService.approvedById(id); + } +} \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/WorkOrderController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/WorkOrderController.java index 4d1beab..afd650b 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/WorkOrderController.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/WorkOrderController.java @@ -52,6 +52,7 @@ wrapper.like(StrUtil.isNotBlank(workOrder.getWoCode()),WorkOrder::getWoCode,workOrder.getWoCode()); wrapper.like(StrUtil.isNotBlank(workOrder.getWoDesc()),WorkOrder::getWoDesc,workOrder.getWoDesc()); wrapper.eq(Objects.nonNull(workOrder.getWoStatus()),WorkOrder::getWoStatus,workOrder.getWoStatus()); + wrapper.orderByDesc(WorkOrder::getCreateTime); return R.ok(workOrderService.page(page, wrapper)); } @@ -91,7 +92,7 @@ @PutMapping @PreAuthorize("@pms.hasPermission('device_workOrder_edit')" ) public R updateById(@RequestBody WorkOrder workOrder) { - return R.ok(workOrderService.updateById(workOrder)); + return workOrderService.updateByIdNew(workOrder); } /** diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ResidualRecycleMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ResidualRecycleMapper.java new file mode 100644 index 0000000..66bfb83 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ResidualRecycleMapper.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.ResidualRecycle; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ResidualRecycleMapper extends PlatformxBaseMapper<ResidualRecycle> { + + +} \ No newline at end of file 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 1cb9552..4aefb84 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 @@ -1,5 +1,6 @@ package com.by4cloud.platformx.device.service; +import com.by4cloud.platformx.common.core.util.R; import com.by4cloud.platformx.device.entity.Contract; import com.github.yulichang.extension.mapping.base.MPJDeepService; @@ -19,4 +20,8 @@ Boolean approved(Long id); List<Contract> getApprovedContractList(); + + R approvelInvalid(Long id); + + R invalidById(Long id); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceInventoryService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceInventoryService.java index c559473..2bd3ee8 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceInventoryService.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceInventoryService.java @@ -8,4 +8,6 @@ public interface DeviceInventoryService extends IService<DeviceInventory> { R getReleaseDetail(Long id); + + R returnDevice(Long id); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ResidualRecycleService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ResidualRecycleService.java new file mode 100644 index 0000000..831b186 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ResidualRecycleService.java @@ -0,0 +1,12 @@ +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.ResidualRecycle; + +public interface ResidualRecycleService extends IService<ResidualRecycle> { + + R approvedById(Long id); + + R updateByIdNew(ResidualRecycle residualRecycle); +} \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/WorkOrderService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/WorkOrderService.java index 19159fe..6924b1d 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/WorkOrderService.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/WorkOrderService.java @@ -1,8 +1,10 @@ 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.WorkOrder; public interface WorkOrderService extends IService<WorkOrder> { + R updateByIdNew(WorkOrder workOrder); } \ No newline at end of file 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 930e4e9..4f4e358 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 @@ -3,10 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.by4cloud.platformx.device.entity.Contract; -import com.by4cloud.platformx.device.entity.ContractItem; -import com.by4cloud.platformx.device.mapper.ContractItemMapper; -import com.by4cloud.platformx.device.mapper.ContractMapper; +import com.by4cloud.platformx.common.core.util.R; +import com.by4cloud.platformx.device.constant.CommonStatusContant; +import com.by4cloud.platformx.device.entity.*; +import com.by4cloud.platformx.device.mapper.*; import com.by4cloud.platformx.device.service.ContractService; import org.springframework.stereotype.Service; import cn.hutool.core.collection.CollUtil; @@ -27,11 +27,16 @@ @RequiredArgsConstructor public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> implements ContractService { private final ContractItemMapper contractItemMapper; + private final DeviceLeasingLedgerMapper leasingLedgerMapper; + private final DeviceLeasingLedgerItemMapper ledgerItemMapper; + private final DeviceInventoryMapper inventoryMapper; + private final InventoryFlowWaterMapper flowWaterMapper; + private final DeviceMapper deviceMapper; @Override @Transactional(rollbackFor = Exception.class) public Boolean saveDeep(Contract contract) { - contract.setStatus(0); + contract.setStatus(CommonStatusContant.CONTRACT_STATUS_PENDING_APPROVAL); baseMapper.insert(contract); for (ContractItem contractItem : contract.getContractItemList()) { contractItem.setContractId(contract.getId()); @@ -87,7 +92,7 @@ @Override public Boolean approved(Long id) { Contract contract = baseMapper.selectById(id); - contract.setStatus(1); + contract.setStatus(CommonStatusContant.CONTRACT_STATUS_APPROVED); baseMapper.updateById(contract); return Boolean.TRUE; } @@ -95,8 +100,60 @@ @Override public List<Contract> getApprovedContractList() { QueryWrapper<Contract> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("status",1); + queryWrapper.eq("status",CommonStatusContant.CONTRACT_STATUS_APPROVED); List<Contract> list = baseMapper.selectList(queryWrapper); return list; } + + @Override + public R approvelInvalid(Long id) { + Contract contract = baseMapper.selectById(id); + contract.setStatus(CommonStatusContant.CONTRACT_STATUS_INVALID_PENDING_APPROVAL); + baseMapper.updateById(contract); + return R.ok(); + } + + @Override + public R invalidById(Long id) { + Contract contract = baseMapper.selectById(id); + contract.setStatus(CommonStatusContant.CONTRACT_STATUS_INVALID); + baseMapper.updateById(contract); + //鏍规嵁鍚堝悓鏌ユ壘鐩稿叧绉熻祦鍙拌处 + QueryWrapper<DeviceLeasingLedger> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("contract_id",id); + DeviceLeasingLedger ledger = leasingLedgerMapper.selectOne(queryWrapper); + if (ledger!=null){ + //鏌ユ壘鐩稿叧鍙拌处鏄庣粏 + QueryWrapper<DeviceLeasingLedgerItem> ledgerItemQueryWrapper = new QueryWrapper<>(); + ledgerItemQueryWrapper.eq("ledger_id",ledger.getId()); + List<DeviceLeasingLedgerItem> ledgerItemList = ledgerItemMapper.selectList(ledgerItemQueryWrapper); + if(ledgerItemList.size()>0){ + //鏍规嵁鍙拌处鏄庣粏鏌ヨ璁惧搴撳瓨 + ledgerItemList.stream().forEach(deviceLeasingLedgerItem -> { + QueryWrapper<DeviceInventory> inventoryQueryWrapper = new QueryWrapper<>(); + inventoryQueryWrapper.eq("ledger_item_id",deviceLeasingLedgerItem.getId()); + List<DeviceInventory> inventoryList = inventoryMapper.selectList(inventoryQueryWrapper); + //灏嗚澶囧簱瀛樼姸鎬佹洿涓哄彲鐢� + if (inventoryList.size()>0){ + inventoryList.stream().forEach(deviceInventory -> { + deviceInventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE); + inventoryMapper.updateById(deviceInventory); + //搴撳瓨娴佹按 + InventoryFlowWater flowWater = new InventoryFlowWater(); + flowWater.setDeviceId(deviceInventory.getDeviceId()); + Device device = deviceMapper.selectById(deviceInventory.getDeviceId()); + if (device!=null){ + flowWater.setClassId(device.getClassId()); + } + flowWater.setInventoryId(deviceInventory.getId()); + flowWater.setSerialNo(deviceInventory.getSerialNo()); + flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_IN); + flowWaterMapper.insert(flowWater); + }); + } + }); + } + } + return R.ok(); + } } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceInventoryServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceInventoryServiceImpl.java index bb6f0fd..23da633 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceInventoryServiceImpl.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceInventoryServiceImpl.java @@ -2,13 +2,17 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.by4cloud.platformx.common.core.util.R; +import com.by4cloud.platformx.device.constant.CommonStatusContant; +import com.by4cloud.platformx.device.entity.Device; import com.by4cloud.platformx.device.entity.DeviceInventory; import com.by4cloud.platformx.device.entity.InventoryFlowWater; import com.by4cloud.platformx.device.entity.vo.InventoryDetailVo; import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper; +import com.by4cloud.platformx.device.mapper.DeviceMapper; import com.by4cloud.platformx.device.mapper.InventoryFlowWaterMapper; import com.by4cloud.platformx.device.service.DeviceInventoryService; import com.by4cloud.platformx.device.service.InventoryFlowWaterService; +import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; /** @@ -18,10 +22,34 @@ * @date 2025-03-13 10:22:39 */ @Service +@AllArgsConstructor public class DeviceInventoryServiceImpl extends ServiceImpl<DeviceInventoryMapper, DeviceInventory> implements DeviceInventoryService { + + private final InventoryFlowWaterMapper flowWaterMapper; + private final DeviceMapper deviceMapper; + @Override public R getReleaseDetail(Long id) { InventoryDetailVo detailVo = baseMapper.getReleaseDetail(id); return R.ok(detailVo); } + + @Override + public R returnDevice(Long id) { + DeviceInventory inventory = baseMapper.selectById(id); + inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE); + baseMapper.updateById(inventory); + //搴撳瓨娴佹按璁板綍 + InventoryFlowWater flowWater = new InventoryFlowWater(); + flowWater.setDeviceId(inventory.getDeviceId()); + Device device = deviceMapper.selectById(inventory.getDeviceId()); + if (device!=null){ + flowWater.setClassId(device.getClassId()); + } + flowWater.setInventoryId(inventory.getId()); + flowWater.setSerialNo(inventory.getSerialNo()); + flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_IN); + flowWaterMapper.insert(flowWater); + return R.ok(); + } } 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 e468074..18f8ff2 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 @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.by4cloud.platformx.common.core.util.R; +import com.by4cloud.platformx.device.constant.CommonStatusContant; import com.by4cloud.platformx.device.entity.*; import com.by4cloud.platformx.device.mapper.*; import com.by4cloud.platformx.device.service.DeviceLeasingLedgerService; @@ -94,7 +95,7 @@ inventoryQueryWrapper.eq("serial_no",serialNo); DeviceInventory inventory = inventoryMapper.selectOne(inventoryQueryWrapper); if (device!=null&&inventory!=null) { - inventory.setInventoryStatus(2); + inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_RENTING); inventory.setLedgerItemId(item.getId()); //搴撳瓨璋冩暣 inventoryMapper.updateById(inventory); @@ -107,11 +108,11 @@ flowWater.setClassId(device.getClassId()); //鏍规嵁鍚堝悓绫诲瀷 璐拱 鎵跨 娴佹按鎿嶄綔绫诲瀷涓哄叆搴撴搷浣� if (contract!=null&&(contract.getType()==1||contract.getType()==2)){ - flowWater.setOperateType(2); + flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_IN); } //鏍规嵁鍚堝悓绫诲瀷 绉熻祦 娴佹按鎿嶄綔绫诲瀷涓哄嚭搴撴搷浣� if (contract!=null&&contract.getType()==0){ - flowWater.setOperateType(1); + flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_OUT); } //璁板綍搴撳瓨娴佹按 inventoryFlowWaterMapper.insert(flowWater); diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DevicePurchasePlanServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DevicePurchasePlanServiceImpl.java index 339476d..fd7a9c6 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DevicePurchasePlanServiceImpl.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DevicePurchasePlanServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.by4cloud.platformx.common.security.util.SecurityUtils; +import com.by4cloud.platformx.device.constant.CommonStatusContant; import com.by4cloud.platformx.device.constant.MaxSizeContant; import com.by4cloud.platformx.device.dto.DevicePurchasePlanQueryDTO; import com.by4cloud.platformx.device.entity.DevicePurchasePlan; @@ -39,7 +40,7 @@ devicePurchasePlan.setReleaseCompId(SecurityUtils.getUser().getCompId()); devicePurchasePlan.setReleaseId(SecurityUtils.getUser().getId()); devicePurchasePlan.setReleaseTime(new Date()); - devicePurchasePlan.setStatus(0); + devicePurchasePlan.setStatus(CommonStatusContant.DEVICE_PURCHASE_STATUS_PANDING_APPROVAL); baseMapper.insert(devicePurchasePlan); if (devicePurchasePlan.getPlanItemList() != null&&devicePurchasePlan.getPlanItemList().size()>0) { devicePurchasePlan.getPlanItemList().forEach(item->{ @@ -58,7 +59,7 @@ @Override public boolean approved(Long id) { DevicePurchasePlan plan = baseMapper.selectById(id); - plan.setStatus(1); + plan.setStatus(CommonStatusContant.DEVICE_PURCHASE_STATUS_APPROVED); baseMapper.updateById(plan); return true; } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceRepairServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceRepairServiceImpl.java index b4d5526..9f287e0 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceRepairServiceImpl.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceRepairServiceImpl.java @@ -4,6 +4,7 @@ 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.CommonStatusContant; import com.by4cloud.platformx.device.constant.MaxSizeContant; import com.by4cloud.platformx.device.dto.DeviceRepairQueryDTO; import com.by4cloud.platformx.device.entity.DeviceInventory; @@ -33,10 +34,10 @@ @Override public R approved(Long id) { DeviceRepair repair = baseMapper.selectById(id); - repair.setStatus(2); + repair.setStatus(CommonStatusContant.DEVICE_REPAIR_STATUS_REPAIRING); baseMapper.updateById(repair); DeviceInventory inventory = inventoryMapper.selectById(repair.getInventoryId()); - inventory.setInventoryStatus(3); + inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_REPAIRING); inventoryMapper.updateById(inventory); return R.ok(); } @@ -44,10 +45,10 @@ @Override public R complete(Long id) { DeviceRepair repair = baseMapper.selectById(id); - repair.setStatus(3); + repair.setStatus(CommonStatusContant.DEVICE_REPAIR_STATUS_COMPLETE); baseMapper.updateById(repair); DeviceInventory inventory = inventoryMapper.selectById(repair.getInventoryId()); - inventory.setInventoryStatus(1); + inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE); inventoryMapper.updateById(inventory); return R.ok(); } @@ -64,10 +65,10 @@ workOrder.setRepairId(id); workOrder.setWoCode(maxSizeService.nextNo(MaxSizeContant.DEVICE_PURCHASE_CODE)); workOrder.setWoDesc(repair.getRepairDesc()); - workOrder.setWoType(1); - workOrder.setWoStatus(1); + workOrder.setWoType(CommonStatusContant.WORK_ORDER_TYPE_REPAIR); + workOrder.setWoStatus(CommonStatusContant.WORK_ORDER_STATUS_ALLOCATED); workOrderMapper.insert(workOrder); - repair.setWoFlag(1); + repair.setWoFlag(CommonStatusContant.DEVICE_REPAIR_FLAG_Y); baseMapper.updateById(repair); return R.ok(); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceScrapServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceScrapServiceImpl.java index b6777a0..c72ff40 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceScrapServiceImpl.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceScrapServiceImpl.java @@ -4,6 +4,7 @@ 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.CommonStatusContant; import com.by4cloud.platformx.device.dto.DeviceRepairQueryDTO; import com.by4cloud.platformx.device.entity.DeviceInventory; import com.by4cloud.platformx.device.entity.DeviceRepair; @@ -28,10 +29,10 @@ @Override public R approved(Long id) { DeviceScrap scrap = baseMapper.selectById(id); - scrap.setStatus(2); + scrap.setStatus(CommonStatusContant.DEVICE_SCRAP_STATUS_COMPLETE); baseMapper.updateById(scrap); DeviceInventory inventory = inventoryMapper.selectById(scrap.getInventoryId()); - inventory.setInventoryStatus(4); + inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_SCRAPING); inventoryMapper.updateById(inventory); return R.ok(); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionPlanServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionPlanServiceImpl.java index 4b55f15..7770917 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionPlanServiceImpl.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionPlanServiceImpl.java @@ -6,6 +6,7 @@ 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.CommonStatusContant; import com.by4cloud.platformx.device.dto.InspectionPlanQueryDTO; import com.by4cloud.platformx.device.entity.*; import com.by4cloud.platformx.device.mapper.*; @@ -63,10 +64,10 @@ } //鏍规嵁鏄惁鐢熸垚浠诲姟鏍囪瘑鐢熸垚浠诲姟 - if (inspectionPlan.getTaskFlag()==1){ + if (inspectionPlan.getTaskFlag()==CommonStatusContant.INSPECTION_PLAN_FLAG_GEN_Y){ InspectionTask task = BeanUtil.copyProperties(inspectionPlan, InspectionTask.class); task.setId(null); - task.setTaskStatus(0); + task.setTaskStatus(CommonStatusContant.INSPECTION_TASK_NO_STARTED); task.setTaskName(inspectionPlan.getPlanName()+"鐨勪换鍔�"); task.setPlanId(inspectionPlan.getId()); taskMapper.insert(task); @@ -171,10 +172,10 @@ } //鏍规嵁鏄惁鐢熸垚浠诲姟鏍囪瘑鐢熸垚浠诲姟 - if (inspectionPlan.getTaskFlag()==1){ + if (inspectionPlan.getTaskFlag()==CommonStatusContant.INSPECTION_PLAN_FLAG_GEN_Y){ InspectionTask task = BeanUtil.copyProperties(inspectionPlan, InspectionTask.class); task.setId(null); - task.setTaskStatus(0); + task.setTaskStatus(CommonStatusContant.INSPECTION_TASK_NO_STARTED); task.setTaskName(inspectionPlan.getPlanName()+"鐨勪换鍔�"); task.setPlanId(inspectionPlan.getId()); taskMapper.insert(task); @@ -212,7 +213,7 @@ InspectionPlan plan = getByIdNew(id); InspectionTask task = BeanUtil.copyProperties(plan, InspectionTask.class); task.setId(null); - task.setTaskStatus(0); + task.setTaskStatus(CommonStatusContant.INSPECTION_TASK_NO_STARTED); task.setTaskName(plan.getPlanName()+"鐨勪换鍔�"); task.setPlanId(plan.getId()); taskMapper.insert(task); @@ -245,7 +246,7 @@ } //璺熸柊璁″垝鏍囪瘑 - plan.setTaskFlag(1); + plan.setTaskFlag(CommonStatusContant.INSPECTION_PLAN_FLAG_GEN_Y); baseMapper.updateById(plan); return R.ok(); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionTaskServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionTaskServiceImpl.java index 631c268..de1dcea 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionTaskServiceImpl.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionTaskServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.by4cloud.platformx.admin.api.entity.SysUser; +import com.by4cloud.platformx.device.constant.CommonStatusContant; import com.by4cloud.platformx.device.dto.InspectionTaskQueryDTO; import com.by4cloud.platformx.device.entity.InspectionTask; import com.by4cloud.platformx.device.entity.InspectionTaskItem; @@ -48,7 +49,7 @@ inspectionTask.getItemList().stream().forEach(item->{ itemMapper.updateById(item); }); - inspectionTask.setTaskStatus(2); + inspectionTask.setTaskStatus(CommonStatusContant.INSPECTION_TASK_COMPLETE); baseMapper.updateById(inspectionTask); return true; } @@ -56,7 +57,7 @@ @Override public boolean taskStartById(Long id) { InspectionTask task = baseMapper.selectById(id); - task.setTaskStatus(1); + task.setTaskStatus(CommonStatusContant.INSPECTION_TASK_DURING_INSPECTION); baseMapper.updateById(task); return true; } 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 f9bcaa3..beaf1ac 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java @@ -5,6 +5,7 @@ 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.CommonStatusContant; import com.by4cloud.platformx.device.constant.MaxSizeContant; import com.by4cloud.platformx.device.dto.ReceivingNoteQueryDTO; import com.by4cloud.platformx.device.entity.*; @@ -118,12 +119,12 @@ inventory.setName(device.getName()); inventory.setSerialNo(serialNo); if (contract!=null&&(contract.getType()==1||contract.getType()==2)){ - inventory.setSource(1); - inventory.setInventoryStatus(1); + inventory.setSource(CommonStatusContant.DEVICE_INVENTORY_RESOURCE_WAREHOUSE); + inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE); } if (contract!=null&&contract.getType()==0){ - inventory.setSource(1); - inventory.setInventoryStatus(2); + inventory.setSource(CommonStatusContant.DEVICE_INVENTORY_RESOURCE_WAREHOUSE); + inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_RENTING); } inventoryMapper.insert(inventory); //璁惧搴撳瓨娴佹按鍚屾鏂板 @@ -136,7 +137,7 @@ flowWater.setOperateType(2); } if (contract!=null&&contract.getType()==0){ - flowWater.setOperateType(1); + flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_OUT); } inventoryFlowWaterMapper.insert(flowWater); } diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ResidualRecycleServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ResidualRecycleServiceImpl.java new file mode 100644 index 0000000..929d167 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ResidualRecycleServiceImpl.java @@ -0,0 +1,56 @@ +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.common.core.util.R; +import com.by4cloud.platformx.device.constant.CommonStatusContant; +import com.by4cloud.platformx.device.entity.DeviceInventory; +import com.by4cloud.platformx.device.entity.ResidualRecycle; +import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper; +import com.by4cloud.platformx.device.mapper.ResidualRecycleMapper; +import com.by4cloud.platformx.device.service.ResidualRecycleService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +/** + * 娈嬩綋鍥炴敹 + * + * @author syt + * @date 2025-04-23 10:28:34 + */ +@Service +@AllArgsConstructor +public class ResidualRecycleServiceImpl extends ServiceImpl<ResidualRecycleMapper, ResidualRecycle> implements ResidualRecycleService { + + private final DeviceInventoryMapper inventoryMapper; + + @Override + public R approvedById(Long id) { + ResidualRecycle residualRecycle = baseMapper.selectById(id); + residualRecycle.setStatus(CommonStatusContant.RESIDUAL_RECYCLE_STATUS_HANDLING); + baseMapper.updateById(residualRecycle); + return R.ok(); + } + + @Override + public R updateByIdNew(ResidualRecycle residualRecycle) { + if (residualRecycle.getStatus()==CommonStatusContant.RESIDUAL_RECYCLE_STATUS_HANDLING){ + residualRecycle.setStatus(CommonStatusContant.RESIDUAL_RECYCLE_STATUS_COMPLETE); + QueryWrapper<DeviceInventory> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("device_id",residualRecycle.getDeviceId()); + queryWrapper.eq("serial_no",residualRecycle.getSerialNo()); + DeviceInventory inventory = inventoryMapper.selectOne(queryWrapper); + if (inventory!=null){ + if (residualRecycle.getHandleMethod()==CommonStatusContant.RESIDUAL_RECYCLE_METHOD_DISASSEMBE_RECYCLE|| + residualRecycle.getHandleMethod()==CommonStatusContant.RESIDUAL_RECYCLE_METHOD_TRANSFER_PROFESSIONAL_INSTITUTION){ + inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_RECYCLE); + inventoryMapper.updateById(inventory); + }else if (residualRecycle.getHandleMethod()==CommonStatusContant.RESIDUAL_RECYCLE_METHOD_CYCLE_RENTING){ + inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE); + inventoryMapper.updateById(inventory); + } + } + } + baseMapper.updateById(residualRecycle); + return R.ok(); + } +} \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java index 2f05f68..dff8d95 100644 --- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java @@ -1,9 +1,16 @@ package com.by4cloud.platformx.device.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.by4cloud.platformx.common.core.util.R; +import com.by4cloud.platformx.device.constant.CommonStatusContant; +import com.by4cloud.platformx.device.entity.DeviceInventory; +import com.by4cloud.platformx.device.entity.DeviceRepair; import com.by4cloud.platformx.device.entity.WorkOrder; +import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper; +import com.by4cloud.platformx.device.mapper.DeviceRepairMapper; import com.by4cloud.platformx.device.mapper.WorkOrderMapper; import com.by4cloud.platformx.device.service.WorkOrderService; +import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; /** * 宸ュ崟 @@ -12,5 +19,35 @@ * @date 2025-04-22 16:01:37 */ @Service +@AllArgsConstructor public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService { + + private final DeviceRepairMapper repairMapper; + private final DeviceInventoryMapper inventoryMapper; + + @Override + public R updateByIdNew(WorkOrder workOrder) { + //宸ュ崟澶勭悊 + if (workOrder.getWoStatus()==2){ + workOrder.setWoStatus(CommonStatusContant.WORK_ORDER_STATUS_CLOSING); + } + //浜哄憳鍒嗛厤 + if (workOrder.getWoStatus()==1&&workOrder.getHandleUserId()!=null){ + workOrder.setWoStatus(CommonStatusContant.WORK_ORDER_STATUS_HANDLING); + } + + baseMapper.updateById(workOrder); + //鏇存柊缁翠慨鐘舵�� + if (workOrder.getRepairId()!=null){ + DeviceRepair repair = repairMapper.selectById(workOrder.getRepairId()); + repair.setStatus(CommonStatusContant.DEVICE_REPAIR_STATUS_COMPLETE); + repairMapper.updateById(repair); + //鏇存柊搴撳瓨鐘舵�� + DeviceInventory inventory = inventoryMapper.selectById(repair.getInventoryId()); + inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE); + inventoryMapper.updateById(inventory); + } + + return R.ok(); + } } \ No newline at end of file diff --git a/platformx-device-biz/src/main/resources/mapper/ResidualRecycleMapper.xml b/platformx-device-biz/src/main/resources/mapper/ResidualRecycleMapper.xml new file mode 100644 index 0000000..6943087 --- /dev/null +++ b/platformx-device-biz/src/main/resources/mapper/ResidualRecycleMapper.xml @@ -0,0 +1,30 @@ +<?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.ResidualRecycleMapper"> + + <resultMap id="residualRecycleMap" type="com.by4cloud.platformx.device.entity.ResidualRecycle"> + <id property="id" column="id"/> + <result property="compId" column="comp_id"/> + <result property="accumulatedDepreciation" column="accumulated_depreciation"/> + <result property="actualResidual" column="actual_residual"/> + <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="handleMethod" column="handle_method"/> + <result property="handleOrgan" column="handle_organ"/> + <result property="initialValue" column="initial_value"/> + <result property="meteringUnit" column="metering_unit"/> + <result property="registrationDate" column="registration_date"/> + <result property="residualCalculation" column="residual_calculation"/> + <result property="serialNo" column="serial_no"/> + <result property="status" column="status"/> + <result property="verificationDate" column="verification_date"/> + <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 -- Gitblit v1.9.1