入库部分和接口

This commit is contained in:
张怡蓉
2025-12-30 09:28:36 +08:00
parent dc8f2d329a
commit f5f4d1007a
22 changed files with 705 additions and 226 deletions

View File

@@ -6,8 +6,12 @@ import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import com.ruoyi.pda.domain.TrayCodeMakeSure;
import com.ruoyi.pda.domain.TrayCodeMsg;
import com.ruoyi.pda.service.PdaService;
import com.ruoyi.stock.stock.domain.BasStock;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -17,6 +21,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
@RequestMapping("/pda")
@Slf4j
@@ -24,23 +30,79 @@ public class PdaController extends BaseController {
@Autowired
private PdaService pdaService;
@Autowired
private IInStockinDetailService iInStockinDetailService;
/**
* 查询是否有半满托盘
*/
@RequestMapping("/selectHasHalfTray")
@ResponseBody
public List<BasStock> selectHasHalfTray(String inStockinDetailId) {
return pdaService.selectHasHalfTray(inStockinDetailId);
}
/**
* 通过单据码查询物料详情
*/
@RequestMapping("/selectDetailById")
@ResponseBody
public AjaxResult selectDetailById(String inStockinDetailId) {
InStockinDetail inStockinDetail = iInStockinDetailService.selectInStockinDetailByStockinDetailId(inStockinDetailId);
return AjaxResult.success(inStockinDetail);
}
/**
* 半盘出库
*/
@RequestMapping("/halfTrayOut")
@ResponseBody
public AjaxResult halfTrayOut(String trayCode) {
return pdaService.halfTrayOut(trayCode);
}
/**
* 通过托盘码查询作业或trayMsg
*/
@RequestMapping("/selectMsgByTray")
@ResponseBody
public Object selectMsgByTray(@RequestBody TrayCodeMsg trayCodeMsg) {
return pdaService.selectMsgByTray(trayCodeMsg);
}
/**
* 绑盘
*/
@RequestMapping("/bindTray")
@ResponseBody
public AjaxResult bindTray(@RequestBody TrayCodeMsg trayCodeMsg) {
return pdaService.bindTray(trayCodeMsg);
}
/**
* 确认入库
*/
@RequestMapping("/confirmIn")
@ResponseBody
public AjaxResult confirmIn(String trayCode) {
return pdaService.confirmIn(trayCode);
}
/**
* 入库扫码生成作业
*/
/**
* 入库扫码生成作业
*/
@RequestMapping("/addInJob")
@ResponseBody
public AjaxResult addInJob(@RequestBody RequestEnter requestEnter) {
return pdaService.addInJob(requestEnter);
}
@RequestMapping("/selectDetailByTray")
@ResponseBody
public AjaxResult selectDetailByTray(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
return pdaService.selectDetailByTray(trayCodeMakeSure);
}
@RequestMapping("/selectDetailByPDTray")
@ResponseBody
@@ -64,9 +126,9 @@ public class PdaController extends BaseController {
}
/**
* 盘点出库确认
*
* @param trayCodeMakeSure 托盘信息
* @return
*/

View File

@@ -4,6 +4,14 @@ import java.util.HashMap;
public interface PdaMapper {
void bindTray(HashMap<String, Object> map);
//
void emptyTrayIn(HashMap<String, Object> map);
void emptyBoxIn(HashMap<String, Object> map);

View File

@@ -6,16 +6,41 @@ import com.ruoyi.bas.container.domain.BasContainer;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.pda.domain.TrayCodeMakeSure;
import com.ruoyi.pda.domain.TrayCodeMsg;
import com.ruoyi.stock.stock.domain.BasStock;
import java.util.List;
import java.util.Map;
import java.util.Objects;
public interface PdaService {
/**
* 查询是否有半满托盘
* @param inStockinDetailId
* @return
*/
List<BasStock> selectHasHalfTray(String inStockinDetailId);
AjaxResult halfTrayOut(String trayCode);
Object selectMsgByTray(TrayCodeMsg trayCodeMsg);
AjaxResult bindTray(TrayCodeMsg trayCodeMsg);
AjaxResult confirmIn(String trayCode);
public AjaxResult addInJob(RequestEnter requestEnter);
public AjaxResult selectDetailByTray(TrayCodeMakeSure trayCodeMakeSure);
public AjaxResult selectDetailByPDTray(TrayCodeMakeSure trayCodeMakeSure);
AjaxResult outMakeSure(TrayCodeMakeSure trayCodeMakeSure);

View File

@@ -11,6 +11,7 @@ import com.ruoyi.check.commit.service.ICheckCommitRecordService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojob.service.IMydoJobService;
@@ -18,8 +19,12 @@ import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService;
import com.ruoyi.job.mydojobdetail.service.impl.MydoJobDetailServiceImpl;
import com.ruoyi.pda.domain.TrayCodeMakeSure;
import com.ruoyi.pda.domain.TrayCodeMsg;
import com.ruoyi.pda.mapper.PdaMapper;
import com.ruoyi.pda.trayMsg.domain.TrayMsg;
import com.ruoyi.pda.trayMsg.service.ITrayMsgService;
import com.ruoyi.stock.stock.domain.BasStock;
import com.ruoyi.stock.stock.mapper.BasStockMapper;
import com.ruoyi.system.service.ISysRoleService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -49,6 +54,68 @@ public class PdaServiceImp implements PdaService {
private IMydoJobDetailService mydoJobDetailService;
@Autowired
private IToWcsService toWcsService;
@Autowired
private BasStockMapper basStockMapper;
@Override
public List<BasStock> selectHasHalfTray(String inStockinDetailId) {
InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(inStockinDetailId);
List<BasStock> hasHalfTray = basStockMapper.selectHasHalfTray(inStockinDetail);
return hasHalfTray;
}
@Override
public AjaxResult halfTrayOut(String trayCode) {
return null;
}
@Override
public Object selectMsgByTray(TrayCodeMsg trayCodeMsg) {
MydoJob mydoJob = new MydoJob();
mydoJob.setTrayCode(trayCodeMsg.getTrayCode());
//todo 半盘出库作业类型
mydoJob.setInOrOut("");
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByTrayCode(mydoJob);
if(mydoJobDetails.size()==0){
TrayMsg trayMsg = new TrayMsg();
trayMsg.setTrayCode(trayCodeMsg.getTrayCode());
List<TrayMsg> trayMsgList = trayMsgService.selectTrayMsgList(trayMsg);
return trayMsgList;
}else{
return mydoJobDetails;
}
}
@Override
public AjaxResult bindTray(TrayCodeMsg trayCodeMsg) {
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCodeMsg.getTrayCode());
map.put("v_stockin_detail_id", trayCodeMsg.getStockinDetailId());
map.put("v_quantity", Integer.valueOf(trayCodeMsg.getInQuantity()));
pdaMapper.bindTray(map);
if("10".equals(map.get("v_result").toString())){
return AjaxResult.success();
}else{
return AjaxResult.error(map.get("v_resultmsg").toString());
}
}
@Override
public AjaxResult confirmIn(String trayCode) {
//如果有出库作业,修改作业类型改为合盘入库类型
//如果没有出库作业,正常生成入库作业
return null;
}
@Override
@@ -70,19 +137,8 @@ public class PdaServiceImp implements PdaService {
}
@Override
public AjaxResult selectDetailByTray(TrayCodeMakeSure trayCodeMakeSure) {
String trayCode = trayCodeMakeSure.getTrayCode();
String[] split = trayCode.split(" ");
String productId = split[8].substring(10);
MydoJob mydoJob = new MydoJob();
mydoJob.setExitId(trayCodeMakeSure.getExitId());
mydoJob.setProductId(productId);
mydoJob.setStatus("3");
mydoJob.setInOrOut("21");
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByExit(mydoJob);
return AjaxResult.success(mydoJobDetails);
}
@Override
public AjaxResult selectDetailByPDTray(TrayCodeMakeSure trayCodeMakeSure) {
@@ -104,12 +160,12 @@ public class PdaServiceImp implements PdaService {
mydoJob.setProductId(productId);
mydoJob.setStatus("3");
mydoJob.setInOrOut("21");
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByExit(mydoJob);
if(mydoJobDetails.size()==0){
return AjaxResult.error("该物料没有出库作业,请检查");
}
// List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByExit(mydoJob);
// if(mydoJobDetails.size()==0){
// return AjaxResult.error("该物料没有出库作业,请检查");
// }
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", mydoJobDetails.get(0).getTrayCode());
// map.put("v_tray_code", mydoJobDetails.get(0).getTrayCode());
pdaMapper.outMakeSure(map);
String result = map.get("v_result").toString();
if ("10".equals(result)) {