手持机部分

This commit is contained in:
张怡蓉
2025-06-24 08:42:50 +08:00
parent 3add052259
commit a1e17f572c
21 changed files with 313 additions and 111 deletions

View File

@@ -68,5 +68,5 @@ public interface InStockinDetailMapper
void deleteInStockinDetailByStockinGuid(String stockinGuid); void deleteInStockinDetailByStockinGuid(String stockinGuid);
InStockinDetail selectStockinByDetailById(String stockinDetailId); InStockinDetail selectStockinByDetailById(InStockinDetail inStockinDetail);
} }

View File

@@ -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);
} }

View File

@@ -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);
} }
} }

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 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;

View File

@@ -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);
} }

View File

@@ -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;

View File

@@ -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);
}
} }

View File

@@ -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;
} }

View File

@@ -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("拣选完成");
} }
} }

View File

@@ -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);
}
} }

View File

@@ -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 结果
*/ */

View File

@@ -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);
} }

View File

@@ -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);
} }

View File

@@ -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);
} }
} }

View File

@@ -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">

View File

@@ -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>

View File

@@ -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

View File

@@ -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 &lt; 20</if> <if test="inOut != null and inOut != '' and inOut =='1'.toString "> and mj.in_or_out &lt; 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>

View File

@@ -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}
)} )}

View File

@@ -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>

View File

@@ -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>