123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- package com.ruoyi.ams.xuankuang.service;
- import com.ruoyi.ams.asn.domain.WmsDocAsnDetails;
- import com.ruoyi.ams.asn.domain.WmsDocAsnHeader;
- import com.ruoyi.ams.asn.service.IWmsDocAsnDetailsService;
- import com.ruoyi.ams.asn.service.IWmsDocAsnHeaderService;
- import com.ruoyi.ams.xuankuang.domain.form.AgvInTaskForm;
- import com.ruoyi.ams.xuankuang.domain.form.BillTaskForm;
- import com.ruoyi.ams.xuankuang.domain.vo.WcsResponseVo;
- import com.ruoyi.base.constant.Constant;
- import com.ruoyi.base.domain.BaseSku;
- import com.ruoyi.base.service.IBaseSkuService;
- import com.ruoyi.common.core.domain.AjaxResult;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import java.io.Console;
- import java.util.List;
- import java.util.Map;
- /**
- * 入库业务
- *
- * @author JWK
- * @version 1.0
- * @date 2023/3/30 10:51
- */
- @Slf4j
- @Service
- public class WmsDocAsnSubService {
- @Autowired
- private IWmsDocAsnHeaderService iWmsDocAsnHeaderService;
- @Autowired
- private IWmsDocAsnDetailsService iWmsDocAsnDetailsService;
- @Autowired
- private IBaseSkuService iBaseSkuService;
- @Autowired
- private WmsDocOrderSubService wmsDocOrderSubService;
- @Autowired
- private WcsToWmsApiService wcsToWmsApiService;
- @Autowired
- private WmsToWcsApiService wmsToWcsApiService;
- @Autowired
- private WcsTaskSubService wcsTaskSubService;
- /**
- * 工单任务下发接口
- * @param asnNo
- * @return
- */
- @Transactional
- public AjaxResult queryDocAsnDetails(@PathVariable("asnNo") String asnNo) {
- // 根据单号,和创建状态为00
- WmsDocAsnDetails wmsDocAsnDetails = new WmsDocAsnDetails();
- wmsDocAsnDetails.setAsnNo(asnNo);
- wmsDocAsnDetails.setLineStatus(Constant.ASN_STS.STS00.getValue());
- List<WmsDocAsnDetails> list = iWmsDocAsnDetailsService.selectWmsDocAsnDetailsList(wmsDocAsnDetails);
- WmsDocAsnHeader wmsDocAsnHeader = iWmsDocAsnHeaderService.selectWmsDocAsnHeaderByAsnNo(asnNo);
- boolean con = true;
- for (WmsDocAsnDetails details:list) {
- BaseSku baseSku = iBaseSkuService.selectBaseSkuByCustomerId(Constant.CUSTOMER_ID, details.getSku());
- BillTaskForm billTaskForm = new BillTaskForm();
- billTaskForm.setDocNo(details.getAsnNo());
- billTaskForm.setPackageType(Integer.valueOf(baseSku.getSkuType()));
- billTaskForm.setType(Constant.ASN_TYP.getByValue(wmsDocAsnHeader.getAsnType()).getValue1());
- billTaskForm.setNum(details.getExpectedQty().intValue());
- billTaskForm.setLineNo(details.getAsnLineNo().toString());
- if (Constant.ASN_TYP.getByValue(wmsDocAsnHeader.getAsnType()).getValue1() == 2){
- billTaskForm.setDest(Integer.parseInt(wmsDocAsnHeader.getAsnReference2()));
- AjaxResult ajaxResult = wcsTaskSubService.addCrossDatabaseTasks(asnNo);
- String msg = ajaxResult.getMsg();
- billTaskForm.setLineNo(msg);
- }
- billTaskForm.setMaterial(Integer.valueOf(baseSku.getDesc2()));
- //调用工单下发
- WmsToWcsApiService wmsToWcsApiService = new WmsToWcsApiService();
- WcsResponseVo wcsResponseVo = wmsToWcsApiService.wmsBillTask(billTaskForm);
- if (!wcsResponseVo.isSuccess()) {
- con = false;
- wmsDocAsnHeader.setNotes(wcsResponseVo.getMessage());
- iWmsDocAsnHeaderService.updateWmsDocAsnHeader(wmsDocAsnHeader);
- continue;
- }
- // 修改 明细行状态为10
- details.setLineStatus(Constant.ASN_STS.STS10.getValue());
- iWmsDocAsnDetailsService.updateWmsDocAsnDetails(details);
- }
- if (con == true) {
- wmsDocAsnHeader.setNotes("");
- // 修改 单头10
- wmsDocAsnHeader.setAsnStatus(Constant.ASN_STS.STS10.getValue());
- iWmsDocAsnHeaderService.updateWmsDocAsnHeader(wmsDocAsnHeader);
- }
- if(wmsDocAsnHeader.getAsnStatus().equals(Constant.ASN_STS.STS10.getValue()) && wmsDocAsnHeader.getAsnType().equals(Constant.ASN_TYP.YK.getValue())){
- wmsDocOrderSubService.addCrossingOutboundOrder(asnNo);
- }
- return AjaxResult.success("", list);
- }
- /**
- * agv入库任务下发
- * @param asnNo
- * @return
- */
- @Transactional
- public AjaxResult agvInTask(@PathVariable("asnNo") String asnNo) {
- // 根据单号,和创建状态为00
- WmsDocAsnDetails wmsDocAsnDetails = new WmsDocAsnDetails();
- wmsDocAsnDetails.setAsnNo(asnNo);
- wmsDocAsnDetails.setLineStatus(Constant.ASN_STS.STS00.getValue());
- List<WmsDocAsnDetails> list = iWmsDocAsnDetailsService.selectWmsDocAsnDetailsList(wmsDocAsnDetails);
- WmsDocAsnHeader wmsDocAsnHeader = iWmsDocAsnHeaderService.selectWmsDocAsnHeaderByAsnNo(asnNo);
- boolean con = true;
- for (WmsDocAsnDetails details:list) {
- BaseSku baseSku = iBaseSkuService.selectBaseSkuByCustomerId(Constant.CUSTOMER_ID, details.getSku());
- AgvInTaskForm agvInTaskForm = new AgvInTaskForm();
- agvInTaskForm.setAgvId("1");
- agvInTaskForm.setMaterial(Integer.valueOf(baseSku.getDesc2()));
- agvInTaskForm.setDocNo(asnNo);
- agvInTaskForm.setNum(details.getExpectedQty().intValue());
- // wms物料编码
- String sku = iBaseSkuService.selectBaseSkuByMaterialType("5").getSku();
- //托盘码
- String pallentNo = "1234567";
- // AjaxResult ajaxResult = wcsToWmsApiService.theBucketIsLoadedIntoTheLibrary(sku, asnNo, pallentNo, details.getExpectedQty());
- // Object data = ajaxResult.getData();
- // Map map = (Map) data;
- // String taskNo = map.get("taskNo").toString();
- // String row = map.get("row").toString();
- // String col = map.get("col").toString();
- // String floor = map.get("floor").toString();
- agvInTaskForm.setTaskNo("1234556");
- agvInTaskForm.setPalletId(pallentNo);
- agvInTaskForm.setRow(Integer.parseInt("2"));
- agvInTaskForm.setCol(Integer.parseInt("4"));
- agvInTaskForm.setFloor(Integer.parseInt("1"));
- //调用agv入库任务下发
- WmsToWcsApiService wmsToWcsApiService = new WmsToWcsApiService();
- WcsResponseVo wcsResponseVo = wmsToWcsApiService.wmsAgvInTask(agvInTaskForm);
- if (!wcsResponseVo.isSuccess()) {
- con = false;
- wmsDocAsnHeader.setNotes(wcsResponseVo.getMessage());
- iWmsDocAsnHeaderService.updateWmsDocAsnHeader(wmsDocAsnHeader);
- continue;
- }
- // 修改 明细行状态为10
- details.setLineStatus(Constant.ASN_STS.STS10.getValue());
- iWmsDocAsnDetailsService.updateWmsDocAsnDetails(details);
- }
- if (con == true) {
- wmsDocAsnHeader.setNotes("");
- // 修改 单头10
- wmsDocAsnHeader.setAsnStatus(Constant.ASN_STS.STS10.getValue());
- iWmsDocAsnHeaderService.updateWmsDocAsnHeader(wmsDocAsnHeader);
- }
- return AjaxResult.success("", list);
- }
- /**
- * agv回调wcs卸货完成
- * @param taskNo
- * @return
- */
- public AjaxResult wmsAgvCallbackIntask(String taskNo){
- wmsToWcsApiService.wmsAgvCallbackIntask(taskNo);
- return AjaxResult.success();
- }
- /**
- * agv回调wcs取货完成
- * @param wcsId
- * @return
- */
- public AjaxResult wmsAgvCallbackOuttask(String wcsId){
- wmsToWcsApiService.wmsAgvCallbackOuttask(wcsId);
- return AjaxResult.success();
- }
- }
|