修改电子标签修改前置条件
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.api.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.ruoyi.api.domain.GenAgvSchedulingTaskRequest;
|
||||
@@ -49,12 +50,14 @@ public class ToWcsServiceImpl implements IToWcsService {
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add("21");
|
||||
list.add("23");
|
||||
list.add("25");
|
||||
mydoJobParam.setInOutIds(list);
|
||||
List<MydoJob> outMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
|
||||
for (MydoJob outMydoJob : outMydoJobs) {
|
||||
RequestLog requestLog = requestLogService.getRequestLog(PUSH_OUT_MYDO_JOB, JSONUtil.toJsonStr(outMydoJob), "推送出库任务");
|
||||
if ("1".equals(requestLog.getIsSuccessful())){
|
||||
outMydoJob.setStatus("3");
|
||||
outMydoJob.setStartTime(DateUtil.formatDateTime(DateUtil.date()));
|
||||
mydoJobService.updateMydoJob(outMydoJob);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,6 +64,9 @@ public class CheckStockin extends BaseEntity
|
||||
/** 部门编码 */
|
||||
@Excel(name = "部门编码")
|
||||
private String departmentNo;
|
||||
@Excel(name = "部门名称")
|
||||
private String departmentName;
|
||||
|
||||
|
||||
/** 客户编码 */
|
||||
@Excel(name = "客户编码")
|
||||
@@ -99,6 +102,7 @@ public class CheckStockin extends BaseEntity
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.ruoyi.bas.basJobId.service.IBasJobIdService;
|
||||
import com.ruoyi.check.stockcheck.domain.CheckStockVo;
|
||||
import com.ruoyi.check.stockcheckdetail.domain.CheckStockinDetail;
|
||||
import com.ruoyi.check.stockcheckdetail.service.ICheckStockinDetailService;
|
||||
import com.ruoyi.common.annotation.DataScope;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.uuid.UUID;
|
||||
@@ -75,6 +76,7 @@ public class CheckStockinServiceImpl implements ICheckStockinService
|
||||
* @return 盘库单据主信息
|
||||
*/
|
||||
@Override
|
||||
@DataScope(warehouseAlias = "bw")
|
||||
public List<CheckStockin> selectCheckStockinList(CheckStockin checkStockin)
|
||||
{
|
||||
return checkStockinMapper.selectCheckStockinList(checkStockin);
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.ruoyi.check.stockcheckfinish.service.impl;
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.check.stockcheck.domain.CheckStockin;
|
||||
import com.ruoyi.common.annotation.DataScope;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.check.stockcheckfinish.mapper.CheckStockinFinishMapper;
|
||||
@@ -94,6 +95,7 @@ public class CheckStockinFinishServiceImpl implements ICheckStockinFinishService
|
||||
}
|
||||
|
||||
@Override
|
||||
@DataScope(warehouseAlias = "bw")
|
||||
public List<CheckStockin> selectCheckStockinList(CheckStockin checkStockin) {
|
||||
return checkStockinFinishMapper.selectCheckStockinList(checkStockin);
|
||||
}
|
||||
|
||||
@@ -12,11 +12,11 @@ import com.ruoyi.job.mydojob.domain.MydoJob;
|
||||
* @author ruoyi
|
||||
* @date 2025-05-23
|
||||
*/
|
||||
public interface MydoJobMapper
|
||||
public interface MydoJobMapper
|
||||
{
|
||||
/**
|
||||
* 查询当前任务列表
|
||||
*
|
||||
*
|
||||
* @return 当前任务列表
|
||||
*/
|
||||
public List<MydoJob> selectCurrentTasks();
|
||||
@@ -71,4 +71,6 @@ public interface MydoJobMapper
|
||||
void insertHistory(String jobId);
|
||||
|
||||
void pointOut(HashMap<String, Object> map);
|
||||
|
||||
MydoJob selectByTrayCode(String trayCode);
|
||||
}
|
||||
|
||||
@@ -86,4 +86,6 @@ public interface IMydoJobService
|
||||
AjaxResult OuthandInvalidation(String [] jobIds);
|
||||
|
||||
AjaxResult pointOut(String [] stockIds);
|
||||
|
||||
MydoJob selectMydoJobByTrayCode(String trayCode);
|
||||
}
|
||||
|
||||
@@ -485,4 +485,9 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
||||
|
||||
return AjaxResult.success(Stringbuilder.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public MydoJob selectMydoJobByTrayCode(String trayCode) {
|
||||
return mydoJobMapper.selectByTrayCode(trayCode);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,4 +62,6 @@ public interface MydoJobDetailMapper
|
||||
void insertHistory(String jobId);
|
||||
|
||||
void deleteMydoJobDetailByJobId(String jobId);
|
||||
|
||||
List<MydoJobDetail> selectMydoJobDetailListByJobId(String jobId);
|
||||
}
|
||||
|
||||
@@ -62,4 +62,6 @@ public interface IMydoJobDetailService
|
||||
void insertHistory(String jobId);
|
||||
|
||||
void deleteMydoJobDetailByJobId(String jobId);
|
||||
|
||||
List<MydoJobDetail> selectMydoJobDetailListByJobId(String jobId);
|
||||
}
|
||||
|
||||
@@ -111,4 +111,9 @@ public class MydoJobDetailServiceImpl implements IMydoJobDetailService
|
||||
public void deleteMydoJobDetailByJobId(String jobId) {
|
||||
mydoJobDetailMapper.deleteMydoJobDetailByJobId(jobId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MydoJobDetail> selectMydoJobDetailListByJobId(String jobId) {
|
||||
return mydoJobDetailMapper.selectMydoJobDetailListByJobId(jobId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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