出库部分

This commit is contained in:
张怡蓉
2025-05-26 15:04:35 +08:00
parent f1e9306e01
commit 7fef7dab41
18 changed files with 249 additions and 136 deletions

View File

@@ -8,12 +8,15 @@ import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.job.mydojob.domain.MydoJob; import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojob.service.IMydoJobService; import com.ruoyi.job.mydojob.service.IMydoJobService;
import com.ruoyi.job.mydojobfinish.service.IMydoJobFinishService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import static com.ruoyi.common.utils.PageUtils.startPage; import static com.ruoyi.common.utils.PageUtils.startPage;
@@ -24,6 +27,8 @@ public class OutMydoJobController extends BaseController {
@Autowired @Autowired
private IMydoJobService mydoJobService; private IMydoJobService mydoJobService;
@Autowired
private IMydoJobFinishService mydoJobFinishService;
/** /**
* 查询任务表列表 * 查询任务表列表
@@ -34,7 +39,12 @@ public class OutMydoJobController extends BaseController {
{ {
startPage(); startPage();
mydoJob.setInOut("2"); mydoJob.setInOut("2");
List<MydoJob> list = mydoJobService.selectMydoJobList(mydoJob); List<MydoJob> list = new ArrayList<>();
if(Integer.parseInt(mydoJob.getStatus())<4) {
list = mydoJobService.selectMydoJobList(mydoJob);
}else{
list=mydoJobFinishService.selectMydoJobFinishListByMydoJob(mydoJob);
}
return getDataTable(list); return getDataTable(list);
} }
@@ -44,9 +54,9 @@ public class OutMydoJobController extends BaseController {
@PreAuthorize("@ss.hasPermi('job:outmydoJob:OuthandFinish')") @PreAuthorize("@ss.hasPermi('job:outmydoJob:OuthandFinish')")
@Log(title = "出库手动完成", businessType = BusinessType.OTHER) @Log(title = "出库手动完成", businessType = BusinessType.OTHER)
@RequestMapping("/OuthandFinish") @RequestMapping("/OuthandFinish")
public AjaxResult manualCompleted(MydoJob mydoJob) public AjaxResult manualCompleted(@RequestParam("jobIds")String[] jobIds)
{ {
return mydoJobService.OuthandFinish(mydoJob); return mydoJobService.OuthandFinish(jobIds);
} }
/** /**
@@ -55,9 +65,9 @@ public class OutMydoJobController extends BaseController {
@PreAuthorize("@ss.hasPermi('job:outmydoJob:OuthandInvalidation')") @PreAuthorize("@ss.hasPermi('job:outmydoJob:OuthandInvalidation')")
@Log(title = "出库手动作废", businessType = BusinessType.OTHER) @Log(title = "出库手动作废", businessType = BusinessType.OTHER)
@RequestMapping("/OuthandInvalidation") @RequestMapping("/OuthandInvalidation")
public AjaxResult OuthandInvalidation(MydoJob mydoJob) public AjaxResult OuthandInvalidation(@RequestParam("jobIds")String[] jobIds)
{ {
return mydoJobService.OuthandInvalidation(mydoJob); return mydoJobService.OuthandInvalidation(jobIds);
} }

View File

@@ -11,7 +11,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
* @author ruoyi * @author ruoyi
* @date 2025-05-23 * @date 2025-05-23
*/ */
public class MydoJob extends BaseEntity public class MydoJob
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@@ -83,6 +83,10 @@ public class MydoJob extends BaseEntity
@Excel(name = "任务类型",dictType = "in_or_out_type") @Excel(name = "任务类型",dictType = "in_or_out_type")
private String inOrOut; private String inOrOut;
/** 开始时间 */
@Excel(name = "创建时间")
private String createTime;
/** 开始时间 */ /** 开始时间 */
@Excel(name = "开始时间") @Excel(name = "开始时间")
private String startTime; private String startTime;
@@ -113,6 +117,14 @@ public class MydoJob extends BaseEntity
private String inOut; private String inOut;
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getInOut() { public String getInOut() {
return inOut; return inOut;
} }

View File

@@ -78,9 +78,9 @@ public interface IMydoJobService
/** /**
* 出库手动完成 * 出库手动完成
*/ */
AjaxResult OuthandFinish(MydoJob mydoJob); AjaxResult OuthandFinish(String [] jobIds);
/** /**
* 出库手动作废 * 出库手动作废
*/ */
AjaxResult OuthandInvalidation(MydoJob mydoJob); AjaxResult OuthandInvalidation(String [] jobIds);
} }

View File

@@ -1,7 +1,9 @@
package com.ruoyi.job.mydojob.service.impl; package com.ruoyi.job.mydojob.service.impl;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
@@ -14,6 +16,8 @@ import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.in.stockindetail.service.IInStockinDetailService; import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService; import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
import com.ruoyi.out.outStockoutDetail.service.IOutStockoutDetailService;
import com.ruoyi.stock.stock.domain.BasStock; import com.ruoyi.stock.stock.domain.BasStock;
import com.ruoyi.stock.stock.service.IBasStockService; import com.ruoyi.stock.stock.service.IBasStockService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -22,6 +26,7 @@ import com.ruoyi.job.mydojob.mapper.MydoJobMapper;
import com.ruoyi.job.mydojob.domain.MydoJob; import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojob.service.IMydoJobService; import com.ruoyi.job.mydojob.service.IMydoJobService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
/** /**
* 任务表Service业务层处理 * 任务表Service业务层处理
@@ -30,8 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
* @date 2025-05-23 * @date 2025-05-23
*/ */
@Service @Service
public class MydoJobServiceImpl implements IMydoJobService public class MydoJobServiceImpl implements IMydoJobService {
{
@Autowired @Autowired
private MydoJobMapper mydoJobMapper; private MydoJobMapper mydoJobMapper;
@Autowired @Autowired
@@ -44,6 +48,8 @@ public class MydoJobServiceImpl implements IMydoJobService
private IInStockinDetailService inStockinDetailService; private IInStockinDetailService inStockinDetailService;
@Autowired @Autowired
private IBasStockService basStockService; private IBasStockService basStockService;
@Autowired
private IOutStockoutDetailService outStockoutDetailService;
/** /**
@@ -53,8 +59,7 @@ public class MydoJobServiceImpl implements IMydoJobService
* @return 任务表 * @return 任务表
*/ */
@Override @Override
public MydoJob selectMydoJobByJobId(String jobId) public MydoJob selectMydoJobByJobId(String jobId) {
{
return mydoJobMapper.selectMydoJobByJobId(jobId); return mydoJobMapper.selectMydoJobByJobId(jobId);
} }
@@ -65,8 +70,7 @@ public class MydoJobServiceImpl implements IMydoJobService
* @return 任务表 * @return 任务表
*/ */
@Override @Override
public List<MydoJob> selectMydoJobList(MydoJob mydoJob) public List<MydoJob> selectMydoJobList(MydoJob mydoJob) {
{
return mydoJobMapper.selectMydoJobList(mydoJob); return mydoJobMapper.selectMydoJobList(mydoJob);
} }
@@ -77,9 +81,8 @@ public class MydoJobServiceImpl implements IMydoJobService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int insertMydoJob(MydoJob mydoJob) public int insertMydoJob(MydoJob mydoJob) {
{ mydoJob.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
mydoJob.setCreateTime(DateUtils.getNowDate());
mydoJob.setJobId(basJobIdService.getJobId("RK")); mydoJob.setJobId(basJobIdService.getJobId("RK"));
mydoJob.setTaskNo(Convert.toStr(basTaskNoService.getTaskNo("1"))); mydoJob.setTaskNo(Convert.toStr(basTaskNoService.getTaskNo("1")));
return mydoJobMapper.insertMydoJob(mydoJob); return mydoJobMapper.insertMydoJob(mydoJob);
@@ -92,8 +95,7 @@ public class MydoJobServiceImpl implements IMydoJobService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateMydoJob(MydoJob mydoJob) public int updateMydoJob(MydoJob mydoJob) {
{
return mydoJobMapper.updateMydoJob(mydoJob); return mydoJobMapper.updateMydoJob(mydoJob);
} }
@@ -104,8 +106,7 @@ public class MydoJobServiceImpl implements IMydoJobService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteMydoJobByJobIds(String[] jobIds) public int deleteMydoJobByJobIds(String[] jobIds) {
{
return mydoJobMapper.deleteMydoJobByJobIds(jobIds); return mydoJobMapper.deleteMydoJobByJobIds(jobIds);
} }
@@ -116,10 +117,10 @@ public class MydoJobServiceImpl implements IMydoJobService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteMydoJobByJobId(String jobId) public int deleteMydoJobByJobId(String jobId) {
{
return mydoJobMapper.deleteMydoJobByJobId(jobId); return mydoJobMapper.deleteMydoJobByJobId(jobId);
} }
/** /**
* 手动作废任务表 * 手动作废任务表
*/ */
@@ -128,7 +129,7 @@ public class MydoJobServiceImpl implements IMydoJobService
public AjaxResult manualInvalidation(MydoJob mydoJob) { public AjaxResult manualInvalidation(MydoJob mydoJob) {
String jobId = mydoJob.getJobId(); String jobId = mydoJob.getJobId();
MydoJob job = selectMydoJobByJobId(jobId); MydoJob job = selectMydoJobByJobId(jobId);
if (job == null){ if (job == null) {
return AjaxResult.warn("任务不存在"); return AjaxResult.warn("任务不存在");
} }
MydoJobDetail param = new MydoJobDetail(); MydoJobDetail param = new MydoJobDetail();
@@ -153,6 +154,7 @@ public class MydoJobServiceImpl implements IMydoJobService
/** /**
* 插入历史表 * 插入历史表
*
* @param jobId * @param jobId
*/ */
private void insertHistory(String jobId) { private void insertHistory(String jobId) {
@@ -172,16 +174,16 @@ public class MydoJobServiceImpl implements IMydoJobService
String jobId = mydoJob.getJobId(); String jobId = mydoJob.getJobId();
MydoJob job = selectMydoJobByJobId(jobId); MydoJob job = selectMydoJobByJobId(jobId);
if (job == null){ if (job == null) {
return AjaxResult.warn("任务不存在"); return AjaxResult.warn("任务不存在");
} }
MydoJobDetail param = new MydoJobDetail(); MydoJobDetail param = new MydoJobDetail();
param.setJobId(jobId); param.setJobId(jobId);
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param); List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
if (CollUtil.isNotEmpty(mydoJobDetails)){ if (CollUtil.isNotEmpty(mydoJobDetails)) {
List<BasStock> list = new ArrayList<>(); List<BasStock> list = new ArrayList<>();
for (MydoJobDetail mydoJobDetail : mydoJobDetails) { for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
list.add(getStockByInStockinDetail(mydoJobDetail,job)); list.add(getStockByInStockinDetail(mydoJobDetail, job));
} }
basStockService.insertBasStockList(list); basStockService.insertBasStockList(list);
mydoJob.setStatus("4"); mydoJob.setStatus("4");
@@ -193,7 +195,7 @@ public class MydoJobServiceImpl implements IMydoJobService
return AjaxResult.success(); return AjaxResult.success();
} }
private BasStock getStockByInStockinDetail(MydoJobDetail mydoJobDetail,MydoJob mydoJob) { private BasStock getStockByInStockinDetail(MydoJobDetail mydoJobDetail, MydoJob mydoJob) {
BasStock stock = new BasStock(); BasStock stock = new BasStock();
stock.setStockId(basJobIdService.getJobId("KC")); stock.setStockId(basJobIdService.getJobId("KC"));
stock.setCargoSpaceId(mydoJob.getCargoSpaceId()); stock.setCargoSpaceId(mydoJob.getCargoSpaceId());
@@ -212,12 +214,39 @@ public class MydoJobServiceImpl implements IMydoJobService
} }
@Override @Override
public AjaxResult OuthandFinish(MydoJob mydoJob) { public AjaxResult OuthandFinish(String[] jobIds) {
return null; return null;
} }
@Override @Override
public AjaxResult OuthandInvalidation(MydoJob mydoJob) { @Transactional(rollbackFor = Exception.class)
return null; public AjaxResult OuthandInvalidation(String[] jobIds) {
try {
for (String jobId : jobIds) {
MydoJob job = selectMydoJobByJobId(jobId);
if (job == null) {
return AjaxResult.error("任务不存在");
}
MydoJobDetail mydoJobDetail = new MydoJobDetail();
mydoJobDetail.setJobId(jobId);
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetail);
for (MydoJobDetail detail : mydoJobDetails) {
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(detail.getInOrOutDId());
if (outStockoutDetail != null) {
BigDecimal allotQuantity = outStockoutDetail.getAllotQuantity();
BigDecimal substract = allotQuantity.subtract(Convert.toBigDecimal(detail.getOutQuantity()));
outStockoutDetail.setAllotQuantity(substract);
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
}
}
job.setStatus("5");
insertHistory(jobId);
}
return AjaxResult.success();
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error("任务处理异常");
}
} }
} }

View File

@@ -1,7 +1,10 @@
package com.ruoyi.job.mydojobdetail.controller; package com.ruoyi.job.mydojobdetail.controller;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ruoyi.job.mydojobdetailfinish.service.IMydoJobDetailFinishService;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@@ -33,6 +36,8 @@ public class MydoJobDetailController extends BaseController
{ {
@Autowired @Autowired
private IMydoJobDetailService mydoJobDetailService; private IMydoJobDetailService mydoJobDetailService;
@Autowired
private IMydoJobDetailFinishService mydoJobDetailFinishService;
/** /**
* 查询子任务列表 * 查询子任务列表
@@ -42,7 +47,12 @@ public class MydoJobDetailController extends BaseController
public TableDataInfo list(MydoJobDetail mydoJobDetail) public TableDataInfo list(MydoJobDetail mydoJobDetail)
{ {
startPage(); startPage();
List<MydoJobDetail> list = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetail); List<MydoJobDetail> list = new ArrayList<>();
if(Integer.parseInt(mydoJobDetail.getStatus())<4) {
list = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetail);
}else{
list = mydoJobDetailFinishService.selectMydoJobDetailFinishListByJobDetail(mydoJobDetail);
}
return getDataTable(list); return getDataTable(list);
} }

View File

@@ -119,6 +119,16 @@ public class MydoJobDetail extends BaseEntity
@Excel(name = "备用字段4") @Excel(name = "备用字段4")
private String spare4; private String spare4;
private String status;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public void setJobDetailId(String jobDetailId) public void setJobDetailId(String jobDetailId)
{ {
this.jobDetailId = jobDetailId; this.jobDetailId = jobDetailId;

View File

@@ -1,6 +1,8 @@
package com.ruoyi.job.mydojobdetailfinish.mapper; package com.ruoyi.job.mydojobdetailfinish.mapper;
import java.util.List; import java.util.List;
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
import com.ruoyi.job.mydojobdetailfinish.domain.MydoJobDetailFinish; import com.ruoyi.job.mydojobdetailfinish.domain.MydoJobDetailFinish;
/** /**
@@ -27,6 +29,8 @@ public interface MydoJobDetailFinishMapper
*/ */
public List<MydoJobDetailFinish> selectMydoJobDetailFinishList(MydoJobDetailFinish mydoJobDetailFinish); public List<MydoJobDetailFinish> selectMydoJobDetailFinishList(MydoJobDetailFinish mydoJobDetailFinish);
public List<MydoJobDetail> selectMydoJobDetailFinishListByJobId(String jobId);
/** /**
* 新增历史子作业 * 新增历史子作业
* *

View File

@@ -1,6 +1,8 @@
package com.ruoyi.job.mydojobdetailfinish.service; package com.ruoyi.job.mydojobdetailfinish.service;
import java.util.List; import java.util.List;
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
import com.ruoyi.job.mydojobdetailfinish.domain.MydoJobDetailFinish; import com.ruoyi.job.mydojobdetailfinish.domain.MydoJobDetailFinish;
/** /**
@@ -26,6 +28,7 @@ public interface IMydoJobDetailFinishService
* @return 历史子作业集合 * @return 历史子作业集合
*/ */
public List<MydoJobDetailFinish> selectMydoJobDetailFinishList(MydoJobDetailFinish mydoJobDetailFinish); public List<MydoJobDetailFinish> selectMydoJobDetailFinishList(MydoJobDetailFinish mydoJobDetailFinish);
public List<MydoJobDetail> selectMydoJobDetailFinishListByJobDetail(MydoJobDetail mydoJobDetail);
/** /**
* 新增历史子作业 * 新增历史子作业

View File

@@ -1,6 +1,9 @@
package com.ruoyi.job.mydojobdetailfinish.service.impl; package com.ruoyi.job.mydojobdetailfinish.service.impl;
import java.util.Collections;
import java.util.List; import java.util.List;
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.job.mydojobdetailfinish.mapper.MydoJobDetailFinishMapper; import com.ruoyi.job.mydojobdetailfinish.mapper.MydoJobDetailFinishMapper;
@@ -43,6 +46,12 @@ public class MydoJobDetailFinishServiceImpl implements IMydoJobDetailFinishServi
return mydoJobDetailFinishMapper.selectMydoJobDetailFinishList(mydoJobDetailFinish); return mydoJobDetailFinishMapper.selectMydoJobDetailFinishList(mydoJobDetailFinish);
} }
@Override
public List<MydoJobDetail> selectMydoJobDetailFinishListByJobDetail(MydoJobDetail mydoJobDetail) {
String jobId = mydoJobDetail.getJobId();
return mydoJobDetailFinishMapper.selectMydoJobDetailFinishListByJobId(jobId);
}
/** /**
* 新增历史子作业 * 新增历史子作业
* *

View File

@@ -1,6 +1,8 @@
package com.ruoyi.job.mydojobfinish.mapper; package com.ruoyi.job.mydojobfinish.mapper;
import java.util.List; import java.util.List;
import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojobfinish.domain.MydoJobFinish; import com.ruoyi.job.mydojobfinish.domain.MydoJobFinish;
/** /**
@@ -27,6 +29,9 @@ public interface MydoJobFinishMapper
*/ */
public List<MydoJobFinish> selectMydoJobFinishList(MydoJobFinish mydoJobFinish); public List<MydoJobFinish> selectMydoJobFinishList(MydoJobFinish mydoJobFinish);
public List<MydoJob> selectMydoJobFinishListByMydoJob(MydoJob mydoJob);
/** /**
* 新增历史主作业 * 新增历史主作业
* *

View File

@@ -1,6 +1,8 @@
package com.ruoyi.job.mydojobfinish.service; package com.ruoyi.job.mydojobfinish.service;
import java.util.List; import java.util.List;
import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojobfinish.domain.MydoJobFinish; import com.ruoyi.job.mydojobfinish.domain.MydoJobFinish;
/** /**
@@ -27,6 +29,9 @@ public interface IMydoJobFinishService
*/ */
public List<MydoJobFinish> selectMydoJobFinishList(MydoJobFinish mydoJobFinish); public List<MydoJobFinish> selectMydoJobFinishList(MydoJobFinish mydoJobFinish);
public List<MydoJob> selectMydoJobFinishListByMydoJob(MydoJob mydoJob);
/** /**
* 新增历史主作业 * 新增历史主作业
* *

View File

@@ -1,7 +1,9 @@
package com.ruoyi.job.mydojobfinish.service.impl; package com.ruoyi.job.mydojobfinish.service.impl;
import java.util.Collections;
import java.util.List; import java.util.List;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.job.mydojob.domain.MydoJob;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.job.mydojobfinish.mapper.MydoJobFinishMapper; import com.ruoyi.job.mydojobfinish.mapper.MydoJobFinishMapper;
@@ -44,6 +46,11 @@ public class MydoJobFinishServiceImpl implements IMydoJobFinishService
return mydoJobFinishMapper.selectMydoJobFinishList(mydoJobFinish); return mydoJobFinishMapper.selectMydoJobFinishList(mydoJobFinish);
} }
@Override
public List<MydoJob> selectMydoJobFinishListByMydoJob(MydoJob mydoJob) {
return mydoJobFinishMapper.selectMydoJobFinishListByMydoJob(mydoJob);
}
/** /**
* 新增历史主作业 * 新增历史主作业
* *

View File

@@ -69,6 +69,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
</select> </select>
<select id="selectMydoJobDetailFinishListByJobId" parameterType="String" resultMap="MydoJobDetailFinishResult">
<include refid="selectMydoJobDetailFinishVo"/>
where job_id = #{jobId}
</select>
<select id="selectMydoJobDetailFinishByJobDetailId" parameterType="String" resultMap="MydoJobDetailFinishResult"> <select id="selectMydoJobDetailFinishByJobDetailId" parameterType="String" resultMap="MydoJobDetailFinishResult">
<include refid="selectMydoJobDetailFinishVo"/> <include refid="selectMydoJobDetailFinishVo"/>
where job_detail_id = #{jobDetailId} where job_detail_id = #{jobDetailId}

View File

@@ -66,6 +66,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
</select> </select>
<select id="selectMydoJobFinishListByMydoJob" parameterType="MydoJob" resultMap="MydoJobFinishResult">
<include refid="selectMydoJobFinishVo"/>
<where>
<if test="jobId != null and jobId != ''"> and job_id = #{jobId}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="onLineType != null and onLineType != ''"> and on_line_type = #{onLineType}</if>
<if test="taskNo != null and taskNo != ''"> and task_no = #{taskNo}</if>
<if test="supplierId != null and supplierId != ''"> and supplier_id = #{supplierId}</if>
<if test="customerId != null and customerId != ''"> and customer_id = #{customerId}</if>
<if test="departmentId != null and departmentId != ''"> and department_id = #{departmentId}</if>
<if test="trayCode != null and trayCode != ''"> and tray_code = #{trayCode}</if>
<if test="roadwayId != null and roadwayId != ''"> and roadway_id = #{roadwayId}</if>
<if test="cargoSpaceId != null and cargoSpaceId != ''"> and cargo_space_id = #{cargoSpaceId}</if>
<if test="targetRoadwayId != null and targetRoadwayId != ''"> and target_roadway_id = #{targetRoadwayId}</if>
<if test="targetCargoSpaceId != null and targetCargoSpaceId != ''"> and target_cargo_space_id = #{targetCargoSpaceId}</if>
<if test="lineId != null and lineId != ''"> and line_id = #{lineId}</if>
<if test="workshopId != null and workshopId != ''"> and workshop_id = #{workshopId}</if>
<if test="priority != null "> and priority = #{priority}</if>
<if test="executionPhase != null and executionPhase != ''"> and execution_phase = #{executionPhase}</if>
<if test="inOrOut != null and inOrOut != ''"> and in_or_out = #{inOrOut}</if>
<if test="startTime != null and startTime != ''"> and start_time = #{startTime}</if>
<if test="finishTime != null and finishTime != ''"> and finish_time = #{finishTime}</if>
<if test="entranceId != null and entranceId != ''"> and entrance_id = #{entranceId}</if>
<if test="exitId != null and exitId != ''"> and exit_id = #{exitId}</if>
<if test="classId != null and classId != ''"> and class_id = #{classId}</if>
<if test="warehouseId != null and warehouseId != ''"> and warehouse_id = #{warehouseId}</if>
<if test="faultFlag != null and faultFlag != ''"> and fault_flag = #{faultFlag}</if>
</where>
</select>
<select id="selectMydoJobFinishByJobId" parameterType="String" resultMap="MydoJobFinishResult"> <select id="selectMydoJobFinishByJobId" parameterType="String" resultMap="MydoJobFinishResult">
<include refid="selectMydoJobFinishVo"/> <include refid="selectMydoJobFinishVo"/>
where job_id = #{jobId} where job_id = #{jobId}

View File

@@ -9,3 +9,21 @@ export function listMydoJobOut(query) {
params: query params: query
}) })
} }
// 手动完成任务
export function handFinish(jobIds) {
return request({
url: '/job/outmydoJob/OuthandFinish',
method: 'get',
params: { jobIds: jobIds }
})
}
// 手动作废任务
export function hangInvalidJob(jobIds) {
return request({
url: '/job/outmydoJob/OuthandInvalidation',
method: 'get',
params: { jobIds: jobIds }
})
}

View File

@@ -18,13 +18,7 @@ export function getOutStockoutDetail(query) {
} }
// 获取仓库列表
export function getWarehouseList() {
return request({
url: '/bas/warehouse/list',
method: 'get'
})
}
// 查询可出库的库存物资信息列表 // 查询可出库的库存物资信息列表
export function listProductAndStock(query) { export function listProductAndStock(query) {

View File

@@ -19,16 +19,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="上线类型" prop="onLineType">
<el-select v-model="queryParams.onLineType" placeholder="请选择上线类型" clearable>
<el-option
v-for="dict in dict.type.on_line_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>-->
<el-form-item label="任务号" prop="taskNo"> <el-form-item label="任务号" prop="taskNo">
<el-input <el-input
v-model="queryParams.taskNo" v-model="queryParams.taskNo"
@@ -53,14 +44,8 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="部门ID" prop="departmentId">
<el-input -->
v-model="queryParams.departmentId"
placeholder="请输入部门ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="托盘条码" prop="trayCode"> <el-form-item label="托盘条码" prop="trayCode">
<el-input <el-input
v-model="queryParams.trayCode" v-model="queryParams.trayCode"
@@ -85,46 +70,6 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item>--> </el-form-item>-->
<!-- <el-form-item label="目标巷道ID" prop="targetRoadwayId">
<el-input
v-model="queryParams.targetRoadwayId"
placeholder="请输入目标巷道ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<!-- <el-form-item label="目标货位" prop="targetCargoSpaceId">-->
<!-- <el-input-->
<!-- v-model="queryParams.targetCargoSpaceId"-->
<!-- placeholder="请输入目标货位ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="产线ID" prop="lineId">
<el-input
v-model="queryParams.lineId"
placeholder="请输入产线ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="车间ID" prop="workshopId">
<el-input
v-model="queryParams.workshopId"
placeholder="请输入车间ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="优先级" prop="priority">
<el-input
v-model="queryParams.priority"
placeholder="请输入优先级"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<!-- <el-form-item label="执行阶段" prop="executionPhase">--> <!-- <el-form-item label="执行阶段" prop="executionPhase">-->
<!-- <el-select v-model="queryParams.executionPhase" placeholder="请选择执行阶段" clearable>--> <!-- <el-select v-model="queryParams.executionPhase" placeholder="请选择执行阶段" clearable>-->
<!-- <el-option--> <!-- <el-option-->
@@ -138,7 +83,7 @@
<el-form-item label="作业类型" prop="inOrOut"> <el-form-item label="作业类型" prop="inOrOut">
<el-select v-model="queryParams.inOrOut" placeholder="请选择作业类型" clearable> <el-select v-model="queryParams.inOrOut" placeholder="请选择作业类型" clearable>
<el-option <el-option
v-for="dict in dict.type.in_job_type" v-for="dict in dict.type.out_job_type"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
@@ -177,21 +122,20 @@
<!-- @keyup.enter.native="handleQuery"--> <!-- @keyup.enter.native="handleQuery"-->
<!-- />--> <!-- />-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- <el-form-item label="班组ID" prop="classId">
<el-input
v-model="queryParams.classId"
placeholder="请输入班组ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="仓库" prop="warehouseId">
<el-input
v-model="queryParams.warehouseId"
placeholder="请输入仓库ID"
clearable
/> <el-form-item label="仓库" prop="warehouseId">
<el-select
v-model="queryParams.warehouseId"
placeholder="请选择仓库"
clearable
>
<el-option
v-for="dict in warehouseOptions"
:key="dict.warehouseId"
:label="dict.warehouseName"
:value="dict.warehouseId"
/>
</el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="重分标记" prop="faultFlag"> <!-- <el-form-item label="重分标记" prop="faultFlag">
<el-input <el-input
@@ -331,8 +275,9 @@
</template> </template>
<script> <script>
import { listMydoJobOut } from "@/api/job/OutmydoJob" import { listMydoJobOut,handFinish,hangInvalidJob } from "@/api/job/OutmydoJob"
import { listMydoJobDetail } from "@/api/job/mydoJobDetail" import { listMydoJobDetail } from "@/api/job/mydoJobDetail"
import {listWarehouse} from "@/api/bas/warehouse";
export default { export default {
name: "MydoJob", name: "MydoJob",
@@ -353,6 +298,8 @@ export default {
// 总条数 // 总条数
total: 0, total: 0,
detailTotal: 0, detailTotal: 0,
// 仓库选项
warehouseOptions: [],
// 任务表表格数据 // 任务表表格数据
mydoJobList: [], mydoJobList: [],
// 子任务表表格数据 // 子任务表表格数据
@@ -416,8 +363,16 @@ export default {
}, },
created() { created() {
this.getList() this.getList()
this.getWarehouseOptions();
}, },
methods: { methods: {
/** 获取仓库选项 */
getWarehouseOptions() {
listWarehouse().then(response => {
this.warehouseOptions = response.rows;
});
},
/** 查询任务表列表 */ /** 查询任务表列表 */
getList() { getList() {
this.loading = true this.loading = true
@@ -495,7 +450,7 @@ export default {
this.currentRow = row; this.currentRow = row;
// 更新子表格查询参数 // 更新子表格查询参数
this.queryDetailParams.jobId = row.jobId; this.queryDetailParams.jobId = row.jobId;
// 查询子表格数据 this.queryDetailParams.status=row.status // 查询子表格数据
this.getDetailList(); this.getDetailList();
}, },
/** 查询子任务表列表 */ /** 查询子任务表列表 */
@@ -515,12 +470,30 @@ export default {
}); });
}, },
//手动完成 //手动完成
OuthandFinish(row){ OuthandFinish() {
const stockinDetailIds = row.stockinDetailId || this.detailIds if (this.ids.length === 0) {
this.$modal.msgError("请选择需要手动完成的任务");
return;
}
this.$modal.confirm('是否确认手动完成选中的任务?').then(() => {
return handFinish(this.ids.join(','));
}).then(() => {
this.$modal.msgSuccess("手动完成成功");
this.getList();
}).catch(() => {});
}, },
//手动作废 //手动作废
OuthandInvalidation(row){ OuthandInvalidation() {
if (this.ids.length === 0) {
this.$modal.msgError("请选择需要手动作废的任务");
return;
}
this.$modal.confirm('是否确认手动作废选中的任务?').then(() => {
return hangInvalidJob(this.ids.join(','));
}).then(() => {
this.$modal.msgSuccess("手动作废成功");
this.getList();
}).catch(() => {});
} }
} }
} }

View File

@@ -116,8 +116,8 @@
</template> </template>
<script> <script>
import { getWarehouseList,listProductAndStock,saveOutStock } from "@/api/out/outStockout"; import { listProductAndStock,saveOutStock } from "@/api/out/outStockout";
import {listWarehouse} from "@/api/bas/warehouse";
export default { export default {
name: "AddOutStock", name: "AddOutStock",
@@ -175,20 +175,9 @@ export default {
/** 获取仓库选项 */ /** 获取仓库选项 */
getWarehouseOptions() { getWarehouseOptions() {
this.warehouseOptions = [ listWarehouse().then(response => {
{ this.warehouseOptions = response.rows;
warehouseName: "仓库1", });
warehouseId: "1"
},
{
warehouseName: "仓库2",
warehouseId: "2"
}
];
// getWarehouseList().then(response => {
// this.warehouseOptions = response.data;
// });
}, },
/** 打开选择物资弹窗 */ /** 打开选择物资弹窗 */
handleSelectMaterials() { handleSelectMaterials() {