PayrequestService.java 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546
  1. package net.chenlin.dp.modules.api.service;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.dingtalk.api.DefaultDingTalkClient;
  5. import com.dingtalk.api.DingTalkClient;
  6. import com.dingtalk.api.request.OapiProcessinstanceCreateRequest;
  7. import com.dingtalk.api.response.OapiProcessinstanceCreateResponse;
  8. import com.fasterxml.jackson.databind.ObjectMapper;
  9. import com.taobao.api.ApiException;
  10. import net.chenlin.dp.common.openapi4j.commons.TokenManager;
  11. import net.chenlin.dp.common.openapi4j.exception.OpenAPIException;
  12. import net.chenlin.dp.common.openapi4j.model.Record;
  13. import net.chenlin.dp.common.openapi4j.platform.TradeService;
  14. import net.chenlin.dp.common.openapi4j.service.BaseService;
  15. import net.chenlin.dp.common.openapi4j.service.CustomerService;
  16. import net.chenlin.dp.common.openapi4j.service.UserService;
  17. import net.chenlin.dp.common.openapi4j.util.HttpUtil;
  18. import net.chenlin.dp.common.openapi4j.util.PropUtil;
  19. import net.chenlin.dp.modules.api.controller.DingdingOpenInterface;
  20. import net.chenlin.dp.modules.api.vo.*;
  21. import org.slf4j.Logger;
  22. import org.slf4j.LoggerFactory;
  23. import java.io.PrintWriter;
  24. import java.io.StringWriter;
  25. import java.math.BigDecimal;
  26. import java.util.*;
  27. public class PayrequestService extends BaseService {
  28. final static Logger logger = LoggerFactory.getLogger(PayrequestService.class);
  29. private Properties prop = PropUtil.getProperties("/config.properties");
  30. public PayrequestService() {
  31. this.access_token = TokenManager.getToKenId();
  32. }
  33. public PayrequestService(String token) {
  34. this.access_token = token;
  35. }
  36. private DingdingOpenInterface dingdingOpenInterface=new DingdingOpenInterface();
  37. //
  38. public static String getToaccount="";
  39. /**
  40. * 获取单个付款申请单
  41. * @param id
  42. * @param to_account
  43. * @return
  44. * @throws OpenAPIException
  45. */
  46. public JSONObject get(String id,String dataid) throws OpenAPIException {
  47. JSONObject record;
  48. try {
  49. Map<String, String> paramMap = new HashMap();
  50. paramMap.put("to_account", getToaccount);
  51. paramMap.put("id", id);
  52. paramMap.put("ds_sequence",dataid);
  53. String url = this.createURL("payrequest/get", paramMap);
  54. logger.info(url);
  55. record = JSONObject.parseObject(HttpUtil.get(url));
  56. } catch (Exception e) {
  57. throw new OpenAPIException(e.getMessage(), e);
  58. }
  59. return record;
  60. }
  61. /**
  62. * 申请单
  63. * @param paramMap
  64. * @return
  65. * @throws OpenAPIException
  66. */
  67. public JSONObject batchGet(Map<String, String> paramMap) throws OpenAPIException {
  68. JSONObject record;
  69. try {
  70. paramMap.put("to_account",getToaccount);
  71. String url = this.createURL("payrequestlist/batch_get", paramMap);
  72. logger.info(url);
  73. record = JSONObject.parseObject(HttpUtil.get(url));
  74. } catch (Exception e) {
  75. // TODO Auto-generated catch block
  76. throw new OpenAPIException(e.getMessage(), e);
  77. }
  78. return record;
  79. }
  80. /**
  81. * 批量获取付款申请单
  82. * @param map
  83. * @return
  84. * @throws OpenAPIException
  85. */
  86. public List<Payrequest> yonyouQueryPayrequest(Map<String,String>map) throws OpenAPIException {
  87. map.put("to_account", getToaccount);
  88. // map.put("iverifystate", "0");
  89. try {
  90. JSONObject jsonObject = batchGet(map);
  91. HashMap hashMap = JSONObject.parseObject(jsonObject.toString(), HashMap.class);
  92. Object errcode = hashMap.get("errcode");
  93. if (errcode.equals("0")){
  94. Object row_count = hashMap.get("row_count");
  95. map.put("rows_per_page",row_count.toString());
  96. JSONObject jsonObjects = batchGet(map);
  97. HashMap hashMaps = JSONObject.parseObject(jsonObjects.toString(), HashMap.class);
  98. if (hashMaps.get("errcode").equals("0")){
  99. Object saleorderlist = hashMaps.get("payrequestlist");
  100. List<Payrequest> list= JSON.parseArray(JSON.toJSONString(saleorderlist), Payrequest.class);
  101. return list;
  102. }else {
  103. return null;
  104. }
  105. }else {
  106. return null;
  107. }
  108. }catch (Exception e){
  109. throw new OpenAPIException(e.getMessage(), e);
  110. }
  111. }
  112. /**
  113. * 获取单张付款申请订单
  114. * @param id
  115. * @return
  116. * @throws OpenAPIException
  117. */
  118. public Payrequest yonyouGetPayrequest(String id,String dataid) throws OpenAPIException {
  119. try {
  120. JSONObject jsonObject = get(id,dataid);
  121. HashMap hashMap = JSONObject.parseObject(jsonObject.toString(), HashMap.class);
  122. if (hashMap.get("errcode").equals("0")){
  123. Object payrequest = hashMap.get("payrequest");
  124. ObjectMapper objectMapper = new ObjectMapper();
  125. Payrequest zfsp = objectMapper.convertValue(payrequest, Payrequest.class);
  126. return zfsp;
  127. }else {
  128. return null;
  129. }
  130. }catch (Exception e){
  131. throw new OpenAPIException(e.getMessage(), e);
  132. }
  133. }
  134. /**
  135. * 付款申请单审核
  136. * @param jsonboy
  137. * @param to_account
  138. * @return
  139. * @throws OpenAPIException
  140. */
  141. public JSONObject shenghe() throws OpenAPIException {
  142. JSONObject record;
  143. try {
  144. Map<String, String> paramMap = new HashMap();
  145. String s = "{\n" +
  146. "\t\"payrequest\":{\n" +
  147. "\t\t\"voucher_code\":\"0000000001\",\n" +
  148. "\t\t\"user_id\":\"00001\",\n" +
  149. "\t\t\"opinion\":\"同意\",\n" +
  150. "\t\t\"agree\":\"1\"\n" +
  151. "\t}\n" +
  152. "}";
  153. paramMap.put("to_account", getToaccount);
  154. String url = this.createURL("payrequest/audit", paramMap);
  155. logger.debug(url);
  156. String resultStr = HttpUtil.post(url, s);
  157. logger.debug(resultStr);
  158. JSONObject resultRecord = Record.parseObject(resultStr);
  159. Thread.sleep(3000);
  160. record = Record.parseObject(HttpUtil.get(resultRecord.getString("url")));
  161. } catch (Exception e) {
  162. throw new OpenAPIException(e.getMessage(), e);
  163. }
  164. return record;
  165. }
  166. /**
  167. * 钉钉创建付款申请单审批实列
  168. * @param processCode
  169. * @param agentid
  170. * @param userid 发起人
  171. * @param deptid 部门
  172. * @param map 数据
  173. * @throws ApiException
  174. */
  175. public Object createPayrequest(String processCode, Long agentid, String userid, Long deptid, Payrequest so,String data) throws ApiException {
  176. String msg="";
  177. try {
  178. DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/create");
  179. OapiProcessinstanceCreateRequest req = new OapiProcessinstanceCreateRequest();
  180. req.setAgentId(agentid);
  181. req.setProcessCode(processCode);
  182. req.setOriginatorUserId(userid);
  183. req.setDeptId(deptid);
  184. req.setCcPosition("START");
  185. String useridshenh = prop.getProperty("shenhe_userid");
  186. if (!useridshenh.equals("")) {
  187. List<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo> processInstanceApproverVoList = new ArrayList<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo>();
  188. OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo processInstanceApproverVo = new OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo();
  189. processInstanceApproverVoList.add(processInstanceApproverVo);
  190. processInstanceApproverVo.setTaskActionType("NONE");
  191. processInstanceApproverVo.setUserIds(Arrays.asList(useridshenh));
  192. req.setApproversV2(processInstanceApproverVoList);
  193. }
  194. if (so != null) {
  195. List<OapiProcessinstanceCreateRequest.FormComponentValueVo> formComponentValueVoList = new ArrayList<OapiProcessinstanceCreateRequest.FormComponentValueVo>();
  196. OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueVo = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  197. formComponentValueVo.setName("单据日期");
  198. formComponentValueVo.setValue(so.getDvouchdate());
  199. formComponentValueVo.setExtValue(data);
  200. formComponentValueVoList.add(formComponentValueVo);
  201. OapiProcessinstanceCreateRequest.FormComponentValueVo code = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  202. code.setName("单据编号");
  203. if (so.getCvouchid() != null && !so.getCvouchid().equals("")) {
  204. code.setValue(so.getCvouchid());
  205. code.setExtValue(data);
  206. } else {
  207. code.setValue("暂无");
  208. }
  209. formComponentValueVoList.add(code);
  210. OapiProcessinstanceCreateRequest.FormComponentValueVo cdwname= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  211. cdwname.setName("供应商名称");
  212. if (so.getCvenname()!= null && !so.getCvenname().equals("")) {
  213. cdwname.setValue(so.getCvenname());
  214. } else {
  215. cdwname.setValue("暂无");
  216. }
  217. formComponentValueVoList.add(cdwname);
  218. OapiProcessinstanceCreateRequest.FormComponentValueVo cdwcode = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  219. cdwcode.setName("供应商编码");
  220. if (so.getCdwcode() != null && !so.getCdwcode().equals("")) {
  221. cdwcode.setValue(so.getCdwcode());
  222. } else {
  223. cdwcode.setValue("暂无");
  224. }
  225. formComponentValueVoList.add(cdwcode);
  226. OapiProcessinstanceCreateRequest.FormComponentValueVo cvenabbname = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  227. cvenabbname.setName("供应商简称");
  228. if (so.getCvenabbname() != null && !so.getCvenabbname().equals("")) {
  229. cvenabbname.setValue(so.getCvenabbname());
  230. } else {
  231. cvenabbname.setValue("暂无");
  232. }
  233. formComponentValueVoList.add(cvenabbname);
  234. OapiProcessinstanceCreateRequest.FormComponentValueVo fc = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  235. fc.setName("部门名称");
  236. if (so.getCdepname() != null && !so.getCdepname().equals("")) {
  237. fc.setValue(so.getCdepname());
  238. } else {
  239. fc.setValue("暂无");
  240. }
  241. formComponentValueVoList.add(fc);
  242. OapiProcessinstanceCreateRequest.FormComponentValueVo fcode = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  243. fcode.setName("部门编码");
  244. if (so.getCdepcode() != null && !so.getCdepcode().equals("")) {
  245. fcode.setValue(so.getCdepcode());
  246. } else {
  247. fcode.setValue("暂无");
  248. }
  249. formComponentValueVoList.add(fcode);
  250. OapiProcessinstanceCreateRequest.FormComponentValueVo cperson = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  251. cperson.setName("业务员编码");
  252. if (so.getCperson() != null && !so.getCperson().equals("")) {
  253. cperson.setValue(so.getCperson());
  254. } else {
  255. cperson.setValue("暂无");
  256. }
  257. formComponentValueVoList.add(cperson);
  258. OapiProcessinstanceCreateRequest.FormComponentValueVo fc4 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  259. fc4.setName("业务员名称");
  260. if (so.getCpersonname() != null && !so.getCpersonname().equals("")) {
  261. fc4.setValue(so.getCpersonname());
  262. } else {
  263. fc4.setValue("暂无");
  264. }
  265. formComponentValueVoList.add(fc4);
  266. OapiProcessinstanceCreateRequest.FormComponentValueVo cexchname = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  267. cexchname.setName("币种名称");
  268. if (so.getCexch_name() != null && !so.getCexch_name().equals("")) {
  269. cexchname.setValue(so.getCexch_name());
  270. } else {
  271. cexchname.setValue("暂无");
  272. }
  273. formComponentValueVoList.add(cexchname);
  274. OapiProcessinstanceCreateRequest.FormComponentValueVo cdigest = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  275. cdigest.setName("备注");
  276. if (so.getCdigest() != null && !so.getCdigest().equals("")) {
  277. cdigest.setValue(so.getCdigest());
  278. } else {
  279. cdigest.setValue("暂无");
  280. }
  281. formComponentValueVoList.add(cdigest);
  282. OapiProcessinstanceCreateRequest.FormComponentValueVo iexchrate = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  283. iexchrate.setName("汇率");
  284. if (so.getIexchrate() != null && !so.getIexchrate().equals("")) {
  285. iexchrate.setValue(so.getIexchrate());
  286. } else {
  287. iexchrate.setValue("暂无");
  288. }
  289. formComponentValueVoList.add(iexchrate);
  290. OapiProcessinstanceCreateRequest.FormComponentValueVo cop = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  291. cop.setName("制单人");
  292. if (so.getCoperator() != null && !so.getCoperator().equals("")) {
  293. cop.setValue(so.getCoperator());
  294. } else {
  295. cop.setValue("暂无");
  296. }
  297. formComponentValueVoList.add(cop);
  298. OapiProcessinstanceCreateRequest.FormComponentValueVo ccode = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  299. ccode.setName("结算科目编码");
  300. if (so.getCcode() != null && !so.getCcode().equals("")) {
  301. ccode.setValue(so.getCcode());
  302. } else {
  303. ccode.setValue("暂无");
  304. }
  305. formComponentValueVoList.add(ccode);
  306. OapiProcessinstanceCreateRequest.FormComponentValueVo csscode = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  307. csscode.setName("结算方式编码");
  308. if (so.getCsscode() != null && !so.getCsscode().equals("")) {
  309. csscode.setValue(so.getCsscode());
  310. } else {
  311. csscode.setValue("暂无");
  312. }
  313. formComponentValueVoList.add(csscode);
  314. OapiProcessinstanceCreateRequest.FormComponentValueVo fc3 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  315. fc3.setName("结算方式名称");
  316. if (so.getCssname() != null && !so.getCssname().equals("0E-10")) {
  317. fc3.setValue(so.getCssname());
  318. } else {
  319. fc3.setValue("暂无");
  320. }
  321. formComponentValueVoList.add(fc3);
  322. List<List<OapiProcessinstanceCreateRequest.FormComponentValueVo>> ls = new ArrayList<>();
  323. BigDecimal a = new BigDecimal("0");
  324. for (PayrequestMin s : so.getEntry()) {
  325. List<OapiProcessinstanceCreateRequest.FormComponentValueVo> mingxilist = new ArrayList<>();
  326. OapiProcessinstanceCreateRequest.FormComponentValueVo mingxi2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  327. mingxi2.setName("存货编码");
  328. if (s.getCinvcode() != null && !s.getCinvcode().equals("")) {
  329. mingxi2.setValue(s.getCinvcode());
  330. } else {
  331. mingxi2.setValue("暂无");
  332. }
  333. mingxilist.add(mingxi2);
  334. OapiProcessinstanceCreateRequest.FormComponentValueVo fc7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  335. fc7.setName("存货名称");
  336. if (s.getCinvname() != null && !s.getCinvname().equals("")) {
  337. fc7.setValue(s.getCinvname());
  338. } else {
  339. fc7.setValue("暂无");
  340. }
  341. mingxilist.add(fc7);
  342. OapiProcessinstanceCreateRequest.FormComponentValueVo cinvstd = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  343. cinvstd.setName("规格型号");
  344. if (s.getCinvstd() != null && !s.getCinvstd().equals("")) {
  345. cinvstd.setValue(s.getCinvstd());
  346. } else {
  347. cinvstd.setValue("暂无");
  348. }
  349. mingxilist.add(cinvstd);
  350. OapiProcessinstanceCreateRequest.FormComponentValueVo dpdate = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  351. dpdate.setName("预付款时间");
  352. dpdate.setValue(s.getDprepaydate());
  353. mingxilist.add(dpdate);
  354. OapiProcessinstanceCreateRequest.FormComponentValueVo csname = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  355. csname.setName("币种名称");
  356. if (s.getCsrcexchname() != null && !s.getCsrcexchname().equals("")) {
  357. csname.setValue(s.getCsrcexchname());
  358. } else {
  359. csname.setValue("暂无");
  360. }
  361. mingxilist.add(csname);
  362. OapiProcessinstanceCreateRequest.FormComponentValueVo depname = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  363. depname.setName("部门名称");
  364. if (s.getCdepname() != null && !s.getCdepname().equals("")) {
  365. depname.setValue(s.getCdepname());
  366. } else {
  367. depname.setValue("暂无");
  368. }
  369. mingxilist.add(depname);
  370. OapiProcessinstanceCreateRequest.FormComponentValueVo cpersonname = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  371. cpersonname.setName("业务员名称");
  372. if (s.getCpersonname() != null && !s.getCpersonname().equals("")) {
  373. cpersonname.setValue(s.getCpersonname());
  374. } else {
  375. cpersonname.setValue("暂无");
  376. }
  377. mingxilist.add(cpersonname);
  378. OapiProcessinstanceCreateRequest.FormComponentValueVo iappf = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  379. iappf.setName("原币申请金额");
  380. if (s.getIapplyamt_f() != null && !s.getIapplyamt_f().equals("0E-10")) {
  381. iappf.setValue(new BigDecimal(s.getIapplyamt_f()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
  382. } else {
  383. iappf.setValue("0");
  384. }
  385. mingxilist.add(iappf);
  386. OapiProcessinstanceCreateRequest.FormComponentValueVo iapp = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  387. iapp.setName("本币申请金额");
  388. if (s.getIapplyamt() != null && !s.getIapplyamt().equals("0E-10")) {
  389. iapp.setValue(new BigDecimal(s.getIapplyamt()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
  390. } else {
  391. iapp.setValue("0");
  392. }
  393. mingxilist.add(iapp);
  394. OapiProcessinstanceCreateRequest.FormComponentValueVo fc8 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  395. fc8.setName("数量");
  396. if (s.getIapplyamt_s() != null && !s.getIapplyamt_s().equals("0E-10")) {
  397. fc8.setValue(new BigDecimal(s.getIapplyamt_s()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
  398. } else {
  399. fc8.setValue("0");
  400. }
  401. mingxilist.add(fc8);
  402. OapiProcessinstanceCreateRequest.FormComponentValueVo fc9 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  403. fc9.setName("原单原币申请金额");
  404. if (s.getIsrcapplyamt_f() != null && !s.getIsrcapplyamt_f().equals("0E-10")) {
  405. fc9.setValue(new BigDecimal(s.getIsrcapplyamt_f()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
  406. } else {
  407. fc9.setValue("0");
  408. }
  409. mingxilist.add(fc9);
  410. OapiProcessinstanceCreateRequest.FormComponentValueVo israpp = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  411. israpp.setName("原单本币申请金额");
  412. if (s.getIsrcapplyamt() != null && !s.getIsrcapplyamt().equals("0E-10")) {
  413. israpp.setValue(new BigDecimal(s.getIsrcapplyamt()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
  414. } else {
  415. israpp.setValue("0");
  416. }
  417. mingxilist.add(israpp);
  418. OapiProcessinstanceCreateRequest.FormComponentValueVo isum = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  419. isum.setName("原单本币金额");
  420. if (s.getIsum() != null && !s.getIsum().equals("0E-10")) {
  421. isum.setValue(new BigDecimal(s.getIsum()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
  422. } else {
  423. isum.setValue("0");
  424. }
  425. mingxilist.add(isum);
  426. OapiProcessinstanceCreateRequest.FormComponentValueVo iorisum = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  427. iorisum.setName("原单原币金额");
  428. if (s.getIorisum() != null && !s.getIorisum().equals("0E-10")) {
  429. iorisum.setValue(new BigDecimal(s.getIorisum()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
  430. } else {
  431. iorisum.setValue("0");
  432. }
  433. mingxilist.add(iorisum);
  434. OapiProcessinstanceCreateRequest.FormComponentValueVo iortax = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  435. iortax.setName("原币单价");
  436. if (s.getIoritaxcost() != null && !s.getIoritaxcost().equals("0E-10")) {
  437. iortax.setValue(new BigDecimal(s.getIoritaxcost()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
  438. } else {
  439. iortax.setValue("0");
  440. }
  441. mingxilist.add(iortax);
  442. OapiProcessinstanceCreateRequest.FormComponentValueVo inatt = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  443. inatt.setName("本币单价");
  444. if (s.getInattaxprice() != null && !s.getInattaxprice().equals("0E-10")) {
  445. inatt.setValue(new BigDecimal(s.getInattaxprice()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
  446. } else {
  447. inatt.setValue("0");
  448. }
  449. mingxilist.add(inatt);
  450. ls.add(mingxilist);
  451. }
  452. OapiProcessinstanceCreateRequest.FormComponentValueVo obj7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
  453. obj7.setName("表格");
  454. obj7.setValue(JSON.toJSONString(ls));
  455. formComponentValueVoList.add(obj7);
  456. req.setFormComponentValues(formComponentValueVoList);
  457. OapiProcessinstanceCreateResponse rsp = client.execute(req, dingdingOpenInterface.gettoken);
  458. System.out.println(rsp.getBody());
  459. String codes = rsp.getErrorCode();
  460. if (codes.equals("0") || codes.equals(0)) {
  461. return codes;
  462. }
  463. }
  464. }catch (Exception e){
  465. e.printStackTrace();
  466. StringWriter sw = new StringWriter();
  467. e.printStackTrace(new PrintWriter(sw, true));
  468. msg=sw.toString();
  469. }
  470. return msg;
  471. }
  472. //获取to_account
  473. public void getToaccount(){
  474. Properties prop = PropUtil.getProperties("/config.properties");
  475. getToaccount= prop.getProperty("to_account");
  476. }
  477. public static void main(String[] args) throws OpenAPIException {
  478. PayrequestService payrequestService=new PayrequestService();
  479. payrequestService.getToaccount();
  480. SaleOrderRest saleOrderRest=new SaleOrderRest();
  481. UserService userService=new UserService();
  482. JSONObject login = userService.login("demo", "", PayrequestService.getToaccount);
  483. saleOrderRest.setUser_id("demo");
  484. saleOrderRest.setVoucher_code("0000000001");
  485. saleOrderRest.setAgree("1");
  486. payrequestService.shenghe();
  487. }
  488. }