-一、效果图:
点击页面修改成功后,会刷新当前页面。
- 一、配置按钮功能点
- 二、前端代码实现
/**
* 根据台账id,更新台账已确认数据状态
* date:2021-08-20
* auther:null
* @param 台账id
*/
function updateFlightDataStatus(id){
var modeid = id; // 台账id
if(confirm("是否确认数据?")){
var returnStatus = "";
jQuery.ajax({
type: "get",
data: {
"option":"updateCtrip_flight","modeid":modeid,"status":"0"},
url: "/interface/js/Ctrip_AjaxData.jsp?t="+new Date().getTime(),
async:false,
contentType:"application/json",
success: function(data) {
var retss = eval('(' + data + ')');
if(retss.updateModeStauts != '') {
returnStatus = retss.updateModeStauts;
}
}, error: function (msg) {
window.top.Dialog.alert('后台数据返回错误,请重新尝试'+msg);
}
});
if(returnStatus == "0"){
window.top.Dialog.alert('数据修改成功');
window.location.reload(); // 刷新当前页面.
}else if(returnStatus == "1"){
window.top.Dialog.alert('后台数据修改失败,请重新尝试'+msg);
}
}
}
- 三、后端可以通过jsp去实现后台数据修改
<%@page import="net.sf.json.JSONArray" %>
<%@page import="java.util.*" %>
<%@page import="weaver.interfaces.swfa.AmountUtil" %>
<%@page import="java.math.BigDecimal" %>
<%@page import="java.util.List" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.*,weaver.hrm.*,java.text.SimpleDateFormat,java.util.Date" %>
<%@ page import="weaver.soa.workflow.request.RequestInfo" %>
<%@ page import="weaver.conn.RecordSet,java.io.*,weaver.conn.RecordSetDataSource,weaver.hrm.company.DepartmentComInfo,weaver.fna.general.FnaSplitPageTransmethod" %>
<%@ page import="weaver.interfaces.swfa.HttpRestful" %>
<%@ page import="com.weaver.formmodel.mobile.mec.handler.form.FSelect" %>
<%
String option = Util.null2String(request.getParameter("option"));
RecordSet rs = new RecordSet();
RecordSet rs0 = new RecordSet();
RecordSet rs1 = new RecordSet();
RecordSet rs2 = new RecordSet();
RecordSet rs3 = new RecordSet();
RecordSet rsd = new RecordSet();
RecordSet rst = new RecordSet();
RecordSetDataSource ncrs = new RecordSetDataSource("nc63");
String returnstr = "";
String dd = "";
int coutt = 0;
String str = "";
//查询是否携程请款专员
if ("queryQKZY".equals(option)) {
String userid = Util.null2String(request.getParameter("userid"));// 用户id
String ysnf = Util.null2String(request.getParameter("ysnf"));// 年份
String qkyf = Util.null2String(request.getParameter("qkyf")); // 请款月份
String queryZY = "select resourceid from hrmroles h1,hrmrolemembers h2 where h1.id = h2.roleid and h1.rolesmark like '%携程请款专员%' and h2.resourceid = '"+userid+"' ";
String sczyid = "";
rs1.executeSql(queryZY);
if (rs1.next()) {
sczyid = Util.null2String(rs1.getString("resourceid"));// 携程请款专员
}
returnstr = "{'sczyid':'" + sczyid +"'}";
}
//查询是否材料供应公司
if ("queryCLGYGS".equals(option)) {
String qkgsid = Util.null2String(request.getParameter("gsid"));// 请款公司
String queryCLGYGS = "select * from (select * from hrmsubcompany where id = '692' or supsubcomid = '692' and canceled = '0' ) where id in ("+qkgsid+") ";
String gsid = "";
rs1.executeSql(queryCLGYGS);
if (rs1.next()) {
gsid = Util.null2String(rs1.getString("id"));// 公司id
}
returnstr = "{'gsid':'" + gsid +"'}";
}
// 根据条件查询携程酒店结算明细 和 携程机票明细
if ("queryCtripData".equals(option)) {
String userid = Util.null2String(request.getParameter("userid"));// 用户id
String ysnf = Util.null2String(request.getParameter("qknf"));// 年份
String qkyf = Util.null2String(request.getParameter("qkyf")); // 请款月份
String qkgs = Util.null2String(request.getParameter("qkgs")); // 请款公司
String queryCtrip = "select 1 Ctrip_Type,t1.*,t2.*,t3.cost_center4,nvl((t3.POST_SERVICE_FEE+t3.amount),0) flightAmount ,t3.ids ids \n" +
"from \n" +
"(select h1.id gsid,h1.subcompanyname ,h2.id bmid,h2.departmentname ,h2.departmentcode \n" +
"from hrmsubcompany h1,hrmdepartment h2 \n" +
"where h1.id = h2.subcompanyid1 and h1.id in ("+qkgs+") ) t1 \n" +
"left join \n" +
"(select sum(AMOUNT) AMOUNT,sum(POST_SERVICE_FEE) POST_SERVICE_FEE,Cost_Center4 \n" +
"from uf_ods_ctrip_flight u1 \n" +
"where u1.Cost_Center4 is not null and u1.DAY_ID like '%"+ysnf+"-"+qkyf+"%' group by cost_center4) t2 \n" +
"on t1.departmentcode = t2.Cost_Center4 \n" +
"left join \n" +
"(\n" +
"select \n" +
" distinct cost_center4,listagg (id, ',') WITHIN GROUP (ORDER BY id) ids \n" +
",sum(POST_SERVICE_FEE) POST_SERVICE_FEE,sum(amount) amount \n" +
" from uf_ods_ctrip_flight \n" +
" where day_id like '%"+ysnf+"-"+qkyf+"%' and Cost_Center4 in ( select h2.departmentcode from hrmsubcompany h1,hrmdepartment h2 where h1.id = h2.subcompanyid1 and h1.id in ("+qkgs+") )\n" +
" group by cost_center4 \n" +
") t3 \n" +
"on t1.departmentcode = t3.cost_center4 \n" +
"where t3.amount > 0 \n" +
"\n" +
"union all \n" +
"\n" +
"select 0 Ctrip_Type,t1.*,t2.*,t4.cost_center4,nvl(t4.amount,0) hotelAmount,t4.ids ids \n" +
"from \n" +
"(select h1.id gsid,h1.subcompanyname ,h2.id bmid,h2.departmentname ,h2.departmentcode \n" +
"from hrmsubcompany h1,hrmdepartment h2 \n" +
"where h1.id = h2.subcompanyid1 and h1.id in ("+qkgs+") ) t1 \n" +
"left join \n" +
"(select sum(AMOUNT) AMOUNT,sum(POST_SERVICE_FEE) POST_SERVICE_FEE,Cost_Center4 \n" +
"from uf_ods_ctrip_flight u1 \n" +
"where u1.Cost_Center4 is not null and u1.DAY_ID like '%"+ysnf+"-"+qkyf+"%' group by cost_center4) t2 \n" +
"on t1.departmentcode = t2.Cost_Center4 \n" +
"left join \n" +
"(\n" +
"select distinct Cost_Center4,listagg (id, ',') WITHIN GROUP (ORDER BY id) ids ,sum(amount) amount\n" +
" from uf_ods_ctrip_hotel \n" +
" where day_id like '%"+ysnf+"-"+qkyf+"%' and Cost_Center4 in ( select h2.departmentcode from hrmsubcompany h1,hrmdepartment h2 where h1.id = h2.subcompanyid1 and h1.id in ("+qkgs+") )\n" +
" group by cost_center4 \n" +
")t4 \n" +
"on t1.departmentcode = t4.cost_center4 \n" +
"where t4.amount > 0";
// XCLX字段 携程台账类型 0:携程酒店台账 1:携程飞机票台账
List<Map<String, String>> datalist = new ArrayList<Map<String, String>>();
//rs1.writeLog("queryCtrip="+queryCtrip);
rs1.execute(queryCtrip);
while (rs1.next()) {
Map<String, String> datamap = new HashMap<String, String>();
String Ctrip_Type = Util.null2String(rs1.getString("Ctrip_Type")); // 携程类型
String ids = Util.null2String(rs1.getString("ids")); // 携程台账id串
String GSID = Util.null2String(rs1.getString("GSID")); // 公司ID
String SUBCOMPANYNAME = Util.null2String(rs1.getString("SUBCOMPANYNAME")); // 公司名称
String BMID = Util.null2String(rs1.getString("BMID")); // 部门ID
String DEPARTMENTNAME = Util.null2String(rs1.getString("DEPARTMENTNAME")); // 部门名称
String FLIGHTAMOUNT = Util.null2String(rs1.getString("FLIGHTAMOUNT")); // 机票合计金额
String HOTELAMOUNT = Util.null2String(rs1.getString("HOTELAMOUNT")); // 酒店合计金额
datamap.put("ids",ids);
datamap.put("Ctrip_Type",Ctrip_Type);
datamap.put("GSID", GSID);
datamap.put("SUBCOMPANYNAME", SUBCOMPANYNAME);
datamap.put("BMID", BMID);
datamap.put("DEPARTMENTNAME", DEPARTMENTNAME);
datamap.put("FLIGHTAMOUNT", FLIGHTAMOUNT);
datamap.put("HOTELAMOUNT", HOTELAMOUNT);
datalist.add(datamap);
}
returnstr = "{'datalist':" + JSONArray.fromObject(datalist).toString() + "}";
}
// 更新携程机票结算明细 数据状态
if ("updateCtrip_flight".equals(option)) {
String updateModeStauts = "1"; // 0;成功 1:失败
String modeid = Util.null2String(request.getParameter("modeid"));// 台账id
String status = Util.null2String(request.getParameter("status"));// 修改台账状态 0;成功 1:失败
if( !modeid.equals("") && !modeid.equals(null)){
String updateCtrip_flight = "update uf_ods_ctrip_flight set check_data = '"+status+"' where id = '"+modeid+"' ";
rs1.executeSql(updateCtrip_flight);
updateModeStauts = "0";
}
returnstr = "{'updateModeStauts':'" + updateModeStauts +"'}";
}
out.print("" + returnstr);
%>
四、小功能配置