PDA入库接口
@Api("入库")
@RestController
@RequestMapping("/pda/asn")
public class PdaDocAsnController {
@Autowired
private IBusinessService businessService;
@Autowired
private IWmsDocAsnHeaderService wmsDocAsnHeaderService;
@ApiOperation("入库位->接驳位任务下发")
@PostMapping("inToTran")
public AjaxResult inToTran(@RequestBody DocAsnHeader docAsnHeader) {
}
PDA出库接口
@Api("出库")
@RestController
@RequestMapping("/pda/so")
public class PdaDocSoController {
@Autowired
private IBusinessService businessService;
@Autowired
private IWmsDocOrderHeaderService wmsDocOrderHeaderService;
@ApiOperation("出库位->接驳位任务下发")
@PostMapping("outToTran")
public AjaxResult outToTran(@RequestBody DocOrderHeader docOrderHeader) {
}
出库获取物料列表
@RestController
@RequestMapping("/pda/inv")
public class PdaInvLotLocIdController {
@Autowired
private IInvLotLocIdService invLotLocIdService;
@Autowired
private InvLotLocIdMapper invLotLocIdMapper;
@GetMapping("/getSku")
public AjaxResult getSku() {
InvLocIdSearchFrom invLocIdSearchFrom = new InvLocIdSearchFrom();
invLocIdSearchFrom.setZoneId(Constant.ZONE_TYPE.STORAGE.getValue().toString());
List<InvLotLocIdLotattVO> invLotLocIdLotattVOList = invLotLocIdMapper.selectInvLocIdSkuListGroupBy(invLocIdSearchFrom);
return AjaxResult.success("", invLotLocIdLotattVOList);
}
PDA质检接口
获取质检批次接口
@RestController
@RequestMapping("/pda/qc")
public class PdaDocQcController {
@Autowired
private IDocQcHeaderService iDocQcHeaderService;
@Autowired
private IDocQcDetailsService iDocQcDetailsService;
/**
* 获取质检列表(根据sku)
*
* @return
*/
@GetMapping("/getQcList")
public AjaxResult getQcListByInvLotLocId(String sku) {
List<DocQcListVo> qcListByInvLotLocId = iDocQcHeaderService.getQcListByInvLotLocId(sku);
if (qcListByInvLotLocId.size() == 0) {
return AjaxResult.error("没有需要质检的库存!");
}
return AjaxResult.success("获取成功!", qcListByInvLotLocId);
}
}
质检提交接口
/**
* 质检提交
*
* @param sku 产品代码
* @param batchNo 批号
* @param status 质量状态
* @return
*/
@Log(title = "PDA质检提交(根据库存质检)", businessType = BusinessType.UPDATE)
@PostMapping("/submit")
public AjaxResult qcSubmit(String sku, String batchNo, String status) {
return iDocQcHeaderService.qcSubmit(sku, batchNo, status);
}
所有配置任务生成接口
public interface IBusinessService {
/**
* AGV呼叫业务
*
* @param flowId
* @param agvCallDTO
* @return
*/
AjaxResult agvCall(Long flowId, AgvCallDTO agvCallDTO);
}
定时任务接口-RFID-按钮盒-自动门等任务
@Component
public class StartService implements CommandLineRunner {
@Autowired
private IBusinessService businessService;
@Autowired
private InitTaskConfig initTaskConfig;
@Autowired
private AciService aciService;
@Autowired
private AutoTranSitTask autoTranSitTask;
@Autowired
private AutoRfidReaderTask autoRfidReaderTask;
@Autowired
private AutoButtonBoxTask autoButtonBoxTask;
@Override
public void run(String... args) throws Exception {
//自动下发任务
if (initTaskConfig.getAutoSend()) {
Thread thread = new Thread(new AutoTaskThread(businessService));
thread.start();
}
//ndc下发
if (initTaskConfig.getAciService()) {
Thread thread = new Thread(new AciServiceThread(aciService));
thread.start();
}
}
/**
* 自动接驳位任务
* 1.扫描有货的接驳位,如果标记是ASN则进行自动入库
* 2.扫描有货的接驳位,如果标记是SO则进行自动出库
*/
public void autoTranSitTask() {
autoTranSitTask.run();
}
/**
* 自动RFID读取任务(墙外)
* 1.带有标签的人工叉车靠近RFID阅读器,开启自动门
* 2.带有标签的人工叉车离开RFID阅读器,关闭自动门
*/
public void autoRfidReaderTask() {
autoRfidReaderTask.run();
}
/**
* 自动RFID读取任务(室内)
*/
public void autoRfidReaderTask01() {
autoRfidReaderTask.run01();
}
/**
* 自动按钮盒监控任务
* 1.人工卸完货之后按下冲边按钮,触发冲边搬运任务
* 2.人工卸完货之后按下硫化按钮,触发硫化搬运任务
*/
public void autoButtonBoxTask() {
autoButtonBoxTask.run();
}