领料接口优化
This commit is contained in:
parent
97d555617b
commit
308f17789a
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ public interface ILeaseApplyInfoService {
|
||||||
* @param leaseOutRequestVo 领料:出库
|
* @param leaseOutRequestVo 领料:出库
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
AjaxResult submitOut(LeaseOutRequestVo leaseOutRequestVo);
|
AjaxResult leaseOut(LeaseOutRequestVo leaseOutRequestVo);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue