入库部分和接口

This commit is contained in:
张怡蓉
2026-01-27 14:17:05 +08:00
parent 4aaf5b9a1e
commit 407b1f08b5
34 changed files with 2238 additions and 221 deletions

View File

@@ -38,8 +38,9 @@ public class PdaController extends BaseController {
*/
@RequestMapping("/selectHasHalfTray")
@ResponseBody
public List<BasStock> selectHasHalfTray(String inStockinDetailId) {
return pdaService.selectHasHalfTray(inStockinDetailId);
public AjaxResult selectHasHalfTray(String inStockinDetailId) {
List<BasStock> basStocks = pdaService.selectHasHalfTray(inStockinDetailId);
return AjaxResult.success(basStocks);
}
/**
@@ -49,6 +50,9 @@ public class PdaController extends BaseController {
@ResponseBody
public AjaxResult selectDetailById(String inStockinDetailId) {
InStockinDetail inStockinDetail = iInStockinDetailService.selectInStockinDetailByStockinDetailId(inStockinDetailId);
if(inStockinDetail != null) {
inStockinDetail.setQuantity(String.valueOf(Integer.valueOf(inStockinDetail.getQuantity()) - Integer.valueOf(inStockinDetail.getScanNum())));
}
return AjaxResult.success(inStockinDetail);
}
@@ -58,8 +62,8 @@ public class PdaController extends BaseController {
@RequestMapping("/halfTrayOut")
@ResponseBody
public AjaxResult halfTrayOut(String trayCode) {
return pdaService.halfTrayOut(trayCode);
public AjaxResult halfTrayOut(@RequestBody TrayCodeMsg trayCodeMsg) {
return pdaService.halfTrayOut(trayCodeMsg);
}
@@ -77,19 +81,54 @@ public class PdaController extends BaseController {
*/
@RequestMapping("/bindTray")
@ResponseBody
public AjaxResult bindTray(@RequestBody TrayCodeMsg trayCodeMsg) {
return pdaService.bindTray(trayCodeMsg);
public AjaxResult bindTray(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
return pdaService.bindTray(trayCodeMakeSure);
}
/**
* 确认入库
* 空托盘入库
*/
@RequestMapping("/confirmIn")
@RequestMapping("/tpIn")
@ResponseBody
public AjaxResult confirmIn(String trayCode) {
return pdaService.confirmIn(trayCode);
public AjaxResult tpIn(@RequestBody TrayCodeMsg trayCodeMsg) {
return pdaService.tpIn(trayCodeMsg.getTrayCode());
}
/**
* 空托盘出库
*/
@RequestMapping("/tpOut")
@ResponseBody
public AjaxResult tpOut(@RequestBody TrayCodeMsg trayCodeMsg) {
return pdaService.tpOut(trayCodeMsg);
}
/**
* 出库确认查询子作业信息
* @param trayCodeMsg
* @return
*/
@RequestMapping("/selectJobDetailByTray")
@ResponseBody
public AjaxResult selectJobDetailByTray(@RequestBody TrayCodeMsg trayCodeMsg){
return pdaService.selectJobDetailByTray(trayCodeMsg);
}
/**
* 出库确认
*
* @param trayCodeMakeSure 托盘信息
* @return
*/
@PreAuthorize("@ss.hasPermi('pda:out:outMakeSure')")
@PostMapping("/outMakeSure")
@Log(title = "手持机出库确认", businessType = BusinessType.INSERT)
@ResponseBody
public AjaxResult outMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
return pdaService.outMakeSure(trayCodeMakeSure);
}
@@ -111,19 +150,7 @@ public class PdaController extends BaseController {
}
/**
* 出库确认
*
* @param trayCodeMakeSure 托盘信息
* @return
*/
@PreAuthorize("@ss.hasPermi('pda:out:outMakeSure')")
@PostMapping("/outMakeSure")
@Log(title = "手持机出库确认", businessType = BusinessType.INSERT)
@ResponseBody
public AjaxResult outMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
return pdaService.outMakeSure(trayCodeMakeSure);
}
/**

View File

@@ -21,6 +21,7 @@ public class TrayCodeMakeSure {
private String warehouseId;
private String exitId;
private String isFull;
//拣选详情列表
private List<MydoJobDetail> mydoJobDetailList;
//盘点详情列表

View File

@@ -6,6 +6,11 @@ public interface PdaMapper {
void bindTray(HashMap<String, Object> map);
void tpIn(HashMap<String, Object> map);
void halfTrayOut(HashMap<String, Object> map);
void tpOut(HashMap<String, Object> map);

View File

@@ -22,13 +22,17 @@ public interface PdaService {
*/
List<BasStock> selectHasHalfTray(String inStockinDetailId);
AjaxResult halfTrayOut(String trayCode);
AjaxResult halfTrayOut(TrayCodeMsg trayCodeMsg);
Object selectMsgByTray(TrayCodeMsg trayCodeMsg);
AjaxResult bindTray(TrayCodeMsg trayCodeMsg);
AjaxResult bindTray(TrayCodeMakeSure trayCodeMakeSure);
AjaxResult confirmIn(String trayCode);
AjaxResult tpIn(String trayCode);
AjaxResult tpOut(TrayCodeMsg trayCodeMsg);
AjaxResult selectJobDetailByTray(TrayCodeMsg trayCodeMsg);

View File

@@ -11,6 +11,8 @@ import com.ruoyi.check.commit.service.ICheckCommitRecordService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.in.stockin.domain.InStockin;
import com.ruoyi.in.stockin.service.IInStockinService;
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import com.ruoyi.job.mydojob.domain.MydoJob;
@@ -56,20 +58,37 @@ public class PdaServiceImp implements PdaService {
private IToWcsService toWcsService;
@Autowired
private BasStockMapper basStockMapper;
@Autowired
private IInStockinService inStockinService;
@Override
public List<BasStock> selectHasHalfTray(String inStockinDetailId) {
InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(inStockinDetailId);
InStockin inStockin = inStockinService.selectInStockinByStockinId(inStockinDetail.getStockinId());
inStockinDetail.setSpare4(inStockin.getDepartmentNo());
List<BasStock> hasHalfTray = basStockMapper.selectHasHalfTray(inStockinDetail);
return hasHalfTray;
}
@Override
public AjaxResult halfTrayOut(String trayCode) {
return null;
public AjaxResult halfTrayOut(TrayCodeMsg trayCodeMsg) {
InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(trayCodeMsg.getStockinDetailId());
InStockin inStockin = inStockinService.selectInStockinByStockinId(inStockinDetail.getStockinId());
inStockinDetail.setSpare4(inStockin.getDepartmentNo());
List<BasStock> hasHalfTray = basStockMapper.selectHasHalfTray(inStockinDetail);
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", hasHalfTray.get(0).getTrayCode());
map.put("v_exit_id",trayCodeMsg.getExitId());
pdaMapper.halfTrayOut(map);
if(!"10".equals(map.get("v_result").toString())){
return AjaxResult.error(map.get("v_resultmsg").toString());
}else{
return AjaxResult.success();
}
}
@Override
@@ -79,70 +98,102 @@ public class PdaServiceImp implements PdaService {
//todo 半盘出库作业类型
mydoJob.setInOrOut("");
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByTrayCode(mydoJob);
if(mydoJobDetails.size()==0){
if (mydoJobDetails.size() == 0) {
TrayMsg trayMsg = new TrayMsg();
trayMsg.setTrayCode(trayCodeMsg.getTrayCode());
List<TrayMsg> trayMsgList = trayMsgService.selectTrayMsgList(trayMsg);
return trayMsgList;
}else{
} else {
return mydoJobDetails;
}
}
@Override
public AjaxResult bindTray(TrayCodeMsg trayCodeMsg) {
@Transactional(rollbackFor = Exception.class)
public AjaxResult bindTray(TrayCodeMakeSure trayCodeMakeSure) {
StringBuilder errorbulider = new StringBuilder();
for (MydoJobDetail mydoJobDetail : trayCodeMakeSure.getMydoJobDetailList()) {
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
map.put("v_stockin_detail_id", mydoJobDetail.getStockinDetailId());
map.put("v_quantity", Integer.valueOf(mydoJobDetail.getInQuantity()));
pdaMapper.bindTray(map);
if (!"10".equals(map.get("v_result").toString())) {
errorbulider.append(mydoJobDetail.getStockinDetailId() + map.get("v_resultmsg").toString());
return AjaxResult.error(errorbulider.toString());
}
}
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{
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
map.put("v_is_full", trayCodeMakeSure.getIsFull());
pdaMapper.addInJob(map);
if (!"10".equals(map.get("v_result").toString())) {
return AjaxResult.error(errorbulider.toString());
}
return AjaxResult.success();
}
@Override
public AjaxResult tpIn(String trayCode) {
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCode);
pdaMapper.tpIn(map);
if(!"10".equals(map.get("v_result").toString())){
return AjaxResult.error(map.get("v_resultmsg").toString());
}else{
return AjaxResult.success();
}
}
@Override
public AjaxResult confirmIn(String trayCode) {
//如果有出库作业,修改作业类型改为合盘入库类型,合盘出库放历史表
public AjaxResult tpOut(TrayCodeMsg trayCodeMsg) {
//如果没有出库作业,正常生成入库作业
return null;
HashMap<String, Object> map = new HashMap<>();
map.put("v_exit_id", trayCodeMsg.getExitId());
pdaMapper.tpOut(map);
if(!"10".equals(map.get("v_result").toString())){
return AjaxResult.error(map.get("v_resultmsg").toString());
}else{
return AjaxResult.success();
}
}
@Override
public AjaxResult selectJobDetailByTray(TrayCodeMsg trayCodeMsg) {
MydoJob mydoJob = new MydoJob();
mydoJob.setTrayCode(trayCodeMsg.getTrayCode());
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByTrayCode(mydoJob);
return AjaxResult.success(mydoJobDetails);
}
@Override
public AjaxResult addInJob(RequestEnter requestEnter) {
if(requestEnter.getEntranceId()!=null){
MydoJob mydoJob = new MydoJob();
mydoJob.setEntranceId(requestEnter.getEntranceId());
mydoJob.setStatus("1");
MydoJob mydoJob1 = mydoJobService.selectMydoJobByEntranceId(mydoJob);
if(mydoJob1!=null){
return AjaxResult.error("该入口已有作业");
}
}else{
return AjaxResult.error("请选择出口");
}
requestEnter.setFlag("1");
if (requestEnter.getEntranceId() != null) {
MydoJob mydoJob = new MydoJob();
mydoJob.setEntranceId(requestEnter.getEntranceId());
mydoJob.setStatus("1");
MydoJob mydoJob1 = mydoJobService.selectMydoJobByEntranceId(mydoJob);
if (mydoJob1 != null) {
return AjaxResult.error("该入口已有作业");
}
} else {
return AjaxResult.error("请选择出口");
}
requestEnter.setFlag("1");
AjaxResult ajaxResult = iToWmsService.requestEnterByTrayCode(requestEnter);
return ajaxResult;
}
@Override
public AjaxResult selectDetailByPDTray(TrayCodeMakeSure trayCodeMakeSure) {
MydoJob mydoJob = new MydoJob();
@@ -156,25 +207,25 @@ public class PdaServiceImp implements PdaService {
@Override
public AjaxResult outMakeSure(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");
// 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);
// 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", trayCode);
pdaMapper.outMakeSure(map);
String result = map.get("v_result").toString();
if ("10".equals(result)) {
return AjaxResult.success();
} else {
return AjaxResult.error( map.get("v_resultmsg").toString());
return AjaxResult.error(map.get("v_resultmsg").toString());
}
@@ -190,7 +241,7 @@ public class PdaServiceImp implements PdaService {
mydoJob.setStatus("3");
mydoJob.setInOrOut("26");
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectPdMydoJobDetailListByExit(mydoJob);
if(mydoJobDetails.isEmpty()){
if (mydoJobDetails.isEmpty()) {
return AjaxResult.error("该物料没有盘点出库作业,请检查");
}