123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260 |
- package net.chenlin.dp.modules.api.service;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.dingtalk.api.DefaultDingTalkClient;
- import com.dingtalk.api.DingTalkClient;
- import com.dingtalk.api.request.OapiGettokenRequest;
- import com.dingtalk.api.request.OapiProcessinstanceCreateRequest;
- import com.dingtalk.api.response.OapiGettokenResponse;
- import com.dingtalk.api.response.OapiProcessinstanceCreateResponse;
- import com.mysql.cj.util.StringUtils;
- import com.taobao.api.ApiException;
- import net.chenlin.dp.common.openapi4j.examples.voucher.VoucherAdd;
- import net.chenlin.dp.common.openapi4j.exception.OpenAPIException;
- import net.chenlin.dp.common.openapi4j.service.PersonService;
- import net.chenlin.dp.common.openapi4j.util.PropUtil;
- import net.chenlin.dp.common.utils.JSONUtils;
- import net.chenlin.dp.common.utils.SpringContextUtils;
- import net.chenlin.dp.modules.api.controller.DingdingOpenInterface;
- import net.chenlin.dp.modules.sys.entity.SyViewEntity;
- import net.chenlin.dp.modules.sys.service.testU8Service;
- import net.sf.json.JSONArray;
- import org.springframework.boot.configurationprocessor.json.JSONException;
- import java.math.BigDecimal;
- import java.util.*;
- public class ReimbursementService {
- private testU8Service u8Service= SpringContextUtils.getBean("testU8Service",testU8Service.class);
- public static String gettoken = "";
- /**
- * (不再使用)
- * @throws Exception
- */
- public static void autoReimbursement() throws Exception {
- DingdingOpenInterface dingdingOpenInterface = new DingdingOpenInterface();
- Properties prop = PropUtil.getProperties("/config.properties");
- String PROC = prop.getProperty("bx_process_code");
- List<String> list = dingdingOpenInterface.getOrderIdList(PROC);
- String job_number = "";//工号
- String work_place = "";//办公地(潍坊对03账套 昆山对01账套)
- String dept_code = ""; //部门编码
- String account_code = ""; //科目编码
- String type = ""; //数据源账套 1昆山,3潍坊
- // List<SyViewEntity> listId = u8Service.selectView("报销单");
- if(list.size() > 0){
- outCycle:for(String o:list){
- // if(listId.size() > 0){
- // for(SyViewEntity en:listId){
- // if(!StringUtils.isNullOrEmpty(en.getOaId()) && en.getOaId().equals(o)){
- // continue outCycle;
- // }
- // }
- // }
- Map<String,Object> map = dingdingOpenInterface.getOrderDetails("01dc1264-85ab-41a5-8e15-a0905268e1b3");
- // Map<String,Object> map = dingdingOpenInterface.getOrderDetails("435bfa21-2366-43e3-b71a-041485d51a31");
- // Map<String,Object> map = dingdingOpenInterface.getOrderDetails(o);
- if(StringUtils.isNullOrEmpty(map.get("result").toString()) || !map.get("result").toString().equals("agree")){
- continue;
- }
- // System.out.println(map);
- Map<String,Object> map1 = tableToMap2(map);
- // System.out.println(map1);
- Map<String,Object> mapPerson = dingdingOpenInterface.getViewByUserId(map.get("originator_userid").toString());
- if(mapPerson !=null ){
- job_number = mapPerson.get("job_number").toString();
- work_place = mapPerson.get("work_place").toString();
- if(StringUtils.isNullOrEmpty(work_place)){
- continue;
- }
- if (work_place.equals("昆山")){
- dept_code = getPerson(job_number,"1");
- type = "1";
- // System.out.println(dept_code);
- System.out.println(dept_code);
- }else if(work_place.equals("潍坊")){
- dept_code = getPerson(job_number,"3");
- type = "3";
- }else{
- continue;
- }
- }else{
- continue;
- }
- if(map.get("originator_dept_name") == null){
- continue;
- }
- String mess = null;
- SyViewEntity entity = new SyViewEntity();
- if(map.get("originator_dept_name").toString().equals("营销设计中心-设计部") ||
- map.get("originator_dept_name").toString().equals("营销设计中心-项目部") ||
- map.get("originator_dept_name").toString().equals("营销设计中心-市场部")){
- map1.put("item_class","00");//项目大类 --研发项目
- map1.put("item_id","YFYYYY00001");//项目名称 --项目研发-公共
- }
- if(map1.containsKey("差旅报销") && map1.get("差旅报销")!=null && Double.valueOf(map1.get("差旅报销").toString()) > 0){
- account_code = getDeptCode(map.get("originator_dept_name").toString(),"差旅报销");
- if(StringUtils.isNullOrEmpty(account_code) || account_code == null || account_code.equals("null")){
- continue;
- }
- map1.put("abstract","差旅报销");
- map1.put("naturalCurrency",map1.get("差旅报销"));
- map1.put("account_code",account_code);//科目编码
- map1.put("dept_code",dept_code);//部门编码
- map1.put("job_number",job_number);//人员编码
- entity.setParType("差旅报销");
- // System.out.println("============================差旅报销"+account_code);
- // System.out.println(map1);
- try {
- // mess = VoucherAdd.addVoucher(map1,map.get("business_id").toString()+"差旅",type);
- }catch (Exception e){
- mess = e.getMessage();
- }
- }
- if(map1.containsKey("私车公用报销") && map1.get("私车公用报销")!=null && Double.valueOf(map1.get("私车公用报销").toString()) > 0){
- account_code = getDeptCode(map.get("originator_dept_name").toString(),"私车公用报销");
- if(StringUtils.isNullOrEmpty(account_code) || account_code == null || account_code.equals("null")){
- continue;
- }
- map1.put("abstract","私车公用报销");
- map1.put("naturalCurrency",map1.get("私车公用报销"));
- map1.put("account_code",account_code);//科目编码
- map1.put("dept_code",dept_code);//部门编码
- map1.put("job_number",job_number);//人员编码
- entity.setParType("私车公用报销");
- // System.out.println("============================");
- // System.out.println(map1);
- // System.out.println("============================私车公用报销"+account_code);
- try {
- // mess = VoucherAdd.addVoucher(map1,map.get("business_id").toString()+"私车公用",type);
- }catch (Exception e){
- mess = e.getMessage();
- }
- }
- if(map1.containsKey("其他报销科目") && map1.get("其他报销科目")!=null && Double.valueOf(map1.get("其他报销科目").toString()) > 0){
- account_code = getDeptCode(map.get("originator_dept_name").toString(),"其他报销科目");
- if(StringUtils.isNullOrEmpty(account_code) || account_code == null || account_code.equals("null")){
- continue;
- }
- map1.put("abstract","其他报销科目");
- map1.put("naturalCurrency",map1.get("其他报销科目"));
- map1.put("account_code",account_code);//科目编码
- map1.put("dept_code",dept_code);//部门编码
- map1.put("job_number",job_number);//人员编码
- entity.setParType("其他报销科目");
- // System.out.println("============================其他报销科目"+account_code+"===="+map.get("originator_dept_name").toString());
- // System.out.println("============================");
- // System.out.println(map1);
- try {
- mess = VoucherAdd.addVoucher(map1,map.get("business_id").toString()+"其他",type,"");
- }catch (Exception e){
- mess = e.getMessage();
- }
- }
- entity.setOaId(o);
- entity.setDeptName(map.get("originator_dept_name").toString());
- entity.setDeptCode(dept_code);
- entity.setAccountCode(account_code);
- entity.setJobNumber(job_number);
- entity.setTableType("报销单");
- entity.setSyMessage(mess);
- try {
- // u8Service.saveSyView(entity);
- }catch (Exception e){
- System.out.println("异常1");
- }
- }
- }
- }
- /**
- * 同步银行回单至u8凭证
- * @throws Exception
- * @param st js:江苏,sd:山东
- */
- public void autoReimbursementNew(String st,String upTime) throws Exception {
- DingdingOpenInterface dingdingOpenInterface = new DingdingOpenInterface();
- Properties prop = PropUtil.getProperties("/config.properties");
- String PROC = prop.getProperty("yhhd_process_code");
- if(st.equals("sd")){
- PROC = prop.getProperty("yhhdsd_process_code");
- }
- // List<String> list = dingdingOpenInterface.getOrderIdList(PROC);
- // List<String> list = dingdingOpenInterface.getOrderIdList2("PROC-C1EBBC4A-AA0D-4101-BEE8-8BFA5FEFABD8",-5);
- List<String> list = dingdingOpenInterface.getOrderIdList2(PROC,-31);
- // System.out.println(list);
- String job_number = "";//工号
- String work_place = "";//办公地(潍坊对03账套 昆山对01账套)
- String dept_code = ""; //部门编码
- String type = ""; //数据源账套 1昆山,3潍坊
- List<SyViewEntity> listId = u8Service.selectViewBy31("银行凭证至U8");
- if(list.size() > 0){
- outCycle:for(String o:list){
- if(listId.size() > 0){
- for(SyViewEntity en:listId){
- if(!StringUtils.isNullOrEmpty(en.getOaId()) && en.getOaId().equals(o)){
- continue outCycle;
- }
- }
- }
- // Map<String,Object> map = dingdingOpenInterface.getOrderDetails("57942341-3589-43d3-9984-9a786dc9f97d");//
- Map<String,Object> map = dingdingOpenInterface.getOrderDetails(o);//
- if(StringUtils.isNullOrEmpty(map.get("result").toString()) || !map.get("result").toString().equals("agree")){
- continue;
- }
- Map<String,Object> map1 = tableToMap4(map);
- Map<String,Object> mapPerson = dingdingOpenInterface.getViewByUserId((String) map1.get("申请人编码"));
- if(mapPerson !=null ){
- job_number = mapPerson.get("job_number").toString();//"CHK2019002";
- work_place = mapPerson.get("work_place").toString();
- if(StringUtils.isNullOrEmpty(work_place)){
- continue;
- }
- if (work_place.equals("昆山")){
- dept_code = getPerson(job_number,"1");
- type = "1";
- }else if(work_place.equals("潍坊")){
- dept_code = getPerson(job_number,"3");
- type = "3";
- }else{
- continue;
- }
- }else{
- continue;
- }
- if(map1.get("申请人所属部门") == null){
- continue;
- }
- //如果是以下部门,则需要填写项目大类和项目名称
- if(map1.get("申请人所属部门").toString().equals("营销设计中心-设计部") ||
- map1.get("申请人所属部门").toString().equals("营销设计中心-项目部") ||
- map1.get("申请人所属部门").toString().equals("营销设计中心-市场部")){
- map1.put("item_class","00");//项目大类 --研发项目
- map1.put("item_id","YFYYYY00001");//项目名称 --项目研发-公共
- }
- if(map1.get("单据类型") == null){//备用金申请、报销申请
- continue;
- }
- String mess = null;
- map1.put("dept_code",dept_code);//部门编码
- map1.put("job_number",job_number);//人员编码
- SyViewEntity entity = new SyViewEntity();
- entity.setOaId(o);
- entity.setDeptName(map1.get("申请人所属部门").toString());
- entity.setJobNumber(job_number);
- entity.setTableType("银行凭证至U8");
- if(map1.get("单据类型").toString().equals("备用金申请")){
- entity.setParType("备用金至U8凭证");
- map1.put("account_code_jf","122102");//科目编码(借方)
- map1.put("account_code_df","10020101");//科目编码(贷方)
- JSONArray jsonArray2 = JSONArray.fromObject(map1.get("备用金申请").toString());
- if(jsonArray2.size() == 0){
- continue ;
- }
- net.sf.json.JSONObject object1 = jsonArray2.getJSONObject(0);
- map1.put("abstract",object1.get("申请事由"));
- map1.put("naturalCurrency",object1.get("申请金额"));
- try {
- mess = VoucherAdd.addVoucher(map1,map.get("business_id").toString()+"备用金",type,upTime);
- }catch (Exception e){
- mess = e.getMessage();
- }
- }else if(map1.get("单据类型").toString().equals("报销申请")){
- entity.setParType("报销申请至U8");
- try {
- mess = VoucherAdd.addVoucherNew(map1,map.get("business_id").toString()+"报销申请",type,upTime);
- }catch (Exception e){
- mess = e.getMessage();
- }
- }else{
- continue ;
- }
- entity.setSyMessage(mess);
- u8Service.saveSyView(entity);
- }
- }
- }
- /**
- * 同步报销单至银行凭证
- * @throws Exception
- */
- public void autoOABankReceipt() throws Exception {
- DingdingOpenInterface dingdingOpenInterface = new DingdingOpenInterface();
- Properties prop = PropUtil.getProperties("/config.properties");
- String PROC = prop.getProperty("bx_process_code");//报销单
- String YHHD = prop.getProperty("yhhd_process_code");//银行回单(江苏)
- String YHHDSD = prop.getProperty("yhhdsd_process_code");//银行回单(山东)
- String agentid = prop.getProperty("agentid");
- String deptid = prop.getProperty("deptid");
- String userid = prop.getProperty("userid");
- List<String> list = dingdingOpenInterface.getOrderIdList2(PROC,-20);
- // List<String> list = dingdingOpenInterface.getOrderIdList("PROC-DD8FF68E-B90E-4885-8C17-F69E53BE5C81");
- System.out.println("报销申请:"+list);
- List<SyViewEntity> listIdError = u8Service.selectViewByError("报销单至银行凭证");
- List<SyViewEntity> listIdTrue = u8Service.selectViewByTrue("报销单至银行凭证");
- if(list.size() > 0){
- getToken();
- outCycle:for(String o:list){
- //获取当日同步失败的单据,控制当日不再同步
- if(listIdError.size() > 0){
- for(SyViewEntity en:listIdError){
- if(!StringUtils.isNullOrEmpty(en.getOaId()) && en.getOaId().equals(o)){
- continue outCycle;
- }
- }
- }
- //获取10天内同步成功的数据,控制不再同步
- if(listIdTrue.size() > 0){
- for(SyViewEntity en:listIdTrue){
- if(!StringUtils.isNullOrEmpty(en.getOaId()) && en.getOaId().equals(o)){
- continue outCycle;
- }
- }
- }
- // Map<String,Object> map = dingdingOpenInterface.getOrderDetails("e12ca8e8-e783-4652-b68e-e12648ed00c3");
- Map<String,Object> map = dingdingOpenInterface.getOrderDetails(o);
- if(StringUtils.isNullOrEmpty(map.get("result").toString()) || !map.get("result").toString().equals("agree")){
- continue;
- }
- SyViewEntity entity = new SyViewEntity();
- Map<String,Object> newMap = tableToMap2(map);
- Map<String,Object> mapPerson = dingdingOpenInterface.getViewByUserId(map.get("originator_userid").toString());
- String work_place = null;
- if(mapPerson !=null ){
- work_place = mapPerson.get("work_place").toString();
- if(StringUtils.isNullOrEmpty(work_place)){
- continue;
- }
- if (!work_place.equals("昆山") && !work_place.equals("潍坊")){
- continue;
- }
- }else{
- continue;
- }
- DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/create");
- OapiProcessinstanceCreateRequest req = new OapiProcessinstanceCreateRequest();
- req.setAgentId(Long.valueOf(agentid));
- // req.setProcessCode("PROC-C1EBBC4A-AA0D-4101-BEE8-8BFA5FEFABD8");//银行回单TEST
- if (work_place.equals("昆山")){
- req.setProcessCode(YHHD);//银行回单(江苏)
- }else{
- req.setProcessCode(YHHDSD);//银行回单(山东)
- }
- req.setOriginatorUserId(userid);
- req.setDeptId(Long.valueOf(deptid));
- List<OapiProcessinstanceCreateRequest.FormComponentValueVo> formComponentValueVoList = new ArrayList<OapiProcessinstanceCreateRequest.FormComponentValueVo>();
- //申请人编码
- OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueV5 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- formComponentValueV5.setName("申请人编码");
- formComponentValueV5.setValue(map.get("originator_userid").toString());
- formComponentValueVoList.add(formComponentValueV5);
- //申请人名称
- OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueV6 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- formComponentValueV6.setName("申请人");
- formComponentValueV6.setValue(map.get("title").toString());
- formComponentValueVoList.add(formComponentValueV6);
- //所属部门
- OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueV7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- formComponentValueV7.setName("申请人所属部门");
- formComponentValueV7.setValue(map.get("originator_dept_name").toString());
- formComponentValueVoList.add(formComponentValueV7);
- //单据类型(报销申请、备用金申请)
- OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueV8 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- formComponentValueV8.setName("单据类型");
- formComponentValueV8.setValue("报销申请");
- formComponentValueVoList.add(formComponentValueV8);
- //申请时间
- OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueV9 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- formComponentValueV9.setName("申请时间");//create_time
- formComponentValueV9.setValue(map.get("create_time").toString());
- formComponentValueVoList.add(formComponentValueV9);
- //联系人明细
- OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueVo1 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item1 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item1.setName("户名");
- if(newMap.get("户名") == null){
- continue ;
- }
- Item1.setValue(newMap.get("户名").toString());
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item2.setName("账号");
- if(newMap.get("账号") != null){
- Item2.setValue(newMap.get("账号").toString());
- }else{
- Item2.setValue("空");
- }
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item3 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item3.setName("开户银行");
- if(newMap.get("开户银行") != null){
- Item3.setValue(newMap.get("开户银行").toString());
- }else{
- Item3.setValue("空");
- }
- formComponentValueVo1.setName("收款人");
- formComponentValueVo1.setValue(JSON.toJSONString(Arrays.asList(Arrays.asList(Item1, Item2, Item3))));
- formComponentValueVoList.add(formComponentValueVo1);
- //差旅报销明细
- if(newMap.get("差旅报销") != null && JSONArray.fromObject(newMap.get("差旅报销").toString()).size() > 0){
- OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueVo2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- List<List<OapiProcessinstanceCreateRequest.FormComponentValueVo>> viewList2 = new ArrayList<>();
- JSONArray jsonArray1 = JSONArray.fromObject(newMap.get("差旅报销").toString());
- for (int j = 0; j < jsonArray1.size(); j++) {
- List<OapiProcessinstanceCreateRequest.FormComponentValueVo> view = new ArrayList<>();
- net.sf.json.JSONObject object1 = jsonArray1.getJSONObject(j);
- if(object1.get("发生日期") != null && object1.get("结束日期") != null && object1.get("发生日期") != "" && object1.get("结束日期") != ""){
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item21 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- JSONArray jsonArray = new JSONArray();
- jsonArray.add(object1.get("发生日期").toString());
- jsonArray.add(object1.get("结束日期").toString());
- Item21.setName("[\"发生日期\",\"结束日期\"]");
- Item21.setValue(jsonArray.toString());
- // Item21.setValue("[\"2019-02-19\",\"2019-02-25\"]");
- view.add(Item21);
- }else{
- continue ;
- }
- if(object1.get("报销科目") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item22 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item22.setName("报销科目");
- Item22.setValue(object1.get("报销科目").toString());
- view.add(Item22);
- }else{
- continue ;
- }
- if(object1.get("名称") != null && object1.get("名称") != "") {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item23 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item23.setName("名称");
- Item23.setValue(object1.get("名称").toString());
- view.add(Item23);
- }
- if(object1.get("次数") != null && object1.get("次数") != "") {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item24 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item24.setName("次数");
- Item24.setValue(object1.get("次数").toString());
- view.add(Item24);
- }
- if(object1.get("未税金额") != null && object1.get("未税金额") != "") {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item25 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item25.setName("未税金额");
- Item25.setValue(object1.get("未税金额").toString());
- view.add(Item25);
- }else{
- continue ;
- }
- if(object1.get("税额") != null && object1.get("税额") != "") {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item26 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item26.setName("税额");
- Item26.setValue(object1.get("税额").toString());
- view.add(Item26);
- }
- if(object1.get("费用说明") != null && object1.get("费用说明") != "") {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item27 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item27.setName("费用说明");
- Item27.setValue(object1.get("费用说明").toString());
- view.add(Item27);
- }
- viewList2.add(view);
- }
- formComponentValueVo2.setName("差旅报销");
- formComponentValueVo2.setValue(JSON.toJSONString(viewList2));
- formComponentValueVoList.add(formComponentValueVo2);
- }
- //私车公用报销明细
- if(newMap.get("私车公用报销") != null && JSONArray.fromObject(newMap.get("私车公用报销").toString()).size() > 0) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueVo3 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- List<List<OapiProcessinstanceCreateRequest.FormComponentValueVo>> viewList3 = new ArrayList<>();
- JSONArray jsonArray1 = JSONArray.fromObject(newMap.get("私车公用报销").toString());
- for (int j = 0; j < jsonArray1.size(); j++) {
- List<OapiProcessinstanceCreateRequest.FormComponentValueVo> view = new ArrayList<>();
- net.sf.json.JSONObject object1 = jsonArray1.getJSONObject(j);
- if(object1.get("发生日期") != null && object1.get("结束日期") != null && object1.get("发生日期") != "" && object1.get("结束日期") != ""){
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item31 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- // Item31.setName("[\"发生日期\",\"结束日期\"]");
- // Item31.setValue("[\"2019-02-19\",\"2019-02-25\"]");
- // view.add(Item31);
- JSONArray jsonArray = new JSONArray();
- jsonArray.add(object1.get("发生日期").toString());
- jsonArray.add(object1.get("结束日期").toString());
- Item31.setName("[\"发生日期\",\"结束日期\"]");
- Item31.setValue(jsonArray.toString());
- view.add(Item31);
- }else{
- continue ;
- }
- if(object1.get("报销科目") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item32 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item32.setName("报销科目");
- Item32.setValue(object1.get("报销科目").toString());
- view.add(Item32);
- }else{
- continue ;
- }
- if(object1.get("行程") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item33 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item33.setName("行程");
- Item33.setValue(object1.get("行程").toString());
- view.add(Item33);
- }
- if(object1.get("次数") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item34 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item34.setName("次数");
- Item34.setValue(object1.get("次数").toString());
- view.add(Item34);
- }
- if(object1.get("未税金额") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item35 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item35.setName("未税金额");
- Item35.setValue(object1.get("未税金额").toString());
- view.add(Item35);
- }else{
- continue ;
- }
- if(object1.get("税额") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item36 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item36.setName("税额");
- Item36.setValue(object1.get("税额").toString());
- view.add(Item36);
- }
- if(object1.get("费用说明") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item37 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item37.setName("费用说明");
- Item37.setValue(object1.get("费用说明").toString());
- view.add(Item37);
- }
- // viewList3.add(Arrays.asList(Item31, Item32, Item33, Item34, Item35, Item36, Item37));
- viewList3.add(view);
- }
- formComponentValueVo3.setName("私车公用报销");
- formComponentValueVo3.setValue(JSON.toJSONString(viewList3));
- formComponentValueVoList.add(formComponentValueVo3);
- }
- //其他报销科目明细
- if(newMap.get("其他报销科目") != null && JSONArray.fromObject(newMap.get("其他报销科目").toString()).size() > 0) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueVo4 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- List<List<OapiProcessinstanceCreateRequest.FormComponentValueVo>> viewList4 = new ArrayList<>();
- JSONArray jsonArray1 = JSONArray.fromObject(newMap.get("其他报销科目").toString());
- for (int j = 0; j < jsonArray1.size(); j++) {
- List<OapiProcessinstanceCreateRequest.FormComponentValueVo> view = new ArrayList<>();
- net.sf.json.JSONObject object1 = jsonArray1.getJSONObject(j);
- if(object1.get("发生日期") != null && object1.get("结束日期") != null && object1.get("发生日期") != "" && object1.get("结束日期") != ""){
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item41 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- // Item41.setName("[\"发生日期\",\"结束日期\"]");
- // Item41.setValue("[\"2019-02-19\"");
- // view.add(Item41);
- JSONArray jsonArray = new JSONArray();
- jsonArray.add(object1.get("发生日期").toString());
- jsonArray.add(object1.get("结束日期").toString());
- Item41.setName("[\"发生日期\",\"结束日期\"]");
- Item41.setValue(jsonArray.toString());
- view.add(Item41);
- }else{
- continue ;
- }
- if(object1.get("报销科目") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item42 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item42.setName("报销科目");
- Item42.setValue(object1.get("报销科目").toString());
- view.add(Item42);
- }else{
- continue ;
- }
- if(object1.get("名称") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item43 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item43.setName("名称");
- Item43.setValue(object1.get("名称").toString());
- view.add(Item43);
- }
- if(object1.get("单位") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item44 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item44.setName("单位");
- Item44.setValue(object1.get("单位").toString());
- view.add(Item44);
- }
- if(object1.get("数量") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item48 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item48.setName("数量");
- Item48.setValue(object1.get("数量").toString());
- view.add(Item48);
- }
- if(object1.get("未税金额") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item45 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item45.setName("未税金额");
- Item45.setValue(object1.get("未税金额").toString());
- view.add(Item45);
- }else{
- continue ;
- }
- if(object1.get("税额") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item46 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item46.setName("税额");
- Item46.setValue(object1.get("税额").toString());
- view.add(Item46);
- }
- if(object1.get("费用说明") != null) {
- OapiProcessinstanceCreateRequest.FormComponentValueVo Item47 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
- Item47.setName("费用说明");
- Item47.setValue(object1.get("费用说明").toString());
- view.add(Item47);
- }
- // viewList4.add(Arrays.asList(Item41, Item42, Item43, Item44, Item48, Item45, Item46, Item47));
- viewList4.add(view);
- }
- if(viewList4.size() > 0){
- formComponentValueVo4.setName("其他报销科目");
- formComponentValueVo4.setValue(JSON.toJSONString(viewList4));
- formComponentValueVoList.add(formComponentValueVo4);
- }
- }
- req.setFormComponentValues(formComponentValueVoList);
- String useridshenh = prop.getProperty("shenhe_userid");
- if (!useridshenh.equals("")){
- List<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo> processInstanceApproverVoList = new ArrayList<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo>();
- OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo processInstanceApproverVo = new OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo();
- processInstanceApproverVoList.add(processInstanceApproverVo);
- processInstanceApproverVo.setTaskActionType("NONE");
- processInstanceApproverVo.setUserIds(Arrays.asList(useridshenh));
- req.setApproversV2(processInstanceApproverVoList);
- }
- OapiProcessinstanceCreateResponse rsp = client.execute(req, gettoken);
- entity.setOaId(o);
- entity.setOaNid(rsp.getProcessInstanceId());
- entity.setDeptName(map.get("originator_dept_name").toString());
- entity.setJobNumber(map.get("title").toString());
- entity.setTableType("报销单至银行凭证");
- entity.setSyMessage(rsp.getErrmsg());
- if(rsp.isSuccess()){
- entity.setSyState("true");
- }else{
- entity.setSyState("false");
- }
- try {
- u8Service.saveSyView(entity);
- }catch (Exception e){
- System.out.println("异常2同步报销单至银行凭证");
- }
- // System.out.println("============"+JSON.toJSONString(rsp));
- // System.out.println("============"+JSON.toJSONString(rsp.getErrmsg()));
- // System.out.println("============"+JSON.toJSONString(rsp.isSuccess()));
- }
- }
- }
- public static Map<String,Object> tableToMap4(Map<String,Object> map1) throws Exception {
- List<Map<String,Object>> listMap = (List<Map<String, Object>>) map1.get("form_component_values");
- Map<String,Object> newMap = new HashMap<String,Object>();
- // System.out.println(map1);
- for(Map<String, Object> o:listMap){
- if(o.get("name")==null || StringUtils.isNullOrEmpty(o.get("name").toString())){
- continue;
- }
- if(o.get("name").equals("申请人编码") && o.get("value") != null){
- newMap.put("申请人编码",o.get("value"));
- }
- if(o.get("name").equals("申请人所属部门") && o.get("value") != null){
- newMap.put("申请人所属部门",o.get("value"));
- }
- if(o.get("name").equals("申请人") && o.get("value") != null){
- newMap.put("申请人",o.get("value"));
- }
- if(o.get("name").equals("单据类型") && o.get("value") != null){
- newMap.put("单据类型",o.get("value"));
- }
- if(o.get("name").equals("收款人") && o.get("value") != null){
- JSONArray jsonArray = JSONArray.fromObject(o.get("value").toString());
- if(jsonArray.size() > 0){
- List<Map<String,Object>> listView = new ArrayList<>();
- for(int i=0;i<jsonArray.size();i++){
- net.sf.json.JSONObject object = jsonArray.getJSONObject(i);
- if(object.get("rowValue") == null || object.get("rowValue") == ""){
- continue;
- }
- JSONArray jsonArray1 = JSONArray.fromObject(object.get("rowValue").toString());
- JSONObject map = new JSONObject();
- if(jsonArray1.size() > 0){
- for(int j=0;j<jsonArray1.size();j++){
- net.sf.json.JSONObject object1 = jsonArray1.getJSONObject(j);
- map.put(object1.get("label").toString(),object1.get("value"));
- }
- listView.add(map);
- }
- }
- newMap.put("收款人",listView);
- }
- }
- if(o.get("name").equals("备用金申请") && o.get("value") != null){
- JSONArray jsonArray = JSONArray.fromObject(o.get("value").toString());
- if(jsonArray.size() > 0){
- List<Map<String,Object>> listView = new ArrayList<>();
- for(int i=0;i<jsonArray.size();i++){
- net.sf.json.JSONObject object = jsonArray.getJSONObject(i);
- if(object.get("rowValue") == null || object.get("rowValue") == ""){
- continue;
- }
- JSONArray jsonArray1 = JSONArray.fromObject(object.get("rowValue").toString());
- JSONObject map = new JSONObject();
- if(jsonArray1.size() > 0){
- for(int j=0;j<jsonArray1.size();j++){
- net.sf.json.JSONObject object1 = jsonArray1.getJSONObject(j);
- if(object1.get("label").toString().equals("[\"使用日期\",\"归还日期\"]")){
- JSONArray aa = JSONArray.fromObject(object1.get("value"));
- if(aa.size() > 1){
- map.put("使用日期",aa.get(0));
- map.put("归还日期",aa.get(1));
- }
- }else{
- map.put(object1.get("label").toString(),object1.get("value"));
- }
- }
- listView.add(map);
- }
- }
- newMap.put("备用金申请",listView);
- }
- }
- if(o.get("name").equals("差旅报销") && o.get("value") != null){
- JSONArray jsonArray = JSONArray.fromObject(o.get("value").toString());
- if(jsonArray.size() > 0){
- List<Map<String,Object>> listView = new ArrayList<>();
- for(int i=0;i<jsonArray.size();i++){
- net.sf.json.JSONObject object = jsonArray.getJSONObject(i);
- if(object.get("rowValue") == null || object.get("rowValue") == ""){
- continue;
- }
- JSONArray jsonArray1 = JSONArray.fromObject(object.get("rowValue").toString());
- JSONObject map = new JSONObject();
- if(jsonArray1.size() > 0){
- for(int j=0;j<jsonArray1.size();j++){
- net.sf.json.JSONObject object1 = jsonArray1.getJSONObject(j);
- if(object1.get("label").toString().equals("[\"发生日期\",\"结束日期\"]")){
- JSONArray aa = JSONArray.fromObject(object1.get("value"));
- if(aa.size() > 1){
- map.put("发生日期",aa.get(0));
- map.put("结束日期",aa.get(1));
- }
- }else{
- map.put(object1.get("label").toString(),object1.get("value"));
- }
- }
- listView.add(map);
- }
- }
- newMap.put("差旅报销",listView);
- }
- }
- if(o.get("name").equals("私车公用报销") && o.get("value") != null){
- JSONArray jsonArray = JSONArray.fromObject(o.get("value").toString());
- if(jsonArray.size() > 0){
- List<Map<String,Object>> listView = new ArrayList<>();
- for(int i=0;i<jsonArray.size();i++){
- net.sf.json.JSONObject object = jsonArray.getJSONObject(i);
- if(object.get("rowValue") == null || object.get("rowValue") == ""){
- continue;
- }
- JSONArray jsonArray1 = JSONArray.fromObject(object.get("rowValue").toString());
- JSONObject map = new JSONObject();
- if(jsonArray1.size() > 0){
- for(int j=0;j<jsonArray1.size();j++){
- net.sf.json.JSONObject object1 = jsonArray1.getJSONObject(j);
- if(object1.get("label").toString().equals("[\"发生日期\",\"结束日期\"]")){
- JSONArray aa = JSONArray.fromObject(object1.get("value"));
- if(aa.size() > 1){
- map.put("发生日期",aa.get(0));
- map.put("结束日期",aa.get(1));
- }
- }else{
- map.put(object1.get("label").toString(),object1.get("value"));
- }
- }
- listView.add(map);
- }
- }
- newMap.put("私车公用报销",listView);
- }
- }
- if(o.get("name").equals("其他报销科目") && o.get("value") != null){
- JSONArray jsonArray = JSONArray.fromObject(o.get("value").toString());
- if(jsonArray.size() > 0){
- List<Map<String,Object>> listView = new ArrayList<>();
- for(int i=0;i<jsonArray.size();i++){
- net.sf.json.JSONObject object = jsonArray.getJSONObject(i);
- if(object.get("rowValue") == null || object.get("rowValue") == ""){
- continue;
- }
- JSONArray jsonArray1 = JSONArray.fromObject(object.get("rowValue").toString());
- JSONObject map = new JSONObject();
- if(jsonArray1.size() > 0){
- for(int j=0;j<jsonArray1.size();j++){
- net.sf.json.JSONObject object1 = jsonArray1.getJSONObject(j);
- if(object1.get("label").toString().equals("[\"发生日期\",\"结束日期\"]")){
- JSONArray aa = JSONArray.fromObject(object1.get("value"));
- if(aa.size() > 1){
- map.put("发生日期",aa.get(0));
- map.put("结束日期",aa.get(1));
- }
- }else{
- map.put(object1.get("label").toString(),object1.get("value"));
- }
- }
- listView.add(map);
- }
- }
- newMap.put("其他报销科目",listView);
- }
- }
- }
- return newMap;
- }
- public static Map<String,Object> tableToMap2(Map<String,Object> map1) throws Exception {
- List<Map<String,Object>> listMap = (List<Map<String, Object>>) map1.get("form_component_values");
- Map<String,Object> newMap = new HashMap<String,Object>();
- for(Map<String, Object> o:listMap){
- if(o.get("component_type").equals("RecipientAccountField")){
- Map<String,Object> mapValue = JSONUtils.jsonToMap((String) o.get("ext_value"));
- newMap.put("户名",mapValue.get("name"));
- newMap.put("账号",mapValue.get("cardNo"));
- newMap.put("开户银行",mapValue.get("instName"));
- }
- if(o.get("name")==null || StringUtils.isNullOrEmpty(o.get("name").toString())){
- continue;
- }
- if(o.get("name").equals("收款账号") && o.get("value") != null && newMap.get("账号") == null){
- newMap.put("账号",o.get("value"));
- }
- if(o.get("name").equals("差旅报销") && o.get("value") != null){
- JSONArray jsonArray = JSONArray.fromObject(o.get("value").toString());
- if(jsonArray.size() > 0){
- List<Map<String,Object>> listView = new ArrayList<>();
- for(int i=0;i<jsonArray.size();i++){
- net.sf.json.JSONObject object = jsonArray.getJSONObject(i);
- JSONArray jsonArray1 = JSONArray.fromObject(object.get("rowValue").toString());
- // Map<String,Object> map = new HashMap<>();
- JSONObject map = new JSONObject();
- if(jsonArray1.size() > 0){
- for(int j=0;j<jsonArray1.size();j++){
- net.sf.json.JSONObject object1 = jsonArray1.getJSONObject(j);
- if(object1.get("label").toString().equals("[\"发生日期\",\"结束日期\"]")){
- List<String> aa = (List<String>) object1.get("value");
- if(aa.size() > 1){
- map.put("发生日期",aa.get(0));
- map.put("结束日期",aa.get(1));
- }
- }else if(object1.get("label").toString().equals("报销科目")){
- List<String> aa = (List<String>) object1.get("value");
- if(aa.size() > 0){
- map.put("报销科目",aa.get(0));
- }
- }else{
- map.put(object1.get("label").toString(),object1.get("value"));
- }
- }
- listView.add(map);
- }
- }
- newMap.put("差旅报销",listView);
- }
- }
- if(o.get("name").equals("私车公用报销") && o.get("value") != null){
- JSONArray jsonArray = JSONArray.fromObject(o.get("value").toString());
- if(jsonArray.size() > 0){
- List<Map<String,Object>> listView = new ArrayList<>();
- for(int i=0;i<jsonArray.size();i++){
- net.sf.json.JSONObject object = jsonArray.getJSONObject(i);
- JSONArray jsonArray1 = JSONArray.fromObject(object.get("rowValue").toString());
- // Map<String,Object> map = new HashMap<>();
- JSONObject map = new JSONObject();
- if(jsonArray1.size() > 0){
- for(int j=0;j<jsonArray1.size();j++){
- net.sf.json.JSONObject object1 = jsonArray1.getJSONObject(j);
- if(object1.get("label").toString().equals("[\"发生日期\",\"结束日期\"]")){
- List<String> aa = (List<String>) object1.get("value");
- if(aa.size() > 1){
- map.put("发生日期",aa.get(0));
- map.put("结束日期",aa.get(1));
- }
- }else if(object1.get("label").toString().equals("报销科目")){
- List<String> aa = (List<String>) object1.get("value");
- if(aa.size() > 0){
- map.put("报销科目",aa.get(0));
- }
- }else{
- map.put(object1.get("label").toString(),object1.get("value"));
- }
- }
- listView.add(map);
- }
- }
- newMap.put("私车公用报销",listView);
- }
- }
- if(o.get("name").equals("其他报销科目") && o.get("value") != null){
- JSONArray jsonArray = JSONArray.fromObject(o.get("value").toString());
- if(jsonArray.size() > 0){
- List<Map<String,Object>> listView = new ArrayList<>();
- for(int i=0;i<jsonArray.size();i++){
- net.sf.json.JSONObject object = jsonArray.getJSONObject(i);
- JSONArray jsonArray1 = JSONArray.fromObject(object.get("rowValue").toString());
- // Map<String,Object> map = new HashMap<>();
- JSONObject map = new JSONObject();
- if(jsonArray1.size() > 0){
- for(int j=0;j<jsonArray1.size();j++){
- net.sf.json.JSONObject object1 = jsonArray1.getJSONObject(j);
- if(object1.get("label").toString().equals("[\"发生日期\",\"结束日期\"]")){
- List<String> aa = (List<String>) object1.get("value");
- if(aa.size() > 1){
- map.put("发生日期",aa.get(0));
- map.put("结束日期",aa.get(1));
- }
- }else if(object1.get("label").toString().equals("报销科目")){
- List<String> aa = (List<String>) object1.get("value");
- if(aa.size() > 0){
- map.put("报销科目",aa.get(0));
- }
- }else{
- map.put(object1.get("label").toString(),object1.get("value"));
- }
- }
- listView.add(map);
- }
- }
- newMap.put("其他报销科目",listView);
- }
- }
- }
- // System.out.println("=========================");
- // System.out.println("=========================");
- return newMap;
- }
- public static Map<String,Object> tableToMap3(Map<String,Object> map1){
- List<Map<String,Object>> listMap = (List<Map<String, Object>>) map1.get("form_component_values");
- // System.out.println(listMap);
- Map<String,Object> newMap = new HashMap<>();
- int st = 0;
- for(Map<String, Object> o:listMap){
- // System.out.println(o);
- // System.out.println("=========================");
- if(o.get("name")==null || StringUtils.isNullOrEmpty(o.get("name").toString())){
- continue;
- }
- if(o.get("name").equals("差旅报销")){
- st = 1;
- }
- if(o.get("name").equals("私车公用报销")){
- st = 2;
- }
- if(o.get("name").equals("其他报销科目")){
- st = 3;
- }
- if(st == 1 && o.get("name").equals("合计")){
- if(newMap.containsKey("差旅报销")){
- newMap.put("差旅报销",Double.valueOf(o.get("value").toString())+Double.valueOf(newMap.get("差旅报销").toString()) );
- }else {
- newMap.put("差旅报销",o.get("value"));
- }
- }
- if(st == 2 && o.get("name").equals("合计")){
- if(newMap.containsKey("私车公用报销")){
- newMap.put("私车公用报销",Double.valueOf(o.get("value").toString())+Double.valueOf(newMap.get("私车公用报销").toString()) );
- }else {
- newMap.put("私车公用报销",o.get("value"));
- }
- }
- if(st == 3 && o.get("name").equals("合计")){
- if(newMap.containsKey("其他报销科目")){
- newMap.put("其他报销科目",Double.valueOf(o.get("value").toString())+Double.valueOf(newMap.get("其他报销科目").toString()) );
- }else {
- newMap.put("其他报销科目",o.get("value"));
- }
- }
- }
- return newMap;
- }
- /**
- * 通过部门名称对应u8科目编码
- * @param dept
- * @return
- */
- public static String getDeptCode(String dept,String type){
- if(dept.equals("营销设计中心-总经理室") || dept.equals("营销设计中心-采购部") || dept.equals("共享中心-财务部") || dept.equals("共享中心-人事行政部")){
- if("差旅报销".equals(type)){
- return "66020704";
- }else if("私车公用报销".equals(type)){
- return "66020702";
- }else{
- return "66020706";
- }
- }else if(dept.equals("营销设计中心-销售部")){
- if("差旅报销".equals(type)){
- return "6601070104";
- }else if("私车公用报销".equals(type)){
- return "6601070102";
- }else{
- return "6601070106";
- }
- }else if(dept.equals("营销设计中心-设计部")){
- if("差旅报销".equals(type)){
- return "66040704";
- }else if("私车公用报销".equals(type)){
- return "66040702";
- }else{
- return "66040706";
- }
- }else if(dept.equals("营销设计中心-项目部") || dept.equals("营销设计中心-市场部")){
- if("差旅报销".equals(type)){
- return "6601070204";
- }else if("私车公用报销".equals(type)){
- return "6601070202";
- }else{
- return "6601070206";
- }
- }
- return null;
- }
- /**
- * 根据人员编码查询u8人员信息
- * @param id
- * @param ds
- */
- public static String getPerson(String id,String ds){
- Properties prop = PropUtil.getProperties("/config.properties");
- String to_account = prop.getProperty("to_account");
- PersonService par = new PersonService();
- String code = "";
- try {
- JSONObject record = par.get(id, to_account,ds);
- if(record.get("errcode").equals("0")){
- JSONObject record1 = (JSONObject) record.get("person");
- code = record1.get("cdept_num").toString();
- }
- // System.out.println(record);
- } catch (OpenAPIException e) {
- return code;
- }
- return code;
- }
- /**
- * 获取钉钉企业内部应用的access_token
- */
- public static void getToken(){
- try {
- Properties prop = PropUtil.getProperties("/config.properties");
- String appkey = prop.getProperty("ding_appkey");
- String appsecret = prop.getProperty("ding_appsecret");
- DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
- OapiGettokenRequest req = new OapiGettokenRequest();
- req.setHttpMethod("GET");
- req.setAppkey(appkey);
- req.setAppsecret(appsecret);
- OapiGettokenResponse rsp = client.execute(req);
- Map<String,String> map;
- map = toMap(rsp.getBody());
- if(map.get("errcode").equals("0")){
- gettoken = map.get("access_token");
- }else{
- gettoken = "error";
- }
- } catch (ApiException | JSONException e) {
- e.printStackTrace();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static Map toMap(String jsonString) throws JSONException {
- org.springframework.boot.configurationprocessor.json.JSONObject jsonObject = new org.springframework.boot.configurationprocessor.json.JSONObject(jsonString);
- Map result = new HashMap();
- Iterator iterator = jsonObject.keys();
- String key = null;
- String value = null;
- while (iterator.hasNext()) {
- key = (String) iterator.next();
- value = jsonObject.getString(key);
- result.put(key, value);
- }
- return result;
- }
- public static void main(String[] args) throws Exception {
- // autoOABankReceipt();
- // autoReimbursement();
- // autoReimbursementNew("js");
- // String aa = "";
- // if("12334".contains("1")){
- // System.out.println("sssssssssss");
- // }
- // BigDecimal aa = new BigDecimal("10");
- // BigDecimal multiply = aa.multiply(BigDecimal.valueOf(0.09)).multiply(aa);
- // System.out.println(multiply);
- // DingdingOpenInterface dingdingOpenInterface = new DingdingOpenInterface();
- // Properties prop = PropUtil.getProperties("/config.properties");
- // String PROC = prop.getProperty("bx_process_code");
- // String PROC1 = prop.getProperty("byj_process_code");
- // List<String> list = dingdingOpenInterface.getOrderIdList2(PROC,-2);
- // List<String> list1 = dingdingOpenInterface.getOrderIdList2(PROC1,-7);
- // System.out.println(list);
- // System.out.println("========1======");
- // Thread.currentThread().sleep(5000);//延迟5秒
- // Thread.sleep(3000);//与上行代码无区别
- // System.out.println("========2======");
- // System.out.println(list1);
- }
- }
|