From df70c43f19e2688246f24fee19d1cfb9b3cdefee Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Mon, 5 Aug 2024 18:33:38 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=A2=86=E7=94=A8=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/constant/BusinessConstants.java | 3 + .../entity/bracelet/BraceletParamsDto.java | 15 ++ .../bracelet/vo/EquipmentReqDataVo.java | 79 +++++++++ .../entity/bracelet/vo/EquipmentReqVo.java | 68 ++++++++ .../common/entity/bracelet/vo/PersonVo.java | 4 +- .../controller/EquipmentReqController.java | 63 +++++++ .../bracelet/mapper/EquipmentReqMapper.java | 82 ++++++++++ .../service/IEquipmentReqService.java | 45 +++++ .../service/impl/EquipmentReqServiceImpl.java | 93 +++++++++++ .../mapper/bracelet/EquipmentReqMapper.xml | 154 ++++++++++++++++++ .../system/controller/SelectController.java | 25 +++ .../com/bonus/system/domain/SysParamsDto.java | 2 + .../com/bonus/system/mapper/SelectMapper.java | 22 +++ .../bonus/system/service/ISelectService.java | 18 ++ .../service/impl/SelectServiceImpl.java | 24 +++ .../resources/mapper/system/SelectMapper.xml | 22 +++ 16 files changed, 717 insertions(+), 2 deletions(-) create mode 100644 bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqDataVo.java create mode 100644 bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqVo.java create mode 100644 bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/EquipmentReqController.java create mode 100644 bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/EquipmentReqMapper.java create mode 100644 bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IEquipmentReqService.java create mode 100644 bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/EquipmentReqServiceImpl.java create mode 100644 bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/EquipmentReqMapper.xml diff --git a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/BusinessConstants.java b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/BusinessConstants.java index 4c2f885..2c7b813 100644 --- a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/BusinessConstants.java +++ b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/BusinessConstants.java @@ -26,6 +26,9 @@ public class BusinessConstants { public final static String FEMALE = "女"; public final static String OTHER = "其他"; + /** 手环箱设备类型*/ + public final static String SHX = "shx"; + public final static Integer CELL_1 = 1; public final static Integer CELL_2 = 2; public final static Integer CELL_3 = 3; diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java index bed2c8a..25a2517 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java @@ -86,4 +86,19 @@ public class BraceletParamsDto { private Integer type; private Long updateUser = SecurityUtils.getUserId(); + + /**工程名称*/ + private String proName; + /**杆塔编号*/ + private String powerName; + /**设备类型*/ + private String devType; + /**设备名称*/ + private String devName; + /**设备编码*/ + private String devCode; + /**领用时间*/ + private String lyTime; + /**归还时间*/ + private String ghTime; } diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqDataVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqDataVo.java new file mode 100644 index 0000000..52ba53b --- /dev/null +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqDataVo.java @@ -0,0 +1,79 @@ +package com.bonus.common.entity.bracelet.vo; + +import com.bonus.common.security.utils.SecurityUtils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotNull; +import java.util.Date; +import java.util.List; + +/** + * @className:EquipmentReqDataVo + * @author:cwchen + * @date:2024-08-05-15:52 + * @version:1.0 + * @description:设备领用数据-vo + */ +@Data +public class EquipmentReqDataVo { + + private Long id; + @NotNull(message = "班组ID不能为空") + private Long teamId; + @NotNull(message = "作业杆塔不能为空") + private Long powerId; + @NotNull(message = "所属工程ID不能为空") + private Long proId; + + private List list; + + @Data + public static class Equipment { + /** + * 设备ID + */ + private Long devId; + /** + * 设备名称 + */ + private String devName; + /** + * 设备编码 + */ + private String devCode; + /** + * 设备类型 + */ + private String devType; + + /** + * 领用时间 + */ + private Date lyTime = new Date(); + } + + @Length(max = 255, message = "备注字符长度不能超过255") + private String remarks; + /** + * 创建人 + */ + private Long createUser = SecurityUtils.getUserId(); + /** + * 更新人 + */ + private Long updateUser = SecurityUtils.getUserId(); + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime = new Date(); + /** + * 更新时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) + private Date updateTime = new Date(); +} diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqVo.java new file mode 100644 index 0000000..a718e75 --- /dev/null +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqVo.java @@ -0,0 +1,68 @@ +package com.bonus.common.entity.bracelet.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @className:EquipmentReqVo + * @author:cwchen + * @date:2024-08-05-13:50 + * @version:1.0 + * @description:设备领用-vo + */ +@Data +public class EquipmentReqVo { + /** + * id + */ + private Long id; + + /**设备ID*/ + private Long devId; + /**设备类型*/ + private String devType; + /** + * 杆塔名称 + */ + private String powerName; + /** + * 工程名称 + */ + private String proName; + /** + * 领用班组 + */ + private String teamName; + /** + * 班组负责人 + */ + private String teamLeader; + /** + * 班组负责人手机号 + */ + private String leaderPhone; + /** + * 领用设备类型名称 + */ + private String deviceTypeName; + /** + * 领用设备编码 + */ + private String devCode; + /** + * 设备名称 + */ + private String devName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + /**领用时间*/ + private Date lyTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + /**归还时间*/ + private Date ghTime; + /** + * 备注 + */ + private String remarks; +} diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/PersonVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/PersonVo.java index 2640d08..f4a8ca9 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/PersonVo.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/PersonVo.java @@ -75,13 +75,13 @@ public class PersonVo implements Serializable { /** * 创建时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private Date createTime = new Date(); /** * 修改时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private Date updateTime = new Date(); /** diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/EquipmentReqController.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/EquipmentReqController.java new file mode 100644 index 0000000..8dad68a --- /dev/null +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/EquipmentReqController.java @@ -0,0 +1,63 @@ +package com.bonus.bracelet.controller; + +import com.bonus.bracelet.service.IEquipmentReqService; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.common.entity.bracelet.BraceletParamsDto; +import com.bonus.common.entity.bracelet.vo.EquipmentReqDataVo; +import com.bonus.common.entity.bracelet.vo.EquipmentReqVo; +import com.bonus.common.entity.bracelet.vo.PersonVo; +import com.bonus.common.log.annotation.SysLog; +import com.bonus.common.log.enums.OperaType; +import com.bonus.common.security.annotation.RequiresPermissions; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @className:EquipmentReqController + * @author:cwchen + * @date:2024-08-05-13:42 + * @version:1.0 + * @description:设备领用-web层 + */ +@RestController +@RequestMapping("/equipmentReq/") +@Slf4j +public class EquipmentReqController extends BaseController { + + @Resource(name = "IEquipmentReqService") + private IEquipmentReqService service; + +// @RequiresPermissions("basic:equipmentReq:list") + @GetMapping("list") + @SysLog(title = "施工管控", businessType = OperaType.QUERY,logType = 0,module = "施工管控->设备领用",details ="查询设备领用列表") + public TableDataInfo list(BraceletParamsDto dto) { + startPage(); + List list = service.getEquipmentReqLists(dto); + return getDataTable(list); + } + +// @RequiresPermissions("basic:equipmentReq:addData") + @PostMapping("addData") + @SysLog(title = "施工管控", businessType = OperaType.INSERT,logType = 0,module = "施工管控->设备领用",details ="设备领用") + public AjaxResult addData(@Validated @RequestBody EquipmentReqDataVo vo) { + return service.addData(vo); + } + + /** + * 获取未领用的设备 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2024/8/5 18:05 + */ + @GetMapping("getUseDevices") + public AjaxResult getUseDevices(BraceletParamsDto dto) { + return service.getUseDevices(dto); + } +} diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/EquipmentReqMapper.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/EquipmentReqMapper.java new file mode 100644 index 0000000..66ead66 --- /dev/null +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/EquipmentReqMapper.java @@ -0,0 +1,82 @@ +package com.bonus.bracelet.mapper; + +import com.bonus.common.entity.bracelet.BraceletParamsDto; +import com.bonus.common.entity.bracelet.vo.EquipmentReqDataVo; +import com.bonus.common.entity.bracelet.vo.EquipmentReqVo; +import org.apache.ibatis.annotations.MapKey; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + +/** + * @className:EquipmentReqMapper + * @author:cwchen + * @date:2024-08-05-13:46 + * @version:1.0 + * @description:设备领用-mapper + */ +@Repository(value = "EquipmentReqMapper") +public interface EquipmentReqMapper { + /** + * 设备领用列表 + * + * @param dto + * @return List + * @author cwchen + * @date 2024/8/5 13:53 + */ + List getEquipmentReqLists(BraceletParamsDto dto); + + /** + * 添加设备领用数据 + * + * @param vo + * @return void + * @author cwchen + * @date 2024/8/5 16:26 + */ + void addDevUseData(EquipmentReqDataVo vo); + + /** + * 添加设备领用详情数据 + * + * @param vo + * @return void + * @author cwchen + * @date 2024/8/5 16:34 + */ + void addDevUseDetailData(EquipmentReqDataVo vo); + + /** + * 更新手环箱状态 + * + * @param vo + * @param equipment + * @return void + * @author cwchen + * @date 2024/8/5 17:02 + */ + void updateShBoxData(@Param("vo") EquipmentReqDataVo vo, @Param("equipment") EquipmentReqDataVo.Equipment equipment); + + /** + * 判断设备是否已经归还 + * + * @param equipment + * @return Integer + * @author cwchen + * @date 2024/8/5 17:28 + */ + Integer isHasUseDevice(EquipmentReqDataVo.Equipment equipment); + + /** + * 获取未领用的设备 + * @param dto + * @return List> + * @author cwchen + * @date 2024/8/5 18:08 + */ + @MapKey("devId") + List> getUseDevices(BraceletParamsDto dto); +} diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IEquipmentReqService.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IEquipmentReqService.java new file mode 100644 index 0000000..248c4fd --- /dev/null +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IEquipmentReqService.java @@ -0,0 +1,45 @@ +package com.bonus.bracelet.service; + +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.entity.bracelet.BraceletParamsDto; +import com.bonus.common.entity.bracelet.vo.EquipmentReqDataVo; +import com.bonus.common.entity.bracelet.vo.EquipmentReqVo; + +import java.util.List; + +/** + * @className:IEquipmentReqService + * @author:cwchen + * @date:2024-08-05-13:42 + * @version:1.0 + * @description:设备领用-serivice + */ +public interface IEquipmentReqService { + /** + * 设备领用列表 + * + * @param dto + * @return List + * @author cwchen + * @date 2024/8/5 13:51 + */ + List getEquipmentReqLists(BraceletParamsDto dto); + + /** + * 设备领用 + * @param vo + * @return AjaxResult + * @author cwchen + * @date 2024/8/5 16:03 + */ + AjaxResult addData(EquipmentReqDataVo vo); + + /** + * 获取未领用的设备 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2024/8/5 18:06 + */ + AjaxResult getUseDevices(BraceletParamsDto dto); +} diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/EquipmentReqServiceImpl.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/EquipmentReqServiceImpl.java new file mode 100644 index 0000000..6b525f9 --- /dev/null +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/EquipmentReqServiceImpl.java @@ -0,0 +1,93 @@ +package com.bonus.bracelet.service.impl; + +import com.bonus.bracelet.mapper.EquipmentReqMapper; +import com.bonus.bracelet.service.IEquipmentReqService; +import com.bonus.common.core.constant.BusinessConstants; +import com.bonus.common.core.constant.Constants; +import com.bonus.common.core.utils.encryption.Sm4Utils; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.entity.bracelet.BraceletParamsDto; +import com.bonus.common.entity.bracelet.vo.EquipmentReqDataVo; +import com.bonus.common.entity.bracelet.vo.EquipmentReqVo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * @className:EquipmentReqServiceImpl + * @author:cwchen + * @date:2024-08-05-13:43 + * @version:1.0 + * @description:设备领用-serviceImpl + */ +@Slf4j +@Service(value = "IEquipmentReqService") +public class EquipmentReqServiceImpl implements IEquipmentReqService { + + @Resource(name = "EquipmentReqMapper") + private EquipmentReqMapper mapper; + + @Override + public List getEquipmentReqLists(BraceletParamsDto dto) { + List list= new ArrayList<>(); + try { + list = mapper.getEquipmentReqLists(dto); + for (EquipmentReqVo vo : list) { + vo.setLeaderPhone(Sm4Utils.decode(vo.getLeaderPhone())); + } + } catch (Exception e) { + log.error(e.toString(),e); + } + return list; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult addData(EquipmentReqDataVo vo) { + try { + if(CollectionUtils.isEmpty(vo.getList())){ + return AjaxResult.error("领用设备不能为空"); + } + for (EquipmentReqDataVo.Equipment equipment : vo.getList()) { + // 判断设备是否已经归还 + Integer result = result = mapper.isHasUseDevice(equipment); + if(result > 0){ + return AjaxResult.error("领用设备中包含未归还设备,请先归还后,方可再次领用"); + } + } + // 添加设备领用数据、设备领用详情数据 + mapper.addDevUseData(vo); + mapper.addDevUseDetailData(vo); + for (EquipmentReqDataVo.Equipment equipment : vo.getList()) { + // 更新手环箱状态 + if(Objects.equals(equipment.getDevType(), BusinessConstants.SHX)){ + mapper.updateShBoxData(vo,equipment); + } + } + return AjaxResult.success(); + } catch (Exception e) { + log.error(e.toString(),e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + } + + @Override + public AjaxResult getUseDevices(BraceletParamsDto dto) { + List> list = new ArrayList<>(); + try { + list = mapper.getUseDevices(dto); + } catch (Exception e) { + log.error(e.toString(),e); + } + return AjaxResult.success(list); + } +} diff --git a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/EquipmentReqMapper.xml b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/EquipmentReqMapper.xml new file mode 100644 index 0000000..6310174 --- /dev/null +++ b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/EquipmentReqMapper.xml @@ -0,0 +1,154 @@ + + + + + + INSERT INTO tb_dev_use + + team_id, + pro_id, + gt_id, + remarks, + create_time, + update_time, + create_user, + update_user, + del_flag, + id + + + #{teamId}, + #{proId}, + #{powerId}, + #{remarks}, + #{createTime}, + #{updateTime}, + #{createUser}, + #{updateUser}, + 0, + null + + + + + INSERT INTO tb_dev_use_bid(id,dev_id,dev_name,dev_code,dev_type,ly_time) VALUES + + ( + #{id},#{item.devId},#{item.devName},#{item.devCode},#{item.devType},#{item.lyTime} + ) + + + + + UPDATE tb_sh_box SET team_id = #{vo.teamId},pro_id = #{vo.proId},gt_id = #{vo.powerId} WHERE id = #{equipment.devId} + + + + + + + + + \ No newline at end of file diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SelectController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SelectController.java index 9b8f833..76c799c 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SelectController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SelectController.java @@ -42,6 +42,7 @@ public class SelectController { /** * 工程下拉选 + * * @param dto * @return AjaxResult * @author cwchen @@ -51,4 +52,28 @@ public class SelectController { public AjaxResult getProList(SysParamsDto dto) { return service.getProList(dto); } + + /** + * 班组下拉选-获取所属工程 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2024/8/5 17:48 + */ + @GetMapping("getTeamLists") + public AjaxResult getTeamLists(SysParamsDto dto) { + return service.getTeamLists(dto); + } + + /** + * 根据工程获取杆塔下拉选 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2024/8/5 17:54 + */ + @GetMapping("/getPowerLists") + public AjaxResult getPowerLists(SysParamsDto dto) { + return service.getPowerLists(dto); + } } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/domain/SysParamsDto.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/domain/SysParamsDto.java index 26fe966..3d94677 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/domain/SysParamsDto.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/domain/SysParamsDto.java @@ -12,6 +12,8 @@ import lombok.Data; @Data public class SysParamsDto { + private Long proId; + private String id; /** diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SelectMapper.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SelectMapper.java index 99251e4..32c6e34 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SelectMapper.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SelectMapper.java @@ -2,9 +2,11 @@ package com.bonus.system.mapper; import com.bonus.system.domain.SysParamsDto; import com.bonus.system.domain.vo.SysSelectVo; +import org.apache.ibatis.annotations.MapKey; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Map; /** * @className:SelectMapper @@ -27,10 +29,30 @@ public interface SelectMapper { /** * 班组下拉选 + * * @param dto * @return List * @author cwchen * @date 2024/7/17 15:59 */ List getProList(SysParamsDto dto); + + /** + * 班组下拉选2 + * @param dto + * @return List> + * @author cwchen + * @date 2024/8/5 17:49 + */ + @MapKey("teamId") + List> getTeamLists(SysParamsDto dto); + + /** + * 根据工程获取杆塔下拉选 + * @param dto + * @return List + * @author cwchen + * @date 2024/8/5 17:55 + */ + List getPowerLists(SysParamsDto dto); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISelectService.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISelectService.java index a5c98e5..757df89 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISelectService.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISelectService.java @@ -23,6 +23,7 @@ public interface ISelectService { /** * 工程下拉选 + * * @param dto * @return AjaxResult * @author cwchen @@ -30,4 +31,21 @@ public interface ISelectService { */ AjaxResult getProList(SysParamsDto dto); + /** + * 班组下拉选 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2024/8/5 17:48 + */ + AjaxResult getTeamLists(SysParamsDto dto); + + /** + * 根据工程获取杆塔下拉选 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2024/8/5 17:55 + */ + AjaxResult getPowerLists(SysParamsDto dto); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SelectServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SelectServiceImpl.java index a0587ae..514c54b 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SelectServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SelectServiceImpl.java @@ -9,7 +9,9 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * @className:SelectServiceImpl @@ -45,4 +47,26 @@ public class SelectServiceImpl implements ISelectService { return AjaxResult.error(); } } + + @Override + public AjaxResult getTeamLists(SysParamsDto dto) { + List> list = new ArrayList<>(); + try { + list = mapper.getTeamLists(dto); + } catch (Exception e) { + log.error(e.toString(),e); + } + return AjaxResult.success(list); + } + + @Override + public AjaxResult getPowerLists(SysParamsDto dto) { + try { + List list = mapper.getPowerLists(dto); + return AjaxResult.success(list); + } catch (Exception e) { + log.error(e.toString(),e); + return AjaxResult.error(); + } + } } diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SelectMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SelectMapper.xml index 9ac38bf..fe058c5 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/system/SelectMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SelectMapper.xml @@ -15,4 +15,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT tp.id,tp.pro_name AS name FROM tb_project tp WHERE tp.del_flag = 0 + + + + \ No newline at end of file From bc4cc7d8ffb5bb9afca7127847b4e203fde4c217 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Tue, 6 Aug 2024 09:28:12 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=A2=86=E7=94=A8=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/bracelet/BraceletParamsDto.java | 5 +++ .../bracelet/vo/EquipmentReqDataVo.java | 9 ++-- .../controller/EquipmentReqController.java | 7 ++++ .../bracelet/mapper/EquipmentReqMapper.java | 18 ++++++++ .../service/IEquipmentReqService.java | 9 ++++ .../service/impl/EquipmentReqServiceImpl.java | 42 ++++++++++++++----- .../mapper/bracelet/EquipmentReqMapper.xml | 14 +++++-- 7 files changed, 86 insertions(+), 18 deletions(-) diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java index 25a2517..280bbd6 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java @@ -87,6 +87,8 @@ public class BraceletParamsDto { private Long updateUser = SecurityUtils.getUserId(); + /**设备ID*/ + private Long devId; /**工程名称*/ private String proName; /**杆塔编号*/ @@ -101,4 +103,7 @@ public class BraceletParamsDto { private String lyTime; /**归还时间*/ private String ghTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date backTime = new Date(); } diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqDataVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqDataVo.java index 52ba53b..37d60f2 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqDataVo.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqDataVo.java @@ -49,10 +49,6 @@ public class EquipmentReqDataVo { */ private String devType; - /** - * 领用时间 - */ - private Date lyTime = new Date(); } @Length(max = 255, message = "备注字符长度不能超过255") @@ -76,4 +72,9 @@ public class EquipmentReqDataVo { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private Date updateTime = new Date(); + + /** + * 领用时间 + */ + private Date lyTime = new Date(); } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/EquipmentReqController.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/EquipmentReqController.java index 8dad68a..6a02cf5 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/EquipmentReqController.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/EquipmentReqController.java @@ -60,4 +60,11 @@ public class EquipmentReqController extends BaseController { public AjaxResult getUseDevices(BraceletParamsDto dto) { return service.getUseDevices(dto); } + + // @RequiresPermissions("basic:equipmentReq:returnDevice") + @PostMapping("returnDevice") + @SysLog(title = "施工管控", businessType = OperaType.INSERT,logType = 0,module = "施工管控->设备领用",details ="归还设备") + public AjaxResult returnDevice(@RequestBody BraceletParamsDto dto) { + return service.returnDevice(dto); + } } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/EquipmentReqMapper.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/EquipmentReqMapper.java index 66ead66..3d6fedc 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/EquipmentReqMapper.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/EquipmentReqMapper.java @@ -79,4 +79,22 @@ public interface EquipmentReqMapper { */ @MapKey("devId") List> getUseDevices(BraceletParamsDto dto); + + /** + * 更新手环箱状态 + * @param dto + * @return void + * @author cwchen + * @date 2024/8/6 9:16 + */ + void updateshBoxData(BraceletParamsDto dto); + + /** + * 更新设备归还状态 + * @param dto + * @return void + * @author cwchen + * @date 2024/8/6 9:19 + */ + void returnDevice(BraceletParamsDto dto); } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IEquipmentReqService.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IEquipmentReqService.java index 248c4fd..56709ac 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IEquipmentReqService.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IEquipmentReqService.java @@ -42,4 +42,13 @@ public interface IEquipmentReqService { * @date 2024/8/5 18:06 */ AjaxResult getUseDevices(BraceletParamsDto dto); + + /** + * 归还设备 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2024/8/6 9:14 + */ + AjaxResult returnDevice(BraceletParamsDto dto); } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/EquipmentReqServiceImpl.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/EquipmentReqServiceImpl.java index 6b525f9..75865ce 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/EquipmentReqServiceImpl.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/EquipmentReqServiceImpl.java @@ -16,10 +16,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; /** * @className:EquipmentReqServiceImpl @@ -37,14 +34,14 @@ public class EquipmentReqServiceImpl implements IEquipmentReqService { @Override public List getEquipmentReqLists(BraceletParamsDto dto) { - List list= new ArrayList<>(); + List list = new ArrayList<>(); try { list = mapper.getEquipmentReqLists(dto); for (EquipmentReqVo vo : list) { vo.setLeaderPhone(Sm4Utils.decode(vo.getLeaderPhone())); } } catch (Exception e) { - log.error(e.toString(),e); + log.error(e.toString(), e); } return list; } @@ -53,16 +50,22 @@ public class EquipmentReqServiceImpl implements IEquipmentReqService { @Transactional(rollbackFor = Exception.class) public AjaxResult addData(EquipmentReqDataVo vo) { try { - if(CollectionUtils.isEmpty(vo.getList())){ + if (CollectionUtils.isEmpty(vo.getList())) { return AjaxResult.error("领用设备不能为空"); } + // 判断是否添加重复设备 + Set setList = new HashSet<>(vo.getList()); + if (setList.size() != vo.getList().size()) { + return AjaxResult.error("领用设备中有重复设备,请仔细检查"); + } for (EquipmentReqDataVo.Equipment equipment : vo.getList()) { // 判断设备是否已经归还 Integer result = result = mapper.isHasUseDevice(equipment); - if(result > 0){ + if (result > 0) { return AjaxResult.error("领用设备中包含未归还设备,请先归还后,方可再次领用"); } } + // 添加设备领用数据、设备领用详情数据 mapper.addDevUseData(vo); mapper.addDevUseDetailData(vo); @@ -74,7 +77,7 @@ public class EquipmentReqServiceImpl implements IEquipmentReqService { } return AjaxResult.success(); } catch (Exception e) { - log.error(e.toString(),e); + log.error(e.toString(), e); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error(); } @@ -82,12 +85,29 @@ public class EquipmentReqServiceImpl implements IEquipmentReqService { @Override public AjaxResult getUseDevices(BraceletParamsDto dto) { - List> list = new ArrayList<>(); + List> list = new ArrayList<>(); try { list = mapper.getUseDevices(dto); } catch (Exception e) { - log.error(e.toString(),e); + log.error(e.toString(), e); } return AjaxResult.success(list); } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult returnDevice(BraceletParamsDto dto) { + try { + if(Objects.equals(dto.getDevType(), BusinessConstants.SHX)){ + // 设备类型为手环箱更新手环箱状态 + mapper.updateshBoxData(dto); + } + mapper.returnDevice(dto); + return AjaxResult.success(); + } catch (Exception e) { + log.error(e.toString(),e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + } } diff --git a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/EquipmentReqMapper.xml b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/EquipmentReqMapper.xml index 6310174..d63033a 100644 --- a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/EquipmentReqMapper.xml +++ b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/EquipmentReqMapper.xml @@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" INSERT INTO tb_dev_use_bid(id,dev_id,dev_name,dev_code,dev_type,ly_time) VALUES ( - #{id},#{item.devId},#{item.devName},#{item.devCode},#{item.devType},#{item.lyTime} + #{id},#{item.devId},#{item.devName},#{item.devCode},#{item.devType},#{lyTime} ) @@ -44,6 +44,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" UPDATE tb_sh_box SET team_id = #{vo.teamId},pro_id = #{vo.proId},gt_id = #{vo.powerId} WHERE id = #{equipment.devId} + + + UPDATE tb_sh_box SET team_id = null,pro_id = null,gt_id = null WHERE id = #{devId} + + + + UPDATE tb_dev_use_bid SET gh_time = #{backTime} WHERE id = #{id} AND dev_id = #{devId} AND dev_type = #{devType} AND dev_code = #{devCode} +