测试出库异常自动分配流程
This commit is contained in:
@@ -213,7 +213,7 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
||||
if (CollUtil.isNotEmpty(mydoJobDetails)) {
|
||||
List<BasStock> list = new ArrayList<>();
|
||||
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
||||
list.add(getStockByInStockinDetail(mydoJobDetail, job));
|
||||
list.add(getStockByInStockinDetail(mydoJobDetail, job,"2"));
|
||||
}
|
||||
basStockService.insertBasStockList(list);
|
||||
mydoJob.setStatus("4");
|
||||
@@ -233,20 +233,32 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
||||
MydoJobDetail param = new MydoJobDetail();
|
||||
param.setJobId(jobId);
|
||||
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
|
||||
BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(job.getCargoSpaceId());
|
||||
if (CollUtil.isNotEmpty(mydoJobDetails)) {
|
||||
List<BasStock> list = new ArrayList<>();
|
||||
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
||||
list.add(getStockByInStockinDetail(mydoJobDetail, job));
|
||||
}
|
||||
basStockService.insertBasStockList(list);
|
||||
mydoJob.setStatus("4");
|
||||
updateMydoJob(mydoJob);
|
||||
//修改货位
|
||||
BasCargoSpace basCargoSpace = new BasCargoSpace();
|
||||
basCargoSpace.setStatus("2");
|
||||
if ("7".equals(basCargoSpace.getStatus())){
|
||||
//异常待盘点
|
||||
basCargoSpace.setStatus("7");
|
||||
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
||||
//修改库存状态为异常
|
||||
list.add(getStockByInStockinDetail(mydoJobDetail, job,"3"));
|
||||
}
|
||||
}else if ("3".equals(basCargoSpace.getStatus())){
|
||||
//正常入库
|
||||
basCargoSpace.setStatus("2");
|
||||
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
||||
//修改库存状态为正常
|
||||
list.add(getStockByInStockinDetail(mydoJobDetail, job,"1"));
|
||||
}
|
||||
}
|
||||
basCargoSpace.setTrayCode(job.getTrayCode());
|
||||
basCargoSpace.setCargoSpaceId(job.getCargoSpaceId());
|
||||
basCargoSpaceService.updateBasCargoSpace(basCargoSpace);
|
||||
|
||||
basStockService.insertBasStockList(list);
|
||||
mydoJob.setStatus("4");
|
||||
updateMydoJob(mydoJob);
|
||||
//插入历史表
|
||||
insertHistory(mydoJob.getJobId());
|
||||
}
|
||||
@@ -255,16 +267,12 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
||||
|
||||
}
|
||||
|
||||
private BasStock getStockByInStockinDetail(MydoJobDetail mydoJobDetail, MydoJob mydoJob) {
|
||||
private BasStock getStockByInStockinDetail(MydoJobDetail mydoJobDetail, MydoJob mydoJob,String productStatus) {
|
||||
BasStock stock = new BasStock();
|
||||
stock.setStockId(basJobIdService.getJobId("KC"));
|
||||
stock.setCargoSpaceId(mydoJob.getCargoSpaceId());
|
||||
stock.setStockStatus("1");
|
||||
if ("5".equals(mydoJob.getInOrOut())){
|
||||
stock.setProductStatus("2");
|
||||
}else {
|
||||
stock.setProductStatus("1");
|
||||
}
|
||||
stock.setProductStatus(productStatus);
|
||||
stock.setLotNo(mydoJobDetail.getLotNo());
|
||||
stock.setInDate(DateUtils.getTime());
|
||||
stock.setProductGuid(mydoJobDetail.getProductGuid());
|
||||
|
||||
@@ -263,6 +263,7 @@ public class PdaServiceImp implements PdaService {
|
||||
if (flag) {
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
|
||||
map.put("v_type", "1");
|
||||
pdaMapper.outMakeSure(map);
|
||||
String result = map.get("v_result").toString();
|
||||
if ("10".equals(result)) {
|
||||
@@ -320,6 +321,7 @@ public class PdaServiceImp implements PdaService {
|
||||
if (flag) {
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
|
||||
map.put("v_type", "1");
|
||||
pdaMapper.outMakeSure(map);
|
||||
String result = map.get("v_result").toString();
|
||||
if ("10".equals(result)) {
|
||||
@@ -385,19 +387,19 @@ public class PdaServiceImp implements PdaService {
|
||||
//修改单据实际分配数量
|
||||
BigDecimal pickQuantity = Convert.toBigDecimal(mydoJobDetail.getPickQuantity());
|
||||
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(mydoJobDetail.getInOrOutDId());
|
||||
outStockoutDetail.setAllotQuantity(outStockoutDetail.getAllotQuantity().subtract(pickQuantity));
|
||||
outStockoutDetail.setAllotQuantity(pickQuantity);
|
||||
stockOutId = outStockoutDetail.getStockoutId();
|
||||
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
|
||||
}
|
||||
//生成回流任务,返回原库位,标记货位为异常待盘点状态
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
|
||||
map.put("v_type", "2");
|
||||
pdaMapper.outMakeSure(map);
|
||||
String result = map.get("v_result").toString();
|
||||
if ("10".equals(result)) {
|
||||
//自动分配
|
||||
outStockoutService.autoAllot(stockOutId);
|
||||
return AjaxResult.success("操作成功");
|
||||
return outStockoutService.autoAllot(stockOutId);
|
||||
} else {
|
||||
throw new RuntimeException(map.get("v_resultmsg").toString());
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<select id="outMakeSure" parameterType="java.util.Map" statementType="CALLABLE">
|
||||
{call proc_out_masksure(
|
||||
#{v_tray_code,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_type,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_result,mode=OUT,jdbcType=INTEGER},
|
||||
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user