材料站

This commit is contained in:
mashuai 2025-07-12 14:05:59 +08:00
parent 870da9e03f
commit 57ae6a898b
9 changed files with 39 additions and 43 deletions

View File

@ -1,6 +1,7 @@
package com.bonus.material.back.domain; package com.bonus.material.back.domain;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.bonus.common.core.annotation.Excel; import com.bonus.common.core.annotation.Excel;
@ -84,7 +85,7 @@ public class BackApplyInfo implements Serializable {
/** /**
* 退料数量 * 退料数量
*/ */
private Integer backNum; private BigDecimal backNum;
/** 联系方式 */ /** 联系方式 */
@Excel(name = "退料人电话") @Excel(name = "退料人电话")

View File

@ -1,5 +1,6 @@
package com.bonus.material.back.mapper; package com.bonus.material.back.mapper;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -204,14 +205,14 @@ public interface BackApplyInfoMapper {
* @param record * @param record
* @param backNum * @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 info
* @param many * @param many
*/ */
void insStlInfoTwo(@Param("info")SltAgreementInfo info, @Param("many")Integer many); void insStlInfoTwo(@Param("info")SltAgreementInfo info, @Param("many")BigDecimal many);
/** /**
* 更新详情 * 更新详情

View File

@ -1537,17 +1537,17 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
for (BackApplyInfo bean : allList) { for (BackApplyInfo bean : allList) {
List<SltAgreementInfo> infoList = backApplyInfoMapper.getStlInfo(bean); List<SltAgreementInfo> infoList = backApplyInfoMapper.getStlInfo(bean);
if (infoList.size() > 0) { if (infoList.size() > 0) {
Integer backNum = bean.getBackNum(); BigDecimal backNum = bean.getBackNum();
for (SltAgreementInfo info : infoList) { for (SltAgreementInfo info : infoList) {
Integer num = info.getBackNum(); BigDecimal num = info.getBackNum();
if (backNum.equals(num)) { if (backNum.compareTo(num) == 0) {
backApplyInfoMapper.updateStlInfo(info, record); backApplyInfoMapper.updateStlInfo(info, record);
break; break;
} else if (backNum > num) { } else if (backNum.compareTo(num) > 0) {
backNum = backNum - num; backNum = backNum.subtract(num);
backApplyInfoMapper.updateStlInfo(info, record); backApplyInfoMapper.updateStlInfo(info, record);
} else { } else {
Integer many = num - backNum; BigDecimal many = num.subtract(backNum);
backApplyInfoMapper.updateStlInfoTwo(info, record, backNum); backApplyInfoMapper.updateStlInfoTwo(info, record, backNum);
backApplyInfoMapper.insStlInfoTwo(info, many); backApplyInfoMapper.insStlInfoTwo(info, many);
break; break;

View File

@ -9,6 +9,7 @@ import lombok.experimental.Accessors;
import javax.validation.constraints.Size; import javax.validation.constraints.Size;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
@ -91,7 +92,7 @@ public class MaterialBackApplyInfo implements Serializable {
/** /**
* 退料数量 * 退料数量
*/ */
private Integer backNum; private BigDecimal backNum;
@Excel(name = "班组长电话") @Excel(name = "班组长电话")
@ApiModelProperty(value = "联系方式") @ApiModelProperty(value = "联系方式")

View File

@ -11,6 +11,7 @@ import com.bonus.material.clz.domain.vo.back.MaterialBackMaCodeVo;
import com.bonus.material.settlement.domain.SltAgreementInfo; import com.bonus.material.settlement.domain.SltAgreementInfo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
@ -137,14 +138,14 @@ public interface MaterialBackInfoMapper {
* @param record * @param record
* @param backNum * @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 info
* @param many * @param many
*/ */
void insStlInfoTwo(@Param("info")SltAgreementInfo info, @Param("many")Integer many); void insStlInfoTwo(@Param("info")SltAgreementInfo info, @Param("many")BigDecimal many);
/** /**
* 删除退料任务详情 * 删除退料任务详情

View File

@ -828,17 +828,7 @@ public class MaterialBackApplyInfoServiceImpl implements MaterialBackApplyInfoSe
* @return * @return
*/ */
private int saveBackApplyDetails(String createBy, MaterialBackApplyRequestVo dto, MaterialBackApplyInfo backApplyInfo, int result) { private int saveBackApplyDetails(String createBy, MaterialBackApplyRequestVo dto, MaterialBackApplyInfo backApplyInfo, int result) {
List<TypeTreeNode> listL4 = new ArrayList<>();
for (MaterialBackApplyDetails details : dto.getBackApplyDetailsList()) { 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.setCode(backApplyInfo.getCode());
details.setParentId(backApplyInfo.getId()); details.setParentId(backApplyInfo.getId());
details.setAuditNum(details.getPreNum()); details.setAuditNum(details.getPreNum());
@ -874,7 +864,7 @@ public class MaterialBackApplyInfoServiceImpl implements MaterialBackApplyInfoSe
} else { } else {
for (MaterialBackApplyInfo applyInfo : allList) { for (MaterialBackApplyInfo applyInfo : allList) {
if (applyInfo.getTypeId().equals(details.getTypeId().toString()) if (applyInfo.getTypeId().equals(details.getTypeId().toString())
&& applyInfo.getBackNum().toString().equals(details.getPreNum().toString())) { && applyInfo.getBackNum().compareTo(details.getPreNum()) == 0) {
newList.add(applyInfo); newList.add(applyInfo);
} }
} }
@ -900,17 +890,17 @@ public class MaterialBackApplyInfoServiceImpl implements MaterialBackApplyInfoSe
for (MaterialBackApplyInfo bean : allList) { for (MaterialBackApplyInfo bean : allList) {
List<SltAgreementInfo> infoList = materialBackInfoMapper.getStlInfo(bean); List<SltAgreementInfo> infoList = materialBackInfoMapper.getStlInfo(bean);
if (infoList.size() > 0) { if (infoList.size() > 0) {
Integer backNum = bean.getBackNum(); BigDecimal backNum = bean.getBackNum();
for (SltAgreementInfo info : infoList) { for (SltAgreementInfo info : infoList) {
Integer num = info.getBackNum(); BigDecimal num = info.getBackNum();
if (backNum.equals(num)) { if (backNum.compareTo(num) == 0) {
materialBackInfoMapper.updateStlInfo(info, record); materialBackInfoMapper.updateStlInfo(info, record);
break; break;
} else if (backNum > num) { } else if (backNum.compareTo(num) > 0) {
backNum = backNum - num; backNum = backNum.subtract(num);
materialBackInfoMapper.updateStlInfo(info, record); materialBackInfoMapper.updateStlInfo(info, record);
} else { } else {
Integer many = num - backNum; BigDecimal many = num.subtract(backNum);
materialBackInfoMapper.updateStlInfoTwo(info, record, backNum); materialBackInfoMapper.updateStlInfoTwo(info, record, backNum);
materialBackInfoMapper.insStlInfoTwo(info, many); materialBackInfoMapper.insStlInfoTwo(info, many);
break; break;

View File

@ -4,6 +4,8 @@ import com.bonus.common.core.web.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/** /**
* @author 梁超 * @author 梁超
*/ */
@ -29,7 +31,7 @@ public class DirectApplyDetails extends BaseEntity {
/** /**
* 直转数量 * 直转数量
*/ */
private Integer directNum; private BigDecimal directNum;
private String typeName; private String typeName;

View File

@ -75,7 +75,7 @@ public class SltAgreementInfo extends BaseEntity {
private Long userId; private Long userId;
private Integer backNum; private BigDecimal backNum;
/** 领料时间 */ /** 领料时间 */
@ApiModelProperty(value = "领料时间") @ApiModelProperty(value = "领料时间")

View File

@ -511,7 +511,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
record.setTypeId(Long.valueOf(directApplyDetails.getTypeId())); record.setTypeId(Long.valueOf(directApplyDetails.getTypeId()));
record.setMaId(directApplyDetails.getMaId() == null ? record.setMaId(directApplyDetails.getMaId() == null ?
null : Long.valueOf(directApplyDetails.getMaId())); null : Long.valueOf(directApplyDetails.getMaId()));
record.setOutNum(BigDecimal.valueOf(directApplyDetails.getDirectNum())); record.setOutNum(directApplyDetails.getDirectNum());
record.setOutType("1".equals(directApplyDetails.getManageType()) ? record.setOutType("1".equals(directApplyDetails.getManageType()) ?
1 : 0); 1 : 0);
record.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName()); record.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
@ -555,8 +555,8 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
details.setCreateTime(DateUtils.getNowDate()); details.setCreateTime(DateUtils.getNowDate());
details.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName()); details.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
details.setTypeId(Long.valueOf(directApplyDetails.getTypeId())); details.setTypeId(Long.valueOf(directApplyDetails.getTypeId()));
details.setPreNum(BigDecimal.valueOf(directApplyDetails.getDirectNum())); details.setPreNum(directApplyDetails.getDirectNum());
details.setAlNum(BigDecimal.valueOf(directApplyDetails.getDirectNum())); details.setAlNum(directApplyDetails.getDirectNum());
details.setStatus("2"); details.setStatus("2");
leaseApplyDetails.add(details); leaseApplyDetails.add(details);
} }
@ -595,7 +595,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
details.setTypeId(Long.valueOf(directApplyDetails.getTypeId())); details.setTypeId(Long.valueOf(directApplyDetails.getTypeId()));
details.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName()); details.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
details.setCreateTime(DateUtils.getNowDate()); details.setCreateTime(DateUtils.getNowDate());
details.setPreNum(BigDecimal.valueOf(directApplyDetails.getDirectNum())); details.setPreNum(directApplyDetails.getDirectNum());
details.setMaId(directApplyDetails.getMaId() == null ? details.setMaId(directApplyDetails.getMaId() == null ?
null : Long.valueOf(directApplyDetails.getMaId())); null : Long.valueOf(directApplyDetails.getMaId()));
details.setBackStatus("0"); details.setBackStatus("0");
@ -610,18 +610,18 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
bean.setMaId(directApplyDetails.getMaId() == null ? bean.setMaId(directApplyDetails.getMaId() == null ?
null : Long.valueOf(directApplyDetails.getMaId())); null : Long.valueOf(directApplyDetails.getMaId()));
List<SltAgreementInfo> infoList = backApplyInfoMapper.getStlInfo(bean); List<SltAgreementInfo> infoList = backApplyInfoMapper.getStlInfo(bean);
Integer backNum = directApplyDetails.getDirectNum(); BigDecimal backNum = directApplyDetails.getDirectNum();
if (CollectionUtils.isNotEmpty(infoList)) { if (CollectionUtils.isNotEmpty(infoList)) {
for (SltAgreementInfo agreementInfo : infoList) { for (SltAgreementInfo agreementInfo : infoList) {
Integer num = agreementInfo.getBackNum(); BigDecimal num = agreementInfo.getBackNum();
if (backNum.equals(num)) { if (backNum.compareTo(num) == 0) {
backApplyInfoMapper.updateStlInfo(agreementInfo, backApplyInfo); backApplyInfoMapper.updateStlInfo(agreementInfo, backApplyInfo);
break; break;
} else if (backNum > num) { } else if (backNum.compareTo(num) > 0) {
backNum = backNum - num; backNum = backNum.subtract(num);
backApplyInfoMapper.updateStlInfo(agreementInfo, backApplyInfo); backApplyInfoMapper.updateStlInfo(agreementInfo, backApplyInfo);
} else { } else {
Integer many = num - backNum; BigDecimal many = num.subtract(backNum);
backApplyInfoMapper.updateStlInfoTwo(agreementInfo, backApplyInfo, backNum); backApplyInfoMapper.updateStlInfoTwo(agreementInfo, backApplyInfo, backNum);
backApplyInfoMapper.insStlInfoTwo(agreementInfo, many); backApplyInfoMapper.insStlInfoTwo(agreementInfo, many);
break; break;
@ -645,8 +645,8 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
BackApplyDetails details = new BackApplyDetails(); BackApplyDetails details = new BackApplyDetails();
details.setCode(backApplyInfo.getCode()); details.setCode(backApplyInfo.getCode());
details.setParentId(backApplyInfo.getId()); details.setParentId(backApplyInfo.getId());
details.setPreNum(BigDecimal.valueOf(directApplyDetails.getDirectNum())); details.setPreNum(directApplyDetails.getDirectNum());
details.setAuditNum(BigDecimal.valueOf(directApplyDetails.getDirectNum())); details.setAuditNum(directApplyDetails.getDirectNum());
details.setNum(directApplyDetails.getUseNum() == null ? details.setNum(directApplyDetails.getUseNum() == null ?
BigDecimal.ZERO : BigDecimal.valueOf(directApplyDetails.getUseNum())); BigDecimal.ZERO : BigDecimal.valueOf(directApplyDetails.getUseNum()));
details.setStatus(String.valueOf(BackTaskStatusEnum.BACK_TASK_IN_FINISHED.getStatus())); details.setStatus(String.valueOf(BackTaskStatusEnum.BACK_TASK_IN_FINISHED.getStatus()));