From 8d8197fb36f07d87274740032bf624f659a0c0eb Mon Sep 17 00:00:00 2001 From: jjLv <1981429112@qq.com> Date: Fri, 2 Aug 2024 18:49:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E7=8E=AF=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/bracelet/exportVo/ShExportVo.java | 29 +++++++++ .../common/entity/bracelet/vo/BraceletVo.java | 3 + .../controller/BraceletController.java | 31 ++++++++++ .../controller/ExportFileController.java | 36 +++++++++++ .../bonus/bracelet/mapper/BraceletMapper.java | 22 +++++++ .../bracelet/service/IBraceletService.java | 23 ++++++++ .../service/impl/BraceletServiceImpl.java | 59 +++++++++++++++++++ .../mapper/bracelet/BraceletMapper.xml | 25 ++++++++ 8 files changed, 228 insertions(+) create mode 100644 bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/exportVo/ShExportVo.java diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/exportVo/ShExportVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/exportVo/ShExportVo.java new file mode 100644 index 0000000..d06cecd --- /dev/null +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/exportVo/ShExportVo.java @@ -0,0 +1,29 @@ +package com.bonus.common.entity.bracelet.exportVo; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +/** + * @className:ShExportVo + * @version:1.0 + * @description:手环导出-vo + */ +@Data +public class ShExportVo { + + @Excel(name = "序号", width = 10.0,height = 20.0, orderNum = "0") + private String id; + + @Excel(name = "手环编码", width = 20.0,height = 15.0,orderNum = "1") + private String shCode; + + @Excel(name = "所属手环箱", width = 20.0,height = 15.0,orderNum = "2") + private String shboxName; + + @Excel(name = "手环状态", width = 20.0,height = 15.0,orderNum = "3") + private String shStatus; + + @Excel(name = "使用人", width = 20.0,height = 15.0,orderNum = "4") + private String shPersonName; + +} diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/BraceletVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/BraceletVo.java index a8719eb..77c75aa 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/BraceletVo.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/BraceletVo.java @@ -49,5 +49,8 @@ public class BraceletVo @Excel(name = "使用人名称") private String shPersonName; + /** 手环数组id */ + @Excel(name = "手环数组id") + private int[] shIds; } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/BraceletController.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/BraceletController.java index 203819e..1b75ce7 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/BraceletController.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/BraceletController.java @@ -56,6 +56,19 @@ public class BraceletController extends BaseController { return getDataTable(list); } + /** + * 展示未绑定手环列表 + * @param data + * @return + */ + @GetMapping("listShNoBind") + @SysLog(title = "手环管理", businessType = OperaType.QUERY, module = "基础管理->手环管理", details = "查询未绑定手环列表") + public TableDataInfo listShNoBind(BraceletVo data) { + startPage(); + List list = braceletservice.getShBindNoLists(data); + return getDataTable(list); + } + /** * 展示手环箱列表 @@ -106,6 +119,14 @@ public class BraceletController extends BaseController { return braceletservice.selectBoxById(shboxId); } + /** + * 根据手环箱id获取刷新详细信息 + */ +// @RequiresPermissions("bracelet:shbox:query") + @GetMapping(value = "/new/{shboxId}") + public AjaxResult getNewInfo(@PathVariable Integer shboxId) { + return braceletservice.selectBoxNewById(shboxId); + } /** @@ -198,4 +219,14 @@ public class BraceletController extends BaseController { return braceletservice.delSh(vo); } + /** + * 绑定手环 + */ + @PostMapping("bindSh") + @SysLog(title = "手环管理", businessType = OperaType.UPDATE,module = "基础管理->手环管理") + public AjaxResult bindSh(@RequestBody BraceletVo vo) { + int shboxId = vo.getShboxId(); + return braceletservice.bindSh(shboxId,vo.getShIds()); + } + } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ExportFileController.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ExportFileController.java index 33a1cc4..c62c0b5 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ExportFileController.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ExportFileController.java @@ -3,7 +3,9 @@ package com.bonus.bracelet.controller; import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import com.bonus.bracelet.mapper.BraceletMapper; import com.bonus.bracelet.mapper.DeviceMapper; +import com.bonus.bracelet.service.IBraceletService; import com.bonus.bracelet.service.IDeviceService; import com.bonus.bracelet.service.IPersonMgeService; import com.bonus.bracelet.service.ITeamMgeService; @@ -12,7 +14,9 @@ import com.bonus.common.core.utils.ExcelStyleUtil; import com.bonus.common.entity.bracelet.BraceletParamsDto; import com.bonus.common.entity.bracelet.exportVo.DeviceExportVo; import com.bonus.common.entity.bracelet.exportVo.PersonExportVo; +import com.bonus.common.entity.bracelet.exportVo.ShExportVo; import com.bonus.common.entity.bracelet.exportVo.TeamExportVo; +import com.bonus.common.entity.bracelet.vo.BraceletVo; import com.bonus.common.entity.bracelet.vo.DeviceVo; import com.bonus.common.entity.bracelet.vo.PersonVo; import com.bonus.common.entity.bracelet.vo.TeamVo; @@ -55,9 +59,14 @@ public class ExportFileController { @Resource(name = "IDeviceService") private IDeviceService iDeviceService; + @Resource(name = "IBraceletService") + private IBraceletService iBraceletService; + @Resource(name = "DeviceMapper") private DeviceMapper deviceMapper; + @Resource(name = "BraceletMapper") + private BraceletMapper braceletMapper; /** * 导出人员 * @@ -175,4 +184,31 @@ public class ExportFileController { log.error(e.toString(), e); } } + + @GetMapping("exportSh") + public void exportSh(HttpServletRequest request, HttpServletResponse response, BraceletVo dto) { + try { + List shExportVoList = new ArrayList<>(); + List shLists = iBraceletService.getBraceletLists(dto); + for (int i = 0; i < shLists.size(); i++) { + ShExportVo exportVo = new ShExportVo(); + BraceletVo vo = shLists.get(i); + BeanUtils.copyProperties(vo, exportVo); + exportVo.setId((i + 1) + ""); + exportVo.setShStatus(vo.getShStatus() == BusinessConstants.TYPE3 ? "在用" : vo.getShStatus() == BusinessConstants.TYPE ? "未用" : "其他"); + shExportVoList.add(exportVo); + } + ExportParams exportParams = new ExportParams("手环", "手环", ExcelType.XSSF); + exportParams.setStyle(ExcelStyleUtil.class); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, ShExportVo.class, shExportVoList); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("content-disposition", "attachment;fileName=" + URLEncoder.encode("手环" + ".xlsx", "UTF-8")); + ServletOutputStream outputStream = response.getOutputStream(); + workbook.write(outputStream); + outputStream.close(); + workbook.close(); + } catch (Exception e) { + log.error(e.toString(), e); + } + } } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/BraceletMapper.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/BraceletMapper.java index 19397f3..a9bc579 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/BraceletMapper.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/BraceletMapper.java @@ -4,6 +4,7 @@ import com.bonus.common.entity.bracelet.vo.BraceletVo; import com.bonus.common.entity.bracelet.vo.DeviceVo; import com.bonus.common.entity.bracelet.vo.ShboxVo; import com.bonus.common.entity.bracelet.vo.SidebandDeviceVo; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @@ -28,6 +29,13 @@ public interface BraceletMapper { */ List getShBindLists(BraceletVo data); + /** + * 未绑定手环列表 + * @param data + * @return + */ + List getShBindNoLists(BraceletVo data); + /** * 手环箱管理页面手环箱列表 * @param data @@ -70,6 +78,13 @@ public interface BraceletMapper { */ public ShboxVo selectBoxById(Integer shboxId); + + /** + * 根据手环箱id获得刷新详细信息 + * @param shboxId + * @return + */ + public ShboxVo selectBoxNewById(Integer shboxId); // // /** // * 判断设备名称是否存在 @@ -174,4 +189,11 @@ public interface BraceletMapper { * @return */ int delShboxById(int shboxId); + + /** + * 绑定 + * @param shboxId + * @param shId + */ + void bindSh(@Param("shboxId") int shboxId, @Param("shId") int shId); } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IBraceletService.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IBraceletService.java index 5b91c4c..e5feaaa 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IBraceletService.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IBraceletService.java @@ -27,6 +27,13 @@ public interface IBraceletService { */ List getShBindLists(BraceletVo data); + /** + * 未绑定手环列表 + * @param data + * @return + */ + List getShBindNoLists(BraceletVo data); + /** * 手环箱管理页面手环箱列表 * @param data @@ -54,6 +61,13 @@ public interface IBraceletService { */ public AjaxResult selectBoxById(Integer shboxId); + /** + * 根据手环箱id获得刷新详细信息 + * @param shboxId + * @return + */ + public AjaxResult selectBoxNewById(Integer shboxId); + /** * 新增手环信息 * @param vo @@ -110,4 +124,13 @@ public interface IBraceletService { * @return */ AjaxResult delShboxById(int shboxId); + + /** + * 绑定 + * @param shboxId + * @param shIds + * @return + */ + AjaxResult bindSh(int shboxId,int[] shIds); + } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/BraceletServiceImpl.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/BraceletServiceImpl.java index 9a9c930..7e5881c 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/BraceletServiceImpl.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/BraceletServiceImpl.java @@ -1,9 +1,11 @@ package com.bonus.bracelet.service.impl; +import com.alibaba.nacos.shaded.com.google.common.collect.Maps; import com.bonus.bracelet.mapper.BraceletMapper; import com.bonus.bracelet.mapper.DeviceMapper; import com.bonus.bracelet.service.IBraceletService; import com.bonus.bracelet.service.IDeviceService; +import com.bonus.common.core.constant.SecurityConstants; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.entity.bracelet.vo.BraceletVo; import com.bonus.common.entity.bracelet.vo.DeviceVo; @@ -17,6 +19,8 @@ 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.stream.Collectors; /** @@ -86,6 +90,16 @@ public class BraceletServiceImpl implements IBraceletService { return listFilter; } + @Override + public List getShBindNoLists(BraceletVo data) { + List list = new ArrayList<>(); + try { + list = braceletMapper.getShBindNoLists(data); + } catch (Exception e) { + log.error(e.toString(), e); + } + return list; + } @Override public List getShboxLists(ShboxVo data) { @@ -328,4 +342,49 @@ public class BraceletServiceImpl implements IBraceletService { return AjaxResult.error(); } } + + /** + * 根据手环箱id获得刷新详细信息 + * @param shboxId + * @return + */ + @Override + public AjaxResult selectBoxNewById(Integer shboxId) { + Map map= Maps.newHashMap(); + try { + ShboxVo vo = braceletMapper.selectBoxNewById(shboxId); + if(!Objects.isNull(vo)){ + Integer num=vo.getShboxCapacity()-vo.getShboxBindNum(); + map.put("boxNum",num); + }else{ + map.put("boxNum",0); + return AjaxResult.error(); + } + return AjaxResult.success(map); + } catch (Exception e) { + map.put("boxNum",0); + log.error(e.toString(), e); + return AjaxResult.error(); + } + + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult bindSh(int shboxId,int[] shIds) { + if(shIds.length==0){ + return AjaxResult.error("请至少选择一个要绑定的手环"); + } + try { + for (int i = 0; i < shIds.length; i++) { + int shId = shIds[i]; + braceletMapper.bindSh(shboxId,shId); + } + } catch (Exception e) { + log.error(e.toString(), e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("绑定失败"); + } + return AjaxResult.success("绑定成功"); + } } diff --git a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/BraceletMapper.xml b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/BraceletMapper.xml index 01b7d27..0acee1b 100644 --- a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/BraceletMapper.xml +++ b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/BraceletMapper.xml @@ -40,6 +40,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by id ASC + + + + + + + + + + UPDATE tb_bracelet + SET box_ix = #{shboxId},sh_status = 0 + where id = #{shId} + \ No newline at end of file