修改电子标签修改前置条件
This commit is contained in:
@@ -12,6 +12,8 @@ import com.ruoyi.bas.port.domain.BasProductPort;
|
||||
import com.ruoyi.bas.port.mapper.BasProductPortMapper;
|
||||
import com.ruoyi.bas.tag.domain.BasTag;
|
||||
import com.ruoyi.bas.tag.service.IBasTagService;
|
||||
import com.ruoyi.bas.warehouse.domain.BasWarehouse;
|
||||
import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
|
||||
import com.ruoyi.check.commit.domain.CheckCommitRecord;
|
||||
import com.ruoyi.check.commit.service.ICheckCommitRecordService;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
@@ -89,6 +91,8 @@ public class PdaServiceImp implements PdaService {
|
||||
private ITagTaskService tagTaskService;
|
||||
@Autowired
|
||||
private IBasTagService basTagService;
|
||||
@Autowired
|
||||
private IBasWarehouseService basWarehouseService;
|
||||
|
||||
/**
|
||||
* 空托盘入库
|
||||
@@ -234,7 +238,6 @@ public class PdaServiceImp implements PdaService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
MydoJobDetail mydoJobDetailParam = new MydoJobDetail();
|
||||
mydoJobDetailParam.setJobId(mydoJobList.get(0).getJobId());
|
||||
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam);
|
||||
@@ -242,7 +245,7 @@ public class PdaServiceImp implements PdaService {
|
||||
return AjaxResult.warn("子任务不存在");
|
||||
}
|
||||
//空托盘空料箱
|
||||
if("21".equals(mydoJobList.get(0).getInOrOut()) || "22".equals(mydoJobList.get(0).getInOrOut())){
|
||||
if ("21".equals(mydoJobList.get(0).getInOrOut()) || "22".equals(mydoJobList.get(0).getInOrOut())) {
|
||||
return handleOutType2(trayCodeMakeSure, mydoJobDetails, mydoJobList.get(0));
|
||||
}
|
||||
|
||||
@@ -277,6 +280,7 @@ public class PdaServiceImp implements PdaService {
|
||||
*/
|
||||
|
||||
private AjaxResult handleOutType2(TrayCodeMakeSure trayCodeMakeSure, List<MydoJobDetail> mydoJobDetailList, MydoJob mydoJob) {
|
||||
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(mydoJob.getWarehouseId());
|
||||
//修改拣选数量
|
||||
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
|
||||
//修改拣选数量
|
||||
@@ -285,22 +289,7 @@ public class PdaServiceImp implements PdaService {
|
||||
BigDecimal newPickQuantity = Convert.toBigDecimal(mydoJobDetail.getOutQuantity());*/
|
||||
mydoJobDetail.setPickQuantity(mydoJobDetail.getOutQuantity());
|
||||
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
|
||||
//修改电子标签
|
||||
TagTask param = new TagTask();
|
||||
param.setJobDetailId(mydoJobDetail.getJobDetailId());
|
||||
List<TagTask> tagTasks = tagTaskService.selectTagTaskList(param);
|
||||
if (CollUtil.isNotEmpty(tagTasks)) {
|
||||
TagTask tagTask = tagTasks.get(0);
|
||||
BigDecimal num = Convert.toBigDecimal(tagTask.getNum());
|
||||
/*if (num.compareTo(newPickQuantity) == 0){*/
|
||||
tagTask.setStatus("2");
|
||||
tagTaskService.updateTagTask(tagTask);
|
||||
/*}else {
|
||||
tagTask.setNum(num.subtract(newPickQuantity).toString());
|
||||
tagTaskService.updateTagTask(tagTask);
|
||||
}*/
|
||||
|
||||
}
|
||||
updateTagTaskStatus(mydoJobDetail,basWarehouse);
|
||||
}
|
||||
//判断拣选数量是否等于出库数量
|
||||
MydoJobDetail mydoJobDetailParam = new MydoJobDetail();
|
||||
@@ -308,6 +297,9 @@ public class PdaServiceImp implements PdaService {
|
||||
List<MydoJobDetail> currentMydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam);
|
||||
boolean flag = currentMydoJobDetails.stream().allMatch(mydoJobDetail -> mydoJobDetail.getPickQuantity().equals(mydoJobDetail.getOutQuantity()));
|
||||
if (flag) {
|
||||
|
||||
deleteTagTask(trayCodeMakeSure, basWarehouse);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
|
||||
map.put("v_type", "1");
|
||||
@@ -333,6 +325,7 @@ public class PdaServiceImp implements PdaService {
|
||||
*/
|
||||
private AjaxResult handleOutType1(TrayCodeMakeSure trayCodeMakeSure, List<MydoJobDetail> mydoJobDetailList, MydoJob mydoJob) {
|
||||
|
||||
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(mydoJob.getWarehouseId());
|
||||
|
||||
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
|
||||
|
||||
@@ -371,14 +364,8 @@ public class PdaServiceImp implements PdaService {
|
||||
outStockoutDetail.setAssignNum(outStockoutDetail.getAssignNum().add(Convert.toBigDecimal(mydoJobDetail.getPickQuantity())));
|
||||
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
|
||||
//修改电子标签
|
||||
TagTask param = new TagTask();
|
||||
param.setJobDetailId(mydoJobDetail.getJobDetailId());
|
||||
List<TagTask> tagTasks = tagTaskService.selectTagTaskList(param);
|
||||
if (CollUtil.isNotEmpty(tagTasks)) {
|
||||
TagTask tagTask = tagTasks.get(0);
|
||||
tagTask.setStatus("2");
|
||||
tagTaskService.updateTagTask(tagTask);
|
||||
}
|
||||
updateTagTaskStatus(mydoJobDetail, basWarehouse);
|
||||
|
||||
}
|
||||
|
||||
//判断拣选数量是否等于出库数量
|
||||
@@ -387,17 +374,8 @@ public class PdaServiceImp implements PdaService {
|
||||
List<MydoJobDetail> currentMydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam);
|
||||
boolean flag = currentMydoJobDetails.stream().allMatch(mydoJobDetail -> mydoJobDetail.getPickQuantity().equals(mydoJobDetail.getOutQuantity()));
|
||||
if (flag) {
|
||||
deleteTagTask(trayCodeMakeSure, basWarehouse);
|
||||
|
||||
BasTag basTag = basTagService.selectBasTagByTrayCode(trayCodeMakeSure.getTrayCode());
|
||||
//删除电子标签
|
||||
TagTask param = new TagTask();
|
||||
param.setTagId(basTag.getId());
|
||||
List<TagTask> tagTasks = tagTaskService.selectTagTaskList(param);
|
||||
if (CollUtil.isNotEmpty(tagTasks)) {
|
||||
tagTaskService.deleteTagTaskByIds(tagTasks.stream()
|
||||
.map(TagTask::getId)
|
||||
.toArray(Long[]::new));
|
||||
}
|
||||
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
|
||||
@@ -418,6 +396,11 @@ public class PdaServiceImp implements PdaService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult checkMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
|
||||
MydoJob mydoJob = mydoJobService.selectMydoJobByTrayCode(trayCodeMakeSure.getTrayCode());
|
||||
if (mydoJob == null) {
|
||||
return AjaxResult.warn("任务不存在");
|
||||
}
|
||||
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(mydoJob.getWarehouseId());
|
||||
List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList();
|
||||
if (CollUtil.isNotEmpty(mydoJobDetailList)) {
|
||||
boolean flag = mydoJobDetailList.stream().anyMatch(x -> StrUtil.isEmpty(x.getStockId()) && "0".equals(x.getInQuantity()));
|
||||
@@ -433,25 +416,65 @@ public class PdaServiceImp implements PdaService {
|
||||
checkCommitRecord.setSpare1(mydoJobDetail.getInOrOutDId());
|
||||
checkCommitRecord.setSpare2(mydoJobDetail.getProductId());
|
||||
checkCommitRecordService.insertCheckCommitRecord(checkCommitRecord);
|
||||
//修改电子标签任务
|
||||
TagTask param = new TagTask();
|
||||
param.setJobDetailId(mydoJobDetail.getJobDetailId());
|
||||
List<TagTask> tagTasks = tagTaskService.selectTagTaskList(param);
|
||||
if (CollUtil.isNotEmpty(tagTasks)) {
|
||||
TagTask tagTask = tagTasks.get(0);
|
||||
tagTask.setStatus("2");
|
||||
tagTaskService.updateTagTask(tagTask);
|
||||
}
|
||||
|
||||
mydoJobDetail.setSpare3("1");
|
||||
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
|
||||
updateTagTaskStatus(mydoJobDetail, basWarehouse);
|
||||
}
|
||||
}
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
|
||||
pdaMapper.checkMakeSure(map);
|
||||
String result = map.get("v_result").toString();
|
||||
if ("10".equals(result)) {
|
||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||
} else {
|
||||
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
||||
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByJobId(mydoJob.getJobId());
|
||||
if (mydoJobDetails.stream().allMatch(x -> "1".equals(x.getSpare3()))) {
|
||||
deleteTagTask(trayCodeMakeSure, basWarehouse);
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
|
||||
pdaMapper.checkMakeSure(map);
|
||||
String result = map.get("v_result").toString();
|
||||
if ("10".equals(result)) {
|
||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||
} else {
|
||||
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
||||
}
|
||||
}
|
||||
return AjaxResult.success("盘点完成");
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改电子标签数量
|
||||
* @param mydoJobDetail
|
||||
* @param basWarehouse
|
||||
*/
|
||||
private void updateTagTaskStatus(MydoJobDetail mydoJobDetail, BasWarehouse basWarehouse) {
|
||||
if ("2".equals(basWarehouse.getWarehouseType())) {
|
||||
//修改电子标签任务
|
||||
TagTask param = new TagTask();
|
||||
param.setJobDetailId(mydoJobDetail.getJobDetailId());
|
||||
List<TagTask> tagTasks = tagTaskService.selectTagTaskList(param);
|
||||
if (CollUtil.isNotEmpty(tagTasks)) {
|
||||
TagTask tagTask = tagTasks.get(0);
|
||||
tagTask.setStatus("2");
|
||||
tagTaskService.updateTagTask(tagTask);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除电子标签
|
||||
*
|
||||
* @param trayCodeMakeSure
|
||||
* @param basWarehouse
|
||||
*/
|
||||
private void deleteTagTask(TrayCodeMakeSure trayCodeMakeSure, BasWarehouse basWarehouse) {
|
||||
if ("2".equals(basWarehouse.getWarehouseType())) {
|
||||
BasTag basTag = basTagService.selectBasTagByTrayCode(trayCodeMakeSure.getTrayCode());
|
||||
//删除电子标签
|
||||
TagTask param = new TagTask();
|
||||
param.setTagId(basTag.getId());
|
||||
List<TagTask> tagTasks = tagTaskService.selectTagTaskList(param);
|
||||
if (CollUtil.isNotEmpty(tagTasks)) {
|
||||
tagTaskService.deleteTagTaskByIds(tagTasks.stream()
|
||||
.map(TagTask::getId)
|
||||
.toArray(Long[]::new));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -692,16 +715,16 @@ public class PdaServiceImp implements PdaService {
|
||||
public AjaxResult bindShelf(TrayCodeMakeSure trayCodeMakeSure) {
|
||||
BasContainerDetails basContainerDetails = new BasContainerDetails();
|
||||
basContainerDetails.setContainerId(trayCodeMakeSure.getContainerCode());
|
||||
for(MydoJobDetail mydoJobDetail:trayCodeMakeSure.getMydoJobDetailList()){
|
||||
for (MydoJobDetail mydoJobDetail : trayCodeMakeSure.getMydoJobDetailList()) {
|
||||
basContainerDetails.setProductId(mydoJobDetail.getProductId());
|
||||
List<BasContainerDetails> basContainerDetailsList = basContainerDetailsService.selectBasContainerDetailsList(basContainerDetails);
|
||||
if(basContainerDetailsList.size()==0){
|
||||
if (basContainerDetailsList.size() == 0) {
|
||||
basContainerDetails.setProductName(mydoJobDetail.getExtraField().getMaterialDesc());
|
||||
basContainerDetails.setQuantity(Convert.toLong(mydoJobDetail.getPickBindQuantity()));
|
||||
basContainerDetailsService.insertBasContainerDetails(basContainerDetails);
|
||||
}else{
|
||||
} else {
|
||||
basContainerDetails.setId(basContainerDetailsList.get(0).getId());
|
||||
basContainerDetails.setQuantity(basContainerDetailsList.get(0).getQuantity()+Convert.toLong(mydoJobDetail.getPickBindQuantity()));
|
||||
basContainerDetails.setQuantity(basContainerDetailsList.get(0).getQuantity() + Convert.toLong(mydoJobDetail.getPickBindQuantity()));
|
||||
basContainerDetailsService.updateBasContainerDetails(basContainerDetails);
|
||||
}
|
||||
|
||||
@@ -711,18 +734,16 @@ public class PdaServiceImp implements PdaService {
|
||||
outPickSubmitParam.setExitId(trayCodeMakeSure.getExitId());
|
||||
outPickSubmitParam.setProductId(mydoJobDetail.getProductId());
|
||||
List<OutPickSubmit> outPickSubmits = outPickSubmitService.selectOutPickSubmitList(outPickSubmitParam);
|
||||
if( Integer.parseInt(outPickSubmits.get(0).getQuantit()) > Integer.parseInt(mydoJobDetail.getPickBindQuantity()) ){
|
||||
outPickSubmitParam.setQuantit( String.valueOf(Integer.parseInt(outPickSubmits.get(0).getQuantit()) - Integer.parseInt(mydoJobDetail.getPickBindQuantity())));
|
||||
outPickSubmitParam.setId(outPickSubmits.get(0).getId());
|
||||
outPickSubmitService.updateOutPickSubmit(outPickSubmitParam);
|
||||
}else{
|
||||
outPickSubmitService.deleteOutPickSubmitById(outPickSubmits.get(0).getId());
|
||||
}
|
||||
if (Integer.parseInt(outPickSubmits.get(0).getQuantit()) > Integer.parseInt(mydoJobDetail.getPickBindQuantity())) {
|
||||
outPickSubmitParam.setQuantit(String.valueOf(Integer.parseInt(outPickSubmits.get(0).getQuantit()) - Integer.parseInt(mydoJobDetail.getPickBindQuantity())));
|
||||
outPickSubmitParam.setId(outPickSubmits.get(0).getId());
|
||||
outPickSubmitService.updateOutPickSubmit(outPickSubmitParam);
|
||||
} else {
|
||||
outPickSubmitService.deleteOutPickSubmitById(outPickSubmits.get(0).getId());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return AjaxResult.success("绑定成功!");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user