From 57ae6a898b06dd526d9ac76b74ed882af97ab2e7 Mon Sep 17 00:00:00 2001 From: mashuai Date: Sat, 12 Jul 2025 14:05:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=90=E6=96=99=E7=AB=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../material/back/domain/BackApplyInfo.java | 3 ++- .../back/mapper/BackApplyInfoMapper.java | 5 ++-- .../impl/BackApplyInfoServiceImpl.java | 12 +++++----- .../domain/back/MaterialBackApplyInfo.java | 3 ++- .../clz/mapper/MaterialBackInfoMapper.java | 5 ++-- .../MaterialBackApplyInfoServiceImpl.java | 24 ++++++------------- .../ma/domain/DirectApplyDetails.java | 4 +++- .../settlement/domain/SltAgreementInfo.java | 2 +- .../SysWorkflowRecordHistoryServiceImpl.java | 24 +++++++++---------- 9 files changed, 39 insertions(+), 43 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java index e00eaffd..fb36d9b2 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java @@ -1,6 +1,7 @@ package com.bonus.material.back.domain; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import com.bonus.common.core.annotation.Excel; @@ -84,7 +85,7 @@ public class BackApplyInfo implements Serializable { /** * 退料数量 */ - private Integer backNum; + private BigDecimal backNum; /** 联系方式 */ @Excel(name = "退料人电话") 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 8641a6cb..b105fe79 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 @@ -1,5 +1,6 @@ package com.bonus.material.back.mapper; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -204,14 +205,14 @@ public interface BackApplyInfoMapper { * @param record * @param backNum */ - void updateStlInfoTwo(@Param("info") SltAgreementInfo info,@Param("record") BackApplyInfo record, @Param("backNum") Integer backNum); + void updateStlInfoTwo(@Param("info") SltAgreementInfo info,@Param("record") BackApplyInfo record, @Param("backNum") BigDecimal backNum); /** * 新增结算信息 * @param info * @param many */ - void insStlInfoTwo(@Param("info")SltAgreementInfo info, @Param("many")Integer many); + void insStlInfoTwo(@Param("info")SltAgreementInfo info, @Param("many")BigDecimal many); /** * 更新详情 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 2b8aff86..61d7099e 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 @@ -1537,17 +1537,17 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { for (BackApplyInfo bean : allList) { List infoList = backApplyInfoMapper.getStlInfo(bean); if (infoList.size() > 0) { - Integer backNum = bean.getBackNum(); + BigDecimal backNum = bean.getBackNum(); for (SltAgreementInfo info : infoList) { - Integer num = info.getBackNum(); - if (backNum.equals(num)) { + BigDecimal num = info.getBackNum(); + if (backNum.compareTo(num) == 0) { backApplyInfoMapper.updateStlInfo(info, record); break; - } else if (backNum > num) { - backNum = backNum - num; + } else if (backNum.compareTo(num) > 0) { + backNum = backNum.subtract(num); backApplyInfoMapper.updateStlInfo(info, record); } else { - Integer many = num - backNum; + BigDecimal many = num.subtract(backNum); backApplyInfoMapper.updateStlInfoTwo(info, record, backNum); backApplyInfoMapper.insStlInfoTwo(info, many); break; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/back/MaterialBackApplyInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/back/MaterialBackApplyInfo.java index 328c8a17..9f799efd 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/back/MaterialBackApplyInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/back/MaterialBackApplyInfo.java @@ -9,6 +9,7 @@ import lombok.experimental.Accessors; import javax.validation.constraints.Size; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; /** @@ -91,7 +92,7 @@ public class MaterialBackApplyInfo implements Serializable { /** * 退料数量 */ - private Integer backNum; + private BigDecimal backNum; @Excel(name = "班组长电话") @ApiModelProperty(value = "联系方式") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialBackInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialBackInfoMapper.java index 90a2ef43..1d6e3967 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialBackInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialBackInfoMapper.java @@ -11,6 +11,7 @@ import com.bonus.material.clz.domain.vo.back.MaterialBackMaCodeVo; import com.bonus.material.settlement.domain.SltAgreementInfo; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; /** @@ -137,14 +138,14 @@ public interface MaterialBackInfoMapper { * @param record * @param backNum */ - void updateStlInfoTwo(@Param("info") SltAgreementInfo info,@Param("record") MaterialBackApplyInfo record, @Param("backNum") Integer backNum); + void updateStlInfoTwo(@Param("info") SltAgreementInfo info,@Param("record") MaterialBackApplyInfo record, @Param("backNum") BigDecimal backNum); /** * 新增退料任务详情 * @param info * @param many */ - void insStlInfoTwo(@Param("info")SltAgreementInfo info, @Param("many")Integer many); + void insStlInfoTwo(@Param("info")SltAgreementInfo info, @Param("many")BigDecimal many); /** * 删除退料任务详情 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialBackApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialBackApplyInfoServiceImpl.java index b727317d..79128e28 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialBackApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialBackApplyInfoServiceImpl.java @@ -828,17 +828,7 @@ public class MaterialBackApplyInfoServiceImpl implements MaterialBackApplyInfoSe * @return */ private int saveBackApplyDetails(String createBy, MaterialBackApplyRequestVo dto, MaterialBackApplyInfo backApplyInfo, int result) { - List listL4 = new ArrayList<>(); for (MaterialBackApplyDetails details : dto.getBackApplyDetailsList()) { - if (details.getNum() == null && CollectionUtils.isNotEmpty(listL4)) { - for (TypeTreeNode typeTreeNode : listL4) { - // 如果找到匹配的 typeId,则更新数量 - if (typeTreeNode.getTypeId() == details.getTypeId()) { - details.setNum(typeTreeNode.getNum()); - break; - } - } - } details.setCode(backApplyInfo.getCode()); details.setParentId(backApplyInfo.getId()); details.setAuditNum(details.getPreNum()); @@ -874,7 +864,7 @@ public class MaterialBackApplyInfoServiceImpl implements MaterialBackApplyInfoSe } else { for (MaterialBackApplyInfo applyInfo : allList) { if (applyInfo.getTypeId().equals(details.getTypeId().toString()) - && applyInfo.getBackNum().toString().equals(details.getPreNum().toString())) { + && applyInfo.getBackNum().compareTo(details.getPreNum()) == 0) { newList.add(applyInfo); } } @@ -900,17 +890,17 @@ public class MaterialBackApplyInfoServiceImpl implements MaterialBackApplyInfoSe for (MaterialBackApplyInfo bean : allList) { List infoList = materialBackInfoMapper.getStlInfo(bean); if (infoList.size() > 0) { - Integer backNum = bean.getBackNum(); + BigDecimal backNum = bean.getBackNum(); for (SltAgreementInfo info : infoList) { - Integer num = info.getBackNum(); - if (backNum.equals(num)) { + BigDecimal num = info.getBackNum(); + if (backNum.compareTo(num) == 0) { materialBackInfoMapper.updateStlInfo(info, record); break; - } else if (backNum > num) { - backNum = backNum - num; + } else if (backNum.compareTo(num) > 0) { + backNum = backNum.subtract(num); materialBackInfoMapper.updateStlInfo(info, record); } else { - Integer many = num - backNum; + BigDecimal many = num.subtract(backNum); materialBackInfoMapper.updateStlInfoTwo(info, record, backNum); materialBackInfoMapper.insStlInfoTwo(info, many); break; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/DirectApplyDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/DirectApplyDetails.java index e48ad513..677cabc4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/DirectApplyDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/DirectApplyDetails.java @@ -4,6 +4,8 @@ import com.bonus.common.core.web.domain.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigDecimal; + /** * @author :梁超 */ @@ -29,7 +31,7 @@ public class DirectApplyDetails extends BaseEntity { /** * 直转数量 */ - private Integer directNum; + private BigDecimal directNum; private String typeName; 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 55fcaf59..c0b08a90 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 @@ -75,7 +75,7 @@ public class SltAgreementInfo extends BaseEntity { private Long userId; - private Integer backNum; + private BigDecimal backNum; /** 领料时间 */ @ApiModelProperty(value = "领料时间") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java index 77806260..43b91f83 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java @@ -511,7 +511,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis record.setTypeId(Long.valueOf(directApplyDetails.getTypeId())); record.setMaId(directApplyDetails.getMaId() == null ? null : Long.valueOf(directApplyDetails.getMaId())); - record.setOutNum(BigDecimal.valueOf(directApplyDetails.getDirectNum())); + record.setOutNum(directApplyDetails.getDirectNum()); record.setOutType("1".equals(directApplyDetails.getManageType()) ? 1 : 0); record.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName()); @@ -555,8 +555,8 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis details.setCreateTime(DateUtils.getNowDate()); details.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName()); details.setTypeId(Long.valueOf(directApplyDetails.getTypeId())); - details.setPreNum(BigDecimal.valueOf(directApplyDetails.getDirectNum())); - details.setAlNum(BigDecimal.valueOf(directApplyDetails.getDirectNum())); + details.setPreNum(directApplyDetails.getDirectNum()); + details.setAlNum(directApplyDetails.getDirectNum()); details.setStatus("2"); leaseApplyDetails.add(details); } @@ -595,7 +595,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis details.setTypeId(Long.valueOf(directApplyDetails.getTypeId())); details.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName()); details.setCreateTime(DateUtils.getNowDate()); - details.setPreNum(BigDecimal.valueOf(directApplyDetails.getDirectNum())); + details.setPreNum(directApplyDetails.getDirectNum()); details.setMaId(directApplyDetails.getMaId() == null ? null : Long.valueOf(directApplyDetails.getMaId())); details.setBackStatus("0"); @@ -610,18 +610,18 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis bean.setMaId(directApplyDetails.getMaId() == null ? null : Long.valueOf(directApplyDetails.getMaId())); List infoList = backApplyInfoMapper.getStlInfo(bean); - Integer backNum = directApplyDetails.getDirectNum(); + BigDecimal backNum = directApplyDetails.getDirectNum(); if (CollectionUtils.isNotEmpty(infoList)) { for (SltAgreementInfo agreementInfo : infoList) { - Integer num = agreementInfo.getBackNum(); - if (backNum.equals(num)) { + BigDecimal num = agreementInfo.getBackNum(); + if (backNum.compareTo(num) == 0) { backApplyInfoMapper.updateStlInfo(agreementInfo, backApplyInfo); break; - } else if (backNum > num) { - backNum = backNum - num; + } else if (backNum.compareTo(num) > 0) { + backNum = backNum.subtract(num); backApplyInfoMapper.updateStlInfo(agreementInfo, backApplyInfo); } else { - Integer many = num - backNum; + BigDecimal many = num.subtract(backNum); backApplyInfoMapper.updateStlInfoTwo(agreementInfo, backApplyInfo, backNum); backApplyInfoMapper.insStlInfoTwo(agreementInfo, many); break; @@ -645,8 +645,8 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis BackApplyDetails details = new BackApplyDetails(); details.setCode(backApplyInfo.getCode()); details.setParentId(backApplyInfo.getId()); - details.setPreNum(BigDecimal.valueOf(directApplyDetails.getDirectNum())); - details.setAuditNum(BigDecimal.valueOf(directApplyDetails.getDirectNum())); + details.setPreNum(directApplyDetails.getDirectNum()); + details.setAuditNum(directApplyDetails.getDirectNum()); details.setNum(directApplyDetails.getUseNum() == null ? BigDecimal.ZERO : BigDecimal.valueOf(directApplyDetails.getUseNum())); details.setStatus(String.valueOf(BackTaskStatusEnum.BACK_TASK_IN_FINISHED.getStatus()));