From 589310505e4fb17461fcb99ef12ef79665a6b63c Mon Sep 17 00:00:00 2001 From: "{jiaxudong3333@163.com}" Date: Tue, 23 Apr 2024 00:27:46 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=B9=E7=94=A8=E6=8A=A5=E9=94=80=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xxgl/xmkpgl/fybx/FybxController.java | 88 ++++++ .../dao/xxgl/xmkpgl/fybx/FybxMapper.java | 2 + .../xxgl/xmkpgl/fybx/FybxServiceImpl.java | 5 + .../xxgl/xmkpgl/fybx/IFybxService.java | 2 + .../mapper/mysql/xxgl/FybxMapper.xml | 15 + .../static/zzsxt/xxgl/xmkpgl/fybx/index.js | 262 +++--------------- .../zzsxt/xxgl/xmkpgl/fybx/index_edit.js | 5 +- .../zzsxt/xxgl/xmkpgl/fybx/index.html | 1 + 8 files changed, 154 insertions(+), 226 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 80b453c..65d3cfe 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 @@ -2,10 +2,16 @@ package net.htjs.pt4.zzsxt.controller.xxgl.xmkpgl.fybx; import cn.hutool.core.map.MapUtil; +import cn.hutool.json.JSONUtil; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONArray; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import net.htjs.pt4.core.BaseController; +import net.htjs.pt4.core.entity.SaveException; import net.htjs.pt4.zzsxt.service.xxgl.xmkpgl.fybx.IFybxService; +import net.htjs.pt4.zzsxt.service.xxgl.xmkpgl.kpsq.IBoKpsqService; +import net.htjs.pt4.zzsxt.tools.HttpClientUtil; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -27,6 +33,7 @@ import java.util.Map; public class FybxController extends BaseController { final IFybxService fybxService; + final IBoKpsqService iBoKpsqService; @RequestMapping(value = "index", method = RequestMethod.GET) public String index() { @@ -110,6 +117,87 @@ public class FybxController extends BaseController { return getResult(mapModel, code, msg, callback); } + @RequestMapping(value = "fqbx", produces = "application/json;charset=UTF-8") + @ResponseBody + public Object sendJxpz(@RequestParam Map params, String callback) throws SaveException { + int code = 1; + String msg = "操作成功!"; + Map mapModel = new HashMap(); + + JSONArray dataList = JSONUtil.parseArray(params.get("param")); + + if (dataList == null || dataList.isEmpty()) { + return getResult(mapModel, 1, "报销费用数据为空", callback); + } + + Map xtcsMap = new HashMap<>(); + xtcsMap.put("CSMC", "FYBX_TS_URL"); + Map xycsMap = iBoKpsqService.selectZZSGL_XT_CSSZ(xtcsMap); + String apiUrl = MapUtil.getStr(xycsMap, "CSZ"); + for (int i = 0; i < dataList.size(); i++) { + JSONObject data = dataList.getJSONObject(i); + JSONObject reqData = this.packageRequestData(data); + String param = JSONUtil.toJsonStr(reqData); + log.info("请求路径及参数:\n\t{} \n\t{}", apiUrl, param); + String result = HttpClientUtil.postRequest(apiUrl, param, "json", "utf-8", 0, 0); + JSONObject resultJson = JSONUtil.parseObj(result); + log.info("返回结果:{}", JSONUtil.toJsonPrettyStr(resultJson)); + } + + return getResult(mapModel, code, msg, callback); + } + + private JSONObject packageRequestData(JSONObject data) throws SaveException { + JSONObject fydj = new JSONObject(); + fydj.put("djbh", data.get("DJBH")); // 单据编号 + fydj.put("djrq", data.get("DJRQ")); // 单据日期 格式:yyyy-MM-dd + fydj.put("djlx", data.get("DJLX")); // 单据类型 + fydj.put("djje", data.get("DJJE")); // 单据金额 + fydj.put("djse", data.get("DJSE")); // 单据税额 + fydj.put("bxr", data.get("BXR")); // 报销人 + fydj.put("bxsj", data.get("BXSJ")); // 报销时间 yyyy-MM-dd HH:mm:ss + fydj.put("bxsy", data.get("BXSY")); // 报销事由 + fydj.put("bxzt", data.get("BXZT")); // 报销状态:1.未报销 2.报销中 3.已报销 + fydj.put("bz", data.get("BZ")); // 备注 + fydj.put("qysh", data.get("KHSH")); // 客户税号 + fydj.put("qymc", data.get("KHMC")); // 客户名称 + fydj.put("zw", data.get("ZW")); // 职位 + + Map queryFydjmxMap = new HashMap(); + queryFydjmxMap.put("FYID", data.get("FYID")); + + JSONArray mxList = new JSONArray(); + fydj.put("mxList", mxList); + List mx_list = this.fybxService.selectZZSGL_JX_FYDJMX(queryFydjmxMap); + for (Map mx_map : mx_list) { + JSONObject fydjmx = new JSONObject(); + fydjmx.put("xh", mx_map.get("XH")); + fydjmx.put("fpzs", mx_map.get("FPZS")); + fydjmx.put("fylx", mx_map.get("FYLX")); + fydjmx.put("fysy", mx_map.get("FYSY")); + fydjmx.put("hjje", mx_map.get("HJJE")); + fydjmx.put("hjse", mx_map.get("HJSE")); + fydjmx.put("jshj", mx_map.get("JSHJ")); + + + JSONArray fpList = new JSONArray(); + fydjmx.put("fpList", fpList); + List list = this.fybxService.selectZZSGL_JX_FYDJ_MX_FP(queryFydjmxMap); + for (Map map : list) { + JSONObject fymxfp = new JSONObject(); + fymxfp.put("fpdm", map.get("FPDM")); // 发票代码 + fymxfp.put("fphm", map.get("FPHM")); // 发票号码 + fymxfp.put("jshj", map.get("JSHJ")); // 价税合计 + + fpList.add(fymxfp); + } + mxList.add(fydjmx); + } + + return fydj; + } + + /* DJBH VARCHAR ( 50 ) COMMENT '单据编号', DJRQ DATETIME COMMENT '单据日期', diff --git a/src/main/java/net/htjs/pt4/zzsxt/dao/xxgl/xmkpgl/fybx/FybxMapper.java b/src/main/java/net/htjs/pt4/zzsxt/dao/xxgl/xmkpgl/fybx/FybxMapper.java index 1fe01c2..833715b 100644 --- a/src/main/java/net/htjs/pt4/zzsxt/dao/xxgl/xmkpgl/fybx/FybxMapper.java +++ b/src/main/java/net/htjs/pt4/zzsxt/dao/xxgl/xmkpgl/fybx/FybxMapper.java @@ -18,4 +18,6 @@ public interface FybxMapper { Integer insertZZSGL_JX_FYDJ_MX_FP(List list); List selectZZSGL_JX_FYDJMX(Map userMap); + + List selectZZSGL_JX_FYDJ_MX_FP(Map userMap); } diff --git a/src/main/java/net/htjs/pt4/zzsxt/service/impl/xxgl/xmkpgl/fybx/FybxServiceImpl.java b/src/main/java/net/htjs/pt4/zzsxt/service/impl/xxgl/xmkpgl/fybx/FybxServiceImpl.java index bd78f2b..9ffa164 100644 --- a/src/main/java/net/htjs/pt4/zzsxt/service/impl/xxgl/xmkpgl/fybx/FybxServiceImpl.java +++ b/src/main/java/net/htjs/pt4/zzsxt/service/impl/xxgl/xmkpgl/fybx/FybxServiceImpl.java @@ -87,4 +87,9 @@ public class FybxServiceImpl implements IFybxService { throw new SaveException(e); } } + + @Override + public List selectZZSGL_JX_FYDJ_MX_FP(Map userMap) { + return this.fybxMapper.selectZZSGL_JX_FYDJ_MX_FP(userMap); + } } diff --git a/src/main/java/net/htjs/pt4/zzsxt/service/xxgl/xmkpgl/fybx/IFybxService.java b/src/main/java/net/htjs/pt4/zzsxt/service/xxgl/xmkpgl/fybx/IFybxService.java index d0cc717..47bbbb7 100644 --- a/src/main/java/net/htjs/pt4/zzsxt/service/xxgl/xmkpgl/fybx/IFybxService.java +++ b/src/main/java/net/htjs/pt4/zzsxt/service/xxgl/xmkpgl/fybx/IFybxService.java @@ -13,4 +13,6 @@ public interface IFybxService { Integer insert(Map userMap); List selectZZSGL_JX_FYDJMX(Map userMap) throws SaveException; + + List selectZZSGL_JX_FYDJ_MX_FP(Map userMap); } diff --git a/src/main/resources/mapper/mysql/xxgl/FybxMapper.xml b/src/main/resources/mapper/mysql/xxgl/FybxMapper.xml index 33bd807..2d5ae6d 100644 --- a/src/main/resources/mapper/mysql/xxgl/FybxMapper.xml +++ b/src/main/resources/mapper/mysql/xxgl/FybxMapper.xml @@ -70,4 +70,19 @@ + + \ No newline at end of file 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 1b98ebc..6a09da6 100644 --- a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index.js +++ b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index.js @@ -88,24 +88,10 @@ var kpsq_list = (function () { $('#add').click(function () { curSeg.onAdd(); }); - - //添加开票申请信息 - $('#sta').click(function () { - layui.use('table', function () { - var table = layui.table; - var selectData = table.checkStatus('table_sb').data; - if (selectData.length < 1) { - layui.use('layer', function () { - var layer = layui.layer; - layer.ready(function () { - top.layer.alert("请选择一条开票申请!", {icon: 0, closeBtn: 0}); - }) - }); - return false; - } - curSeg.onStart(selectData); - }) - }) + // 发起报销 + $("#push").click(function () { + curSeg.onPush(); + }); }; var getCols = function () { var colsObj = [ @@ -209,72 +195,6 @@ var kpsq_list = (function () { $(window).unload(function () { }); }, - - onTbkp: function (hcfp, kplx) { - layui.use("table", function () { - var table = layui.table; - var selectData = table.checkStatus('table_sb').data; - if (selectData == null || selectData == '' || selectData == undefined) { - layui.use('layer', function () { - var layer = layui.layer; - layer.ready(function () { - top.layer.alert("请选择一条记录!", {icon: 0, closeBtn: 0}); - }) - }) - return; - } else if (selectData.length >= 2) { - layui.use('layer', function () { - var layer = layui.layer; - layer.ready(function () { - top.layer.alert("同步开票,请选一条数据!", {icon: 0, closeBtn: 0}); - }) - }) - return; - } - if (kpsx == "sybkp") { - if (selectData[0].SQZT != 2) { - parent.layer.msg("此单据未审核", {icon: 6, time: 3000}); - return; - } - } - baseTools.xhrAjax({ - url: "/web/xxgl/xmkpgl/kpsq/tbkp.do", - params: {"SQID": selectData[0].SQID, kpzt: hcfp, kplx: kplx}, - callback: [function (jsonObj, xhrArgs) { - if (jsonObj.code == 0) { - if (kpsx == "qdtbkp") { - var intervalTimes = 0; - var intervalIndex = setInterval(function () { - $.get("/web/xxgl/xmkpgl/kpsq/get.do", {sqid: selectData[0].SQID}, function (res) { - if (res.code == 0) { - if (res.data.fphm) { - clearInterval(intervalIndex) - parent.layer.msg("开票成功", {icon: 6, time: 3000}); - sctTools.successMsg(jsonObj.msg); - layui.table.reload("table_sb", {page: {curr: $(".layui-laypage-em").next().html()}}); - } else if (res.data.msg) { - clearInterval(intervalIndex) - parent.layer.msg(res.data.msg); - } - } - intervalTimes++; - if (intervalTimes >= 10) { - clearInterval(intervalIndex) - parent.layer.msg("开票失败"); - } - }) - }, 1000) - } else { - sctTools.successMsg(jsonObj.msg); - layui.table.reload("table_sb", {page: {curr: $(".layui-laypage-em").next().html()}}); - } - } else if (jsonObj.code == -1) { - sctTools.errorMsg(jsonObj.msg); - } - }] - }); - }) - }, reOnLoad: function () { //执行重载 layui.use('table', function () { @@ -297,13 +217,6 @@ var kpsq_list = (function () { $("#form_search")[0].reset(); }, - //点击左侧导航项目树节点的回调事件 - onZzjgZtreeCallBack: function (node) { - selectXmObj = node; - top.window.iframeLayerData = selectXmObj; - curSeg.onQuery(); - }, - /** *@Author Blue shaoming *@Description 查询 @@ -391,134 +304,6 @@ var kpsq_list = (function () { }); }, - //生成负数单据 - onAddFsdj: function (data) { - $.ajax({ - url: "/web/xxgl/xmkpgl/kpsq/addFS_ZZSGL_XX_KPSQ.do", - data: data, - dataType: "json", - success: function (res) { - if (res.code == '1') { - layer.msg("生成负数单据成功", { - icon: 6, - time: 3000 - }); - layui.table.reload("table_sb", {page: {curr: $(".layui-laypage-em").next().html()}}); - } else { - layer.msg(res.msg, { - icon: 2, - time: 3000 - }); - } - } - }) - }, - - onEwm: function (data) { - top.window.iframeLayerData = data[0]; - top.sctTools.openPage({ - type: 2, - title: '抬头二维码', - maxmin: false, - shadeClose: false, //点击遮罩关闭层 - area: ['500px', '400px'], - content: '/web/xxgl/xmkpgl/kpsq/QRCode_index', - btnAlign: 'c', - yes: function (index, layero) { - parent.layer.close(parent.layer.index); - }, - }); - }, - //添加开票申请页面 - onFyjn: function (data) { - top.sctTools.openPage({ - type: 2, - id: 'win_kpsq_addfpxx', - title: '费用缴纳', - maxmin: true, - shadeClose: true, //点击遮罩关闭层 - area: ['80%', '75%'], - content: '/web/xxgl/xmkpgl/kpsq/index_fyjn', - btn: ['确定', '关闭'], - btnAlign: 'c', - success: function (layero, index) { - var $doc = layero.find('iframe').contents(); - - $doc.find('#SQID').val(data.SQID); - $doc.find('#qymc').val(data.QYMC); - $doc.find('#qysh').val(data.QYSH); - - if (data.FPLXDM == "004") { - $doc.find('#fplx').val("专票"); - } else if (data.FPLXDM == "007") { - $doc.find('#fplx').val("普票"); - } else { - $doc.find('#fplx').val(data.FPLXDM); - } - - - $doc.find('#htje').val(data.HTJE + "元"); - $doc.find('#zfje').val(data.ZFJE + "元"); - }, - yes: function (index, layero) { - var $doc = layero.find('iframe').contents(); - var SQID = $doc.find('#SQID').val(); - var JJZHH = $doc.find('#JJZHH').val(); - - console.log($doc.find('input[name="pay_type"]:checked').val()); - - if ($doc.find('input[name="pay_type"]:checked').val() == "1") { - top.layui.layer.confirm('请确认已扫码支付', {icon: 3, title: '提示'}, function (index) { - //do something - - parent.layer.closeAll(); - }); - - return; - } else { - if (JJZHH == undefined || JJZHH == null || JJZHH == '') { - top.layui.layer.msg("请输入基金账户号", { - icon: 2, - time: 3000 - }); - return; - } - } - - $.ajax({ - url: "/web/xxgl/xmkpgl/kpsq/payKpsqAndUpdateStatus.do", - data: { - SQID: SQID, - JJZHH: JJZHH - }, - dataType: "json", - success: function (res) { - curSeg.reOnLoad(); - if (res.code == '1') { - top.layui.layer.msg("操作成功", { - icon: 6, - time: 3000 - }, function () { - parent.layer.closeAll(); - }); - - } else { - layer.msg("操作失败", { - icon: 2, - time: 3000 - }); - } - } - }) - - }, - btn2: function (index, layero) { - parent.layer.closeAll(); - } - }); - - }, - // 添加页面 onAdd: function () { top.window.iframeLayerData = kpsx; @@ -564,7 +349,8 @@ var kpsq_list = (function () { }); return false; } else if (data.length === 1) { - if (data.BXZT === 3) { + var row = data[0]; + if (row.BXZT === 3) { layui.use('layer', function () { var layer = layui.layer; layer.ready(function () { @@ -573,7 +359,7 @@ var kpsq_list = (function () { }); return false; } - if (data.BXZT === 2) { + if (row.BXZT === 2) { layui.use('layer', function () { var layer = layui.layer; layer.ready(function () { @@ -582,7 +368,8 @@ var kpsq_list = (function () { }); return false; } - top.window.iframeLayerData = {FYBX_obj: data[0]}; + row.BJRQ = new Date(row.BJRQ); + top.window.iframeLayerData = {FYBX_obj: row}; top.sctTools.openPage({ type: 2, id: 'win_kpsq_editfpxx', @@ -605,6 +392,37 @@ var kpsq_list = (function () { } }, + onPush: function (data) { + var checkedList = layui.table.checkStatus('table_sb').data; + if (!checkedList || checkedList.length === 0) { + sctTools.errorMsg('请选择需要推送的数据!'); + return false; + } + + $.ajax({ + url: "/web/xxgl/xmkpgl/fybx/fqbx", + type : "POST", + dataType: "json", + data: { + param: JSON.stringify(checkedList), + }, + 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/static/zzsxt/xxgl/xmkpgl/fybx/index_edit.js b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_edit.js index 4ec03a8..5d4c0ec 100644 --- a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_edit.js +++ b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_edit.js @@ -113,8 +113,6 @@ var kpsq_edit =(function(){ }); }, - - // 保存数据 onSave : function(field){ var url = "/web/xxgl/xmkpgl/fybx/insert";// 新增费用报销,新增和修改页面保存操作调用的是同一个后台方法 @@ -195,8 +193,7 @@ var kpsq_edit =(function(){ baseTools.xhrAjax({ url: url, params: { - SQID: selectedKpsqObj.SQID, - CFBZ:'new'//查询拆分后的新明细还是之前的原明细记录 + FYID: selectedKpsqObj.FYID }, callback: [function (jsonObj,xhrArgs) { if(jsonObj.code==0){ 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 8dc9e61..3908991 100644 --- a/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index.html +++ b/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index.html @@ -29,6 +29,7 @@