手持机部分
This commit is contained in:
@@ -68,5 +68,5 @@ public interface InStockinDetailMapper
|
|||||||
|
|
||||||
void deleteInStockinDetailByStockinGuid(String stockinGuid);
|
void deleteInStockinDetailByStockinGuid(String stockinGuid);
|
||||||
|
|
||||||
InStockinDetail selectStockinByDetailById(String stockinDetailId);
|
InStockinDetail selectStockinByDetailById(InStockinDetail inStockinDetail);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,5 +80,5 @@ public interface IInStockinDetailService
|
|||||||
AjaxResult barcodePrinting(Map<String,Object> stockinDetailId);
|
AjaxResult barcodePrinting(Map<String,Object> stockinDetailId);
|
||||||
|
|
||||||
|
|
||||||
public InStockinDetail selectStockinByDetailById(String stockinDetailId);
|
public InStockinDetail selectStockinByDetailById(InStockinDetail inStockinDetail);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.ruoyi.common.annotation.DataScope;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.domain.ExtraField;
|
import com.ruoyi.common.domain.ExtraField;
|
||||||
import com.ruoyi.in.stockin.domain.InStockin;
|
import com.ruoyi.in.stockin.domain.InStockin;
|
||||||
@@ -124,8 +125,10 @@ public class InStockinDetailServiceImpl implements IInStockinDetailService
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InStockinDetail selectStockinByDetailById(String stockinDetailId) {
|
@DataScope(warehouseAlias = "ist")
|
||||||
return inStockinDetailMapper.selectStockinByDetailById(stockinDetailId);
|
public InStockinDetail selectStockinByDetailById(InStockinDetail inStockinDetail) {
|
||||||
|
|
||||||
|
return inStockinDetailMapper.selectStockinByDetailById(inStockinDetail);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
public class MydoJob extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@@ -93,9 +93,7 @@ public class MydoJob
|
|||||||
@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 = "开始时间")
|
||||||
@@ -146,13 +144,9 @@ public class MydoJob
|
|||||||
this.warehouseName = warehouseName;
|
this.warehouseName = warehouseName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCreateTime() {
|
|
||||||
return createTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCreateTime(String createTime) {
|
|
||||||
this.createTime = createTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getInOut() {
|
public String getInOut() {
|
||||||
return inOut;
|
return inOut;
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import com.ruoyi.bas.basJobId.service.IBasJobIdService;
|
|||||||
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
|
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
|
||||||
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
|
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
|
||||||
import com.ruoyi.bas.taskNo.service.IBasTaskNoService;
|
import com.ruoyi.bas.taskNo.service.IBasTaskNoService;
|
||||||
|
import com.ruoyi.common.annotation.DataScope;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
|
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
|
||||||
@@ -74,6 +75,7 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
* @return 任务表
|
* @return 任务表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@DataScope(warehouseAlias = "bw")
|
||||||
public List<MydoJob> selectMydoJobList(MydoJob mydoJob) {
|
public List<MydoJob> selectMydoJobList(MydoJob mydoJob) {
|
||||||
return mydoJobMapper.selectMydoJobList(mydoJob);
|
return mydoJobMapper.selectMydoJobList(mydoJob);
|
||||||
}
|
}
|
||||||
@@ -86,7 +88,7 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
*/
|
*/
|
||||||
@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(new Date());
|
||||||
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);
|
||||||
@@ -246,6 +248,15 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
mydoJobDetail.setJobId(jobId);
|
mydoJobDetail.setJobId(jobId);
|
||||||
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetail);
|
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetail);
|
||||||
for (MydoJobDetail detail : mydoJobDetails) {
|
for (MydoJobDetail detail : mydoJobDetails) {
|
||||||
|
//修改库存的出库数量
|
||||||
|
BasStock basStock = basStockService.selectBasStockByStockId(detail.getStockId());
|
||||||
|
if (basStock != null) {
|
||||||
|
BigDecimal outQuantity = Convert.toBigDecimal(basStock.getOutQuantity());
|
||||||
|
BigDecimal substract = outQuantity.subtract(Convert.toBigDecimal(detail.getOutQuantity()));
|
||||||
|
basStock.setOutQuantity(String.valueOf(substract));
|
||||||
|
basStockService.updateBasStock(basStock);
|
||||||
|
}
|
||||||
|
//修改单据数量
|
||||||
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(detail.getInOrOutDId());
|
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(detail.getInOrOutDId());
|
||||||
if (outStockoutDetail != null) {
|
if (outStockoutDetail != null) {
|
||||||
BigDecimal allotQuantity = outStockoutDetail.getAllotQuantity();
|
BigDecimal allotQuantity = outStockoutDetail.getAllotQuantity();
|
||||||
@@ -254,6 +265,12 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
|
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//修改货位状态
|
||||||
|
BasCargoSpace cargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(job.getCargoSpaceId());
|
||||||
|
if (cargoSpace != null) {
|
||||||
|
cargoSpace.setStatus("1");
|
||||||
|
basCargoSpaceService.updateBasCargoSpace(cargoSpace);
|
||||||
|
}
|
||||||
job.setStatus("5");
|
job.setStatus("5");
|
||||||
insertHistory(jobId);
|
insertHistory(jobId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,6 +125,15 @@ public class MydoJobDetail extends BaseEntity
|
|||||||
private String pickQuantity;
|
private String pickQuantity;
|
||||||
//额外字段
|
//额外字段
|
||||||
private ExtraField extraField;
|
private ExtraField extraField;
|
||||||
|
private String pickQuantityReal;
|
||||||
|
|
||||||
|
public String getPickQuantityReal() {
|
||||||
|
return pickQuantityReal;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPickQuantityReal(String pickQuantityReal) {
|
||||||
|
this.pickQuantityReal = pickQuantityReal;
|
||||||
|
}
|
||||||
|
|
||||||
public String getPickQuantity() {
|
public String getPickQuantity() {
|
||||||
return pickQuantity;
|
return pickQuantity;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.ruoyi.pda.controller;
|
package com.ruoyi.pda.controller;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
|
||||||
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
|
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
|
||||||
import com.ruoyi.bas.warehouse.domain.BasWarehouse;
|
import com.ruoyi.bas.warehouse.domain.BasWarehouse;
|
||||||
import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
|
import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
|
||||||
@@ -11,6 +12,10 @@ import com.ruoyi.in.stockin.domain.InStockin;
|
|||||||
import com.ruoyi.in.stockin.service.IInStockinService;
|
import com.ruoyi.in.stockin.service.IInStockinService;
|
||||||
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
|
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.mydojob.domain.MydoJob;
|
||||||
|
import com.ruoyi.job.mydojob.service.IMydoJobService;
|
||||||
|
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
|
||||||
|
import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService;
|
||||||
import com.ruoyi.pda.domain.TrayCodeMakeSure;
|
import com.ruoyi.pda.domain.TrayCodeMakeSure;
|
||||||
import com.ruoyi.pda.domain.TrayCodeMsg;
|
import com.ruoyi.pda.domain.TrayCodeMsg;
|
||||||
import com.ruoyi.pda.service.PdaService;
|
import com.ruoyi.pda.service.PdaService;
|
||||||
@@ -23,6 +28,7 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -42,9 +48,16 @@ public class PdaController extends BaseController {
|
|||||||
private IBasWarehouseService basWarehouseService;
|
private IBasWarehouseService basWarehouseService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ITrayMsgService trayMsgService;
|
private ITrayMsgService trayMsgService;
|
||||||
|
@Autowired
|
||||||
|
private IBasCargoSpaceService basCargoSpaceService;
|
||||||
|
@Autowired
|
||||||
|
private IMydoJobService mydoJobService;
|
||||||
|
@Autowired
|
||||||
|
private IMydoJobDetailService mydoJobDetailService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空托盘入库
|
* 空托盘入库
|
||||||
|
*
|
||||||
* @param trayCodeMsg
|
* @param trayCodeMsg
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -52,87 +65,121 @@ public class PdaController extends BaseController {
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult emptyTrayIn(@RequestBody TrayCodeMsg trayCodeMsg) {
|
public AjaxResult emptyTrayIn(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||||
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
|
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
|
||||||
if(basWarehouse==null){
|
if (basWarehouse == null) {
|
||||||
return AjaxResult.error("仓库不存在");
|
return AjaxResult.error("仓库不存在");
|
||||||
}else{
|
|
||||||
if("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())){
|
|
||||||
return AjaxResult.error("请选择高架库货位");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if ("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())) {
|
||||||
|
return AjaxResult.error("请选择高架库货位");
|
||||||
|
}
|
||||||
|
if ("2".equals(basWarehouse.getWarehouseType())) {
|
||||||
|
BasCargoSpace basCargoSpace = new BasCargoSpace();
|
||||||
|
basCargoSpace.setWarehouseId(trayCodeMsg.getWarehouseId());
|
||||||
|
basCargoSpace.setStatus("1");
|
||||||
|
List<BasCargoSpace> basCargoSpaces = basCargoSpaceService.selectBasCargoSpaceList(basCargoSpace);
|
||||||
|
if (basCargoSpaces.size() == 0) {
|
||||||
|
return AjaxResult.error("此仓库没有空余货位");
|
||||||
|
} else {
|
||||||
|
trayCodeMsg.setCargoSpaceId(basCargoSpaces.get(0).getCargoSpaceId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return pdaService.emptyTrayIn(trayCodeMsg);
|
return pdaService.emptyTrayIn(trayCodeMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 空料箱入库
|
// * 空料箱入库
|
||||||
*/
|
// */
|
||||||
@RequestMapping("/emptyBoxIn")
|
// @RequestMapping("/emptyBoxIn")
|
||||||
@ResponseBody
|
// @ResponseBody
|
||||||
public AjaxResult emptyBoxIn(@RequestBody TrayCodeMsg trayCodeMsg) {
|
// public AjaxResult emptyBoxIn(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||||
AjaxResult ajaxResult = pdaService.emptyBoxIn(trayCodeMsg);
|
// AjaxResult ajaxResult = pdaService.emptyBoxIn(trayCodeMsg);
|
||||||
return ajaxResult;
|
// return ajaxResult;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空托盘库存查询
|
* 空托盘库存查询
|
||||||
|
*
|
||||||
* @param warehouseId
|
* @param warehouseId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('pda:selectKTPStcok:list')")
|
||||||
@RequestMapping("/selectKTPStcok")
|
@RequestMapping("/selectKTPStcok")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult selectKTPStcok(String warehouseId) {
|
public AjaxResult selectKTPStcok(String warehouseId) {
|
||||||
|
BasStock basStock = new BasStock();
|
||||||
List<BasStock> basStockList = basStockService.selectKtpStock(warehouseId);
|
basStock.setWarehouseId(warehouseId);
|
||||||
|
List<BasStock> basStockList = basStockService.selectKtpStock(basStock);
|
||||||
|
|
||||||
if (basStockList.size() != 0) {
|
if (basStockList.size() != 0) {
|
||||||
return AjaxResult.success(basStockList);
|
return AjaxResult.success(basStockList);
|
||||||
}else{
|
} else {
|
||||||
return AjaxResult.error("此区域没有空托盘库存");
|
return AjaxResult.error("此区域没有空托盘库存");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空托盘出库
|
* 空托盘出库
|
||||||
|
*
|
||||||
* @param
|
* @param
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/emptyTrayOut")
|
@RequestMapping("/emptyTrayOut")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult emptyTrayOut(@RequestBody TrayCodeMsg trayCodeMsg ) {
|
public AjaxResult emptyTrayOut(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||||
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
|
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
|
||||||
if (basWarehouse == null){
|
if (basWarehouse == null) {
|
||||||
return AjaxResult.error("仓库不存在");
|
return AjaxResult.error("仓库不存在");
|
||||||
}else{
|
}
|
||||||
if("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())){
|
if ("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())) {
|
||||||
return AjaxResult.error("请选择高架库货位");
|
return AjaxResult.error("请选择高架库货位");
|
||||||
|
}
|
||||||
|
if ("2".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getExitId())) {
|
||||||
|
return AjaxResult.error("请选择出口");
|
||||||
|
}
|
||||||
|
if("2".equals(basWarehouse.getWarehouseType())){
|
||||||
|
BasStock basStock = new BasStock();
|
||||||
|
basStock.setWarehouseId(trayCodeMsg.getWarehouseId());
|
||||||
|
List<BasStock> basStockList = basStockService.selectKtpStock(basStock);
|
||||||
|
if(basStockList.size() == 0){
|
||||||
|
return AjaxResult.error("此区域没有空托盘库存或此用户没有该区域权限");
|
||||||
|
}else{
|
||||||
|
trayCodeMsg.setCargoSpaceId(basStockList.get(0).getCargoSpaceId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return pdaService.emptyTrayOut(trayCodeMsg);
|
return pdaService.emptyTrayOut(trayCodeMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 空料箱出库
|
// * 空料箱出库
|
||||||
* @param trayCodeMsg
|
// *
|
||||||
* @return
|
// * @param trayCodeMsg
|
||||||
*/
|
// * @return
|
||||||
@RequestMapping("/emptyBoxOut")
|
// */
|
||||||
@ResponseBody
|
// @RequestMapping("/emptyBoxOut")
|
||||||
public AjaxResult emptyBoxOut(@RequestBody TrayCodeMsg trayCodeMsg) {
|
// @ResponseBody
|
||||||
return pdaService.emptyBoxOut(trayCodeMsg);
|
// public AjaxResult emptyBoxOut(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||||
}
|
// return pdaService.emptyBoxOut(trayCodeMsg);
|
||||||
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 绑盘查询入库单详情
|
* 绑盘查询入库单详情
|
||||||
|
*
|
||||||
* @param stockinDetailId
|
* @param stockinDetailId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('pda:inoderList:list')")
|
||||||
@RequestMapping("/inorder/detail")
|
@RequestMapping("/inorder/detail")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public InStockinDetail inoderList(String stockinDetailId) {
|
public InStockinDetail inoderList(String stockinDetailId) {
|
||||||
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(stockinDetailId);
|
InStockinDetail inStockinDetail1 = new InStockinDetail();
|
||||||
|
inStockinDetail1.setStockinDetailId(stockinDetailId);
|
||||||
|
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(inStockinDetail1);
|
||||||
return inStockinDetail;
|
return inStockinDetail;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 绑定托盘物料
|
* 绑定托盘物料
|
||||||
*/
|
*/
|
||||||
@@ -155,6 +202,7 @@ public class PdaController extends BaseController {
|
|||||||
List<TrayMsg> trayMsgs = trayMsgService.selectTrayMsgList(trayMsg);
|
List<TrayMsg> trayMsgs = trayMsgService.selectTrayMsgList(trayMsg);
|
||||||
return AjaxResult.success(trayMsgs);
|
return AjaxResult.success(trayMsgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 确认入库
|
* 确认入库
|
||||||
*/
|
*/
|
||||||
@@ -162,18 +210,30 @@ public class PdaController extends BaseController {
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult addInJob(@RequestBody TrayCodeMsg trayCodeMsg) {
|
public AjaxResult addInJob(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||||
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
|
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
|
||||||
// if(basWarehouse==null){
|
if (basWarehouse == null) {
|
||||||
// return AjaxResult.error("仓库不存在");
|
return AjaxResult.error("仓库不存在");
|
||||||
// }
|
}
|
||||||
if("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())){
|
if ("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())) {
|
||||||
return AjaxResult.error("请选择高架库货位");
|
return AjaxResult.error("请选择高架库货位");
|
||||||
}
|
}
|
||||||
|
if ("2".equals(basWarehouse.getWarehouseType())) {
|
||||||
|
BasCargoSpace basCargoSpace = new BasCargoSpace();
|
||||||
|
basCargoSpace.setWarehouseId(trayCodeMsg.getWarehouseId());
|
||||||
|
basCargoSpace.setStatus("1");
|
||||||
|
List<BasCargoSpace> basCargoSpaces = basCargoSpaceService.selectBasCargoSpaceList(basCargoSpace);
|
||||||
|
if (basCargoSpaces.size() == 0) {
|
||||||
|
return AjaxResult.error("此仓库没有空余货位");
|
||||||
|
} else {
|
||||||
|
trayCodeMsg.setCargoSpaceId(basCargoSpaces.get(0).getCargoSpaceId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return pdaService.addInJob(trayCodeMsg);
|
return pdaService.addInJob(trayCodeMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 出库确认
|
* 出库确认
|
||||||
|
*
|
||||||
* @param trayCodeMakeSure 托盘信息
|
* @param trayCodeMakeSure 托盘信息
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -193,5 +253,68 @@ public class PdaController extends BaseController {
|
|||||||
public AjaxResult checkMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
|
public AjaxResult checkMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
|
||||||
return pdaService.checkMakeSure(trayCodeMakeSure);
|
return pdaService.checkMakeSure(trayCodeMakeSure);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询所有待处理任务
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('pda:taskList:list')")
|
||||||
|
@RequestMapping("/taskList")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult taskList(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||||
|
List<BasWarehouse> basWarehouses = basWarehouseService.selectBasWarehouseList(new BasWarehouse());
|
||||||
|
List<MydoJob> mydoJobArrayList = new ArrayList<>();
|
||||||
|
if(basWarehouses.size() != 0){
|
||||||
|
|
||||||
|
for(BasWarehouse basWarehouse : basWarehouses){
|
||||||
|
|
||||||
|
//高架库
|
||||||
|
if("1".equals(basWarehouse.getWarehouseType())){
|
||||||
|
MydoJob mydoJob = new MydoJob();
|
||||||
|
mydoJob.setWarehouseId(basWarehouse.getWarehouseId());
|
||||||
|
mydoJob.setCargoSpaceId(trayCodeMsg.getTrayCode());
|
||||||
|
mydoJob.setInOut(trayCodeMsg.getInOut());
|
||||||
|
mydoJob.setStatus("1");
|
||||||
|
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob);
|
||||||
|
//将mydoJob添加进mydoJobArrayList
|
||||||
|
mydoJobArrayList.addAll(mydoJobs);
|
||||||
|
|
||||||
|
}
|
||||||
|
//ctu库
|
||||||
|
if("2".equals(basWarehouse.getWarehouseType()) && !"1".equals(trayCodeMsg.getInOut())){
|
||||||
|
MydoJob mydoJob = new MydoJob();
|
||||||
|
mydoJob.setInOut("2");
|
||||||
|
mydoJob.setWarehouseId(basWarehouse.getWarehouseId());
|
||||||
|
mydoJob.setCargoSpaceId(trayCodeMsg.getTrayCode());
|
||||||
|
mydoJob.setStatus("3");
|
||||||
|
List<MydoJob> mydoJobs2 = mydoJobService.selectMydoJobList(mydoJob);
|
||||||
|
mydoJobArrayList.addAll(mydoJobs2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return AjaxResult.success(mydoJobArrayList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用托盘条码查询子作业数据
|
||||||
|
*/
|
||||||
|
@RequestMapping("/selectDetailByTray")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult selectDetailByTray(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||||
|
MydoJob mydoJob = new MydoJob();
|
||||||
|
mydoJob.setTrayCode(trayCodeMsg.getTrayCode());
|
||||||
|
mydoJob.setStatus(trayCodeMsg.getStatus());
|
||||||
|
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob);
|
||||||
|
if(mydoJobs.size() == 0){
|
||||||
|
return AjaxResult.error("此托盘没有作业");
|
||||||
|
}
|
||||||
|
MydoJobDetail mydoJobDetail = new MydoJobDetail();
|
||||||
|
mydoJobDetail.setJobId(mydoJobs.get(0).getJobId());
|
||||||
|
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetail);
|
||||||
|
|
||||||
|
return AjaxResult.success(mydoJobDetails);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,25 @@ private String exitId;
|
|||||||
|
|
||||||
private String stockinDetailId;
|
private String stockinDetailId;
|
||||||
|
|
||||||
|
private String inOut;
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInOut() {
|
||||||
|
return inOut;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInOut(String inOut) {
|
||||||
|
this.inOut = inOut;
|
||||||
|
}
|
||||||
|
|
||||||
public String getStockinDetailId() {
|
public String getStockinDetailId() {
|
||||||
return stockinDetailId;
|
return stockinDetailId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,16 +36,18 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class PdaServiceImp implements PdaService{
|
public class PdaServiceImp implements PdaService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private PdaMapper pdaMapper;
|
private PdaMapper pdaMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBasCargoSpaceService basCargoSpaceService;
|
private IBasCargoSpaceService basCargoSpaceService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMydoJobDetailService mydoJobDetailService;;
|
private IMydoJobDetailService mydoJobDetailService;
|
||||||
|
;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMydoJobService mydoJobService;;
|
private IMydoJobService mydoJobService;
|
||||||
|
;
|
||||||
@Autowired
|
@Autowired
|
||||||
ISysRoleService sysRoleService;
|
ISysRoleService sysRoleService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -59,6 +61,7 @@ public class PdaServiceImp implements PdaService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 空托盘入库
|
* 空托盘入库
|
||||||
|
*
|
||||||
* @param trayCodeMsg
|
* @param trayCodeMsg
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -71,9 +74,9 @@ public class PdaServiceImp implements PdaService{
|
|||||||
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
|
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
|
||||||
pdaMapper.emptyTrayIn(map);
|
pdaMapper.emptyTrayIn(map);
|
||||||
String result = map.get("v_result").toString();
|
String result = map.get("v_result").toString();
|
||||||
if("10".equals(result)){
|
if ("10".equals(result)) {
|
||||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||||
}else{
|
} else {
|
||||||
return AjaxResult.error(map.get("v_resultmsg").toString());
|
return AjaxResult.error(map.get("v_resultmsg").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,6 +84,7 @@ public class PdaServiceImp implements PdaService{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 空料箱入库
|
* 空料箱入库
|
||||||
|
*
|
||||||
* @param trayCodeMsg
|
* @param trayCodeMsg
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -92,9 +96,9 @@ public class PdaServiceImp implements PdaService{
|
|||||||
map.put("v_entrance_id", trayCodeMsg.getEntranceId());
|
map.put("v_entrance_id", trayCodeMsg.getEntranceId());
|
||||||
pdaMapper.emptyBoxIn(map);
|
pdaMapper.emptyBoxIn(map);
|
||||||
String result = map.get("v_result").toString();
|
String result = map.get("v_result").toString();
|
||||||
if("10".equals(result)){
|
if ("10".equals(result)) {
|
||||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||||
}else{
|
} else {
|
||||||
return AjaxResult.error(map.get("v_resultmsg").toString());
|
return AjaxResult.error(map.get("v_resultmsg").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,11 +109,12 @@ public class PdaServiceImp implements PdaService{
|
|||||||
HashMap<String, Object> map = new HashMap<>();
|
HashMap<String, Object> map = new HashMap<>();
|
||||||
map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
|
map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
|
||||||
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
|
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
|
||||||
|
map.put("v_exit_id", trayCodeMsg.getExitId());
|
||||||
pdaMapper.emptyTrayOut(map);
|
pdaMapper.emptyTrayOut(map);
|
||||||
String result = map.get("v_result").toString();
|
String result = map.get("v_result").toString();
|
||||||
if("10".equals(result)){
|
if ("10".equals(result)) {
|
||||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||||
}else{
|
} else {
|
||||||
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -122,9 +127,9 @@ public class PdaServiceImp implements PdaService{
|
|||||||
map.put("v_exit_id", trayCodeMsg.getExitId());
|
map.put("v_exit_id", trayCodeMsg.getExitId());
|
||||||
pdaMapper.emptyBoxOut(map);
|
pdaMapper.emptyBoxOut(map);
|
||||||
String result = map.get("v_result").toString();
|
String result = map.get("v_result").toString();
|
||||||
if("10".equals(result)){
|
if ("10".equals(result)) {
|
||||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||||
}else{
|
} else {
|
||||||
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -132,26 +137,19 @@ public class PdaServiceImp implements PdaService{
|
|||||||
@Override
|
@Override
|
||||||
public AjaxResult bindTrayMsg(TrayCodeMsg trayCodeMsg) {
|
public AjaxResult bindTrayMsg(TrayCodeMsg trayCodeMsg) {
|
||||||
//判断用户的仓库权限
|
//判断用户的仓库权限
|
||||||
List<SysRole> roles = sysRoleService.selectRolesByUserId(SecurityUtils.getUserId());
|
InStockinDetail inStockinDetail1 = new InStockinDetail();
|
||||||
if (!roles.stream().anyMatch(SysRole::isAdmin)){
|
inStockinDetail1.setStockinDetailId(trayCodeMsg.getStockinDetailId());
|
||||||
|
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(inStockinDetail1);
|
||||||
for (SysRole role : roles) {
|
if (inStockinDetail == null) {
|
||||||
if (CollUtil.isNotEmpty(role.getWarehouseDataScope())){
|
return AjaxResult.warn("此用户无权限操作该仓库物料,或物料不存在");
|
||||||
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(trayCodeMsg.getStockinDetailId());
|
|
||||||
if(!role.getWarehouseDataScope().stream().anyMatch(warehouseId -> warehouseId.equals(inStockinDetail.getWarehouseId()))){
|
|
||||||
return AjaxResult.warn("此用户无权限操作该仓库物料");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//判断与已绑定物料是否为同一仓库
|
//判断与已绑定物料是否为同一仓库
|
||||||
TrayMsg trayMsg = new TrayMsg();
|
TrayMsg trayMsg = new TrayMsg();
|
||||||
trayMsg.setTrayCode(trayCodeMsg.getTrayCode());
|
trayMsg.setTrayCode(trayCodeMsg.getTrayCode());
|
||||||
List<TrayMsg> trayMsgs = trayMsgService.selectTrayMsgList(trayMsg);
|
List<TrayMsg> trayMsgs = trayMsgService.selectTrayMsgList(trayMsg);
|
||||||
if(trayMsgs.size()>0){
|
if (trayMsgs.size() > 0) {
|
||||||
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(trayCodeMsg.getStockinDetailId());
|
// InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(trayCodeMsg.getStockinDetailId());
|
||||||
if(!trayMsgs.get(0).getWarehouseId().equals(inStockinDetail.getWarehouseId())){
|
if (!trayMsgs.get(0).getWarehouseId().equals(inStockinDetail.getWarehouseId())) {
|
||||||
return AjaxResult.warn("同一托盘不能绑定不同仓库的物料");
|
return AjaxResult.warn("同一托盘不能绑定不同仓库的物料");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -160,12 +158,12 @@ public class PdaServiceImp implements PdaService{
|
|||||||
HashMap<String, Object> map = new HashMap<>();
|
HashMap<String, Object> map = new HashMap<>();
|
||||||
map.put("v_tray_code", trayCodeMsg.getTrayCode());
|
map.put("v_tray_code", trayCodeMsg.getTrayCode());
|
||||||
map.put("v_stockin_detail_id", trayCodeMsg.getStockinDetailId());
|
map.put("v_stockin_detail_id", trayCodeMsg.getStockinDetailId());
|
||||||
map.put("v_quantity", Integer.parseInt(trayCodeMsg.getInQuantity()));
|
map.put("v_quantity", Integer.parseInt(trayCodeMsg.getInQuantity()));
|
||||||
pdaMapper.bindTrayMsg(map);
|
pdaMapper.bindTrayMsg(map);
|
||||||
String result = map.get("v_result").toString();
|
String result = map.get("v_result").toString();
|
||||||
if("10".equals(result)){
|
if ("10".equals(result)) {
|
||||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||||
}else{
|
} else {
|
||||||
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -179,9 +177,9 @@ public class PdaServiceImp implements PdaService{
|
|||||||
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
|
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
|
||||||
pdaMapper.addInJob(map);
|
pdaMapper.addInJob(map);
|
||||||
String result = map.get("v_result").toString();
|
String result = map.get("v_result").toString();
|
||||||
if("10".equals(result)){
|
if ("10".equals(result)) {
|
||||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||||
}else{
|
} else {
|
||||||
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -222,29 +220,29 @@ public class PdaServiceImp implements PdaService{
|
|||||||
MydoJob mydoJobParam = new MydoJob();
|
MydoJob mydoJobParam = new MydoJob();
|
||||||
mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode());
|
mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode());
|
||||||
List<MydoJob> mydoJobList = mydoJobService.selectMydoJobList(mydoJobParam);
|
List<MydoJob> mydoJobList = mydoJobService.selectMydoJobList(mydoJobParam);
|
||||||
if (CollUtil.isEmpty(mydoJobList)){
|
if (CollUtil.isEmpty(mydoJobList)) {
|
||||||
return AjaxResult.warn("任务不存在");
|
return AjaxResult.warn("任务不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
MydoJobDetail mydoJobDetailParam = new MydoJobDetail();
|
MydoJobDetail mydoJobDetailParam = new MydoJobDetail();
|
||||||
mydoJobDetailParam.setJobId(mydoJobList.get(0).getJobId());
|
mydoJobDetailParam.setJobId(mydoJobList.get(0).getJobId());
|
||||||
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam);
|
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam);
|
||||||
if (CollUtil.isEmpty(mydoJobDetails)){
|
if (CollUtil.isEmpty(mydoJobDetails)) {
|
||||||
return AjaxResult.warn("子任务不存在");
|
return AjaxResult.warn("子任务不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean flag = mydoJobDetails.stream().allMatch(mydoJobDetail -> mydoJobDetail.getPickQuantity().equals(mydoJobDetail.getOutQuantity()));
|
boolean flag = mydoJobDetails.stream().allMatch(mydoJobDetail -> mydoJobDetail.getPickQuantity().equals(mydoJobDetail.getOutQuantity()));
|
||||||
if (flag){
|
if (flag) {
|
||||||
HashMap<String, Object> map = new HashMap<>();
|
HashMap<String, Object> map = new HashMap<>();
|
||||||
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
|
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
|
||||||
pdaMapper.outMakeSure(map);
|
pdaMapper.outMakeSure(map);
|
||||||
String result = map.get("v_result").toString();
|
String result = map.get("v_result").toString();
|
||||||
if("10".equals(result)){
|
if ("10".equals(result)) {
|
||||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||||
}else{
|
} else {
|
||||||
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
||||||
}
|
}
|
||||||
}else {
|
} else {
|
||||||
return AjaxResult.warn("拣选完成");
|
return AjaxResult.warn("拣选完成");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,16 +2,12 @@ package com.ruoyi.pda.trayMsg.controller;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
|
||||||
|
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
|
||||||
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.*;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
@@ -33,6 +29,8 @@ public class TrayMsgController extends BaseController
|
|||||||
{
|
{
|
||||||
@Autowired
|
@Autowired
|
||||||
private ITrayMsgService trayMsgService;
|
private ITrayMsgService trayMsgService;
|
||||||
|
@Autowired
|
||||||
|
private IInStockinDetailService inStockinDetailService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询trayMsg列表
|
* 查询trayMsg列表
|
||||||
@@ -101,4 +99,24 @@ public class TrayMsgController extends BaseController
|
|||||||
{
|
{
|
||||||
return toAjax(trayMsgService.deleteTrayMsgByIds(ids));
|
return toAjax(trayMsgService.deleteTrayMsgByIds(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreAuthorize("@ss.hasPermi('pda:trayMsg:remove')")
|
||||||
|
@RequestMapping("/remove")
|
||||||
|
@Log(title = "trayMsg", businessType = BusinessType.DELETE)
|
||||||
|
public AjaxResult remove(@RequestBody TrayMsg trayMsg)
|
||||||
|
{
|
||||||
|
List<TrayMsg> list = trayMsgService.selectTrayMsgList(trayMsg);
|
||||||
|
int i = trayMsgService.deleteTrayMsgById(list.get(0).getId());
|
||||||
|
if(i>0){
|
||||||
|
// InStockinDetail inStockinDetail = new InStockinDetail();
|
||||||
|
// inStockinDetail.setStockinDetailId(trayMsg.getStockinDetailId());
|
||||||
|
InStockinDetail inStockinDetail1 = inStockinDetailService.selectInStockinDetailByStockinDetailId(trayMsg.getStockinDetailId());
|
||||||
|
Integer num=Integer.parseInt(inStockinDetail1.getScanNum())-Integer.parseInt(list.get(0).getQuantity());
|
||||||
|
inStockinDetail1.setScanNum(String.valueOf(num));
|
||||||
|
inStockinDetailService.updateInStockinDetail(inStockinDetail1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return toAjax(i);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.ruoyi.pda.trayMsg.service.impl;
|
package com.ruoyi.pda.trayMsg.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.common.annotation.DataScope;
|
||||||
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.pda.trayMsg.mapper.TrayMsgMapper;
|
import com.ruoyi.pda.trayMsg.mapper.TrayMsgMapper;
|
||||||
@@ -38,6 +40,7 @@ public class TrayMsgServiceImpl implements ITrayMsgService
|
|||||||
* @return trayMsg
|
* @return trayMsg
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@DataScope(warehouseAlias = "w")
|
||||||
public List<TrayMsg> selectTrayMsgList(TrayMsg trayMsg)
|
public List<TrayMsg> selectTrayMsgList(TrayMsg trayMsg)
|
||||||
{
|
{
|
||||||
return trayMsgMapper.selectTrayMsgList(trayMsg);
|
return trayMsgMapper.selectTrayMsgList(trayMsg);
|
||||||
@@ -45,7 +48,6 @@ public class TrayMsgServiceImpl implements ITrayMsgService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增trayMsg
|
* 新增trayMsg
|
||||||
*
|
|
||||||
* @param trayMsg trayMsg
|
* @param trayMsg trayMsg
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -61,5 +61,5 @@ public interface BasStockMapper
|
|||||||
|
|
||||||
void insertBasStockList(List<BasStock> list);
|
void insertBasStockList(List<BasStock> list);
|
||||||
|
|
||||||
List<BasStock> selectKtpStock(String warehouseId);
|
List<BasStock> selectKtpStock(BasStock basStock);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,5 +63,5 @@ public interface IBasStockService
|
|||||||
|
|
||||||
void insertBasStockList(List<BasStock> list);
|
void insertBasStockList(List<BasStock> list);
|
||||||
|
|
||||||
List<BasStock> selectKtpStock(String warehouseId);
|
List<BasStock> selectKtpStock(BasStock basStock);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
|
|||||||
import com.ruoyi.bas.cargoSpace.service.impl.BasCargoSpaceServiceImpl;
|
import com.ruoyi.bas.cargoSpace.service.impl.BasCargoSpaceServiceImpl;
|
||||||
import com.ruoyi.bas.warehouse.domain.BasWarehouse;
|
import com.ruoyi.bas.warehouse.domain.BasWarehouse;
|
||||||
import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
|
import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
|
||||||
|
import com.ruoyi.common.annotation.DataScope;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import com.ruoyi.stock.freeze.domain.BasStockFreezeRecord;
|
import com.ruoyi.stock.freeze.domain.BasStockFreezeRecord;
|
||||||
@@ -174,9 +175,9 @@ public class BasStockServiceImpl implements IBasStockService
|
|||||||
public void insertBasStockList(List<BasStock> list) {
|
public void insertBasStockList(List<BasStock> list) {
|
||||||
basStockMapper.insertBasStockList(list);
|
basStockMapper.insertBasStockList(list);
|
||||||
}
|
}
|
||||||
|
@DataScope(warehouseAlias = "s")
|
||||||
@Override
|
@Override
|
||||||
public List<BasStock> selectKtpStock(String warehouseId) {
|
public List<BasStock> selectKtpStock(BasStock basStock) {
|
||||||
return basStockMapper.selectKtpStock(warehouseId);
|
return basStockMapper.selectKtpStock(basStock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="cargoSpaceLogo != null and cargoSpaceLogo != ''"> and bcs.cargo_space_logo = #{cargoSpaceLogo}</if>
|
<if test="cargoSpaceLogo != null and cargoSpaceLogo != ''"> and bcs.cargo_space_logo = #{cargoSpaceLogo}</if>
|
||||||
<if test="thisCargoArea != null and thisCargoArea != ''"> and bcs.this_cargo_area = #{thisCargoArea}</if>
|
<if test="thisCargoArea != null and thisCargoArea != ''"> and bcs.this_cargo_area = #{thisCargoArea}</if>
|
||||||
</where>
|
</where>
|
||||||
|
order by the_platoon,the_floor,the_column
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectBasCargoSpaceByCargoSpaceId" parameterType="String" resultMap="BasCargoSpaceResult">
|
<select id="selectBasCargoSpaceByCargoSpaceId" parameterType="String" resultMap="BasCargoSpaceResult">
|
||||||
|
|||||||
@@ -295,7 +295,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<delete id="deleteInStockinDetailByStockinGuid">
|
<delete id="deleteInStockinDetailByStockinGuid">
|
||||||
delete from in_stockin_detail where stockin_guid = #{stockinGuid}
|
delete from in_stockin_detail where stockin_guid = #{stockinGuid}
|
||||||
</delete>
|
</delete>
|
||||||
<select id="selectStockinByDetailById" parameterType="string" resultMap="InStockinDetailResult">
|
<select id="selectStockinByDetailById" parameterType="InstockinDetail" resultMap="InStockinDetailResult">
|
||||||
select
|
select
|
||||||
isd.stockin_detail_id, isd.stockin_guid, isd.stockin_id, isd.lot_no, isd.product_guid,
|
isd.stockin_detail_id, isd.stockin_guid, isd.stockin_id, isd.lot_no, isd.product_guid,
|
||||||
isd.product_id, isd.quantity-isd.scan_num as quantity, isd.quantity_x, isd.quantity_j, isd.price, isd.cargo_no, isd.remark,
|
isd.product_id, isd.quantity-isd.scan_num as quantity, isd.quantity_x, isd.quantity_j, isd.price, isd.cargo_no, isd.remark,
|
||||||
@@ -312,6 +312,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="stockinDetailId != null and stockinDetailId != '' ">
|
<if test="stockinDetailId != null and stockinDetailId != '' ">
|
||||||
isd.stockin_detail_id = #{stockinDetailId}
|
isd.stockin_detail_id = #{stockinDetailId}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="params.warehouseDataScope != null and params.warehouseDataScope !=''">
|
||||||
|
${params.warehouseDataScope}
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
order by ist.create_date desc
|
order by ist.create_date desc
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="spare3" column="spare3" />
|
<result property="spare3" column="spare3" />
|
||||||
<result property="spare4" column="spare4" />
|
<result property="spare4" column="spare4" />
|
||||||
<result property="pickQuantity" column="pick_quantity" />
|
<result property="pickQuantity" column="pick_quantity" />
|
||||||
|
<result property="pickQuantityReal" column="pick_quantity_real" />
|
||||||
<association property="extraField" javaType="ExtraField">
|
<association property="extraField" javaType="ExtraField">
|
||||||
<result property="productId" column="product_id" />
|
<result property="productId" column="product_id" />
|
||||||
<result property="materialDesc" column="product_name" />
|
<result property="materialDesc" column="product_name" />
|
||||||
@@ -72,6 +73,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
mjd.spare3,
|
mjd.spare3,
|
||||||
mjd.spare4,
|
mjd.spare4,
|
||||||
mjd.pick_quantity,
|
mjd.pick_quantity,
|
||||||
|
mjd.out_quantity-mjd.pick_quantity as pick_quantity_real,
|
||||||
bp.product_name, bp.spare1 as englishDesc,
|
bp.product_name, bp.spare1 as englishDesc,
|
||||||
bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume
|
bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume
|
||||||
|
|
||||||
|
|||||||
@@ -88,6 +88,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="inOut != null and inOut != '' and inOut =='1'.toString "> and mj.in_or_out < 20</if>
|
<if test="inOut != null and inOut != '' and inOut =='1'.toString "> and mj.in_or_out < 20</if>
|
||||||
<if test="inOut != null and inOut != '' and inOut =='3'.toString "> and mj.in_or_out in (5,6)</if>
|
<if test="inOut != null and inOut != '' and inOut =='3'.toString "> and mj.in_or_out in (5,6)</if>
|
||||||
<if test="inOut != null and inOut != '' and inOut =='4'.toString "> and mj.in_or_out in (25,26)</if>
|
<if test="inOut != null and inOut != '' and inOut =='4'.toString "> and mj.in_or_out in (25,26)</if>
|
||||||
|
<if test="params.warehouseDataScope != null and params.warehouseDataScope !=''">
|
||||||
|
${params.warehouseDataScope}
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
{call proc_tray_out(
|
{call proc_tray_out(
|
||||||
#{v_warehouse_id,mode=IN,jdbcType=VARCHAR},
|
#{v_warehouse_id,mode=IN,jdbcType=VARCHAR},
|
||||||
#{v_cargo_space_id,mode=IN,jdbcType=VARCHAR},
|
#{v_cargo_space_id,mode=IN,jdbcType=VARCHAR},
|
||||||
|
#{v_exit_id,mode=IN,jdbcType=VARCHAR},
|
||||||
#{v_result,mode=OUT,jdbcType=INTEGER},
|
#{v_result,mode=OUT,jdbcType=INTEGER},
|
||||||
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
|
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
|
||||||
)}
|
)}
|
||||||
@@ -61,9 +62,7 @@
|
|||||||
<select id="addInJob" parameterType="java.util.Map" statementType="CALLABLE">
|
<select id="addInJob" parameterType="java.util.Map" statementType="CALLABLE">
|
||||||
{call proc_add_in_job(
|
{call proc_add_in_job(
|
||||||
#{v_tray_code,mode=IN,jdbcType=VARCHAR},
|
#{v_tray_code,mode=IN,jdbcType=VARCHAR},
|
||||||
#{v_warehouse_id,mode=IN,jdbcType=VARCHAR},
|
|
||||||
#{v_cargo_space_id,mode=IN,jdbcType=VARCHAR},
|
#{v_cargo_space_id,mode=IN,jdbcType=VARCHAR},
|
||||||
#{v_entrance_id,mode=IN,jdbcType=VARCHAR},
|
|
||||||
#{v_result,mode=OUT,jdbcType=INTEGER},
|
#{v_result,mode=OUT,jdbcType=INTEGER},
|
||||||
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
|
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -28,6 +28,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="trayCode != null and trayCode != ''"> and t.tray_code = #{trayCode}</if>
|
<if test="trayCode != null and trayCode != ''"> and t.tray_code = #{trayCode}</if>
|
||||||
<if test="stockinDetailId != null and stockinDetailId != ''"> and t.stockin_detail_id = #{stockinDetailId}</if>
|
<if test="stockinDetailId != null and stockinDetailId != ''"> and t.stockin_detail_id = #{stockinDetailId}</if>
|
||||||
<if test="quantity != null and quantity != ''"> and t.quantity = #{quantity}</if>
|
<if test="quantity != null and quantity != ''"> and t.quantity = #{quantity}</if>
|
||||||
|
<if test="params.warehouseDataScope != null and params.warehouseDataScope !=''">
|
||||||
|
${params.warehouseDataScope}
|
||||||
|
</if>
|
||||||
|
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
@@ -252,9 +252,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<select id="selectKtpStock" parameterType="string" resultMap="BasStockResult">
|
<select id="selectKtpStock" parameterType="BasStock" resultMap="BasStockResult">
|
||||||
select b.cargo_space_name, b.cargo_space_id from bas_stock s,bas_cargo_space b where s.warehouse_id=#{warehouseId}
|
select b.cargo_space_name, b.cargo_space_id from bas_stock s,bas_cargo_space b
|
||||||
|
<where>
|
||||||
|
s.warehouse_id=#{warehouseId}
|
||||||
and s.cargo_space_id=b.cargo_space_id and b.warehouse_id= s.warehouse_id and b.status='2' and s.product_id='KTP0001'
|
and s.cargo_space_id=b.cargo_space_id and b.warehouse_id= s.warehouse_id and b.status='2' and s.product_id='KTP0001'
|
||||||
|
<if test="params.warehouseDataScope != null and params.warehouseDataScope !=''">
|
||||||
|
${params.warehouseDataScope}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
order by b.the_platoon,b.the_floor,b.the_column asc
|
order by b.the_platoon,b.the_floor,b.the_column asc
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user