public SRM_SAP_JK_RESP SAP_SRM_JK_02(SRM_SAP_JK02_REQ rq) { SRM_SAP_JK_RESP resp = new SRM_SAP_JK_RESP(); SRM_SAP_JK02_HEAD[] heads = rq.HEAD; List <DbParameter> paramList = new List <DbParameter>(); string sqlStr = ""; int num = 0; string xmlStr = ""; foreach (SRM_SAP_JK02_HEAD h in heads) { sqlStr = "UPDATE SupplyInfor SET Sup_Name=@Sup_Name,LinkMan=@LinkMan,address=@address,telcode=@telcode, lxdw=@lxdw,Sup_Type=@Sup_Type WHERE Sup_Code=@Sup_Code"; h.Sup_Type = "S"; paramList.Clear(); paramList.Add(sqlDB.MakeInParam("Sup_Name", h.NAME1)); paramList.Add(sqlDB.MakeInParam("LinkMan", h.ZEMM_FZRE)); paramList.Add(sqlDB.MakeInParam("address", h.STRAS)); paramList.Add(sqlDB.MakeInParam("telcode", h.TELCODE)); paramList.Add(sqlDB.MakeInParam("lxdw", h.lxdw)); paramList.Add(sqlDB.MakeInParam("Sup_Type", h.Sup_Type)); paramList.Add(sqlDB.MakeInParam("Sup_Code", h.LIFNR)); ///执行sql num = sqlDB.ExecuteNonQuery(CommandType.Text, sqlStr, paramList.ToArray()); if (num == 0) { sqlStr = ""; xmlStr += "执行插入操作:" + "\r\n" + XmlSerializeHelper.XmlSerialize <SRM_SAP_JK02_HEAD>(h) + "\r\n"; sqlStr = "INSERT INTO SupplyInfor(Sup_Code,Sup_Name,LinkMan,address,telcode,lxdw,Sup_Type) VALUE(@Sup_Code,@Sup_Name,@LinkMan,@address,@telcode,@lxdw,@Sup_Type)"; num = sqlDB.ExecuteNonQuery(CommandType.Text, sqlStr, paramList.ToArray()); if (num == 0) { resp.MSGCODE = "-1"; resp.MSGTXT = "[执行失败]:" + xmlStr; } else { resp.MSGCODE = "1"; resp.MSGTXT = "[执行成功]:" + xmlStr; } } else { xmlStr += "执行更新操作:" + "\r\n" + XmlSerializeHelper.XmlSerialize <SRM_SAP_JK02_HEAD>(h) + "\r\n"; resp.MSGCODE = "1"; resp.MSGTXT = "[执行成功]:" + xmlStr; } loginfo.loginfor("接口SAP_SRM_JK_02返回信息:" + resp.MSGTXT); //// } return(resp); }
public SRM_SAP_JK_RESP SAP_SRM_JK_01(SRM_SAP_JK01_REQ rq) { SRM_SAP_JK_RESP resp = new SRM_SAP_JK_RESP(); SRM_SAP_JK01_HEAD[] heads = rq.HEAD; List <DbParameter> paramList = new List <DbParameter>(); string sqlStr = ""; int num = 0; string xmlStr = ""; foreach (SRM_SAP_JK01_HEAD h in heads) { sqlStr = "UPDATE Product SET GoodsName=@GoodsName, ComName=@ComName,Spec=@Spec,Manufactor=@Manufactor,LicenseNo=@LicenseNo, BarCode=@BarCode,Status=@Status WHERE GoodsCode=@GoodsCode"; paramList.Clear(); paramList.Add(sqlDB.MakeInParam("GoodsName", h.MAKTX)); paramList.Add(sqlDB.MakeInParam("ComName", h.ZTYMI)); paramList.Add(sqlDB.MakeInParam("Spec", h.Spec)); paramList.Add(sqlDB.MakeInParam("Manufactor", h.ZSCQY)); paramList.Add(sqlDB.MakeInParam("LicenseNo", h.ZPZWH)); paramList.Add(sqlDB.MakeInParam("BarCode", h.ZTXMA)); paramList.Add(sqlDB.MakeInParam("Status", h.Status)); paramList.Add(sqlDB.MakeInParam("GoodsCode", h.MATNR)); ///执行sql num = sqlDB.ExecuteNonQuery(CommandType.Text, sqlStr, paramList.ToArray()); if (num == 0) { sqlStr = ""; xmlStr += "执行插入操作:" + "\r\n" + XmlSerializeHelper.XmlSerialize <SRM_SAP_JK01_HEAD>(h) + "\r\n"; sqlStr = "INSERT INTO Product(GoodsName,ComName,Spec,Manufactor,LicenseNo,BarCode,Status) VALUE(@GoodsName,@ComName,@Spec,@Manufactor,@LicenseNo,@BarCode,@Status)"; num = sqlDB.ExecuteNonQuery(CommandType.Text, sqlStr, paramList.ToArray()); if (num == 0) { resp.MSGCODE = "-1"; resp.MSGTXT = "[执行失败]:" + xmlStr; } else { resp.MSGCODE = "1"; resp.MSGTXT = "[执行成功]:" + xmlStr; } } else { xmlStr += "执行更新操作:" + "\r\n" + XmlSerializeHelper.XmlSerialize <SRM_SAP_JK01_HEAD>(h) + "\r\n"; resp.MSGCODE = "1"; resp.MSGTXT = "[执行成功]:" + xmlStr; } loginfo.loginfor("接口SAP_SRM_JK_01返回信息:" + resp.MSGTXT); //// } return(resp); }
/// <summary> /// 获取取消结算参数 /// </summary> /// <param name="param"></param> /// <returns></returns> public string GetCancelOutpatientDepartmentCostParam(CancelOutpatientDepartmentCostUiParam param) { string resultData = null; var userBase = _serviceBasicService.GetUserBaseInfo(param.UserId); userBase.TransKey = param.TransKey; //获取医保病人信息 var queryResidentParam = new QueryMedicalInsuranceResidentInfoParam() { BusinessId = param.BusinessId, OrganizationCode = userBase.OrganizationCode }; var residentData = _medicalInsuranceSqlRepository.QueryMedicalInsuranceResidentInfo(queryResidentParam); if (residentData == null) { throw new Exception("当前病人未结算,不能取消结算!!!"); } if (residentData.MedicalInsuranceState != MedicalInsuranceState.HisSettlement) { throw new Exception("当前病人未结算,不能取消结算!!!"); } if (residentData.IsBirthHospital == 1) { var inputParam = new OutpatientPlanBirthSettlementCancelParam() { SettlementNo = residentData.SettlementNo, CancelRemarks = param.CancelSettlementRemarks }; resultData = XmlSerializeHelper.XmlSerialize(inputParam); } else { var inputParam = new CancelOutpatientDepartmentCostParam() { DocumentNo = residentData.SettlementNo }; resultData = XmlSerializeHelper.XmlSerialize(inputParam); } return(resultData); }
/// <summary> /// 集团组织架构推送 /// </summary> /// <param name="ZRFC_HR_OA_001_REQ"></param> public void SaveOrUpdateDeptInfo(ZRFC_HR_OA_001_REQ req) { ZRFC_HR_OA_001_HEAD[] heads = req.HEAD; ZRFC_HR_OA_RESP resp = new ZRFC_HR_OA_RESP(); for (int i = 0; i < heads.Count(); i++) { Logger.Log("总共部门数:" + heads.Count().ToString()); ZRFC_HR_OA_001_HEAD entity = heads[i]; //部门编号 string sapdept_id = entity.BJID; string sappid = entity.PUP; string dept_name = entity.STEXT + "(sap)"; string dept_no = entity.NUM; string log = ""; string xmlStr = XmlSerializeHelper.XmlSerialize <ZRFC_HR_OA_001_HEAD>(entity) + "\r\n"; log += xmlStr; List <DbParameter> paramList = new List <DbParameter>(); #region 排除特殊情况 if (sapdept_id == "10000000") { continue; } string[] stringdeptname = { "挂靠部门", "挂证部门", "虚拟组织" }; if (Array.IndexOf(stringdeptname, entity.STEXT) > -1) { log = log + "排除特殊情况_部门" + "\r\n"; //Logger.Log("排除特殊情况_部门"); continue; } // < BJID > 13000000 </ BJID > //< STEXT > 杭州九洲大药房连锁有限公司 </ STEXT > //< PUP > 10000000 </ PUP > //< NUM > 4 </ NUM > //< BJID > 50002303 </ BJID > //< STEXT > 商采中心 </ STEXT > //< PUP > 11000000 </ PUP > //< NUM > 23 </ NUM > #region 测试 //List <DbParameter> paramList = new List<DbParameter>(); //string sql = "SELECT DEPT_ID FROM department WHERE dept_name=@name"; //paramList.Add(oaDB.MakeInParam("name", name+ "(新)")); //DataSet dataSet = oaDB.ExecuteDataset(CommandType.Text, sql, paramList.ToArray()); //if (dataSet != null && dataSet.Tables.Count > 0) //{ // DataRowCollection rows = dataSet.Tables[0].Rows; // if (rows.Count > 0) // { // DataRow row = rows[0]; // int DEPT_ID = Int32.Parse(row[0].ToString()); // //string SAP_DEPT_ID =row[1].ToString(); // string operate_sql = "UPDATE department SET SAP_DEPT_ID=@SAP_DEPT_ID WHERE DEPT_ID=@dept_id"; // paramList.Clear(); // paramList.Add(oaDB.MakeInParam("DEPT_ID", DEPT_ID)); // paramList.Add(oaDB.MakeInParam("SAP_DEPT_ID", bjid)); // num = oaDB.ExecuteNonQuery(CommandType.Text, operate_sql, paramList.ToArray()); // } //} #endregion //xmlStr = XmlSerializeHelper.XmlSerialize<ZRFC_HR_OA_001_HEAD>(entity) + "\r\n"; #endregion //string ret_code; //string ret_msg; //生成用户账号 //IN p_username varchar(30),IN p_sapid varchar(30),IN p_sapdeptid int,IN p_sex varchar(30),IN p_mobil_no varchar(30),IN p_birthday varchar(30),IN p_not_login varchar(30),OUT ret_code INT,OUT ret_msg VARCHAR(30) // string tsql = "call proc_sap_addUser(@username,@p_sapid,@p_sapdeptid,@p_sex,@p_mobil_no,@p_birthday,@p_not_login,@ret_code,@ret_msg)"; string tsql = "call proc_sap_addDept(@p_sapdeptid,@p_sapparentdeptid,@p_deptname)"; paramList.Clear(); paramList.Add(oaDB.MakeInParam("p_sapdeptid", sapdept_id)); // paramList.Add(oaDB.MakeInParam("p_sapparentdeptid", sappid)); // paramList.Add(oaDB.MakeInParam("p_deptname", dept_name)); // //paramList.Add(oaDB.MakeParam("ret_msg", "", ParameterDirection.Output)); //paramList.Add(oaDB.MakeParam("ret_code", 0, ParameterDirection.Output)); DataSet pResult = oaDB.ExecuteDataset(CommandType.Text, tsql, paramList.ToArray()); //ret_code = paramList[7].Value.ToString(); //ret_msg = paramList[8].Value.ToString(); if (pResult != null && pResult.Tables.Count > 0) { DataRowCollection rows = pResult.Tables[0].Rows; if (rows.Count > 0) { DataRow row = rows[0]; if (Convert.ToInt16(row[1]) > 0) { // select ret_msg,ret_code,v_uid,p_username,p_sapid,p_sapdeptid,p_sex,p_mobil_no,p_birthday,v_wx_dept_id; CreateDept dept = new CreateDept(); //dept.id = Convert.ToInt16(row[4]); dept.name = dept_name; dept.parentid = Convert.ToInt16(row[5]); //更新数据 log = log + string.Format("{0}_{1}", dept.name, dept.parentid) + "\r\n"; //Logger.Log(string.Format("{0}_{1}", dept.name, dept.parentid)); if (Convert.ToInt16(row[1]) == 1) { //添加日志 dept.id = Convert.ToInt16(row[4]); AccessTokenManage.UpdateDeptApi(dept, ref log); } //添加数据 if (Convert.ToInt16(row[1]) == 2) { int id = AccessTokenManage.CreateDeptApi(dept, ref log); if (id > 0) { string updatewxdeptid = "update department set WEIXIN_DEPT_ID=@weixindeptid where dept_id=@dept_id"; paramList.Clear(); paramList.Add(oaDB.MakeInParam("weixindeptid", id)); paramList.Add(oaDB.MakeInParam("dept_id", Convert.ToInt16(row[2]))); int issuc = oaDB.ExecuteNonQuery(CommandType.Text, updatewxdeptid, paramList.ToArray()); if (issuc == 1) { log = log + string.Format("更新成功WEIXIN_DEPT_ID成功,WEIXIN_DEPT_ID{0}", id) + "\r\n"; } else { log = log + "更新WEIXIN_DEPT_ID失败" + "\r\n"; } } } } else { log = log + (string.Format("存储过程返回错误,错误值{0},错误描述{1}", row[0].ToString(), row[1]) + "\r\n"); //Logger.Log(string.Format("存储过程返回错误,错误值{0},错误描述{1}", row[0].ToString(), row[1])); } //resp.MSGTXT += xmlStr + row[1].ToString() + "\r\n"; } } else { log = log + "存储过程范围值为空" + "\r\n"; //Logger.Log("存储过程范围值为空"); //resp.MSGTXT += xmlStr + "操作失败没有table" + "\r\n"; } Logger.Log(log); } }
/// <summary> /// 员工信息推送 /// </summary> /// <param name="req"></param> public void SaveOrUpdateStaffInfo(ZRFC_HR_OA_003_REQ req) { ZRFC_HR_OA_003_HEAD[] heads = req.HEAD; ZRFC_HR_OA_RESP resp = new ZRFC_HR_OA_RESP(); // string xmlStr = ""; for (int i = 0; i < heads.Count(); i++) { Logger.Log("总共员工数:" + heads.Count().ToString()); resp.MSGTXT = ""; ZRFC_HR_OA_003_HEAD entity = heads[i]; //部门编号 string NACHN = entity.NACHN; //姓名 string PERNR = entity.PERNR; //员工编号 string PERSG = entity.PERSG; //员工组 string PERSK = entity.PERSK; //员工子组 string GESCH = entity.GESCH; //性别 //string ULONG = entity.USRID_LONG; //电子邮件 string USRID = entity.USRID; //手机 string OBJID_DEP = entity.OBJID_DEP; //所属部门编码 string ORGTX = entity.ORGTX; //所属部门名称 //string OBJID_COM = entity.OBJID_COM;//所属GSP部门编码 string OBJID_S = entity.OBJID_S; //岗位编码 string GBDAT = entity.GBDAT; //生日 string BEGDA = entity.BEGDA; //入职日期 string SYSTEM = entity.SYSTEM; //人员账号类别 //string LOGID = entity.LOGID;//人员账号 string STELL = entity.STELL; //职务编码 string STLTX = entity.STLTX; //职务文本 string STAT2 = entity.STAT2; //在职状态1:离职 2:退休 3:在职 string log = ""; #region 排除特殊情况 List <DbParameter> paramList = new List <DbParameter>(); string xmlStr = XmlSerializeHelper.XmlSerialize <ZRFC_HR_OA_003_HEAD>(entity) + "\r\n"; //Logger.Log(xmlStr); log = xmlStr; string[] idarray = { "4317", "4320", "4322", "4321", "4319", "4323", "4325", "4309", "4310", "4312", "4318", "4311", "4327", "4313", "4314" }; if (Array.IndexOf(idarray, PERNR.TrimStart('0')) > -1) { log = log + "排除特殊情况_人员" + "\r\n"; continue; } string[] stringdeptname = { "挂靠部门", "挂证部门", "虚拟组织" }; if (Array.IndexOf(stringdeptname, ORGTX) > -1) { log = log + "排除特殊情况_部门" + "\r\n"; continue; } #endregion #region //List<DbParameter> paramList = new List<DbParameter>(); //string xmlStr = XmlSerializeHelper.XmlSerialize<ZRFC_HR_OA_003_HEAD>(entity) + "\r\n"; //判断该账号是否存在 //if (string.IsNullOrEmpty(LOGID)) //{ // LOGID = PERNR; //} // 获取deptid #endregion string username = NACHN + "(sap)"; string p_sapid = PERNR.TrimStart('0'); string p_sapdeptid = OBJID_DEP; string p_sex = GESCH == "1" ? "0" : "1"; string p_mobil_no = string.IsNullOrEmpty(USRID) ? "" : USRID; string p_birthday = string.IsNullOrEmpty(GBDAT) ? "" : GBDAT; string p_not_login = string.IsNullOrEmpty(STAT2) ? "0" : (STAT2 == "3" ? "0" : "1"); //string ret_code; //string ret_msg; //生成用户账号 //IN p_username varchar(30),IN p_sapid varchar(30),IN p_sapdeptid int,IN p_sex varchar(30),IN p_mobil_no varchar(30),IN p_birthday varchar(30),IN p_not_login varchar(30),OUT ret_code INT,OUT ret_msg VARCHAR(30) // string tsql = "call proc_sap_addUser(@username,@p_sapid,@p_sapdeptid,@p_sex,@p_mobil_no,@p_birthday,@p_not_login,@ret_code,@ret_msg)"; string tsql = "call proc_sap_addUser(@username,@p_sapid,@p_sapdeptid,@p_sex,@p_mobil_no,@p_birthday,@p_not_login)"; paramList.Clear(); paramList.Add(oaDB.MakeInParam("username", username)); //姓名 paramList.Add(oaDB.MakeInParam("p_sapid", p_sapid)); //sapid todo去除前导0 paramList.Add(oaDB.MakeInParam("p_sapdeptid", p_sapdeptid)); //所属部门编码 paramList.Add(oaDB.MakeInParam("p_sex", p_sex)); //性别 paramList.Add(oaDB.MakeInParam("p_mobil_no", p_mobil_no)); //手机 paramList.Add(oaDB.MakeInParam("p_birthday", p_birthday)); //生日//在职状态1:离职 2:退休 3:在职 paramList.Add(oaDB.MakeInParam("p_not_login", p_not_login)); // //paramList.Add(oaDB.MakeParam("ret_msg", "", ParameterDirection.Output)); //paramList.Add(oaDB.MakeParam("ret_code", 0, ParameterDirection.Output)); log = log + (string.Format("{0}_{1}_{2}_{3}_{4}_{5}_{6}", username, p_sapid, p_sapdeptid, p_sex, p_mobil_no, p_birthday, p_not_login) + "\r\n"); DataSet pResult = oaDB.ExecuteDataset(CommandType.Text, tsql, paramList.ToArray()); //ret_code = paramList[7].Value.ToString(); //ret_msg = paramList[8].Value.ToString(); if (pResult != null && pResult.Tables.Count > 0) { DataRowCollection rows = pResult.Tables[0].Rows; if (rows.Count > 0) { DataRow row = rows[0]; if (Convert.ToInt16(row[1]) > 0) { // select ret_msg,ret_code,v_uid,p_username,p_sapid,p_sapdeptid,p_sex,p_mobil_no,p_birthday,v_wx_dept_id; CreateUser user = new CreateUser(); user.userid = row[2].ToString(); user.name = row[3].ToString(); user.mobile = row[7].ToString(); user.gender = GESCH == "1" ? "1" : "2"; user.email = ""; user.department = new List <int> { Convert.ToInt32(row[9]) }; user.to_invite = false; //更新数据 //log = log + (string.Format("{0}_{1}_{2}_{3}_{4}", user.userid, user.name, user.mobile, user.gender, Convert.ToInt32(row[9]))); if (Convert.ToInt16(row[1]) == 1) { //添加日志 if (user.mobile != "") { AccessTokenManage.UpdateUserApi(user, ref log); } else { log = log + "手机号为空不更新" + "\r\n"; } //AccessTokenManage.CreateUserApi(user); } //添加数据 if (Convert.ToInt16(row[1]) == 2) { AccessTokenManage.CreateUserApi(user, ref log); } } else { log = log + string.Format("存储过程值{0},描述{1}", row[0].ToString(), row[1]) + "\r\n"; //Logger.Log(string.Format("存储过程值{0},描述{1}", row[0].ToString(), row[1])); } //resp.MSGTXT += xmlStr + row[1].ToString() + "\r\n"; } } else { log = log + "存储过程范围值为空" + "\r\n"; //Logger.Log("存储过程范围值为空"); //resp.MSGTXT += xmlStr + "操作失败没有table" + "\r\n"; } Logger.Log(log); //loginfo.loginfor(resp.MSGTXT); } // } }
private T DoExecute <T>(QimenRequest <T> request, string session) where T : QimenResponse { long start = DateTime.Now.Ticks; // 添加协议级请求参数 TopDictionary parameters = new TopDictionary(); if (request.GetQueryParameters() != null) { parameters.AddAll(request.GetQueryParameters()); } if (ownApi) { request.AddHeaderParameter("accept", "application/xml"); request.AddHeaderParameter("content-type", "application/xml"); } else { parameters.Add(Constants.METHOD, request.GetApiName()); parameters.Add(Constants.VERSION, request.Version); parameters.Add(Constants.APP_KEY, appKey); parameters.Add(Constants.TIMESTAMP, request.Timestamp); parameters.Add(Constants.FORMAT, format); parameters.Add(Constants.SIGN_METHOD, signMethod); parameters.Add(Constants.SESSION, session); parameters.Add(Constants.PARTNER_ID, Constants.SDK_VERSION); parameters.Add(Constants.QM_CUSTOMER_ID, request.CustomerId); } // 添加头部参数 if (this.useGzipEncoding) { request.AddHeaderParameter(Constants.ACCEPT_ENCODING, Constants.CONTENT_ENCODING_GZIP); } try { string reqBody = request.Body; if (string.IsNullOrEmpty(reqBody)) { //XmlWriter writer = new XmlWriter(Constants.QM_ROOT_TAG_REQ, typeof(QimenRequest<T>)); //reqBody = writer.Write(request); reqBody = XmlSerializeHelper.XmlSerialize(request); } // 添加签名参数 if (!ownApi) { parameters.Add(Constants.SIGN, TopUtils.SignTopRequest(parameters, reqBody, appSecret, signMethod)); } string fullUrl = WebUtils.BuildRequestUrl(serverUrl, parameters); string rspBody = webUtils.DoPost(fullUrl, Encoding.UTF8.GetBytes(reqBody), Constants.QM_CONTENT_TYPE, request.GetHeaderParameters()); // 解释响应结果 T rsp = null; if (disableParser) { rsp = Activator.CreateInstance <T>(); rsp.Body = rspBody; } else { if (Constants.FORMAT_XML.Equals(format)) { ITopParser <T> tp = new QimenXmlParser <T>(); rsp = tp.Parse(rspBody); } } // 追踪错误的请求 if (rsp != null && rsp.IsError) { TimeSpan latency = new TimeSpan(DateTime.Now.Ticks - start); TraceApiError(appKey, request.GetApiName(), serverUrl, parameters, latency.TotalMilliseconds, rspBody); } return(rsp); } catch (Exception e) { TimeSpan latency = new TimeSpan(DateTime.Now.Ticks - start); TraceApiError(appKey, request.GetApiName(), serverUrl, parameters, latency.TotalMilliseconds, e.GetType() + ": " + e.Message); throw e; } }