退料接收时,检查结算表拿到待退料数量,防止多退
This commit is contained in:
parent
a23651a16c
commit
2e6c28184e
|
|
@ -284,17 +284,17 @@ public class BackApplyInfo extends BaseEntity {
|
|||
/**
|
||||
* 已完成的退料数量
|
||||
*/
|
||||
private String finishedBackNum;
|
||||
private float finishedBackNum;
|
||||
|
||||
/**
|
||||
* 未完成的退料数量
|
||||
*/
|
||||
private String inCompletedBackNum;
|
||||
private float inCompletedBackNum;
|
||||
|
||||
/**
|
||||
* 此协议号最大剩余退料数
|
||||
*/
|
||||
private String maxBackNum;
|
||||
private float maxBackNum;
|
||||
|
||||
@ApiModelProperty(value = "详情id和数量")
|
||||
private String detailsIdByNum;
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import com.bonus.sgzb.common.core.enums.TaskTypeEnum;
|
|||
import com.bonus.sgzb.common.core.utils.DateUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
|
@ -150,6 +151,7 @@ public class BackReceiveServiceImpl implements BackReceiveService {
|
|||
int res = 0;
|
||||
// try {
|
||||
int taskId = record.getTaskId();
|
||||
int maxBackNum = 0;
|
||||
int passNum = 0;
|
||||
int maintenanceNum = 0;
|
||||
int scrapNum = 0;
|
||||
|
|
@ -168,6 +170,32 @@ public class BackReceiveServiceImpl implements BackReceiveService {
|
|||
}
|
||||
//修改任务状态
|
||||
List<BackApplyInfo> list = backReceiveMapper.receiveView2(record);
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
for (BackApplyInfo backApplyInfo : list) {
|
||||
maxBackNum += (int) backApplyInfo.getMaxBackNum();
|
||||
}
|
||||
}
|
||||
List<BackApplyInfo> hgList = backReceiveMapper.getHgList(record);
|
||||
if (hgList != null && hgList.size() > 0) {
|
||||
for (BackApplyInfo bi : hgList) {
|
||||
passNum += bi.getBackNum();
|
||||
}
|
||||
}
|
||||
List<BackApplyInfo> wxList = backReceiveMapper.getWxList(record);
|
||||
if (wxList != null && wxList.size() > 0) {
|
||||
for (BackApplyInfo bi : wxList) {
|
||||
maintenanceNum += bi.getBackNum();
|
||||
}
|
||||
}
|
||||
List<BackApplyInfo> bfList = backReceiveMapper.getBfList(record);
|
||||
if (bfList != null && bfList.size() > 0) {
|
||||
for (BackApplyInfo bi : bfList) {
|
||||
scrapNum += bi.getBackNum();
|
||||
}
|
||||
}
|
||||
if (maxBackNum < passNum + maintenanceNum + scrapNum) {
|
||||
throw new RuntimeException("提交退料数量大于最大退料数,可能您的退料已被别人退掉了");
|
||||
}
|
||||
boolean allZeros = list.stream().allMatch(n -> Double.valueOf(n.getMaxBackNum()).intValue() == 0);
|
||||
if (allZeros) {
|
||||
res = updateTaskStatus(taskId, 40);
|
||||
|
|
@ -177,7 +205,6 @@ public class BackReceiveServiceImpl implements BackReceiveService {
|
|||
}
|
||||
//更加退料接收的数据创建下一步流程
|
||||
//合格的插入入库记录input_apply_details,修改库存ma_type,修改机具状态
|
||||
List<BackApplyInfo> hgList = backReceiveMapper.getHgList(record);
|
||||
if (hgList != null && hgList.size() > 0) {
|
||||
res = insertIad(hgList);
|
||||
if (res == 0) {
|
||||
|
|
@ -200,12 +227,8 @@ public class BackReceiveServiceImpl implements BackReceiveService {
|
|||
if (res == 0) {
|
||||
throw new RuntimeException("ma_machines");
|
||||
}
|
||||
for (BackApplyInfo bi : hgList) {
|
||||
passNum += bi.getBackNum();
|
||||
}
|
||||
}
|
||||
//维修的创建维修任务,插入任务协议表
|
||||
List<BackApplyInfo> wxList = backReceiveMapper.getWxList(record);
|
||||
if (wxList != null && wxList.size() > 0) {
|
||||
//插入任务表tm_task
|
||||
int newTaskId = insertTt(wxList, TaskTypeEnum.MAINTENANCE_TASK.getCode(), record.getCreateBy());
|
||||
|
|
@ -213,13 +236,8 @@ public class BackReceiveServiceImpl implements BackReceiveService {
|
|||
res = insertTta(newTaskId, wxList);
|
||||
//插入维修记录表repair_apply_details
|
||||
res = insertRad(newTaskId, wxList);
|
||||
for (BackApplyInfo bi : wxList) {
|
||||
maintenanceNum += bi.getBackNum();
|
||||
}
|
||||
}
|
||||
//待报废的创建报废任务,插入任务协议表
|
||||
|
||||
List<BackApplyInfo> bfList = backReceiveMapper.getBfList(record);
|
||||
if (bfList != null && bfList.size() > 0) {
|
||||
//插入任务表tm_task
|
||||
int newTaskId = insertTt(bfList, TaskTypeEnum.SCRAP_TASK.getCode(), record.getCreateBy());
|
||||
|
|
@ -227,9 +245,6 @@ public class BackReceiveServiceImpl implements BackReceiveService {
|
|||
res = insertTta(newTaskId, bfList);
|
||||
//插入维修记录表scrap_apply_details
|
||||
res = insertSad(newTaskId, bfList);
|
||||
for (BackApplyInfo bi : bfList) {
|
||||
scrapNum += bi.getBackNum();
|
||||
}
|
||||
}
|
||||
|
||||
List<BackApplyInfo> allList = backReceiveMapper.getAllList(record);
|
||||
|
|
|
|||
Loading…
Reference in New Issue