123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- 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.mapper.WmsDocAsnHeaderMapper;
- import com.ruoyi.ams.asn.service.IWmsDocAsnDetailsService;
- import com.ruoyi.ams.asn.service.IWmsDocAsnHeaderService;
- import com.ruoyi.ams.task.service.IWcsTaskService;
- 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.base.utils.IdSequenceUtils;
- import com.ruoyi.common.core.domain.AjaxResult;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.web.bind.annotation.PathVariable;
- import java.util.List;
- /**
- * 入库业务
- *
- * @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;
- @Autowired
- private IdSequenceUtils idSequenceUtils;
- @Autowired
- private WmsDocAsnHeaderMapper wmsDocAsnHeaderMapper;
- @Autowired
- private IWcsTaskService wcsTaskService;
- /**
- * 工单任务下发接口
- * @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回调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();
- }
- }
|