Bdest.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. /*
  2. * Copyright [2022] [https://www.baiduc.com]
  3. *
  4. * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
  5. *
  6. * 1.请不要删除和修改根目录下的LICENSE文件。
  7. * 2.请不要删除和修改Snowy源码头部的版权声明。
  8. * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
  9. * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
  10. * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  11. * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
  12. */
  13. package vip.xiaonuo;
  14. import cn.hutool.core.util.ObjectUtil;
  15. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  16. import org.junit.Test;
  17. import org.junit.runner.RunWith;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.boot.test.context.SpringBootTest;
  20. import org.springframework.core.ParameterizedTypeReference;
  21. import org.springframework.http.HttpMethod;
  22. import org.springframework.http.ResponseEntity;
  23. import org.springframework.test.context.junit4.SpringRunner;
  24. import org.springframework.web.client.RestTemplate;
  25. import vip.xiaonuo.erp.entity.ErpBdMaterial;
  26. import vip.xiaonuo.erp.entity.ErpBdOrg;
  27. import vip.xiaonuo.erp.entity.voucher.ErpMaterial;
  28. import vip.xiaonuo.erp.mapper.ErpBdMaterialMapper;
  29. import vip.xiaonuo.erp.mapper.ErpBdOrgMapper;
  30. import java.util.List;
  31. /**
  32. * 主测试类
  33. *
  34. * @author xuyuxiang
  35. * @date 2022/9/17 17:09
  36. */
  37. @RunWith(SpringRunner.class)
  38. @SpringBootTest(classes = Application.class)
  39. public class Bdest {
  40. @Autowired
  41. private RestTemplate restTemplate;
  42. @Autowired
  43. private ErpBdOrgMapper erpBdOrgMapper;
  44. @Autowired
  45. private ErpBdMaterialMapper erpBdMaterialMapper;
  46. @Test
  47. public void test1(){
  48. ResponseEntity<List<ErpMaterial>> response = restTemplate.exchange(
  49. "http://127.0.0.1:9200/erp-bd-org/getMaterial",
  50. HttpMethod.GET,
  51. null,
  52. new ParameterizedTypeReference<List<ErpMaterial>>() {}
  53. );
  54. List<ErpMaterial> forObjects = response.getBody();
  55. System.out.println(forObjects);
  56. for (ErpMaterial forObject : forObjects) {
  57. ResponseEntity<List<ErpMaterial>> response2 = restTemplate.exchange(
  58. "http://127.0.0.1:9200/erp-bd-org/getMaterialDetail?fnumber="+forObject.getFnumber(),
  59. HttpMethod.GET,
  60. null,
  61. new ParameterizedTypeReference<List<ErpMaterial>>() {}
  62. );
  63. //二
  64. List<ErpMaterial> forObjects2 = response2.getBody();
  65. System.out.println(forObjects2);
  66. boolean b = false;
  67. //判断有没有下级
  68. for (ErpMaterial erpMaterial : forObjects2) {
  69. if(erpMaterial.getFnumber().contains("0000")){
  70. ErpBdOrg forgid = erpBdOrgMapper.selectOne(new QueryWrapper<ErpBdOrg>().eq("forgid", erpMaterial.getFacctorgid()));
  71. if (ObjectUtil.isEmpty(forgid))
  72. continue;
  73. if (erpBdMaterialMapper.exists(new QueryWrapper<ErpBdMaterial>().eq("erp_fnumber", erpMaterial.getFnumber()).eq("org_id",forgid.getOrgId()))){
  74. continue;
  75. }
  76. ErpBdMaterial erpBaseMaterial = new ErpBdMaterial();
  77. erpBaseMaterial.setErpFnumber(erpMaterial.getFnumber());
  78. erpBaseMaterial.setOrgId(forgid.getOrgId());
  79. erpBaseMaterial.setFname(erpMaterial.getFname());
  80. erpBaseMaterial.setFspecification(erpMaterial.getFspecification());
  81. erpBaseMaterial.setUnit("kg");
  82. erpBaseMaterial.setConver("1");
  83. erpBaseMaterial.setParent(0);
  84. erpBdMaterialMapper.insert(erpBaseMaterial);
  85. b =true;
  86. }
  87. }
  88. //有下级
  89. if (b){
  90. for (ErpMaterial erpMaterial : forObjects2) {
  91. if(!erpMaterial.getFnumber().contains("0000")){
  92. ErpBdOrg forgid = erpBdOrgMapper.selectOne(new QueryWrapper<ErpBdOrg>().eq("forgid", erpMaterial.getFacctorgid()));
  93. if (ObjectUtil.isEmpty(forgid))
  94. continue;
  95. if (erpBdMaterialMapper.exists(new QueryWrapper<ErpBdMaterial>().eq("erp_fnumber", erpMaterial.getFnumber()).eq("org_id",forgid.getOrgId()))){
  96. continue;
  97. }
  98. ErpBdMaterial erpBaseMaterial = new ErpBdMaterial();
  99. erpBaseMaterial.setErpFnumber(erpMaterial.getFnumber());
  100. erpBaseMaterial.setOrgId(forgid.getOrgId());
  101. erpBaseMaterial.setFname(erpMaterial.getFname());
  102. erpBaseMaterial.setFspecification(erpMaterial.getFspecification());
  103. erpBaseMaterial.setUnit("kg");
  104. erpBaseMaterial.setConver("1");
  105. ErpBdMaterial erpBdMaterial = erpBdMaterialMapper.selectOne(new QueryWrapper<ErpBdMaterial>().
  106. eq("erp_fnumber", forObject.getFnumber() + "0000").eq("org_id", forgid.getOrgId()));
  107. if (ObjectUtil.isEmpty(erpBdMaterial)){
  108. continue;
  109. }
  110. erpBaseMaterial.setParent(erpBdMaterial.getId());
  111. erpBdMaterialMapper.insert(erpBaseMaterial);
  112. }
  113. }
  114. } else {
  115. for (ErpMaterial erpMaterial : forObjects2) {
  116. ErpBdOrg forgid = erpBdOrgMapper.selectOne(new QueryWrapper<ErpBdOrg>().eq("forgid", erpMaterial.getFacctorgid()));
  117. if (ObjectUtil.isEmpty(forgid))
  118. continue;
  119. if (erpBdMaterialMapper.exists(new QueryWrapper<ErpBdMaterial>().eq("erp_fnumber", erpMaterial.getFnumber()).eq("org_id",forgid.getOrgId()))){
  120. continue;
  121. }
  122. ErpBdMaterial erpBaseMaterial = new ErpBdMaterial();
  123. erpBaseMaterial.setErpFnumber(erpMaterial.getFnumber());
  124. erpBaseMaterial.setOrgId(forgid.getOrgId());
  125. erpBaseMaterial.setFname(erpMaterial.getFname());
  126. erpBaseMaterial.setFspecification(erpMaterial.getFspecification());
  127. erpBaseMaterial.setParent(0);
  128. erpBaseMaterial.setUnit("kg");
  129. erpBaseMaterial.setConver("1");
  130. erpBdMaterialMapper.insert(erpBaseMaterial);
  131. ErpBdMaterial erpBaseMaterial1 = new ErpBdMaterial();
  132. erpBaseMaterial1.setErpFnumber(erpMaterial.getFnumber());
  133. erpBaseMaterial1.setOrgId(forgid.getOrgId());
  134. erpBaseMaterial1.setFname(erpMaterial.getFname());
  135. erpBaseMaterial1.setFspecification(erpMaterial.getFspecification());
  136. erpBaseMaterial1.setParent(erpBaseMaterial.getId());
  137. erpBaseMaterial1.setUnit("kg");
  138. erpBaseMaterial1.setConver("1");
  139. erpBdMaterialMapper.insert(erpBaseMaterial1);
  140. }
  141. }
  142. }
  143. }
  144. }