diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java index 10a53407..72139d12 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java @@ -22,6 +22,13 @@ import java.util.List; public class LeaseOutDetails extends BaseEntity { private static final long serialVersionUID = 1L; + @ApiModelProperty(value = "是否app, 0 是,1 否") + private Integer isApp; + + /** 是否新增出库 */ + @ApiModelProperty(value = "是否新增出库 0 是,1 否") + private Integer isNew; + /** ID */ private Long id; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java index 35a2efa2..c2f6e70d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java @@ -390,6 +390,13 @@ public interface BackApplyInfoMapper { */ List getSecondBackInfo(BackApplyTotalInfo info); + /** + * 根据类型id和父级id查询详情 + * @param details + * @return + */ + BackApplyDetails getBackApplyDetailsByTypeIdAndParentId(BackApplyDetails details); + /** * 删除详情 * @param id diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java index 653d36c6..26dc3b06 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java @@ -455,7 +455,14 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { details.setCreateBy(SecurityUtils.getUsername()); details.setCreateTime(DateUtils.getNowDate()); // 保存退料详情 - result += backApplyInfoMapper.insertBackApplyDetails(details); + // 先根据typeId和parentId查询该类型是否存在 + BackApplyDetails backApplyDetails = backApplyInfoMapper.getBackApplyDetailsByTypeIdAndParentId(details); + if (backApplyDetails != null) { + backApplyDetails.setPreNum(details.getPreNum()); + result += backApplyInfoMapper.updateDetails(backApplyDetails); + } else { + result += backApplyInfoMapper.insertBackApplyDetails(details); + } // 处理附件 result = saveBmFileInfo(details, backApplyInfo.getId(), result); // 判断是否为编码设备并处理附件 @@ -936,7 +943,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { // 插入 CheckDetails result += backApplyInfoMapper.insertCheckDetails(details); //更新ma_machine表状态为11(退料暂存) - result += machineMapper.updateStatus(details.getMaId(), MaMachineStatusEnum.RETURNED_MATERIAL.getStatus()); + //result += machineMapper.updateStatus(details.getMaId(), MaMachineStatusEnum.RETURNED_MATERIAL.getStatus()); if (CollectionUtils.isNotEmpty(details.getBmFileInfos())) { for (BmFileInfo bmFileInfo : details.getBmFileInfos()) { bmFileInfo.setCreateBy(SecurityUtils.getUsername()); @@ -1050,7 +1057,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { result += backApplyInfoMapper.insertCheckDetails(details); } //更新ma_machine表状态为3(退料检修) - result += machineMapper.updateStatus(details.getMaId(), MaMachineStatusEnum.BACK_REPAIR.getStatus()); + //result += machineMapper.updateStatus(details.getMaId(), MaMachineStatusEnum.BACK_REPAIR.getStatus()); if (CollectionUtils.isNotEmpty(details.getBmFileInfos())) { for (BmFileInfo bmFileInfo : details.getBmFileInfos()) { bmFileInfo.setCreateBy(SecurityUtils.getUsername()); @@ -1181,7 +1188,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { } return AjaxResult.success(list); } - return AjaxResult.error(HttpCodeEnum.SYSTEM_ERROR.getCode(), "编码检索为空"); + return AjaxResult.error(HttpCodeEnum.SYSTEM_ERROR.getCode(), "该编码设备非该班组和工程所领"); } /** diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java index 53db26e2..a42afde2 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java @@ -2,7 +2,6 @@ package com.bonus.material.lease.controller; import cn.hutool.core.convert.Convert; import com.alibaba.nacos.common.utils.CollectionUtils; -import com.bonus.common.biz.annotation.StoreLog; import com.bonus.common.biz.config.ListPagingUtil; import com.bonus.common.biz.domain.lease.LeaseOutDetails; import com.bonus.common.core.utils.ServletUtils; @@ -13,12 +12,12 @@ import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.enums.OperaType; import com.bonus.material.back.domain.vo.MaCodeVo; import com.bonus.material.basic.domain.BmQrcodeInfo; -import com.bonus.material.basic.domain.RetainedEquipmentInfo; import com.bonus.material.common.annotation.PreventRepeatSubmit; import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.material.lease.domain.LeaseApplyDetails; import com.bonus.material.lease.domain.LeaseApplyDetailsInfo; import com.bonus.material.lease.domain.LeaseOutDetailsInfo; +import com.bonus.material.lease.domain.vo.CriticalData; import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo; import com.bonus.common.biz.domain.lease.LeaseOutRequestVo; import com.bonus.material.lease.domain.vo.LeaseTotalInfo; @@ -111,6 +110,12 @@ public class LeaseApplyInfoController extends BaseController { return success(leaseApplyInfoService.selectLeaseApplyInfoById(id, keyWord, publishTask)); } + @ApiOperation(value = "获取领料任务详细信息") + @GetMapping(value = "/getOutNum") + public AjaxResult getOutNum(LeaseApplyDetails leaseApplyDetails) { + return success(leaseApplyInfoService.getOutNum(leaseApplyDetails)); + } + /** * 获取工器具领料出库详情 * @param leaseApplyInfo @@ -324,7 +329,7 @@ public class LeaseApplyInfoController extends BaseController { * 领料:出库 */ @ApiOperation(value = "领料出库") - @PreventRepeatSubmit + //@PreventRepeatSubmit //@RequiresPermissions("lease:info:leaseOut") @SysLog(title = "领料出库", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->领料出库") //@StoreLog(title = "领料出库", module = "仓储管理->领料出库") @@ -452,4 +457,16 @@ public class LeaseApplyInfoController extends BaseController { ExcelUtil util = new ExcelUtil<>(MaCodeVo.class); util.exportExcel(response, list, "综合查询--工器具领料二级页面查询"); } + + /** + * 查询app首页关键数据 + * @return + */ + @ApiOperation(value = "查询app首页关键数据") + @GetMapping("/getCriticalData") + public AjaxResult getCriticalData() + { + CriticalData data = leaseApplyInfoService.getCriticalData(); + return success(data); + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyDetails.java index ed301ccd..b19ebaf4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyDetails.java @@ -133,6 +133,9 @@ public class LeaseApplyDetails extends BaseEntity { @ApiModelProperty(value = "编码类型集合") private List maCodeVoList; + @ApiModelProperty(value = "领料出库编码类型集合") + private List outMaCodeVoList; + @ApiModelProperty(value = "往来单位id") private Long unitId; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/CriticalData.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/CriticalData.java new file mode 100644 index 00000000..c7014f12 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/CriticalData.java @@ -0,0 +1,57 @@ +package com.bonus.material.lease.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * app首页领退料数据 + * @Author ma_sh + * @create 2025/5/26 9:28 + */ +@Data +public class CriticalData { + + /** 当日领料 */ + @ApiModelProperty(value = "当日领料") + private int dayLeaseNum; + + /** 当日退料 */ + @ApiModelProperty(value = "当日退料") + private int dayBackNum; + + /** 当日入库 */ + @ApiModelProperty(value = "当日入库") + private int dayInputNum; + + /** 当日出库 */ + @ApiModelProperty(value = "当日出库") + private int dayOutNum; + + /** 工器具领料 */ + @ApiModelProperty(value = "工器具领料") + private int toolLeaseNum; + + /** 工器具退料 */ + @ApiModelProperty(value = "工器具退料") + private int toolBackNum; + + /** 材料领料 */ + @ApiModelProperty(value = "材料领料") + private int materialLeaseNum; + + /** 材料退料 */ + @ApiModelProperty(value = "材料退料") + private int materialBackNum; + + @ApiModelProperty(value="开始时间") + private String startTime; + + @ApiModelProperty(value="结束时间") + private String endTime; + + @ApiModelProperty(value = "领料方式(0 材料领料,1 工器具领料)") + private String leaseStyle; + + @ApiModelProperty(value = "退料方式(0 材料退料,1 工器具退料)") + private String backStyle; +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseApplyRequestVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseApplyRequestVo.java index 5114e773..5a3b37fd 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseApplyRequestVo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseApplyRequestVo.java @@ -34,6 +34,9 @@ public class LeaseApplyRequestVo extends BaseEntity { private List leaseOutVoList; + @ApiModelProperty(value = "领料单详情") + private List leaseOutDetailsList; + private int statusFlag; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java index 083b5423..da56384b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java @@ -186,4 +186,17 @@ public interface LeaseApplyDetailsMapper { * @return */ List getSecondLeaseInfo(LeaseTotalInfo info); + + /** + * 工器具领料出库详情 + * @param id + * @return + */ + List selectLeaseOutList(Long id); + + LeaseApplyDetails selectLeaseApplyDetailsByTypeId(LeaseOutDetails record); + + List getOutNum(LeaseApplyDetails leaseApplyDetails); + + List getOutNumList(LeaseApplyDetails leaseApplyDetails); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java index 5f105ad6..4acf2493 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java @@ -3,6 +3,7 @@ package com.bonus.material.lease.mapper; import java.math.BigDecimal; import java.util.List; import com.bonus.common.biz.domain.lease.LeaseApplyInfo; +import com.bonus.material.lease.domain.vo.CriticalData; import com.bonus.material.lease.domain.vo.LeaseTotalInfo; /** @@ -112,4 +113,18 @@ public interface LeaseApplyInfoMapper { * @return */ BigDecimal getNumList(LeaseApplyInfo applyInfo); + + /** + * 获取当日退料数量 + * @param data + * @return + */ + int getDayBackNum(CriticalData data); + + /** + * 获取当日领料数量 + * @param data + * @return + */ + int getDayLeaseNum(CriticalData data); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java index 28548d05..dad49af9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java @@ -10,6 +10,7 @@ import com.bonus.material.basic.domain.BmQrcodeInfo; import com.bonus.material.lease.domain.LeaseApplyDetails; import com.bonus.material.lease.domain.LeaseApplyDetailsInfo; import com.bonus.material.lease.domain.LeaseOutDetailsInfo; +import com.bonus.material.lease.domain.vo.CriticalData; import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo; import com.bonus.common.biz.domain.lease.LeaseOutRequestVo; import com.bonus.material.lease.domain.vo.LeaseTotalInfo; @@ -192,4 +193,17 @@ public interface ILeaseApplyInfoService { * @return */ List getSecondLeaseInfo(LeaseTotalInfo info); + + /** + * 查询app首页关键数据 + * @return + */ + CriticalData getCriticalData(); + + /** + * 获取领料任务详细信息 + * @param leaseApplyDetails + * @return + */ + List getOutNum(LeaseApplyDetails leaseApplyDetails); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java index ff627532..0cf10fce 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java @@ -5,6 +5,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.net.URLEncoder; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -31,6 +32,7 @@ import com.bonus.material.lease.domain.LeaseApplyDetails; import com.bonus.common.biz.domain.lease.LeaseOutDetails; import com.bonus.material.lease.domain.LeaseApplyDetailsInfo; import com.bonus.material.lease.domain.LeaseOutDetailsInfo; +import com.bonus.material.lease.domain.vo.CriticalData; import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo; import com.bonus.common.biz.domain.lease.LeaseOutRequestVo; import com.bonus.material.lease.domain.vo.LeaseOutVo; @@ -110,6 +112,8 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { leaseApplyRequestVo.setLeaseApplyInfo(info); // 获取领料单详情 List details = leaseApplyDetailsMapper.selectLeaseApplyDetailsList(new LeaseApplyDetails(info.getId(), keyword, null)); + //根据id查询领料单详情 + List outDetailsList = leaseApplyDetailsMapper.selectLeaseOutList(id); if (!CollectionUtils.isEmpty(details)) { leaseApplyRequestVo.setLeaseApplyDetailsList(details); for (LeaseApplyDetails detail : details) { @@ -120,9 +124,17 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { } } } + if (!CollectionUtils.isEmpty(outDetailsList)) { + leaseApplyRequestVo.setLeaseOutDetailsList(outDetailsList); + for (LeaseApplyDetails detail : outDetailsList) { + List maCodeVoList = leaseApplyDetailsMapper.getCodeList(id, detail.getTypeId()); + if (!CollectionUtils.isEmpty(maCodeVoList)) { + detail.setOutMaCodeVoList(maCodeVoList); + } + } + } }); - return leaseApplyRequestVo; } catch (Exception e) { // 记录异常日志 @@ -573,6 +585,95 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { return leaseApplyDetailsMapper.getSecondLeaseInfo(info); } + /** + * 查询app首页关键数据 + * @return + */ + @Override + public CriticalData getCriticalData() { + CriticalData data = new CriticalData(); + LocalDate currentDate = LocalDate.now(); + String startTime = currentDate + " 00:00:00"; + String endTime = currentDate + " 23:59:59"; + // 工器具领料数量 + data.setLeaseStyle("1"); + int toolLeaseNum = leaseApplyInfoMapper.getDayLeaseNum(data); + // 材料领料数量 + data.setLeaseStyle("0"); + int materialLeaseNum = leaseApplyInfoMapper.getDayLeaseNum(data); + // 工器具退料数量 + data.setBackStyle("1"); + int toolBackNum = leaseApplyInfoMapper.getDayBackNum(data); + // 材料退料数量 + data.setBackStyle("0"); + int materialBackNum = leaseApplyInfoMapper.getDayBackNum(data); + // 当日领料数量 + data.setStartTime(startTime); + data.setEndTime(endTime); + data.setLeaseStyle(null); + data.setBackStyle(null); + int dayLeaseNum = leaseApplyInfoMapper.getDayLeaseNum(data); + // 当日退料数量 + int dayBackNum = leaseApplyInfoMapper.getDayBackNum(data); + //int dayInputNum = leaseApplyInfoMapper.getDayInputNum(startTime,endTime); + //int dayOutNum = leaseApplyInfoMapper.getDayOutNum(startTime,endTime); + data.setDayLeaseNum(dayLeaseNum); + data.setDayBackNum(dayBackNum); + //data.setDayInputNum(dayInputNum); + //data.setDayOutNum(dayOutNum); + data.setToolLeaseNum(toolLeaseNum); + data.setToolBackNum(toolBackNum); + data.setMaterialLeaseNum(materialLeaseNum); + data.setMaterialBackNum(materialBackNum); + return data; + } + + /** + * 获取领料任务详细信息 + * @param leaseApplyDetails + * @return + */ + @Override + public List getOutNum(LeaseApplyDetails leaseApplyDetails) { + List list = leaseApplyDetailsMapper.getOutNum(leaseApplyDetails); + // 根据id去出库表查询数据,进行数据拼接 + List outNumList = leaseApplyDetailsMapper.getOutNumList(leaseApplyDetails); + // 构建typeId到LeaseApplyDetails的映射,用于快速查找 + Map outNumMap = outNumList.stream() + .collect(Collectors.toMap(LeaseApplyDetails::getTypeId, details -> details, (existing, replacement) -> existing)); + if (!CollectionUtils.isEmpty(list)) { + // 处理已有数据的状态 + list.forEach(applyDetails -> { + if (outNumMap.containsKey(applyDetails.getTypeId())) { + applyDetails.setStatus("1"); + outNumMap.remove(applyDetails.getTypeId()); // 移除已匹配的项 + } + }); + + // 添加outNumList中剩余的typeId对应数据 + if (!outNumMap.isEmpty()) { + list.addAll(outNumMap.values()); + } + } + if (StringUtils.isNotBlank(leaseApplyDetails.getKeyword())) { + return list.stream().filter(item -> { + return containsNumKeyword(item, leaseApplyDetails.getKeyword()); + }).collect(Collectors.toList()); + } + return list; + } + + /** + * 总站点领料记录数据过滤 + * @param item + * @param keyWord + * @return + */ + private boolean containsNumKeyword(LeaseApplyDetails item, String keyWord) { + return (item.getMaTypeName() != null && item.getMaTypeName().contains(keyWord)) || + (item.getTypeName() != null && item.getTypeName().contains(keyWord)); + } + /** * 总站点领料记录数据过滤 * @param item diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java index e0154259..f59e2b9a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java @@ -2,7 +2,10 @@ package com.bonus.material.lease.service.impl; import java.math.BigDecimal; import java.util.List; +import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; + import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.common.biz.domain.lease.LeaseMaCodeDto; @@ -168,6 +171,14 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { try { // 1、判断库存是否足够 //boolean isEnough = checkStorageIsEnough(record); + // 针对于app进行判断,出库新增时判断此设备是否已经领料申请过 + if (record.getIsNew() != null && record.getIsNew() == 0){ + // 根据typeId去lease_apply_details表查询设备是否存在 + LeaseApplyDetails leaseApplyDetails = leaseApplyDetailsMapper.selectLeaseApplyDetailsByTypeId(record); + if (leaseApplyDetails != null) { + return AjaxResult.error("此设备已经申请领料,请勿重复申请"); + } + } record.setPreStoreNum(getStorageNum(record)); res = checkStorageNum(record); if (res > 0) { @@ -177,7 +188,36 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { throw new RuntimeException("出库失败,更新设备规格库存数量时出错!"); } // 4、修改任务状态(tm_task) - res = updateTaskStatus(record); + if (record.getIsApp() != null && record.getIsApp() == 0) { + LeaseApplyDetails leaseApplyDetails = new LeaseApplyDetails(); + leaseApplyDetails.setId(record.getParentId()); + List list = leaseApplyDetailsMapper.getOutNum(leaseApplyDetails); + // 根据id去出库表查询数据,进行数据拼接 + List outNumList = leaseApplyDetailsMapper.getOutNumList(leaseApplyDetails); + // 构建typeId到LeaseApplyDetails的映射,用于快速查找 + Map outNumMap = outNumList.stream() + .collect(Collectors.toMap(LeaseApplyDetails::getTypeId, details -> details, (existing, replacement) -> existing)); + if (!CollectionUtils.isEmpty(list)) { + // 处理已有数据的状态 + list.forEach(applyDetails -> { + if (outNumMap.containsKey(applyDetails.getTypeId())) { + applyDetails.setStatus("1"); + outNumMap.remove(applyDetails.getTypeId()); // 移除已匹配的项 + } + }); + + // 添加outNumList中剩余的typeId对应数据 + if (!outNumMap.isEmpty()) { + list.addAll(outNumMap.values()); + } + } + // 判断list中status状态是否全部为1,则修改任务状态为完成 + if (list.size() == list.stream().filter(item -> "1".equals(item.getStatus())).count()) { + res = updateTaskStatus(record); + } + } else { + res = updateTaskStatus(record); + } if (res == 0) { throw new RuntimeException("出库失败,修改任务状态失败"); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java index db3c5fa4..cdd2aa9e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java @@ -319,7 +319,6 @@ public class TypeController extends BaseController { /** * 根据左列表类型id查询右表格 --- 暂未启用,代码有问题!! * TODO: 待完善 - * @param typeId 左列表类型id @ApiOperation(value = "根据左列表类型id查询右表格") @GetMapping("/getListByMaType") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java index 28e108c4..6ac77944 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java @@ -318,6 +318,8 @@ public class MachineServiceImpl implements IMachineService dto.setMaStatus("在用"); } else if ("3".equals(dto.getMaStatus())) { dto.setMaStatus("退回"); + } else { + dto.setMaStatus("退回"); } } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/StatisticTask.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/StatisticTask.java index de531465..5282d963 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/StatisticTask.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/StatisticTask.java @@ -41,7 +41,7 @@ public class StatisticTask { @Scheduled(cron = "0 0 2 * * ?") //@Scheduled(cron = "0 * * * * ?") public void setTypeInfoToMaType() { - System.err.println("-----------开始计算四类未结算费用定时器-----------"); + System.err.println("-----------开始处理机具推送数据定时器-----------"); // 首先查询当天ma_station_push表推送的数据 LocalDate today = LocalDate.now(); String formDate = today.format(DateTimeFormatter.ISO_LOCAL_DATE); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml index 836ab253..9c36b3f0 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml @@ -48,7 +48,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP_CONCAT(DISTINCT mt2.type_id) as typeId, GROUP_CONCAT(DISTINCT mt2.type_name) AS typeName, bai.`status` AS status, - bai.print_status as printStatus + bai.print_status as printStatus, + SUM(IFNULL(bad.pre_num, 0)) AS backNum FROM back_apply_info bai LEFT JOIN back_apply_details bad on bad.parent_id = bai.id @@ -320,8 +321,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN bm_agreement_info ba ON tta.agreement_id = ba.agreement_id LEFT JOIN bm_project bp on bp.pro_id = ba.project_id AND bp.del_flag = '0' - LEFT JOIN bm_team bt on bt.team_id = ba.team_id - AND bu.del_flag = '0' + LEFT JOIN bm_team bt on bt.id = ba.team_id + AND bt.del_flag = '0' WHERE mm.ma_status = '2' and mm.ma_code = #{maCode} AND ba.team_id = #{teamId} @@ -401,6 +402,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM lease_out_details lod LEFT JOIN ma_machine mm ON lod.ma_id = mm.ma_id + LEFT JOIN ma_station_code ms ON mm.ma_code = ms.ma_code LEFT JOIN ma_type mt ON mm.type_id = mt.type_id AND mt.del_flag = '0' LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id @@ -412,10 +414,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN bm_agreement_info ba ON tta.agreement_id = ba.agreement_id LEFT JOIN bm_project bp on bp.pro_id = ba.project_id AND bp.del_flag = '0' - LEFT JOIN bm_team bt on bt.team_id = ba.team_id + LEFT JOIN bm_team bt on bt.id = ba.team_id AND bt.del_flag = '0' WHERE - mm.ma_status = '2' and mm.qr_code = #{qrCode} + mm.ma_status = '2' and ms.ma_qrcode = #{qrCode} + AND ba.team_id = #{teamId} + AND ba.project_id = #{proId} + + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml index 0fea64e0..ae519a36 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml @@ -42,7 +42,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" IFNULL(lad.pre_num,0) as pre_num, IFNULL(lad.audit_num,0) as audit_num, IFNULL(lad.al_num,0) as al_num, - IFNULL(lad.status,0) as status, mt.unit_name as unitName,mt.unit_value, + IFNULL(lad.status,0) as status, mt.unit_name ,mt.unit_value, lad.create_by, lad.create_time, lad.update_by, lad.update_time, lad.remark as remark, lad.company_id from lease_apply_details lad @@ -261,22 +261,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml index 566108f4..f2f9aaeb 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml @@ -335,7 +335,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ma_name AS typeCode, ma_model AS modelCode, ma_unit AS unitNames, - NUM AS preCountNum + NUM AS preCountNum, + ma_code AS maCode FROM ma_station_push WHERE @@ -393,6 +394,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY mt.type_id,lai.team_id,lai.pro_id,lai.`code` + ORDER BY + lai.create_time DESC + + + + \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml index bbeeb9e7..9443463a 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml @@ -338,7 +338,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" UPDATE ma_machine SET - ma_status = #{status},create_time = NOW() + ma_status = #{status},update_time = NOW() type_id = #{record.typeId} @@ -495,40 +495,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"