Merge remote-tracking branch 'origin/master'

This commit is contained in:
jjLv 2024-11-14 13:04:40 +08:00
commit 663b352b1c
6 changed files with 27 additions and 34 deletions

View File

@ -5,7 +5,8 @@ import lombok.Getter;
@Getter @Getter
public enum MaTypeManageTypeEnum { public enum MaTypeManageTypeEnum {
CODE_DEVICE(0, "编码设备"), CODE_DEVICE(0, "编码设备"),
NUMBER_DEVICE(1, "数量设备"),; NUMBER_DEVICE(1, "数量设备"),
SET_DEVICE(2, "成套设备");
private final Integer typeId; private final Integer typeId;
private final String typeName; private final String typeName;

View File

@ -135,10 +135,10 @@ public class LeaseApplyInfoController extends BaseController {
@PreventRepeatSubmit @PreventRepeatSubmit
//@RequiresPermissions("lease:info:add") //@RequiresPermissions("lease:info:add")
@SysLog(title = "领料出库", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->领料出库") @SysLog(title = "领料出库", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->领料出库")
@PostMapping("/submitOut") @PostMapping("/leaseOut")
public AjaxResult submitOut(@NotNull(message = "领料出库信息不能为空") @RequestBody LeaseOutRequestVo leaseOutRequestVo) { public AjaxResult leaseOut(@NotNull(message = "领料出库信息不能为空") @RequestBody LeaseOutRequestVo leaseOutRequestVo) {
try { try {
return leaseApplyInfoService.submitOut(leaseOutRequestVo); return leaseApplyInfoService.leaseOut(leaseOutRequestVo);
} catch (Exception e) { } catch (Exception e) {
return error("系统错误, " + e.getMessage()); return error("系统错误, " + e.getMessage());
} }

View File

@ -60,7 +60,7 @@ public interface ILeaseApplyInfoService {
* @param leaseOutRequestVo 领料出库 * @param leaseOutRequestVo 领料出库
* @return 结果 * @return 结果
*/ */
AjaxResult submitOut(LeaseOutRequestVo leaseOutRequestVo); AjaxResult leaseOut(LeaseOutRequestVo leaseOutRequestVo);
/** /**

View File

@ -60,5 +60,6 @@ public interface ILeaseOutDetailsService {
*/ */
int deleteLeaseOutDetailsById(Long id); int deleteLeaseOutDetailsById(Long id);
public AjaxResult submitOut(LeaseOutDetails record); public AjaxResult leaseOut(LeaseOutDetails record);
} }

View File

@ -247,9 +247,9 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
* @return 结果 * @return 结果
*/ */
@Override @Override
public AjaxResult submitOut(LeaseOutRequestVo leaseOutRequestVo) { public AjaxResult leaseOut(LeaseOutRequestVo leaseOutRequestVo) {
for (LeaseOutDetails bean : leaseOutRequestVo.getLeaseOutDetailsList()) { for (LeaseOutDetails bean : leaseOutRequestVo.getLeaseOutDetailsList()) {
AjaxResult ajaxResult = leaseOutDetailsService.submitOut(bean); AjaxResult ajaxResult = leaseOutDetailsService.leaseOut(bean);
if (ajaxResult.isError()) { if (ajaxResult.isError()) {
return ajaxResult; return ajaxResult;
} }

View File

@ -1,21 +1,17 @@
package com.bonus.material.lease.service.impl; package com.bonus.material.lease.service.impl;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
import com.alibaba.fastjson2.JSONObject;
import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.constant.MaterialConstants;
import com.bonus.common.biz.utils.HttpHelper; import com.bonus.common.biz.enums.MaTypeManageTypeEnum;
import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.utils.StringUtils;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.lease.domain.LeaseApplyDetails; import com.bonus.material.lease.domain.LeaseApplyDetails;
import com.bonus.material.lease.mapper.LeaseApplyDetailsMapper; import com.bonus.material.lease.mapper.LeaseApplyDetailsMapper;
import com.bonus.material.ma.domain.Machine;
import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.domain.Type;
import com.bonus.material.settlement.domain.SltAgreementInfo; import com.bonus.material.settlement.domain.SltAgreementInfo;
import com.bonus.material.task.domain.TmTask; import com.bonus.material.task.domain.TmTask;
@ -73,7 +69,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService {
@Override @Override
public AjaxResult insertLeaseOutDetails(List<LeaseOutDetails> leaseOutDetailsList) { public AjaxResult insertLeaseOutDetails(List<LeaseOutDetails> leaseOutDetailsList) {
for (LeaseOutDetails bean : leaseOutDetailsList) { for (LeaseOutDetails bean : leaseOutDetailsList) {
AjaxResult ajaxResult = submitOut(bean); AjaxResult ajaxResult = leaseOut(bean);
if (ajaxResult.isError()) { if (ajaxResult.isError()) {
return ajaxResult; return ajaxResult;
} }
@ -127,18 +123,19 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService {
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public AjaxResult submitOut(LeaseOutDetails record) { public AjaxResult leaseOut(LeaseOutDetails record) {
int res = 0; int res = 0;
try { try {
// 1判断是否重复提交 // 1判断库存是否足够
res = checkRepeatSubmit(record); boolean isEnough = checkStorageIsEnough(record);
//record.setPreStoreNum(getStorageNum(record)); //record.setPreStoreNum(getStorageNum(record));
if (res > 0) { if (isEnough) {
if ((record.getManageType() == 1 || record.getManageType() == 2) && record.getInputNum() != null) { if ((record.getManageType() == MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId() ||
record.getManageType() == MaTypeManageTypeEnum.SET_DEVICE.getTypeId()) && record.getInputNum() != null) {
record.setOutNum(record.getInputNum()); record.setOutNum(record.getInputNum());
} }
//2判断成套机具出库库存是否足够 //2判断成套机具出库库存是否足够
if (record.getManageType() == 2) { if (record.getManageType() == MaTypeManageTypeEnum.SET_DEVICE.getTypeId()) {
res = checkStorageNumCt(record); res = checkStorageNumCt(record);
if (res == 0) { if (res == 0) {
throw new RuntimeException("出库失败,库存不足"); throw new RuntimeException("出库失败,库存不足");
@ -177,29 +174,23 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService {
return AjaxResult.success("出库成功"); return AjaxResult.success("出库成功");
} }
private int checkRepeatSubmit(LeaseOutDetails record) { // 判断库存是否足够
String maStatus = "15"; private boolean checkStorageIsEnough(LeaseOutDetails record) {
int res = 0; String maStatus = "1";
if (record.getManageType() == 1 || record.getManageType() == 2) { if (record.getManageType() == MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId() || record.getManageType() == MaTypeManageTypeEnum.SET_DEVICE.getTypeId()) {
// 如果是数量出库校验待出库数量
LeaseApplyDetails details = leaseOutDetailsMapper.getOutboundNum(record); LeaseApplyDetails details = leaseOutDetailsMapper.getOutboundNum(record);
if (details == null) { if (details == null) {
return res; return false;
} else {
res = 1;
} }
} else { } else if (record.getManageType() == MaTypeManageTypeEnum.CODE_DEVICE.getTypeId()) {
// 如果是编码出库判断是否在库
if (!(Objects.equals(0, record.getMaId()) || record.getMaId() == null)) { if (!(Objects.equals(0, record.getMaId()) || record.getMaId() == null)) {
String status = leaseOutDetailsMapper.getMachineStatus(record); String status = leaseOutDetailsMapper.getMachineStatus(record);
if (!maStatus.equals(status)) { if (!maStatus.equals(status)) {
return res; return false;
} else {
res = 1;
} }
} }
} }
return res; return true;
} }
private int checkStorageNumCt(LeaseOutDetails record) { private int checkStorageNumCt(LeaseOutDetails record) {