WmsDocAsnSubService.java 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.ruoyi.ams.xuankuang.service;
  2. import com.ruoyi.ams.asn.domain.WmsDocAsnDetails;
  3. import com.ruoyi.ams.asn.domain.WmsDocAsnHeader;
  4. import com.ruoyi.ams.asn.service.IWmsDocAsnDetailsService;
  5. import com.ruoyi.ams.asn.service.IWmsDocAsnHeaderService;
  6. import com.ruoyi.ams.xuankuang.domain.form.BillTaskForm;
  7. import com.ruoyi.ams.xuankuang.domain.vo.WcsResponseVo;
  8. import com.ruoyi.base.constant.Constant;
  9. import com.ruoyi.base.domain.BaseSku;
  10. import com.ruoyi.base.service.IBaseSkuService;
  11. import com.ruoyi.common.core.domain.AjaxResult;
  12. import lombok.extern.slf4j.Slf4j;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.security.access.prepost.PreAuthorize;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.transaction.annotation.Transactional;
  17. import org.springframework.web.bind.annotation.GetMapping;
  18. import org.springframework.web.bind.annotation.PathVariable;
  19. import org.springframework.web.bind.annotation.RequestMapping;
  20. import org.springframework.web.bind.annotation.RestController;
  21. import java.util.List;
  22. /**
  23. * 入库业务
  24. *
  25. * @author JWK
  26. * @version 1.0
  27. * @date 2023/3/30 10:51
  28. */
  29. @Slf4j
  30. @Service
  31. public class WmsDocAsnSubService {
  32. @Autowired
  33. private IWmsDocAsnHeaderService iWmsDocAsnHeaderService;
  34. @Autowired
  35. private IWmsDocAsnDetailsService iWmsDocAsnDetailsService;
  36. @Autowired
  37. private IBaseSkuService iBaseSkuService;
  38. @Transactional
  39. public AjaxResult queryDocAsnDetails(@PathVariable("asnNo") String asnNo) {
  40. // 根据单号,和创建状态为00
  41. WmsDocAsnDetails wmsDocAsnDetails = new WmsDocAsnDetails();
  42. wmsDocAsnDetails.setAsnNo(asnNo);
  43. wmsDocAsnDetails.setLineStatus(Constant.ASN_STS.STS00.getValue());
  44. List<WmsDocAsnDetails> list = iWmsDocAsnDetailsService.selectWmsDocAsnDetailsList(wmsDocAsnDetails);
  45. WmsDocAsnHeader wmsDocAsnHeader = iWmsDocAsnHeaderService.selectWmsDocAsnHeaderByAsnNo(asnNo);
  46. boolean con = true;
  47. for (WmsDocAsnDetails details:list) {
  48. BaseSku baseSku = iBaseSkuService.selectBaseSkuByCustomerId(Constant.CUSTOMER_ID, details.getSku());
  49. BillTaskForm billTaskForm = new BillTaskForm();
  50. billTaskForm.setDocNo(details.getAsnNo());
  51. billTaskForm.setPackageType(Integer.valueOf(baseSku.getSkuType()));
  52. billTaskForm.setType(Constant.ASN_TYP.getByValue(wmsDocAsnHeader.getAsnType()).getValue1());
  53. billTaskForm.setNum(details.getExpectedQty().intValue());
  54. // billTaskForm.setDest(Constant.PRODUCTION_LINE_SITE.getByValue());
  55. billTaskForm.setMaterial(Integer.valueOf(baseSku.getDesc2()));
  56. WmsToWcsApiService wmsToWcsApiService = new WmsToWcsApiService();
  57. WcsResponseVo wcsResponseVo = wmsToWcsApiService.wmsBillTask(billTaskForm);
  58. if (!wcsResponseVo.isSuccess()) {
  59. con = false;
  60. continue;
  61. }
  62. // 修改 明细行状态为10
  63. details.setLineStatus(Constant.ASN_STS.STS10.getValue());
  64. iWmsDocAsnDetailsService.updateWmsDocAsnDetails(details);
  65. }
  66. if (con == true) {
  67. // 修改 单头10
  68. wmsDocAsnHeader.setAsnStatus(Constant.ASN_STS.STS10.getValue());
  69. iWmsDocAsnHeaderService.updateWmsDocAsnHeader(wmsDocAsnHeader);
  70. }
  71. return AjaxResult.success("", list);
  72. }
  73. }