费用单据撤销

master
xiechao 2024-05-06 16:20:51 +08:00
parent 1588df888b
commit bc45de375d
4 changed files with 137 additions and 20 deletions

View File

@ -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<String, String> 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");

View File

@ -60,7 +60,10 @@ public class BoCgfpServiceImpl implements IBoCgfpService {
jsonString = jsonString.replace("\\", "").replace("\"{", "{").replace("}\"", "}");
Map fpMap = JSON.parseObject(jsonString, Map.class);
List<Map> list = JSON.parseArray(jsonString, Map.class);
for (Map fpMap : list) {
Map<String,Object> fpxx = (Map) fpMap.get("fpxx");
@ -78,13 +81,17 @@ public class BoCgfpServiceImpl implements IBoCgfpService {
Map map = fphqMapper.select_JX_FPXX_BY_DMHM(fpxxMap);
if (map == null){
return fphqMapper.insertZZSGL_JX_FPXX_FPXZ(fpxxMap);
fphqMapper.insertZZSGL_JX_FPXX_FPXZ(fpxxMap);
}else {
fpxxMap.put("fpid",map.get("fpid"));
return fphqMapper.updateZZSGL_JX_FPXX_FPXZ(fpxxMap);
fphqMapper.updateZZSGL_JX_FPXX_FPXZ(fpxxMap);
}
}
return 0;
}
@Override
public Integer deleteZZSGL_XX_JXFP(Map userMap) {
return cgfpMapper.deleteZZSGL_XX_JXFP(userMap);

View File

@ -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};

View File

@ -30,6 +30,8 @@
<div class="btn_group">
<a href="#" class="layui-btn" id="add">新增</a>
<a href="#" class="layui-btn" id="push">发起报销</a>
<a href="#" class="layui-btn" id="cx">撤销</a>
<a href="#" class="layui-btn" id="bxwc">报销完成</a>
</div>
<form class="layui-form" name="form_search" id="form_search" method="get" action="" lay-filter="form_search">
<div class="layui-form select_search top_header">