From bc45de375df92f497ac891f2d06f6566761d7be9 Mon Sep 17 00:00:00 2001 From: xiechao <768159101@qq.com> Date: Mon, 6 May 2024 16:20:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=B9=E7=94=A8=E5=8D=95=E6=8D=AE=E6=92=A4?= =?UTF-8?q?=E9=94=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xxgl/xmkpgl/fybx/FybxController.java | 62 ++++++++++++++++++- .../xxgl/xmkpgl/cgfp/BoCgfpServiceImpl.java | 41 +++++++----- .../static/zzsxt/xxgl/xmkpgl/fybx/index.js | 52 ++++++++++++++++ .../zzsxt/xxgl/xmkpgl/fybx/index.html | 2 + 4 files changed, 137 insertions(+), 20 deletions(-) diff --git a/src/main/java/net/htjs/pt4/zzsxt/controller/xxgl/xmkpgl/fybx/FybxController.java b/src/main/java/net/htjs/pt4/zzsxt/controller/xxgl/xmkpgl/fybx/FybxController.java index f18069f..5681b3b 100644 --- a/src/main/java/net/htjs/pt4/zzsxt/controller/xxgl/xmkpgl/fybx/FybxController.java +++ b/src/main/java/net/htjs/pt4/zzsxt/controller/xxgl/xmkpgl/fybx/FybxController.java @@ -39,6 +39,10 @@ public class FybxController extends BaseController { final IFybxService fybxService; final IBoKpsqService iBoKpsqService; +// final String F7_URL = "http://maxkiddie.w1.luyouxia.net"; +// final String F7_URL = "https://f7-demo.jchl.com"; + final String F7_URL = "http://8.130.133.196:9003"; + @RequestMapping(value = "index", method = RequestMethod.GET) public String index() { return "zzsxt/xxgl/xmkpgl/fybx/index"; @@ -175,7 +179,7 @@ public class FybxController extends BaseController { // 97835d6a607e1b83cf08f11a90dcb16820e5e8a3 String token = getToken(); - String apiUrl = "http://127.0.0.1:8989/taxshare/api/jxApi/fydjbx"; + String apiUrl = F7_URL + "/taxshare/api/jxApi/fydjbx"; for (int i = 0; i < dataList.size(); i++) { JSONObject data = dataList.getJSONObject(i); JSONObject reqData = this.packageRequestData(data); @@ -206,15 +210,67 @@ public class FybxController extends BaseController { return getResult(mapModel, code, msg, callback); } + @RequestMapping(value = "bxwc", produces = "application/json;charset=UTF-8") + @ResponseBody + public Object bxwc(@RequestParam Map params, String callback) throws SaveException { + int code = 1; + String msg = "操作成功!"; + Map mapModel = new HashMap(); + + JSONArray dataList = JSONUtil.parseArray(params.get("param")); + String bxzt = params.get("bxzt"); + + if (dataList == null || dataList.isEmpty()) { + return getResult(mapModel, 1, "报销费用数据为空", callback); + } + + String token = getToken(); + + String apiUrl = F7_URL + "/taxshare/api/jxApi/syncFydjBxzt"; + for (int i = 0; i < dataList.size(); i++) { + JSONObject data = dataList.getJSONObject(i); + + JSONObject reqData = new JSONObject(); + + reqData.put("djbh", data.get("DJBH")); // 单据编号 + reqData.put("qysh", data.get("KHSH")); // 客户税号 + reqData.put("bxzt", bxzt); // 客户税号 + + String param = JSONUtil.toJsonStr(reqData); + log.info("请求路径及参数:\n\t{} \n\t{}", apiUrl, param); + String res = HttpRequest.post(apiUrl) + .header("X-Access-Token", token) + .body(param) + .execute().body(); + cn.hutool.json.JSONObject resObj = JSONUtil.parseObj(res); + if(!"200".equals(resObj.getStr("code"))){ + throw new RuntimeException(res); + } + + log.info("返回结果:{}", JSONUtil.toJsonPrettyStr(resObj)); + +// String result = HttpClientUtil.postRequest(apiUrl, param, "json", "utf-8", 0, 0); +// JSONObject resultJson = JSONUtil.parseObj(result); + + Map updateMap = new HashMap(); + updateMap.put("FYID", data.get("FYID")); + updateMap.put("BXZT", bxzt); + + this.fybxService.updateBxztById(updateMap); + } + + + return getResult(mapModel, code, msg, callback); + } + private String getToken(){ //获取token cn.hutool.json.JSONObject tokenJsonObReq = new cn.hutool.json.JSONObject(); tokenJsonObReq.put("app_key","90d0fbd91d437658d2bdbf66f3ca4f61"); tokenJsonObReq.put("app_secret","97835d6a607e1b83cf08f11a90dcb16820e5e8a3"); - String post = HttpRequest.post("http://127.0.0.1:8989/taxshare/api/comApi/getToken") + String post = HttpRequest.post(F7_URL + "/taxshare/api/comApi/getToken") .header("Content-Type", "application/json") .body(tokenJsonObReq).execute().body(); -// String post = HttpUtil.post("https://f7-demo.jchl.com/taxshare/api/comApi/getToken", tokenJsonObReq); cn.hutool.json.JSONObject tokenJsonObjRes = JSONUtil.parseObj(post); String token = tokenJsonObjRes.getJSONObject("result").getStr("token"); diff --git a/src/main/java/net/htjs/pt4/zzsxt/service/impl/xxgl/xmkpgl/cgfp/BoCgfpServiceImpl.java b/src/main/java/net/htjs/pt4/zzsxt/service/impl/xxgl/xmkpgl/cgfp/BoCgfpServiceImpl.java index 11ac413..e201d62 100644 --- a/src/main/java/net/htjs/pt4/zzsxt/service/impl/xxgl/xmkpgl/cgfp/BoCgfpServiceImpl.java +++ b/src/main/java/net/htjs/pt4/zzsxt/service/impl/xxgl/xmkpgl/cgfp/BoCgfpServiceImpl.java @@ -60,29 +60,36 @@ public class BoCgfpServiceImpl implements IBoCgfpService { jsonString = jsonString.replace("\\", "").replace("\"{", "{").replace("}\"", "}"); - Map fpMap = JSON.parseObject(jsonString, Map.class); + List list = JSON.parseArray(jsonString, Map.class); - Map fpxx = (Map) fpMap.get("fpxx"); - Map fpxxMap = new HashMap<>(); + for (Map fpMap : list) { - fpxxMap.put("FPID", Get16BM.getUnquieID()); - fpxxMap.put("FPDM",fpxx.get("fpdm")); - fpxxMap.put("FPHM",fpxx.get("fphm")); - fpxxMap.put("KPRQ",fpxx.get("kprq")); - fpxxMap.put("JEBHS",fpxx.get("hjje")); - fpxxMap.put("SE",fpxx.get("hjse")); - fpxxMap.put("JSHJ",fpxx.get("jshj")); - fpxxMap.put("FYLX",fpxx.get("fylx")); + Map fpxx = (Map) fpMap.get("fpxx"); - Map map = fphqMapper.select_JX_FPXX_BY_DMHM(fpxxMap); + Map fpxxMap = new HashMap<>(); - if (map == null){ - return fphqMapper.insertZZSGL_JX_FPXX_FPXZ(fpxxMap); - }else { - fpxxMap.put("fpid",map.get("fpid")); - return fphqMapper.updateZZSGL_JX_FPXX_FPXZ(fpxxMap); + fpxxMap.put("FPID", Get16BM.getUnquieID()); + fpxxMap.put("FPDM",fpxx.get("fpdm")); + fpxxMap.put("FPHM",fpxx.get("fphm")); + fpxxMap.put("KPRQ",fpxx.get("kprq")); + fpxxMap.put("JEBHS",fpxx.get("hjje")); + fpxxMap.put("SE",fpxx.get("hjse")); + fpxxMap.put("JSHJ",fpxx.get("jshj")); + fpxxMap.put("FYLX",fpxx.get("fylx")); + + Map map = fphqMapper.select_JX_FPXX_BY_DMHM(fpxxMap); + + if (map == null){ + fphqMapper.insertZZSGL_JX_FPXX_FPXZ(fpxxMap); + }else { + fpxxMap.put("fpid",map.get("fpid")); + fphqMapper.updateZZSGL_JX_FPXX_FPXZ(fpxxMap); + } } + + return 0; + } @Override diff --git a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index.js b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index.js index 723c91e..f1aa037 100644 --- a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index.js +++ b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index.js @@ -49,6 +49,14 @@ var fybx_list = (function () { $("#push").click(function () { curSeg.onPush(); }); + // 发起报销 + $("#cx").click(function () { + curSeg.onBxwc('1'); + }); + // 发起报销 + $("#bxwc").click(function () { + curSeg.onBxwc('3'); + }); }; var getCols = function () { var colsObj = [ @@ -332,6 +340,50 @@ var fybx_list = (function () { } }) }, + + onBxwc: function (bxzt) { + var checkedList = layui.table.checkStatus('table_sb').data; + if (!checkedList || checkedList.length === 0) { + sctTools.errorMsg('请选择数据!'); + return false; + } + let bxztjy = []; + for (let i = 0; i < checkedList.length; i++) { + let obj = checkedList[i]; + if (obj.BXZT != '2'){ + bxztjy.push(i) + } + } + if (bxztjy.length > 0){ + sctTools.errorMsg('请选择报销状态为报销中的数据!'); + return false; + } + + $.ajax({ + url: "/web/xxgl/xmkpgl/fybx/bxwc", + type : "POST", + dataType: "json", + data: { + param: JSON.stringify(checkedList), + bxzt: bxzt, + }, + success: function (res) { + console.log(res); + curSeg.onQuery(); + if (res.code == '0') { + layer.msg(res.msg, { + icon: 6, + time: 3000 + }); + } else { + layer.msg(res.msg, { + icon: 2, + time: 3000 + }); + } + } + }) + }, //查看开票申请信息页面 onOpen: function (data, BZ) { top.window.iframeLayerData = {FYBX_obj: data}; diff --git a/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index.html b/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index.html index 443986a..fa6e71f 100644 --- a/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index.html +++ b/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index.html @@ -30,6 +30,8 @@