From c1710f52b8bb183bdad7b49920c2743fe0e974af Mon Sep 17 00:00:00 2001 From: mashuai Date: Tue, 5 Aug 2025 19:33:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=90=E6=96=99=E7=AB=99=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/lease/MaterialLeaseMaCodeDto.java | 9 + .../controller/MaterialMachineController.java | 82 ++++++++- .../machine/MaterialUseStorageInfo.java | 1 - .../vo/MaterialRetainedEquipmentInfo.java | 18 ++ .../vo/MaterialRetainedTeamTotalVo.java | 38 ++++ .../clz/domain/vo/MaterialRetainedTeamVo.java | 61 +++++++ .../vo/lease/MaterialLeaseApplyRequestVo.java | 6 + .../clz/mapper/MaterialLeaseInfoMapper.java | 8 + .../clz/mapper/MaterialMachineMapper.java | 29 +++ .../clz/service/MaterialMachineService.java | 30 ++++ .../impl/MaterialLeaseInfoServiceImpl.java | 8 + .../impl/MaterialMachineServiceImpl.java | 170 +++++++++++++++++- .../material/clz/MaterialLeaseInfoMapper.xml | 23 ++- .../material/clz/MaterialMachineMapper.xml | 123 ++++++++++++- 14 files changed, 599 insertions(+), 7 deletions(-) create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialRetainedTeamTotalVo.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialRetainedTeamVo.java diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/MaterialLeaseMaCodeDto.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/MaterialLeaseMaCodeDto.java index 986700dd..56ce45f9 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/MaterialLeaseMaCodeDto.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/MaterialLeaseMaCodeDto.java @@ -50,4 +50,13 @@ public class MaterialLeaseMaCodeDto { @ApiModelProperty(value = "规格型号") private String typeName; + + /** + * 签名地址 + */ + @ApiModelProperty(value = "签名地址") + private String signUrl; + + @ApiModelProperty(value = "签名类型 手写0 和 图片上传1") + private int signType; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/controller/MaterialMachineController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/controller/MaterialMachineController.java index db49c3d5..93881ac9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/controller/MaterialMachineController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/controller/MaterialMachineController.java @@ -7,8 +7,9 @@ import com.bonus.common.core.utils.ServletUtils; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; -import com.bonus.material.basic.domain.UseStorageInfo; import com.bonus.material.clz.domain.machine.MaterialUseStorageInfo; +import com.bonus.material.clz.domain.vo.MaterialRetainedTeamTotalVo; +import com.bonus.material.clz.domain.vo.MaterialRetainedTeamVo; import com.bonus.material.ma.domain.Machine; import com.bonus.material.clz.domain.machine.MaterialStorageInfo; import com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo; @@ -210,4 +211,83 @@ public class MaterialMachineController extends BaseController { return AjaxResult.success(materialMachineService.getToolsDetailsList(bean)); } + /** + * 安全工器具预警页面查询 + * @param bean + * @return + */ + @ApiOperation(value = "安全工器具预警页面查询") + @GetMapping("/getSafeDetailsList") + public AjaxResult getSafeDetailsList(MaterialRetainedEquipmentInfo bean) { + Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1); + Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10); + List list = materialMachineService.getSafeDetailsList(bean); + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); + } + + /** + * 后台班组在用库存查询 + * @param bean + * @return + */ + @ApiOperation(value = "后台班组在用库存查询") + @GetMapping("/getTeamNumList") + public AjaxResult getTeamNumList(MaterialRetainedEquipmentInfo bean) { + Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1); + Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10); + List list = materialMachineService.getTeamNumList(bean); + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); + } + + /** + * 导出后台班组在用库存查询 + * @param response + * @param bean + */ + @ApiOperation(value = "综合查询--导出后台班组在用库存查询") + @PostMapping("/exportTeamNumList") + public void exportTeamNumList(HttpServletResponse response, MaterialRetainedEquipmentInfo bean) { + List list = materialMachineService.getTeamNumList(bean); + ExcelUtil util = new ExcelUtil<>(MaterialRetainedTeamTotalVo.class); + util.exportExcel(response, list, "综合查询--导出后台班组在用库存查询"); + } + + /** + * 后台班组在用库存查询二级页面 + * @param bean + * @return + */ + @ApiOperation(value = "后台班组在用库存查询二级页面") + @GetMapping("/getTeamNumSecondList") + public AjaxResult getTeamNumSecondList(MaterialRetainedEquipmentInfo bean) { + startPage(); + List list = materialMachineService.getTeamNumSecondList(bean); + return AjaxResult.success(getDataTable(list)); + } + + /** + * 后台班组在用库存查询二级页面 + * @param response + * @param bean + */ + @ApiOperation(value = "综合查询--导出后台班组在用库存查询二级页面") + @PostMapping("/exportTeamNumSecondList") + public void exportTeamNumSecondList(HttpServletResponse response, MaterialRetainedEquipmentInfo bean) { + List list = materialMachineService.getTeamNumSecondList(bean); + ExcelUtil util = new ExcelUtil<>(MaterialRetainedTeamVo.class); + util.exportExcel(response, list, "综合查询--导出后台班组在用库存查询二级页面"); + } + + /** + * 后台班组在用库存查询三级页面 + * @param bean + * @return + */ + @ApiOperation(value = "后台班组在用库存查询三级页面") + @GetMapping("/getTeamNumThirdList") + public AjaxResult getTeamNumThirdList(MaterialRetainedEquipmentInfo bean) { + startPage(); + List list = materialMachineService.getTeamNumThirdList(bean); + return AjaxResult.success(getDataTable(list)); + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/machine/MaterialUseStorageInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/machine/MaterialUseStorageInfo.java index a66b0323..65a8a23b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/machine/MaterialUseStorageInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/machine/MaterialUseStorageInfo.java @@ -39,7 +39,6 @@ public class MaterialUseStorageInfo { private BigDecimal usNum; @ApiModelProperty(value = "购置单价") - @Excel(name = "租赁价(元)") private BigDecimal buyPrice; @ApiModelProperty(value = "设备编码") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialRetainedEquipmentInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialRetainedEquipmentInfo.java index 78316a6c..fabaf6e9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialRetainedEquipmentInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialRetainedEquipmentInfo.java @@ -10,6 +10,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; import java.util.List; +import java.util.Set; /** * @description 综合查询--保有设备总量查询 @@ -219,4 +220,21 @@ public class MaterialRetainedEquipmentInfo { * i8工程id集合 */ private List projectIdList; + + @ApiModelProperty("机具类型(1机具,2安全工器具)") + private int jiJuType; + + @ApiModelProperty(value = "协议id集合") + private Set agreementIdList; + + private Long maId; + + @ApiModelProperty(value = "领料人") + private String code; + + @ApiModelProperty(value = "领料人") + private String leasePerson; + + @ApiModelProperty(value = "协议id") + private Long agreementId; } \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialRetainedTeamTotalVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialRetainedTeamTotalVo.java new file mode 100644 index 00000000..e93c0787 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialRetainedTeamTotalVo.java @@ -0,0 +1,38 @@ +package com.bonus.material.clz.domain.vo; + +import com.bonus.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** +* @description 综合查询--保有设备总量查询 +* @author ma_sh +* @date 2024/2/26 14:51 +*/ +@ApiModel(description = "保有设备总量查询") +@Data +public class MaterialRetainedTeamTotalVo { + + private static final long serialVersionUID = 2227217051604273598L; + + @ApiModelProperty(value = "班组id") + private String teamId; + + @ApiModelProperty(value = "班组名称") + @Excel(name = "班组名称") + private String teamName; + + @ApiModelProperty(value = "班组长") + @Excel(name = "班组长") + private String teamLeaderIdCard; + + @ApiModelProperty(value = "在用数量") + @Excel(name = "库存") + private BigDecimal usNum; + + @ApiModelProperty(value = "关键字") + private String keyWord; +} \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialRetainedTeamVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialRetainedTeamVo.java new file mode 100644 index 00000000..7ab0d68e --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialRetainedTeamVo.java @@ -0,0 +1,61 @@ +package com.bonus.material.clz.domain.vo; + +import com.bonus.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** +* @description 综合查询--保有设备总量查询 +* @author ma_sh +* @date 2024/2/26 14:51 +*/ +@ApiModel(description = "保有设备总量查询") +@Data +public class MaterialRetainedTeamVo { + + private static final long serialVersionUID = 2227217051604273598L; + + @ApiModelProperty(value = "班组名称") + @Excel(name = "班组名称") + private String teamName; + + @ApiModelProperty(value = "领料单号") + @Excel(name = "领料单号") + private String code; + + @ApiModelProperty(value = "领料人") + @Excel(name = "领料人") + private String leasePerson; + + @ApiModelProperty(value = "物资名称") + @Excel(name = "机具名称") + private String typeName; + + @ApiModelProperty(value = "规格ID") + private Integer typeId; + + @ApiModelProperty(value = "规格型号") + @Excel(name = "规格型号") + private String typeModelName; + + @ApiModelProperty(value = "在用数量") + @Excel(name = "库存") + private BigDecimal usNum; + + @ApiModelProperty(value = "关键字") + private String keyWord; + + @ApiModelProperty(value = "班组id") + private String teamId; + + @ApiModelProperty(value = "班组长") + private String teamLeaderIdCard; + + private Long maId; + + @ApiModelProperty(value = "协议id") + private Long agreementId; +} \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/lease/MaterialLeaseApplyRequestVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/lease/MaterialLeaseApplyRequestVo.java index ac34583f..8f0662e0 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/lease/MaterialLeaseApplyRequestVo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/lease/MaterialLeaseApplyRequestVo.java @@ -1,5 +1,6 @@ package com.bonus.material.clz.domain.vo.lease; +import com.bonus.common.biz.domain.lease.LeaseOutSign; import com.bonus.common.core.web.domain.BaseEntity; import com.bonus.material.clz.domain.lease.MaterialLeaseApplyDetails; import com.bonus.material.clz.domain.lease.MaterialLeaseApplyInfo; @@ -39,4 +40,9 @@ public class MaterialLeaseApplyRequestVo extends BaseEntity { private int statusFlag; + /** + * 领料出库签名集合 + */ + private LeaseOutSign leaseOutSign; + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialLeaseInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialLeaseInfoMapper.java index 6ee47c6f..bddc3eaf 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialLeaseInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialLeaseInfoMapper.java @@ -349,4 +349,12 @@ public interface MaterialLeaseInfoMapper { * @return */ int updateLeaseOutDetails(@Param("record") LeaseOutDetails leaseOutDetails); + + /** + * 根据任务id和工器具id查询工器具领料详情数据 + * @param id + * @param typeId + * @return + */ + List getList(@Param("id") Long id, @Param("typeId") Long typeId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialMachineMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialMachineMapper.java index e0cd668e..097ffdb8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialMachineMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialMachineMapper.java @@ -2,6 +2,8 @@ package com.bonus.material.clz.mapper; import com.bonus.material.back.domain.vo.MaCodeVo; import com.bonus.material.clz.domain.machine.MaterialUseStorageInfo; +import com.bonus.material.clz.domain.vo.MaterialRetainedTeamTotalVo; +import com.bonus.material.clz.domain.vo.MaterialRetainedTeamVo; import com.bonus.material.clz.domain.vo.MaterialSltAgreementInfo; import com.bonus.material.ma.domain.Machine; import com.bonus.material.clz.domain.BmTeam; @@ -121,4 +123,31 @@ public interface MaterialMachineMapper { */ MaterialUseStorageInfo selectUseInFo(MaterialUseStorageInfo useStorageInfo); + /** + * 根据agreementIdList查询工器具台账信息 + * @param bean + * @return + */ + List getTotalList(MaterialRetainedEquipmentInfo bean); + + /** + * 班组库存查询 + * @param bean + * @return + */ + List getTeamNumList(MaterialRetainedEquipmentInfo bean); + + /** + * 班组库存查询二级页面 + * @param bean + * @return + */ + List getTeamNumSecondList(MaterialRetainedEquipmentInfo bean); + + /** + * 班组库存查询三级页面 + * @param bean + * @return + */ + List getTeamNumThirdList(MaterialRetainedEquipmentInfo bean); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/MaterialMachineService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/MaterialMachineService.java index ed103053..53d8f773 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/MaterialMachineService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/MaterialMachineService.java @@ -1,6 +1,8 @@ package com.bonus.material.clz.service; import com.bonus.material.clz.domain.machine.MaterialUseStorageInfo; +import com.bonus.material.clz.domain.vo.MaterialRetainedTeamTotalVo; +import com.bonus.material.clz.domain.vo.MaterialRetainedTeamVo; import com.bonus.material.ma.domain.Machine; import com.bonus.material.clz.domain.machine.MaterialStorageInfo; import com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo; @@ -75,4 +77,32 @@ public interface MaterialMachineService { * @return */ List getUserRecords(MaterialUseStorageInfo bean); + + /** + * 安全工器具预警页面查询 + * @param bean + * @return + */ + List getSafeDetailsList(MaterialRetainedEquipmentInfo bean); + + /** + * 后台班组在用库存查询 + * @param bean + * @return + */ + List getTeamNumList(MaterialRetainedEquipmentInfo bean); + + /** + * 后台班组在用库存查询二级页面后台班组在用库存查询二级页面 + * @param bean + * @return + */ + List getTeamNumSecondList(MaterialRetainedEquipmentInfo bean); + + /** + * 后台班组在用库存查询三级页面 + * @param bean + * @return + */ + List getTeamNumThirdList(MaterialRetainedEquipmentInfo bean); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java index 34e51f59..c7b16a8f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java @@ -7,6 +7,7 @@ import com.bonus.common.biz.domain.BmFileInfo; import com.bonus.common.biz.domain.TypeTreeBuild; import com.bonus.common.biz.domain.TypeTreeNode; import com.bonus.common.biz.domain.lease.LeaseOutDetails; +import com.bonus.common.biz.domain.lease.LeaseOutSign; import com.bonus.common.biz.domain.lease.MaterialLeaseMaCodeDto; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.biz.enums.LeaseTaskStatusEnum; @@ -1505,6 +1506,13 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService { detail.setMaCodeVoList(maCodeVoList); } } + List detailsList = materialLeaseInfoMapper.getList(leaseApplyInfo.getId(), details.get(0).getTypeId()); + if (CollectionUtil.isNotEmpty(detailsList)) { + //获取maCodeVoList第一个对象 + LeaseOutSign leaseOutSign = new LeaseOutSign(detailsList.get(0).getSignType(), + "data:image/png;base64," + detailsList.get(0).getSignUrl()); + leaseApplyRequestVo.setLeaseOutSign(leaseOutSign); + } } AjaxResult ajaxResult = AjaxResult.success(); ajaxResult.put("data", leaseApplyRequestVo); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialMachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialMachineServiceImpl.java index 05fa797c..b527d997 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialMachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialMachineServiceImpl.java @@ -4,14 +4,17 @@ import cn.hutool.core.collection.CollectionUtil; import com.alibaba.nacos.common.utils.CollectionUtils; import com.alibaba.nacos.common.utils.StringUtils; import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.basic.domain.BmProject; import com.bonus.material.clz.domain.lease.MaterialLeaseApplyInfo; import com.bonus.material.clz.domain.machine.MaterialUseStorageInfo; -import com.bonus.material.clz.domain.vo.MaterialSltAgreementInfo; +import com.bonus.material.clz.domain.vo.*; +import com.bonus.material.clz.mapper.IwsTeamUserMapper; +import com.bonus.material.common.domain.dto.SelectDto; +import com.bonus.material.common.domain.vo.AgreementVo; import com.bonus.material.common.mapper.SelectMapper; import com.bonus.material.ma.domain.Machine; import com.bonus.material.clz.domain.BmTeam; import com.bonus.material.clz.domain.machine.MaterialStorageInfo; -import com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo; import com.bonus.material.clz.mapper.BmTeamMapper; import com.bonus.material.clz.mapper.MaterialMachineMapper; import com.bonus.material.clz.service.MaterialMachineService; @@ -45,6 +48,9 @@ public class MaterialMachineServiceImpl implements MaterialMachineService { @Resource private SelectMapper mapper; + @Resource + private IwsTeamUserMapper iwsTeamUserMapper; + /** * 获取机具追溯管理数据 * @param machine @@ -708,7 +714,7 @@ public class MaterialMachineServiceImpl implements MaterialMachineService { } if (StringUtils.isNotBlank(bean.getStatus())) { return list.stream().filter(item -> { - return item.getStatus().equals(bean.getStatus()); + return StringUtils.isNotBlank(item.getStatus()) && item.getStatus().equals(bean.getStatus()); }).collect(Collectors.toList()); } } @@ -755,6 +761,164 @@ public class MaterialMachineServiceImpl implements MaterialMachineService { } } + /** + * 安全工器具预警页面查询 + * @param bean + * @return + */ + @Override + public List getSafeDetailsList(MaterialRetainedEquipmentInfo bean) { + String username = SecurityUtils.getLoginUser().getUsername(); + // 根据用户名查询项目部信息 + String departId = mapper.getDepartId(username); + // 根据项目部id查询工程信息 + List projectIdList = mapper.getProjectId(departId); + List list = mapper.getProjectInfo(new BmProject()); + Set agreementIdList = new HashSet<>(); + if (CollectionUtils.isNotEmpty(list)) { + if (CollectionUtils.isNotEmpty(projectIdList)) { + // 找出list中projectId与projectIdList中相同的数据 + list = list.stream().filter(info -> projectIdList.contains(info.getProjectId())).collect(Collectors.toList()); + } + if (CollectionUtils.isNotEmpty(list)) { + for (BmProject project : list) { + SelectDto selectDto = new SelectDto(); + selectDto.setProId(project.getProId()); + List agreementList = mapper.getAgreementInfoBy(selectDto); + if (CollectionUtils.isNotEmpty(agreementList)) { + for (AgreementVo agreement : agreementList) { + agreementIdList.add(agreement.getAgreementId()); + } + } + } + } + } + // 根据agreementIdList查询工器具台账信息 + bean.setAgreementIdList(agreementIdList); + List totalList = materialMachineMapper.getTotalList(bean); + if (CollectionUtils.isNotEmpty(totalList)) { + for (MaterialRetainedEquipmentInfo materialRetainedEquipmentInfo : totalList) { + MaterialRetainedEquipmentInfo materialRetainedEquipmentInfo1 = new MaterialRetainedEquipmentInfo(); + materialRetainedEquipmentInfo1.setMaId(materialRetainedEquipmentInfo.getMaId()); + List clzList = materialMachineMapper.getTeamUseNumDetailsList(materialRetainedEquipmentInfo1); + if (CollectionUtils.isNotEmpty(clzList)) { + materialRetainedEquipmentInfo.setTeamName(clzList.get(0).getTeamName()); + materialRetainedEquipmentInfo.setProName(clzList.get(0).getProName()); + } + } + } + Long deptId = SecurityUtils.getLoginUser().getSysUser().getDeptId(); + if (!CollectionUtils.isEmpty(totalList) && deptId != null) { + // 删除元素 + totalList.removeIf(m -> !deptId.toString().equals(m.getImpUnit())); + } + if (CollectionUtils.isEmpty(totalList)) { + return new ArrayList<>(); + } + if (!CollectionUtil.isEmpty(totalList)) { + totalList = getMaterialRetainedEquipmentInfos(totalList); + for (MaterialRetainedEquipmentInfo info : totalList) { + // 处理thisCheckTime + if (StringUtils.isNotBlank(info.getThisCheckTime())) { + // 提取日期部分(假设格式为"yyyy-MM-dd HH:mm:ss") + String[] parts = info.getThisCheckTime().split(" "); + if (parts.length > 0) { + info.setThisCheckTime(parts[0]); + } + } + // 处理nextCheckTime + if (StringUtils.isNotBlank(info.getNextCheckTime())) { + String[] parts = info.getNextCheckTime().split(" "); + if (parts.length > 0) { + info.setNextCheckTime(parts[0]); + } + } + } + if (StringUtils.isNotBlank(bean.getStatus())) { + return totalList.stream().filter(item -> { + return StringUtils.isNotBlank(item.getStatus()) && item.getStatus().equals(bean.getStatus()); + }).collect(Collectors.toList()); + } + // 如果关键字不为空,进行过滤 + if (StringUtils.isNotBlank(bean.getKeyWord())) { + totalList = totalList.stream() + .filter(item -> containsNumKeyword(item, bean.getKeyWord())) + .collect(Collectors.toList()); + } + } + return totalList; + } + + /** + * 模糊匹配查询 + * @param item + * @param keyWord + * @return + */ + private boolean containsNumKeyword(MaterialRetainedEquipmentInfo item, String keyWord) { + return (item.getTypeName() != null && item.getTypeName().contains(keyWord)) || + (item.getTypeModelName() != null && item.getTypeModelName().contains(keyWord)) || + (item.getProName() != null && item.getProName().contains(keyWord)) || + (item.getMaCode() != null && item.getMaCode().contains(keyWord)) || + (item.getTeamName() != null && item.getTeamName().contains(keyWord)); + } + + /** + * 后台班组在用库存查询 + * @param bean + * @return + */ + @Override + public List getTeamNumList(MaterialRetainedEquipmentInfo bean) { + String username = SecurityUtils.getLoginUser().getUsername(); + // 根据用户名查询项目部信息 + String departId = mapper.getDepartId(username); + // 根据项目部id查询工程信息 + List projectIdList = mapper.getProjectId(departId); + List list = new ArrayList<>(); + list = mapper.getProjectInfo(new BmProject()); + List teamNumList = materialMachineMapper.getTeamNumList(bean); + if (CollectionUtils.isNotEmpty(list)) { + if (CollectionUtils.isNotEmpty(projectIdList)) { + // 找出list中projectId与projectIdList中相同的数据 + list = list.stream().filter(info -> projectIdList.contains(info.getProjectId())).collect(Collectors.toList()); + } + if (CollectionUtils.isNotEmpty(list)) { + // 获取list中的projectId + List collect = list.stream().map(BmProject::getProjectId).distinct().collect(Collectors.toList()); + // 根据i8工程id查询班组信息 + List iwsTeamUserVos = iwsTeamUserMapper.selectProjectTeamInfoByProjectIds(collect); + if (CollectionUtil.isNotEmpty(iwsTeamUserVos)) { + if (CollectionUtil.isNotEmpty(teamNumList)) { + // 筛选出teamNumList中班组名称和iwsTeamUserVos中班组名称相同的数据 + teamNumList = teamNumList.stream().filter(item -> iwsTeamUserVos.stream().anyMatch(info -> info.getTeamName().equals(item.getTeamName()))).collect(Collectors.toList()); + } + } + } + } + return teamNumList; + } + + /** + * 后台班组在用库存查询二级页面 + * @param bean + * @return + */ + @Override + public List getTeamNumSecondList(MaterialRetainedEquipmentInfo bean) { + return materialMachineMapper.getTeamNumSecondList(bean); + } + + /** + * 后台班组在用库存查询三级页面 + * @param bean + * @return + */ + @Override + public List getTeamNumThirdList(MaterialRetainedEquipmentInfo bean) { + return materialMachineMapper.getTeamNumThirdList(bean); + } + /** * 在用设备模糊匹配 * @param item diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialLeaseInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialLeaseInfoMapper.xml index 05a092f0..1f9050b9 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialLeaseInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialLeaseInfoMapper.xml @@ -543,7 +543,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mm.ma_id as maId, mm.ma_code as maCode, '在用' as maStatus, - mm.ma_status as status + mm.ma_status as status, + su.sign_type as signType, + su.sign_url as signUrl FROM clz_lease_out_details lod LEFT JOIN ma_machine mm ON lod.ma_id = mm.ma_id @@ -551,6 +553,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND mt.del_flag = '0' LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0' + LEFT JOIN sys_user su ON lod.create_by = su.nick_name WHERE lod.parent_id = #{id} and mt.type_id = #{typeId} @@ -1180,4 +1183,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" parent_id = #{id} and type_id = #{typeId} + \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml index 06fa76e9..ddad5c23 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml @@ -285,7 +285,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mm.next_check_time AS nextCheckTime, mt.manage_type AS manageType, bp.imp_unit AS impUnit, - bt.bzz_idcard AS idCard + bt.bzz_idcard AS idCard, + bp.pro_name AS proName FROM clz_slt_agreement_info sai LEFT JOIN clz_bm_agreement_info bai ON sai.agreement_id = bai.agreement_id @@ -301,6 +302,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and mt2.type_id = #{typeId} + + and sai.ma_id = #{maId} + AND bt.unit_id = #{teamId} @@ -315,6 +319,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" OR mm.ma_code LIKE concat('%',#{keyWord},'%') ) + + and mt.jiju_type = #{jiJuType} + GROUP BY mt.type_name, mt2.type_name, @@ -665,4 +672,118 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LIMIT 1 + + + + + + + + \ No newline at end of file