diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/lease/LeaseTotalInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/lease/LeaseTotalInfo.java index 375bf782..40b1a0e4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/lease/LeaseTotalInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/lease/LeaseTotalInfo.java @@ -125,4 +125,7 @@ public class LeaseTotalInfo { @ApiModelProperty(value = "工程id") private String proId; + + @ApiModelProperty(value = "领料方式") + private String leaseStyle; } 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 81d0af23..8324ce68 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 @@ -231,7 +231,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { if (projectUnitAgreementId != null && projectUnitAgreementId > GlobalConstants.INT_0) { record.setProjectUnitAgreementId(projectUnitAgreementId); } else { - return AjaxResult.error("出库失败,没有找到班组所属项目部协议信息"); + throw new ServiceException("出库失败,未找到班组项目部协议ID"); } // 设置默认可退还数量等同于领用数量,因为班组的协议可以直接去分公司退还, 并设置source来源为2(班组领用) record.setReturnNum(record.getOutNum()); @@ -331,6 +331,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { materialLeaseApplyInfo.setLeaseStyle(SYNC_RESOURCE.toString()); materialLeaseApplyInfo.setTeamId(bmAgreementInfo.getUnitId().toString()); materialLeaseApplyInfo.setProjectId(record.getLeaseProjectId().toString()); + materialLeaseApplyInfo.setProId(Long.parseLong(record.getLeaseProjectId().toString())); materialLeaseApplyInfo.setCreateTime(DateUtils.getNowDate()); materialLeaseApplyInfo.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName()); int count = materialLeaseInfoMapper.insertLeaseApplyInfo(materialLeaseApplyInfo); @@ -405,7 +406,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { }*/ } catch (Exception e) { log.error(e.getMessage()); - return AjaxResult.error("出库失败" + e.getMessage()); + throw new ServiceException("出库失败" + e.getMessage()); } return AjaxResult.success("出库成功"); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/DirectRotationController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/DirectRotationController.java index 3878c003..57a9b220 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/DirectRotationController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/DirectRotationController.java @@ -21,10 +21,10 @@ import java.util.List; /** -* @description 直转申请 -* @author hay -* @date 2025/2/17 19:27 -*/ + * @author hay + * @description 直转申请 + * @date 2025/2/17 19:27 + */ @Api(tags = " 直转申请") @RestController @RequestMapping("/directRotation") @@ -40,8 +40,37 @@ public class DirectRotationController extends BaseController { @GetMapping("/getUseringData") public AjaxResult getUseringData(SltAgreementInfo sltAgreementInfo) { try { + List datas = new ArrayList<>(); List useringData = service.getUseringData(sltAgreementInfo); - return AjaxResult.success(useringData); + Integer projectId = service.getprojectId(sltAgreementInfo); + // 根据项目获取材料站在用机具 + List useringDataClz = service.getUseringDataByClz(projectId); + for (SltAgreementInfo useringDatum : useringData) { + boolean shouldAdd = true; + for (SltAgreementInfo agreementInfo : useringDataClz) { +// if (agreementInfo.getTypeName().equals("地锚") && agreementInfo.getTypeModelName().equals("10t")) { +// System.out.println("haha"); +// } + if (useringDatum.getTypeId().equals(agreementInfo.getTypeId())) { + if (useringDatum.getMaId() == null && agreementInfo.getMaId() == null) { + if (useringDatum.getUseNum() > agreementInfo.getUseNum()) { + useringDatum.setUseNum(useringDatum.getUseNum() - agreementInfo.getUseNum()); + } else { + shouldAdd = false; + break; + } + } else if (useringDatum.getMaId() != null && useringDatum.getMaId().equals(agreementInfo.getMaId())) { + // 匹配成功,不需要添加到datas + shouldAdd = false; + break; + } + } + } + if (shouldAdd) { + datas.add(useringDatum); + } + } + return AjaxResult.success(datas); } catch (Exception e) { return AjaxResult.success(new ArrayList<>()); } @@ -49,12 +78,13 @@ public class DirectRotationController extends BaseController { /** * 根据协议Id查询在用数据--类型名称下拉,规格型号下拉,在用数据列表 + * * @param bean * @return */ @ApiOperation(value = "标准配置下拉选") @PostMapping("/getTypeNameList") - public AjaxResult getTypeNameList(@RequestBody SltAgreementInfo bean){ + public AjaxResult getTypeNameList(@RequestBody SltAgreementInfo bean) { return service.getTypeNameList(bean); } @@ -112,6 +142,7 @@ public class DirectRotationController extends BaseController { /** * 导出直转记录查询列表 + * * @param response * @param directApplyInfo */ @@ -164,7 +195,7 @@ public class DirectRotationController extends BaseController { */ @ApiOperation(value = "删除直转申请") @PreventRepeatSubmit - @SysLog(title = "直转记录查询", businessType = OperaType.DELETE, logType = 1,module = "直转记录查询->删除直转申请") + @SysLog(title = "直转记录查询", businessType = OperaType.DELETE, logType = 1, module = "直转记录查询->删除直转申请") @DeleteMapping("/{id}") public AjaxResult remove(@PathVariable Long id) { return toAjax(service.delData(id)); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/DirectRotationMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/DirectRotationMapper.java index b3f632e2..76c89bf7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/DirectRotationMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/DirectRotationMapper.java @@ -5,6 +5,7 @@ import com.bonus.material.ma.domain.DirectApplyExportInfo; import com.bonus.material.ma.domain.DirectApplyInfo; import com.bonus.material.settlement.domain.SltAgreementInfo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -78,4 +79,8 @@ public interface DirectRotationMapper { * @return */ List selectDetails(SltAgreementInfo sltAgreementInfo); + + List getUseringDataByClz(@Param("projectId") Integer projectId); + + Integer getprojectId(SltAgreementInfo sltAgreementInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/DirectRotationService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/DirectRotationService.java index 72cf6d18..f65a77a4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/DirectRotationService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/DirectRotationService.java @@ -6,6 +6,7 @@ import com.bonus.material.ma.domain.DirectApplyExportInfo; import com.bonus.material.ma.domain.DirectApplyInfo; import com.bonus.material.ma.domain.DirectApplyInfoDetails; import com.bonus.material.settlement.domain.SltAgreementInfo; +import org.apache.ibatis.annotations.Param; import java.sql.SQLException; import java.util.List; @@ -79,4 +80,8 @@ public interface DirectRotationService { * @return */ AjaxResult submitNew(DirectApplyInfoDetails directApplyInfoDetails); + + List getUseringDataByClz(@Param("projectId") Integer projectId); + + Integer getprojectId(SltAgreementInfo sltAgreementInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/DirectRotationImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/DirectRotationImpl.java index f88b3121..94bd0801 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/DirectRotationImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/DirectRotationImpl.java @@ -434,6 +434,16 @@ public class DirectRotationImpl implements DirectRotationService { } } + @Override + public List getUseringDataByClz(Integer projectId) { + return mapper.getUseringDataByClz(projectId); + } + + @Override + public Integer getprojectId(SltAgreementInfo sltAgreementInfo) { + return mapper.getprojectId(sltAgreementInfo); + } + /** * 生成退料单号 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/impl/ProAuthorizeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/impl/ProAuthorizeServiceImpl.java index 04550ed5..4a1c094c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/impl/ProAuthorizeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/impl/ProAuthorizeServiceImpl.java @@ -89,16 +89,16 @@ public class ProAuthorizeServiceImpl implements ProAuthorizeService { // 使用 HashSet 来加速查找过程 Set unsettledProjectIds = new HashSet<>(projectIdList); // 过滤掉不在未结算工程集合内的工程 - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - LeasePublishInfo info = iterator.next(); - String proId = info.getLeaseProjectId() != null ? - info.getLeaseProjectId().toString() : null; - - if (proId == null || !unsettledProjectIds.contains(proId)) { - iterator.remove(); - } - } +// Iterator iterator = list.iterator(); +// while (iterator.hasNext()) { +// LeasePublishInfo info = iterator.next(); +// String proId = info.getLeaseProjectId() != null ? +// info.getLeaseProjectId().toString() : null; +// +// if (proId == null || !unsettledProjectIds.contains(proId)) { +// iterator.remove(); +// } +// } } return list; } catch (Exception e){ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/domain/SltAgreementInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/domain/SltAgreementInfo.java index 48f1511d..e9b06e7a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/domain/SltAgreementInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/domain/SltAgreementInfo.java @@ -254,6 +254,7 @@ public class SltAgreementInfo extends BaseEntity { private String repairCode; private String unitValue; + private String nextCheckTime; /** * 是否查询已结算的费用 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 71a61ea1..8349e0f8 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 @@ -953,6 +953,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" lai.`code` as code, bp.imp_unit as impUnit, bt.bzz_idcard as idCard, + case when lai.lease_style = '0' then '材料领料' + when lai.lease_style = '1' then '工器具领料' + when lai.lease_style = '2' then '第三方推送' + else '' + end as leaseStyle, lai.sub_unit_name as subUnitName FROM clz_lease_out_details lod diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/common/SelectMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/common/SelectMapper.xml index bef19574..aefd71f0 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/common/SelectMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/common/SelectMapper.xml @@ -324,7 +324,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + +