SaleOrderController.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. package net.chenlin.dp.modules.api.controller;
  2. import com.taobao.api.ApiException;
  3. import net.chenlin.dp.common.openapi4j.exception.OpenAPIException;
  4. import net.chenlin.dp.common.openapi4j.util.PropUtil;
  5. import net.chenlin.dp.common.support.orm.db.DynamicDataSource;
  6. import net.chenlin.dp.common.utils.DateUtils;
  7. import net.chenlin.dp.common.utils.SpringContextUtils;
  8. import net.chenlin.dp.modules.api.service.SaleOrderService;
  9. import net.chenlin.dp.modules.api.vo.SaleOrderRest;
  10. import net.chenlin.dp.modules.api.vo.YonyouSaleOrder;
  11. import net.chenlin.dp.modules.sys.service.SysUserService;
  12. import net.chenlin.dp.modules.sys.service.impl.SysUserServiceImpl;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import java.text.SimpleDateFormat;
  15. import java.util.*;
  16. public class SaleOrderController {
  17. private SaleOrderService service=new SaleOrderService();
  18. private DingdingOpenInterface dingdingOpenInterface=new DingdingOpenInterface();
  19. private Properties prop = PropUtil.getProperties("/config.properties");
  20. private SysUserService sysUserService= SpringContextUtils.getBean("sysUserService",SysUserService.class);
  21. /**
  22. * 获取u8销售订单创建钉钉销售订单审批实列
  23. * @throws OpenAPIException
  24. * @throws ApiException
  25. */
  26. public void dingSaleOrder(String data,String dataid) throws OpenAPIException, ApiException {
  27. String processCode= prop.getProperty("xsdd_process_code");
  28. String agentid = prop.getProperty("agentid");
  29. String userid = prop.getProperty("userid");
  30. String deptid = prop.getProperty("deptid");
  31. // Map<String,String>map=new HashMap<>();
  32. service.getToaccount();
  33. // List<YonyouSaleOrder> list = service.yonyouQuerySaleOrder(map);
  34. // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  35. // Date now = new Date();
  36. // long time = 30*60*1000;//30分钟
  37. // Date beforeDate = new Date(now .getTime() - time);//30分钟前的时间
  38. DynamicDataSource.setDataSource(data);
  39. List<String> list = sysUserService.querySaleOrderDate();
  40. // DynamicDataSource.setDataSource("");
  41. if (list!=null){
  42. for (String saleOrder:list){
  43. YonyouSaleOrder yonyouSaleOrder = service.yonyouGetSaleOrder(saleOrder,dataid);
  44. if (yonyouSaleOrder!=null){
  45. // service.createOrder(processCode,1313665313L,"20264331162691",412163022L,yonyouSaleOrder);
  46. Object order = service.createOrder(processCode, Long.valueOf(agentid), userid, Long.valueOf(deptid), yonyouSaleOrder,data);
  47. if (order!=null &&!order.equals("")){
  48. // DynamicDataSource.setDataSource("slave-data-source");
  49. sysUserService.autoRIdBySale(saleOrder,order.toString());
  50. }
  51. }
  52. }
  53. }
  54. DynamicDataSource.setDataSource("");
  55. }
  56. /**
  57. * 销售订单审批后返回u8
  58. * @throws OpenAPIException
  59. */
  60. public void saleOrderShenhe() throws OpenAPIException {
  61. DingdingOpenInterface.getToken();
  62. String processCode= prop.getProperty("xsdd_process_code");
  63. String userid = prop.getProperty("u_shenhe_userid");
  64. List<String> orderIdList = dingdingOpenInterface.getOrderIdList(processCode);
  65. if (orderIdList!=null&&!orderIdList.equals("")){
  66. for (String id:orderIdList){
  67. Map<String, Object> orderDetails = dingdingOpenInterface.getOrderDetails(id);
  68. Map<String, Object> map = DingdingOpenInterface.tableToMap(orderDetails);
  69. Object code = map.get("单据编号");
  70. Object ext_value = map.get("单据编号_ext_value");
  71. Object result = orderDetails.get("result");
  72. if (!result.equals("")&&result!=null){
  73. if (result.equals("agree")){
  74. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
  75. String format = df.format(new Date());
  76. DynamicDataSource.setDataSource(ext_value.toString());
  77. sysUserService.Ordershenhe(code.toString(),format,format,"1",userid);
  78. DynamicDataSource.setDataSource("");
  79. }
  80. }
  81. }
  82. }
  83. }
  84. /**
  85. * 销售订单
  86. */
  87. public void SaleOrder() throws OpenAPIException {
  88. service.getToaccount();
  89. service.ISaleOrder();
  90. service.SaleOrderClass();
  91. }
  92. /**
  93. * 销售报价单
  94. */
  95. public void SaleOrderBJ(){
  96. service.CrmSaleOrderBJ();
  97. }
  98. /**
  99. * 客诉单-抵扣
  100. */
  101. public void KSDOrder() throws OpenAPIException {
  102. service.CrmKSDDK();
  103. }
  104. /**
  105. * 客诉单-退货
  106. */
  107. public void KSDTHOrder() throws OpenAPIException {
  108. service.CrmKSDTH();
  109. }
  110. /**
  111. * 打样单
  112. */
  113. public void DYDOrder() throws OpenAPIException {
  114. service.getToaccount();
  115. service.IDYDOrder();
  116. }
  117. /**
  118. * 送样单
  119. */
  120. public void SYDOrder() throws OpenAPIException {
  121. service.getToaccount();
  122. service.ISYDOrder();
  123. }
  124. public static void main(String[] args) throws OpenAPIException, ApiException {
  125. // SaleOrderController saleOrderController=new SaleOrderController();
  126. // saleOrderController.dingSaleOrder();
  127. //saleOrderController.saleOrderShenhe();
  128. SaleOrderService service=new SaleOrderService();
  129. Properties prop = PropUtil.getProperties("/config.properties");
  130. String processCode= prop.getProperty("xsdd_process_code");
  131. String agentid = prop.getProperty("agentid");
  132. String userid = prop.getProperty("userid");
  133. String deptid = prop.getProperty("deptid");
  134. YonyouSaleOrder yonyouSaleOrder=new YonyouSaleOrder();
  135. yonyouSaleOrder.setCode("XSDD213892224");
  136. yonyouSaleOrder.setDate("2021-09-21");
  137. yonyouSaleOrder.setBusinesstype("普通销售");
  138. yonyouSaleOrder.setTypename("一般销售");
  139. // Object order = service.createOrder(processCode, Long.valueOf(agentid), userid, Long.valueOf(deptid), yonyouSaleOrder);
  140. }
  141. }