From a8a64cc4262f85681bb06e10efd44829766971b7 Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Fri, 28 Feb 2025 13:30:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BC=81=E4=B8=9A=E4=B8=93?= =?UTF-8?q?=E5=8C=BA=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=90=88=E5=90=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/controller/DevInfoController.java | 12 +++++++ .../bonus/material/device/domain/DevInfo.java | 6 ++++ .../device/service/DevInfoService.java | 2 ++ .../service/impl/DevInfoServiceImpl.java | 22 ++++++++++-- .../bonus/material/lease/domain/DeptDto.java | 2 +- .../order/controller/OrderController.java | 36 +++++++++++++++++-- .../order/service/impl/OrderServiceImpl.java | 2 +- .../mapper/material/device/DevInfoMapper.xml | 15 +++++++- 8 files changed, 89 insertions(+), 8 deletions(-) diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java index 54e28f1..e5d6d69 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java @@ -54,6 +54,18 @@ public class DevInfoController extends BaseController { return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); } + /** + * 查询设备信息列表(首页企业专区列表) + */ + @ApiOperation(value = "企业专区装备列表") + @PostMapping("/zone_list") + public AjaxResult zoneList(@RequestBody DevInfoVo devInfo) { + List list = devInfoService.selectZoneDevInfoList(devInfo); + Integer pageIndex = Convert.toInt(devInfo.getPageNum(), 1); + Integer pageSize = Convert.toInt(devInfo.getPageSize(), 10); + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); + } + @ApiOperation(value = "统计公司上架数") @PostMapping("/getCompanyCount") public AjaxResult getCompanyCount(@RequestBody DevInfoVo devInfo) { diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/DevInfo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/DevInfo.java index d52ec68..20ef8c8 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/DevInfo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/DevInfo.java @@ -265,6 +265,12 @@ public class DevInfo extends BaseEntity { @ApiModelProperty(value = "是否上传安全证书(0:否 1:是)") private Integer isSafeBook; + @ApiModelProperty(value = "是否是专区设备(0:否 1:是)") + private Boolean isZone; + + @ApiModelProperty(value = "专区id,取自dept表") + private Integer zoneId; + @ApiModelProperty(value = "自定义属性列表") private List devInfoProperties; diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/DevInfoService.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/DevInfoService.java index 5cd0143..3ec495c 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/DevInfoService.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/DevInfoService.java @@ -36,6 +36,8 @@ public interface DevInfoService { */ List selectDevInfoList(DevInfoVo devInfo); + List selectZoneDevInfoList(DevInfoVo devInfo); + Map getCompanyCount(DevInfoVo devInfo); List selectUserCollectList(DevInfoVo devInfo); diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java index 0a23116..aac0c34 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java @@ -1,9 +1,12 @@ package com.bonus.material.device.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.BooleanUtil; import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.domain.*; +import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.biz.enums.MaStatusEnum; +import com.bonus.common.biz.exception.BusinessException; import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; @@ -211,6 +214,19 @@ public class DevInfoServiceImpl implements DevInfoService { return voList; } + @Override + public List selectZoneDevInfoList(DevInfoVo devInfo) { + if (Objects.isNull(devInfo)) { + devInfo = new DevInfoVo(); + } + System.out.println("当前登录用户dept信息:" + SecurityUtils.getLoginUser().getSysUser().getDeptId()); + devInfo.setIsZone(true); + devInfo.setZoneId(Math.toIntExact(SecurityUtils.getLoginUser().getSysUser().getDeptId())); + List voList = devInfoMapper.selectDevInfoList(devInfo); + extractedFile(voList); + return voList; + } + @Override public Map getCompanyCount(DevInfoVo devInfo) { List voList = devInfoMapper.selectDevInfoList(devInfo); @@ -356,11 +372,10 @@ public class DevInfoServiceImpl implements DevInfoService { devInfo.setCompanyId(SecurityUtils.getLoginUser().getSysUser().getCompanyId().toString()); devInfo.setDeviceCount(1); devInfo.setIdentifyCode(devInfo.getTableList().get(i).getIdentifyCode()); - int saveSuccessNum = devInfoMapper.insertDevInfo(devInfo); - code = ""; - if (saveSuccessNum == 0) { + if (devInfoMapper.insertDevInfo(devInfo) == 0) { return AjaxResult.error("设备信息SQL保存失败,请修改后重试"); } + code = ""; //保存自定义属性值 if (!CollectionUtils.isEmpty(devInfo.getDevInfoProperties())) { devInfoMapper.insertDevInfoProperties(devInfo.getMaId(), devInfo.getDevInfoProperties()); @@ -831,6 +846,7 @@ public class DevInfoServiceImpl implements DevInfoService { ObjectMapper objectMapper = new ObjectMapper(); try { Map map = objectMapper.readValue(devInfo, new TypeReference>() { + }); //获取公司名称 String companyName = (String) map.get("companyName"); diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/DeptDto.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/DeptDto.java index 440c415..1664ed7 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/DeptDto.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/domain/DeptDto.java @@ -8,6 +8,6 @@ import lombok.Data; */ @Data public class DeptDto { - private Integer deptId; + private Long deptId; private String companyName; } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java index 57fb214..3573970 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java @@ -1,5 +1,6 @@ package com.bonus.material.order.controller; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import com.bonus.common.biz.config.ListPagingUtil; @@ -9,8 +10,10 @@ 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.security.utils.SecurityUtils; +import com.bonus.material.basic.mapper.BmMessageMapper; import com.bonus.material.contract.domain.BmContract; import com.bonus.material.contract.service.BmContractService; +import com.bonus.material.lease.domain.DeptDto; import com.bonus.material.lease.mapper.LeaseRepairRecordMapper; import com.bonus.material.order.domain.OrderDetailDto; import com.bonus.material.order.domain.OrderInfoDto; @@ -64,6 +67,9 @@ public class OrderController extends BaseController { @Resource private RemoteFileService sysFileService; + @Resource + private BmMessageMapper bmMessageMapper; + // 中文大写数字 private static final String[] CHINESE_NUMBERS = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; // 位数单位 @@ -301,6 +307,20 @@ public class OrderController extends BaseController { BmContract bmContract = new BmContract(); bmContract.setStatus(1); bmContract.setOwnerCom(orderInfoDto.getCompanyId().longValue()); + + List deptDtoList = bmMessageMapper.getdeptIds(); + if (CollectionUtils.isEmpty(deptDtoList)) { + return AjaxResult.error("数据库中部门数据为空"); + } else { + Long loginDeptId = SecurityUtils.getLoginUser().getSysUser().getDeptId(); + for (DeptDto dto : deptDtoList) { + if (Objects.equals(loginDeptId, dto.getDeptId())) { + System.out.println("当前登录用户公司名称:" + dto.getCompanyName()); + orderInfoDto.setCompanyName(dto.getCompanyName()); + } + } + } + List list = bmContractService.getContractUrl(bmContract); if (CollectionUtils.isEmpty(list)) { return AjaxResult.error("请先上传合同"); @@ -322,8 +342,20 @@ public class OrderController extends BaseController { //合同编号 replacements.put("${contractCode}", contractCode); - //设备名 - replacements.put("${deviceNames}", orderInfoDto.getDeviceNames()); + // 获取设备名 + StringBuilder deviceNames = new StringBuilder(); + List detailsList = orderInfoDto.getDetailsList(); + + // 遍历detailsList,获取设备名,并添加到deviceNames中 + if (CollectionUtil.isNotEmpty(detailsList)) { + detailsList.stream() + .filter(orderDetailDto -> orderDetailDto != null && orderDetailDto.getDeviceName() != null) + .map(OrderDetailDto::getDeviceName) + .forEach(deviceName -> deviceNames.append(deviceName).append(",")); + } + + + replacements.put("${deviceNames}", deviceNames.toString()); //开始时间 replacements.put("${startTime}", startTime); diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java index ed9716f..c92a9b3 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java @@ -337,11 +337,11 @@ public class OrderServiceImpl implements OrderService { if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_CANCEL.getStatus().toString())) { if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) { for (OrderDetailDto dto : dtos) { + sendMsgToSms(Arrays.asList(dtos.get(0).getBuyerPhoneNumber(), dtos.get(0).getSellerPhoneNumber()), dto.getOrderCode() + "订单已被取消"); dto.setMaStatus(MaStatusEnum.LISTING.getCode().toString()); orderMapper.updateDeviceStatus(dto); } } - sendMsgToSms(Arrays.asList(dtos.get(0).getBuyerPhoneNumber(), dtos.get(0).getSellerPhoneNumber()), orderInfoDto.getOrderCode() + "订单已被取消"); } // 订单完成,修改装备为下架状态 if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_FINISHED.getStatus().toString())) { diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml index dde14ed..0ccfc8e 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml @@ -141,6 +141,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and d.update_time between #{startTime} and #{endTime} + + and d.is_zone = 1 + + + and d.zone_id = #{zoneId} + and ( locate(#{keyWord},mt1.type_name) > 0 @@ -253,7 +259,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP_CONCAT(CONCAT(mt1.type_name, '/', mt2.type_name, '/', mt3.type_name)) AS groupName, IFNULL(h.search_num, 0) as searchNum, d.create_time as createTime, - d.update_time as updateTime + d.update_time as updateTime, + d.is_zone as isZone, d.zone_id as zoneId FROM ma_dev_info d LEFT JOIN sys_dept sd ON d.own_co = sd.dept_id @@ -314,6 +321,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" own_id, check_date, check_cycle, + is_zone, + zone_id, #{deviceName}, @@ -353,6 +362,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{ownId}, #{checkDate}, #{checkCycle}, + #{isZone}, + #{zoneId}, @@ -403,6 +414,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" is_active = #{isOperator}, check_date = #{checkDate}, check_cycle = #{checkCycle}, + is_zone = #{isZone}, + zone_id = #{zoneId}, update_time = now() where ma_id = #{maId}