WmsDocAsnSubService.java 3.2 KB

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