From 9682e00b8d6b633433bc634c5b8b82ecd2c70e6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E5=AE=8F=E7=A5=A5?= <14281818+xue-hongxiang@user.noreply.gitee.com> Date: Thu, 19 Dec 2024 13:44:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A1=E6=A3=80=E6=8A=A5=E4=BF=AE=E4=B8=AD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=B3=E9=A2=86=E7=89=A9=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contraller/MaintenanceController.java | 18 +- .../mapper/MaintenanceApplyGoodsMapper.java | 9 + .../entity/MaintenanceTaskDetailGoods.java | 39 ++++ .../maintenance/MaintenanceTaskDetail.java | 171 ++++++++++-------- .../IMaintenanceApplyGoodsService.java | 9 + .../MaintenanceApplyGoodsServiceImpl.java | 11 ++ 6 files changed, 174 insertions(+), 83 deletions(-) create mode 100644 src/main/java/org/springblade/modules/business/mapper/MaintenanceApplyGoodsMapper.java create mode 100644 src/main/java/org/springblade/modules/business/pojo/entity/MaintenanceTaskDetailGoods.java create mode 100644 src/main/java/org/springblade/modules/business/service/IMaintenanceApplyGoodsService.java create mode 100644 src/main/java/org/springblade/modules/business/service/impl/MaintenanceApplyGoodsServiceImpl.java diff --git a/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java b/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java index 6be8a53..079b594 100644 --- a/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java +++ b/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java @@ -16,9 +16,11 @@ import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.modules.business.enums.MaintenanceStatusEnum; import org.springblade.modules.business.pojo.dto.MaintenanceTaskDto; +import org.springblade.modules.business.pojo.entity.MaintenanceTaskDetailGoods; import org.springblade.modules.business.pojo.entity.maintenance.MaintenancePlan; import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTaskDetail; +import org.springblade.modules.business.service.IMaintenanceApplyGoodsService; import org.springblade.modules.business.service.IMaintenancePlanService; import org.springblade.modules.business.service.IMaintenanceTaskDetailService; import org.springblade.modules.business.service.IMaintenanceTaskService; @@ -29,6 +31,7 @@ import org.springframework.web.bind.annotation.*; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; +import java.util.Optional; /** * 维保控制器 @@ -45,7 +48,7 @@ public class MaintenanceController extends BladeController { private final IMaintenanceTaskService taskService; private final IMaintenanceTaskDetailService taskDetailService; - + private final IMaintenanceApplyGoodsService maintenanceApplyGoodsService; private final SmsService smsService; /*---------- 维修计划开始 ----------*/ @@ -251,8 +254,17 @@ public class MaintenanceController extends BladeController { taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_CREATE.getValue()); taskService.updateById(taskOld); List detailList = taskDto.getDetailList(); - taskDetailService.saveOrUpdateBatch(detailList); - + for (MaintenanceTaskDetail maintenanceTaskDetail : detailList) { + Optional> detailGoods = Optional.ofNullable(maintenanceTaskDetail.getDetailGoodsList()); + if (detailGoods.isPresent()) { + List detailGoodsList = detailGoods.get(); + for (MaintenanceTaskDetailGoods maintenanceTaskDetailGoods : detailGoodsList) { + maintenanceApplyGoodsService.save(maintenanceTaskDetailGoods); + } + } else { + taskDetailService.saveOrUpdate(maintenanceTaskDetail); + } + } return R.success(); } diff --git a/src/main/java/org/springblade/modules/business/mapper/MaintenanceApplyGoodsMapper.java b/src/main/java/org/springblade/modules/business/mapper/MaintenanceApplyGoodsMapper.java new file mode 100644 index 0000000..774157a --- /dev/null +++ b/src/main/java/org/springblade/modules/business/mapper/MaintenanceApplyGoodsMapper.java @@ -0,0 +1,9 @@ +package org.springblade.modules.business.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springblade.modules.business.pojo.entity.MaintenanceTaskDetailGoods; + +@Mapper +public interface MaintenanceApplyGoodsMapper extends BaseMapper { +} diff --git a/src/main/java/org/springblade/modules/business/pojo/entity/MaintenanceTaskDetailGoods.java b/src/main/java/org/springblade/modules/business/pojo/entity/MaintenanceTaskDetailGoods.java new file mode 100644 index 0000000..9b2b57a --- /dev/null +++ b/src/main/java/org/springblade/modules/business/pojo/entity/MaintenanceTaskDetailGoods.java @@ -0,0 +1,39 @@ +package org.springblade.modules.business.pojo.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.poi.hpsf.Decimal; +import org.springblade.core.mp.base.BaseEntity; +import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTaskDetail; + +@Data +@TableName("lab_maintenance_task_detail_applygoods") +@EqualsAndHashCode(callSuper = true) +public class MaintenanceTaskDetailGoods extends BaseEntity { + + //物料名称 + private String goodsName; + + //库存id + private Long warehouseId; + + //规格 + private String rule; + + //型号 + private String xh; + + //数量 + private Integer number; + + //单位 + private String unit; + + //价格 + private Double price; + + private Long parentId; + + +} diff --git a/src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenanceTaskDetail.java b/src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenanceTaskDetail.java index a178ca6..1d873fd 100644 --- a/src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenanceTaskDetail.java +++ b/src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenanceTaskDetail.java @@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.mp.base.BaseEntity; +import org.springblade.modules.business.pojo.entity.MaintenanceTaskDetailGoods; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -23,84 +24,94 @@ import java.util.List; @Schema(description = "维保任务详细") public class MaintenanceTaskDetail extends BaseEntity { - private Long taskId; - - /** - * 设备id - */ - private Long deviceId; - /** - * 设备名称 - */ - private String deviceName; - - /** - * 楼层 - */ - private String floorName; - - /** - * 房间 - */ - private Long deptId; - - /** - * 房间名称 - */ - private String deptName; - - /** - * 专业名称 - */ - private String majorName; - - /** - * 巡检内容 - */ - private String checkContent; - - /** - * 工艺要求 - */ - private String craft; - - /** - * 巡检周期 1:月, 2:季, 3:半年 - */ - private Integer period; - - /** - * 现场图片地址 - */ - private String picUrl; - - /** - * 签字图片地址 - */ - private String signUrl; - - /** - * 备注 - */ - private String remark; - - /** - * 维修价格 - */ - private Double price; - - /** - * 客户确认是否维修, 0:不维修, 1维修 - */ - private Integer isRepair; - - /** - * 计划开始时间 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd") - private Date startTime; - - @TableField(exist = false) - private List details; + private Long taskId; + + /** + * 设备id + */ + private Long deviceId; + /** + * 设备名称 + */ + private String deviceName; + + /** + * 楼层 + */ + private String floorName; + + /** + * 房间 + */ + private Long deptId; + + /** + * 房间名称 + */ + private String deptName; + + /** + * 专业名称 + */ + private String majorName; + + /** + * 巡检内容 + */ + private String checkContent; + + /** + * 工艺要求 + */ + private String craft; + + /** + * 巡检周期 1:月, 2:季, 3:半年 + */ + private Integer period; + + /** + * 现场图片地址 + */ + private String picUrl; + + /** + * 签字图片地址 + */ + private String signUrl; + + /** + * 备注 + */ + private String remark; + + /** + * 维修价格 + */ + private Double price; + + /** + * 客户确认是否维修, 0:不维修, 1维修 + */ + private Integer isRepair; + + /** + * 确认是否需要物资 + */ + private Integer isNeed; + + /** + * 计划开始时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date startTime; + + @TableField(exist = false) + private List details; + + //物资申领列表 + @TableField(exist = false) + private List detailGoodsList; + } diff --git a/src/main/java/org/springblade/modules/business/service/IMaintenanceApplyGoodsService.java b/src/main/java/org/springblade/modules/business/service/IMaintenanceApplyGoodsService.java new file mode 100644 index 0000000..86d628b --- /dev/null +++ b/src/main/java/org/springblade/modules/business/service/IMaintenanceApplyGoodsService.java @@ -0,0 +1,9 @@ +package org.springblade.modules.business.service; + + +import org.springblade.core.mp.base.BaseService; +import org.springblade.modules.business.pojo.entity.MaintenanceTaskDetailGoods; + +public interface IMaintenanceApplyGoodsService extends BaseService { + +} diff --git a/src/main/java/org/springblade/modules/business/service/impl/MaintenanceApplyGoodsServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/MaintenanceApplyGoodsServiceImpl.java new file mode 100644 index 0000000..92d74fc --- /dev/null +++ b/src/main/java/org/springblade/modules/business/service/impl/MaintenanceApplyGoodsServiceImpl.java @@ -0,0 +1,11 @@ +package org.springblade.modules.business.service.impl; + +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.modules.business.mapper.MaintenanceApplyGoodsMapper; +import org.springblade.modules.business.pojo.entity.MaintenanceTaskDetailGoods; +import org.springblade.modules.business.service.IMaintenanceApplyGoodsService; +import org.springframework.stereotype.Service; + +@Service +public class MaintenanceApplyGoodsServiceImpl extends BaseServiceImpl implements IMaintenanceApplyGoodsService { +}