/// <summary> /// 增加一条数据 /// </summary> public bool Add(Mod_TPB_SLABWH model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into TPB_SLABWH("); strSql.Append("C_SLABWH_CODE,C_SLABWH_NAME,D_END_DATE,C_REMARK,C_EMP_ID)"); strSql.Append(" values ("); strSql.Append(":C_SLABWH_CODE,:C_SLABWH_NAME,:D_END_DATE,:C_REMARK,:C_EMP_ID)"); OracleParameter[] parameters = { new OracleParameter(":C_SLABWH_CODE", OracleDbType.Varchar2, 100), new OracleParameter(":C_SLABWH_NAME", OracleDbType.Varchar2, 100), new OracleParameter(":D_END_DATE", OracleDbType.Date), new OracleParameter(":C_REMARK", OracleDbType.Varchar2, 200), new OracleParameter(":C_EMP_ID", OracleDbType.Varchar2, 100) }; parameters[0].Value = model.C_SLABWH_CODE; parameters[1].Value = model.C_SLABWH_NAME; parameters[2].Value = model.D_END_DATE; parameters[3].Value = model.C_REMARK; parameters[4].Value = model.C_EMP_ID; int rows = DbHelperOra.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
private void FrmPB_GPKCK_EDIT_Load(object sender, EventArgs e) { strMenuName = RV.UI.UserInfo.menuName; Mod_TPB_SLABWH mod = Bll_TPB_SLABWH.GetModel(c_id); txt_CKBH.Text = mod.C_SLABWH_CODE; txt_CKMS.Text = mod.C_SLABWH_NAME; txt_Remark.Text = mod.C_REMARK; }
/// <summary> /// 删除选中的数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Stop_Click(object sender, EventArgs e) { try { if (DialogResult.No == MessageBox.Show("是否确认删除选中的数据?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)) { return; } int selectedNum = this.gv_slab_wh.SelectedRowsCount; int commitNum = 0; //删除记录数量 int cannotNum = 0; //不能删除记录数量 int failtNum = 0; //删除失败数量 int[] rownumber = this.gv_slab_wh.GetSelectedRows(); //获取选中行号数组; for (int i = 0; i < rownumber.Length; i++) { int selectedHandle = rownumber[i]; string strID = this.gv_slab_wh.GetRowCellValue(selectedHandle, "C_ID").ToString(); //判断该仓库的区域是否已经全部删除 bool hasNoStopArea = bll_TPB_SLABWH_AREA.ExistsNOSotpBySlabWH(strID); if (hasNoStopArea) { cannotNum = cannotNum + 1; } else { Mod_TPB_SLABWH model = bll_TPB_SLABWH.GetModel(strID); model.N_STATUS = 0; model.C_EMP_ID = RV.UI.UserInfo.userID; model.D_MOD_DT = RV.UI.ServerTime.timeNow(); model.D_END_DATE = RV.UI.ServerTime.timeNow(); bool update = bll_TPB_SLABWH.Update(model); if (update) { commitNum = commitNum + 1; } else { failtNum = failtNum + 1; } } } MessageBox.Show("选择" + selectedNum.ToString() + "条记录,删除" + commitNum.ToString() + "条记录!"); Common.UserLog.AddLog(strMenuName, this.Name, this.Text, "删除仓库信息"); //添加操作日志 BindXCCK(); //重新加载仓库信息 } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void btn_Bz_Click(object sender, EventArgs e) { DataTable dt = OpenExcelFile(this.txtUrl.Text, "sheet1"); StringBuilder strLog = new StringBuilder(); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { if (!string.IsNullOrEmpty(dt.Rows[i][0].ToString().Trim())) { if (i > 0) { if (dt.Rows[i]["仓库编码"].ToString().Trim() == dt.Rows[i - 1]["仓库编码"].ToString().Trim()) { continue; } } try { Mod_TPB_SLABWH model = new Mod_TPB_SLABWH(); model.C_SLABWH_CODE = dt.Rows[i]["仓库编码"].ToString(); model.C_SLABWH_NAME = dt.Rows[i]["仓库描述"].ToString(); model.C_EMP_ID = "222"; bool res = Bll_TPB_SLABWH.Add(model, false); if (!res) { strLog.Append("添加失败"); } } catch { strLog.Append("添加失败"); } } } } strLog.Append("导入完成!"); rtxt_Log.Text = strLog.ToString(); Common.UserLog.AddLog(strMenuName, this.Name, this.Text, "导入库位");//添加操作日志 }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Mod_TPB_SLABWH model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update TPB_SLABWH set "); strSql.Append("C_SLABWH_CODE=:C_SLABWH_CODE,"); strSql.Append("C_SLABWH_NAME=:C_SLABWH_NAME,"); strSql.Append("D_START_DATE=:D_START_DATE,"); strSql.Append("D_END_DATE=:D_END_DATE,"); strSql.Append("N_STATUS=:N_STATUS,"); strSql.Append("C_REMARK=:C_REMARK,"); strSql.Append("C_EMP_ID=:C_EMP_ID,"); strSql.Append("D_MOD_DT=:D_MOD_DT"); strSql.Append(" where C_ID=:C_ID "); OracleParameter[] parameters = { new OracleParameter(":C_SLABWH_CODE", OracleDbType.Varchar2, 100), new OracleParameter(":C_SLABWH_NAME", OracleDbType.Varchar2, 100), new OracleParameter(":D_START_DATE", OracleDbType.Date), new OracleParameter(":D_END_DATE", OracleDbType.Date), new OracleParameter(":N_STATUS", OracleDbType.Decimal, 1), new OracleParameter(":C_REMARK", OracleDbType.Varchar2, 200), new OracleParameter(":C_EMP_ID", OracleDbType.Varchar2, 100), new OracleParameter(":D_MOD_DT", OracleDbType.Date), new OracleParameter(":C_ID", OracleDbType.Varchar2, 100) }; parameters[0].Value = model.C_SLABWH_CODE; parameters[1].Value = model.C_SLABWH_NAME; parameters[2].Value = model.D_START_DATE; parameters[3].Value = model.D_END_DATE; parameters[4].Value = model.N_STATUS; parameters[5].Value = model.C_REMARK; parameters[6].Value = model.C_EMP_ID; parameters[7].Value = model.D_MOD_DT; parameters[8].Value = model.C_ID; int rows = DbHelperOra.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Mod_TPB_SLABWH DataRowToModel(DataRow row) { Mod_TPB_SLABWH model = new Mod_TPB_SLABWH(); if (row != null) { if (row["C_ID"] != null) { model.C_ID = row["C_ID"].ToString(); } if (row["C_SLABWH_CODE"] != null) { model.C_SLABWH_CODE = row["C_SLABWH_CODE"].ToString(); } if (row["C_SLABWH_NAME"] != null) { model.C_SLABWH_NAME = row["C_SLABWH_NAME"].ToString(); } if (row["D_START_DATE"] != null && row["D_START_DATE"].ToString() != "") { model.D_START_DATE = DateTime.Parse(row["D_START_DATE"].ToString()); } if (row["D_END_DATE"] != null && row["D_END_DATE"].ToString() != "") { model.D_END_DATE = DateTime.Parse(row["D_END_DATE"].ToString()); } if (row["N_STATUS"] != null && row["N_STATUS"].ToString() != "") { model.N_STATUS = decimal.Parse(row["N_STATUS"].ToString()); } if (row["C_REMARK"] != null) { model.C_REMARK = row["C_REMARK"].ToString(); } if (row["C_EMP_ID"] != null) { model.C_EMP_ID = row["C_EMP_ID"].ToString(); } if (row["D_MOD_DT"] != null && row["D_MOD_DT"].ToString() != "") { model.D_MOD_DT = DateTime.Parse(row["D_MOD_DT"].ToString()); } } return(model); }
/// <summary> /// 获取仓库列表焦点行信息 /// </summary> public void BindFocusedRowCK() { int selectedHandle = this.gv_slab_wh.FocusedRowHandle;//获取焦点行索引 if (selectedHandle < 0) { return; } this.lbl_WHID.Text = this.gv_slab_wh.GetRowCellValue(selectedHandle, "C_ID").ToString();//获取焦点行主键 //根据主键得到仓库对象,并在界面赋值 Mod_TPB_SLABWH model = bll_TPB_SLABWH.GetModel(this.lbl_WHID.Text); this.txt_slabWh_Code.Text = model.C_SLABWH_CODE; this.txt_SlabWh_Name.Text = model.C_SLABWH_NAME; this.txt_Remark.Text = model.C_REMARK; //加载仓库区域信息 BindXCQU(this.lbl_WHID.Text, 1); }
private void btn_Save_Click(object sender, EventArgs e) { try { Mod_TPB_SLABWH mod = Bll_TPB_SLABWH.GetModel(c_id); mod.C_SLABWH_CODE = txt_CKBH.Text; mod.C_SLABWH_NAME = txt_CKMS.Text; mod.C_REMARK = txt_Remark.Text; mod.C_EMP_ID = RV.UI.UserInfo.UserID; mod.D_MOD_DT = RV.UI.ServerTime.timeNow(); Bll_TPB_SLABWH.Update(mod); MessageBox.Show("保存成功!"); Common.UserLog.AddLog(strMenuName, this.Name, this.Text, "修改钢坯库仓库");//添加操作日志 this.DialogResult = DialogResult.Cancel; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Mod_TPB_SLABWH GetModel_Interface_Trans(string C_SLABWH_CODE) { StringBuilder strSql = new StringBuilder(); strSql.Append("select C_ID,C_SLABWH_CODE,C_SLABWH_NAME,D_START_DATE,D_END_DATE,N_STATUS,C_REMARK,C_EMP_ID,D_MOD_DT from TPB_SLABWH "); strSql.Append(" where C_SLABWH_CODE=:C_SLABWH_CODE "); OracleParameter[] parameters = { new OracleParameter(":C_SLABWH_CODE", OracleDbType.Varchar2, 100) }; parameters[0].Value = C_SLABWH_CODE; Mod_TPB_SLABWH model = new Mod_TPB_SLABWH(); DataSet ds = DbHelperOra.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
/// <summary> /// 发送完工报告给NC /// </summary> /// <param name="xmlFileName">xml完整路径</param> /// <param name="c_stove">炉号</param> /// <returns></returns> public bool SendXml_SLAB_A4(string xmlFileName, string c_stove, string strUserID) { try { string urlname = "GPWG" + c_stove + ".XML";//XML名称 string url = xmlFileName + "\\NCXML"; if (!Directory.Exists(url)) { Directory.CreateDirectory(url); } DataTable dt = dal_slab_mes.GetList("", "", c_stove, "", "全部").Tables[0]; Mod_TSC_SLAB_MAIN mod_slab_main = dal_slab_main.GetModel_Stove_Trans(c_stove); //钢坯实绩 Mod_TB_MATRL_MAIN mod_mater_main = dal_mater_main.GetModel(mod_slab_main.C_MAT_CODE); //物料主表 Mod_TS_USER mod_ts_user = dal_user.GetModel(strUserID); //用户主表 Mod_TPB_SLABWH mod_SLABWH = dal_slabwh.GetModel_Interface(mod_slab_main.C_SLABWH_CODE); //库存表 Mod_TB_STD_CONFIG mod_std_config = dal_std_config.GetModel_Interface(mod_slab_main.C_STD_CODE, mod_slab_main.C_STL_GRD); // 自由项 if (dt == null) { return(false); } if (mod_slab_main == null) { return(false); } if (mod_mater_main == null) { return(false); } if (mod_ts_user == null) { return(false); } if (mod_SLABWH == null) { return(false); } if (mod_std_config == null) { return(false); } XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no"); xmlDoc.AppendChild(node); //创建根节点 XmlElement root = xmlDoc.CreateElement("ufinterface"); #region//给节点属性赋值 root.SetAttribute("billtype", "AM"); root.SetAttribute("filename", ""); root.SetAttribute("isexchange", "Y"); root.SetAttribute("operation", "req"); root.SetAttribute("proc", "add"); root.SetAttribute("receiver", "101"); root.SetAttribute("replace", "Y"); root.SetAttribute("roottag", "bill"); root.SetAttribute("sender", "1107"); #endregion xmlDoc.AppendChild(root); //创建子根节点 XmlElement bill = xmlDoc.CreateElement("bill"); #region//节点属性 bill.SetAttribute("id", mod_slab_main.C_STOVE); #endregion root.AppendChild(bill); XmlNode head = xmlDoc.CreateNode(XmlNodeType.Element, "bill_head", null); #region //表头_order_head CreateNode(xmlDoc, head, "zdrid", "08908"); //制单人 (mod_ts_user.C_ACCOUNT) CreateNode(xmlDoc, head, "rq", Convert.ToDateTime(dt.Rows[0]["生产时间"].ToString()).ToString("yyyy-MM-dd")); //日期 CreateNode(xmlDoc, head, "sj", Convert.ToDateTime(dt.Rows[0]["生产时间"].ToString()).ToString("HH:mm:ss")); //时间 CreateNode(xmlDoc, head, "gzzxbmid", dt.Rows[0]["连铸代码"].ToString()); //工作中心编码ID CreateNode(xmlDoc, head, "scbmid", ""); //生产部门ID #endregion bill.AppendChild(head); XmlElement body = xmlDoc.CreateElement("bill_body"); bill.AppendChild(body); XmlNode item = xmlDoc.CreateNode(XmlNodeType.Element, "item", null); #region //表体_item CreateNode(xmlDoc, item, "pch", mod_slab_main.C_STOVE); //批次号 CreateNode(xmlDoc, item, "scddh", ""); //生产订单号 CreateNode(xmlDoc, item, "wlbmid", mod_mater_main.C_PK_INVMANDOC); //物料编码ID(C_PK_INVMANDOC) CreateNode(xmlDoc, item, "jldwid", mod_mater_main.C_PK_MEASDOC); //计量单位ID CreateNode(xmlDoc, item, "gzzxid", dt.Rows[0]["连铸主键"].ToString()); //工作中心ID CreateNode(xmlDoc, item, "ccxh", mod_slab_main.C_STOVE); //产出序号-炉号 CreateNode(xmlDoc, item, "gxh", ""); //工序号 CreateNode(xmlDoc, item, "pk_produce", ""); //物料PK CreateNode(xmlDoc, item, "ksrq", Convert.ToDateTime(dt.Rows[0]["计划开始时间"].ToString()).ToString("yyyy-MM-dd")); //开始日期 CreateNode(xmlDoc, item, "kssj", Convert.ToDateTime(dt.Rows[0]["计划开始时间"].ToString()).ToString("HH:mm:ss")); //开始时间 CreateNode(xmlDoc, item, "jsrq", Convert.ToDateTime(dt.Rows[0]["计划结束时间"].ToString()).ToString("yyyy-MM-dd")); //结束日期 CreateNode(xmlDoc, item, "jssj", Convert.ToDateTime(dt.Rows[0]["计划结束时间"].ToString()).ToString("HH:mm:ss")); //结束时间 CreateNode(xmlDoc, item, "hgsl", dt.Rows[0]["重量"].ToString()); //合格数量 CreateNode(xmlDoc, item, "fhgsl", dt.Rows[0]["支数"].ToString()); //辅合格数量 CreateNode(xmlDoc, item, "sflfcp", "N"); //是否联副产品 CreateNode(xmlDoc, item, "sffsgp", "N"); //是否发生改判 CreateNode(xmlDoc, item, "zdy1", ""); //自定义项1 CreateNode(xmlDoc, item, "zdy2", ""); //自定义项2 CreateNode(xmlDoc, item, "zdy3", ""); //自定义项3 CreateNode(xmlDoc, item, "zdy4", ""); //自定义项4 CreateNode(xmlDoc, item, "zdy5", ""); //自定义项5 CreateNode(xmlDoc, item, "freeitemvalue1", mod_std_config.C_ZYX1); CreateNode(xmlDoc, item, "freeitemvalue2", mod_std_config.C_ZYX2); CreateNode(xmlDoc, item, "freeitemvalue3", ""); CreateNode(xmlDoc, item, "freeitemvalue4", ""); CreateNode(xmlDoc, item, "freeitemvalue5", dt.Rows[0]["C_PLAN_ID"].ToString()); //PCI计划订单主键 CreateNode(xmlDoc, item, "pk_corp", ""); //公司编码 CreateNode(xmlDoc, item, "gcbm", ""); //工厂 #endregion body.AppendChild(item); xmlDoc.Save(url + "\\" + urlname); List <string> parem = dalSendNC.SendXML(url + "\\" + urlname); if (parem[0] == "1") { return(true); } else { return(false); } } catch (Exception ex) { return(false); } }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(Mod_TPB_SLABWH model, bool IsID) { return(dal.Add(model, IsID)); }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(Mod_TPB_SLABWH model) { return(dal.Add(model)); }
/// <summary> /// 添加编辑钢坯库库信息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Add_Click(object sender, EventArgs e) { try { if (this.txt_slabWh_Code.Text.Trim().Length == 0) { MessageBox.Show("请输入仓库编码!"); this.txt_slabWh_Code.Focus(); return; } if (this.txt_SlabWh_Name.Text.Trim().Length == 0) { MessageBox.Show("请输入仓库描述!"); this.txt_SlabWh_Name.Focus(); return; } DataTable dt_NC_CK = bll_TPB_SLABWH.Get_NC_CK_INFO(txt_slabWh_Code.Text.Trim()).Tables[0]; if (dt_NC_CK.Rows.Count == 0) { MessageBox.Show("NC没有该仓库,请现在NC添加需要的仓库信息!"); return; } if (this.lbl_WHID.Text == "") { if (DialogResult.No == MessageBox.Show("是否确认添加仓库信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)) { return; } Mod_TPB_SLABWH model = new Mod_TPB_SLABWH(); model.C_ID = dt_NC_CK.Rows[0]["PK_STORDOC"].ToString(); model.C_SLABWH_CODE = this.txt_slabWh_Code.Text.Trim(); model.C_SLABWH_NAME = this.txt_SlabWh_Name.Text.Trim(); model.C_REMARK = this.txt_Remark.Text.Trim(); model.C_EMP_ID = RV.UI.UserInfo.userID; #region 检测是否重复添加 System.Collections.Hashtable ht = new System.Collections.Hashtable(); ht.Add("C_SLABWH_CODE", model.C_SLABWH_CODE); ht.Add("N_STATUS", 1); if (Common.CheckRepeat.CheckTable("TPB_SLABWH", ht) > 0) { MessageBox.Show("已存在该仓库编码!"); } else { bool res = bll_TPB_SLABWH.Add(model, true); if (res) { Common.UserLog.AddLog(strMenuName, this.Name, this.Text, "添加仓库信息"); //添加操作日志 MessageBox.Show("添加成功!"); BindXCCK(); //重新加载仓库信息 btn_Reset_Click(null, null); //清空控件 } } #endregion } else { if (DialogResult.No == MessageBox.Show("是否确认编辑仓库信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)) { return; } Mod_TPB_SLABWH model = bll_TPB_SLABWH.GetModel(this.lbl_WHID.Text); if (model.C_SLABWH_CODE != txt_slabWh_Code.Text.Trim()) { MessageBox.Show("不能修改仓库编号!"); return; } //model.C_SLABWH_CODE = this.txt_slabWh_Code.Text.Trim(); model.C_SLABWH_NAME = this.txt_SlabWh_Name.Text.Trim(); model.C_REMARK = this.txt_Remark.Text.Trim(); model.C_EMP_ID = RV.UI.UserInfo.userID; model.D_MOD_DT = RV.UI.ServerTime.timeNow(); bool res = bll_TPB_SLABWH.Update(model); if (res) { Common.UserLog.AddLog(strMenuName, this.Name, this.Text, "修改仓库信息");//添加操作日志 MessageBox.Show("编辑成功!"); BindXCCK(); //重新加载仓库信息 btn_Reset_Click(null, null); //清空控件 } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// 发送转库实绩信息给NC /// </summary> /// <param name="xmlFileName">xml完整路径</param> /// <returns></returns> public string SendXml_GP(string xmlFileName, string no) { try { string name = "QT4I" + no + ".xml"; xmlFileName += "\\" + name; DataTable itemdt = dal_TRC_ROLL_QTCKD_ITEM.GetQTCKXQByDH(no).Tables[0]; //要传输的出库单数据 if (itemdt.Rows.Count == 0) { return("PCI转库单表未查询到其他出库单单:" + no + "信息!"); } Mod_TRC_ROLL_QTCKD mod_TRC_ROLL_QTCKD = dal_TRC_ROLL_QTCKD.GetModelByQTCKD(no); string mbckid = ""; if (mod_TRC_ROLL_QTCKD.C_MBWH_ID.Substring(0, 1) == "6" || mod_TRC_ROLL_QTCKD.C_MBWH_ID.Substring(0, 1) == "7") { Mod_TPB_LINEWH mbck = dal_TPB_LINEWH.GetModelByCode(mod_TRC_ROLL_QTCKD.C_MBWH_ID);//源仓库 mbckid = mbck.C_ID; } else { Mod_TPB_SLABWH mbck = dal_TPB_SLABWH.GetModel_Interface(mod_TRC_ROLL_QTCKD.C_MBWH_ID);//源仓库 mbckid = mbck.C_ID; } Mod_TPB_LINEWH yck = dal_TPB_LINEWH.GetModelByCode(itemdt.Rows[0]["C_LINEWH_CODE"].ToString()); //源仓库 string djrq = Convert.ToDateTime(mod_TRC_ROLL_QTCKD.D_CREATE_DT).ToString("yyyy-MM-dd"); Mod_TS_USER mod_TS_USER = dal_TS_USER.GetModel(mod_TRC_ROLL_QTCKD.C_CREATE_ID); //mod_TRC_ROLL_QTCKD.C_CREATE_ID string bmid = dal_TS_DEPT.GetDept(mod_TS_USER.C_ACCOUNT); if (bmid == "") { return("操作人部门未维护!"); } Mod_TS_DEPT mod_TS_DEPT = dal_TS_DEPT.GetModel(bmid);//获取部门 XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no"); xmlDoc.AppendChild(node); //创建根节点 XmlElement root = xmlDoc.CreateElement("ufinterface"); #region//给节点属性赋值 root.SetAttribute("billtype", "4K"); root.SetAttribute("filename", "QTCK" + mod_TRC_ROLL_QTCKD.C_QTCKD_NO + ".xml"); root.SetAttribute("isexchange", "Y"); root.SetAttribute("operation", "req"); root.SetAttribute("proc", "add"); root.SetAttribute("receiver", "101"); root.SetAttribute("replace", "y"); root.SetAttribute("roottag", "bill"); root.SetAttribute("sender", "1107"); #endregion xmlDoc.AppendChild(root); //创建子根节点 XmlElement bill = xmlDoc.CreateElement("bill"); #region//节点属性 bill.SetAttribute("id", "QT" + mod_TRC_ROLL_QTCKD.C_ID); #endregion root.AppendChild(bill); XmlNode head = xmlDoc.CreateNode(XmlNodeType.Element, "bill_head", null); #region //表头_order_head CreateNode(xmlDoc, head, "ctjname", ""); CreateNode(xmlDoc, head, "bz", ""); CreateNode(xmlDoc, head, "cbilltypecode", "4K"); //库存单据类型编码 CreateNode(xmlDoc, head, "cinbsrid", ""); CreateNode(xmlDoc, head, "cinbsrname", ""); CreateNode(xmlDoc, head, "cindeptid", mod_TS_DEPT.C_ID); //入库部门ID CreateNode(xmlDoc, head, "cindeptname", mod_TS_DEPT.C_NAME); CreateNode(xmlDoc, head, "cinwarehouseid", mbckid); //入库仓库ID CreateNode(xmlDoc, head, "cinwarehousename", mod_TRC_ROLL_QTCKD.C_MBWH_NAME); //仓库名称 CreateNode(xmlDoc, head, "isLocatorMgtIn", "0"); CreateNode(xmlDoc, head, "isWasteWhIn", "0"); CreateNode(xmlDoc, head, "whreservedptyin", ""); CreateNode(xmlDoc, head, "islocatormgtin", "0"); CreateNode(xmlDoc, head, "iswastewhin", "0"); CreateNode(xmlDoc, head, "whreservedptyin", ""); CreateNode(xmlDoc, head, "coutbsor", ""); CreateNode(xmlDoc, head, "coutbsorname", ""); CreateNode(xmlDoc, head, "coutdeptid", mod_TS_DEPT.C_ID); //出库部门ID CreateNode(xmlDoc, head, "coutdeptname", mod_TS_DEPT.C_NAME); //出库部门名称 CreateNode(xmlDoc, head, "coutwarehouseid", yck.C_ID); //出库仓库ID CreateNode(xmlDoc, head, "coutwarehousename", yck.C_LINEWH_NAME); //仓库名称 CreateNode(xmlDoc, head, "isLocatorMgtOut", "0"); CreateNode(xmlDoc, head, "isWasteWhOut", "0"); CreateNode(xmlDoc, head, "whReservedPtyOut", ""); CreateNode(xmlDoc, head, "islocatormgtout", "0"); CreateNode(xmlDoc, head, "iswastewhout", "0"); CreateNode(xmlDoc, head, "whreservedptyout", ""); CreateNode(xmlDoc, head, "cshlddiliverdate", djrq); //单据日期 CreateNode(xmlDoc, head, "ctj", ""); CreateNode(xmlDoc, head, "dbilldate", djrq); //单据日期 CreateNode(xmlDoc, head, "nfixdisassemblymny", ""); //组装拆卸费用 CreateNode(xmlDoc, head, "pdfs", ""); CreateNode(xmlDoc, head, "pk_corp", "1001"); //公司ID CreateNode(xmlDoc, head, "vbillcode", mod_TRC_ROLL_QTCKD.C_QTCKD_NO); //单据号 CreateNode(xmlDoc, head, "vnote", ""); //备注 CreateNode(xmlDoc, head, "vshldarrivedate", djrq); //应到货日期 CreateNode(xmlDoc, head, "vuserdef1", ""); CreateNode(xmlDoc, head, "vuserdef2", ""); CreateNode(xmlDoc, head, "vuserdef3", ""); CreateNode(xmlDoc, head, "vuserdef4", ""); CreateNode(xmlDoc, head, "vuserdef5", ""); CreateNode(xmlDoc, head, "vuserdef6", ""); CreateNode(xmlDoc, head, "vuserdef7", ""); CreateNode(xmlDoc, head, "vuserdef8", ""); CreateNode(xmlDoc, head, "vuserdef9", ""); CreateNode(xmlDoc, head, "vuserdef10", ""); CreateNode(xmlDoc, head, "vuserdef11", ""); CreateNode(xmlDoc, head, "vuserdef12", ""); CreateNode(xmlDoc, head, "vuserdef13", ""); CreateNode(xmlDoc, head, "vuserdef14", ""); CreateNode(xmlDoc, head, "vuserdef15", ""); CreateNode(xmlDoc, head, "vuserdef16", ""); CreateNode(xmlDoc, head, "vuserdef17", ""); CreateNode(xmlDoc, head, "vuserdef18", ""); CreateNode(xmlDoc, head, "vuserdef19", ""); CreateNode(xmlDoc, head, "vuserdef20", ""); CreateNode(xmlDoc, head, "vuserdef11h", ""); CreateNode(xmlDoc, head, "vuserdef12h", ""); CreateNode(xmlDoc, head, "vuserdef13h", ""); CreateNode(xmlDoc, head, "vuserdef14h", ""); CreateNode(xmlDoc, head, "vuserdef15h", ""); CreateNode(xmlDoc, head, "vuserdef16h", ""); CreateNode(xmlDoc, head, "vuserdef17h", ""); CreateNode(xmlDoc, head, "vuserdef18h", ""); CreateNode(xmlDoc, head, "vuserdef19h", ""); CreateNode(xmlDoc, head, "vuserdef20h", ""); CreateNode(xmlDoc, head, "pk_defdoc1", ""); CreateNode(xmlDoc, head, "pk_defdoc2", ""); CreateNode(xmlDoc, head, "pk_defdoc3", ""); CreateNode(xmlDoc, head, "pk_defdoc4", ""); CreateNode(xmlDoc, head, "pk_defdoc5", ""); CreateNode(xmlDoc, head, "pk_defdoc6", ""); CreateNode(xmlDoc, head, "pk_defdoc7", ""); CreateNode(xmlDoc, head, "pk_defdoc8", ""); CreateNode(xmlDoc, head, "pk_defdoc9", ""); CreateNode(xmlDoc, head, "pk_defdoc10", ""); CreateNode(xmlDoc, head, "pk_defdoc1h", ""); CreateNode(xmlDoc, head, "pk_defdoc2h", ""); CreateNode(xmlDoc, head, "pk_defdoc3h", ""); CreateNode(xmlDoc, head, "pk_defdoc4h", ""); CreateNode(xmlDoc, head, "pk_defdoc5h", ""); CreateNode(xmlDoc, head, "pk_defdoc6h", ""); CreateNode(xmlDoc, head, "pk_defdoc7h", ""); CreateNode(xmlDoc, head, "pk_defdoc8h", ""); CreateNode(xmlDoc, head, "pk_defdoc9h", ""); CreateNode(xmlDoc, head, "pk_defdoc10h", ""); CreateNode(xmlDoc, head, "pk_defdoc11", ""); CreateNode(xmlDoc, head, "pk_defdoc12", ""); CreateNode(xmlDoc, head, "pk_defdoc13", ""); CreateNode(xmlDoc, head, "pk_defdoc14", ""); CreateNode(xmlDoc, head, "pk_defdoc15", ""); CreateNode(xmlDoc, head, "pk_defdoc16", ""); CreateNode(xmlDoc, head, "pk_defdoc17", ""); CreateNode(xmlDoc, head, "pk_defdoc18", ""); CreateNode(xmlDoc, head, "pk_defdoc19", ""); CreateNode(xmlDoc, head, "pk_defdoc20", ""); CreateNode(xmlDoc, head, "pk_defdoc11h", ""); CreateNode(xmlDoc, head, "pk_defdoc12h", ""); CreateNode(xmlDoc, head, "pk_defdoc13h", ""); CreateNode(xmlDoc, head, "pk_defdoc14h", ""); CreateNode(xmlDoc, head, "pk_defdoc15h", ""); CreateNode(xmlDoc, head, "pk_defdoc16h", ""); CreateNode(xmlDoc, head, "pk_defdoc17h", ""); CreateNode(xmlDoc, head, "pk_defdoc18h", ""); CreateNode(xmlDoc, head, "pk_defdoc19h", ""); CreateNode(xmlDoc, head, "pk_defdoc20h", ""); CreateNode(xmlDoc, head, "vuserdef1h", ""); CreateNode(xmlDoc, head, "vuserdef2h", ""); CreateNode(xmlDoc, head, "vuserdef3h", ""); CreateNode(xmlDoc, head, "vuserdef4h", ""); CreateNode(xmlDoc, head, "vuserdef5h", ""); CreateNode(xmlDoc, head, "vuserdef6h", ""); CreateNode(xmlDoc, head, "vuserdef7h", ""); CreateNode(xmlDoc, head, "vuserdef8h", ""); CreateNode(xmlDoc, head, "vuserdef9h", ""); CreateNode(xmlDoc, head, "vuserdef10h", ""); CreateNode(xmlDoc, head, "cauditorid", ""); CreateNode(xmlDoc, head, "cauditorname", ""); CreateNode(xmlDoc, head, "coperatorid", mod_TS_USER.C_ID); //制单人 CreateNode(xmlDoc, head, "coperatorname", mod_TS_USER.C_NAME); //制单人名称 CreateNode(xmlDoc, head, "vadjuster", ""); CreateNode(xmlDoc, head, "vadjustername", ""); CreateNode(xmlDoc, head, "coperatoridnow", ""); CreateNode(xmlDoc, head, "ctjname", ""); CreateNode(xmlDoc, head, "pk_calbody_in", "1001NC10000000000669"); CreateNode(xmlDoc, head, "pk_calbody_out", "1001NC10000000000669"); CreateNode(xmlDoc, head, "vcalbody_inname", "邢钢库存组织"); CreateNode(xmlDoc, head, "vcalbody_outname", "邢钢库存组织"); CreateNode(xmlDoc, head, "ts", DateTime.Now.ToString()); CreateNode(xmlDoc, head, "timestamp", ""); //? CreateNode(xmlDoc, head, "headts", DateTime.Now.ToString()); CreateNode(xmlDoc, head, "isforeignstor_in", "N"); CreateNode(xmlDoc, head, "isgathersettle_in", "N"); CreateNode(xmlDoc, head, "isforeignstor_out", "N"); CreateNode(xmlDoc, head, "isgathersettle_out", "N"); CreateNode(xmlDoc, head, "icheckmode", ""); CreateNode(xmlDoc, head, "fassistantflag", "N"); //是否计算期间业务量 CreateNode(xmlDoc, head, "fbillflag", ""); CreateNode(xmlDoc, head, "vostatus", ""); CreateNode(xmlDoc, head, "iprintcount", ""); CreateNode(xmlDoc, head, "clastmodiid", mod_TS_USER.C_ID); //最后修改人 CreateNode(xmlDoc, head, "clastmodiname", mod_TS_USER.C_NAME); //最后修改人名称 CreateNode(xmlDoc, head, "tlastmoditime", mod_TS_USER.D_MOD_DT.ToString()); //最后修改时间 CreateNode(xmlDoc, head, "cnxtbilltypecode", "4I"); CreateNode(xmlDoc, head, "cspecialhid", ""); #endregion bill.AppendChild(head); XmlElement body = xmlDoc.CreateElement("bill_body"); bill.AppendChild(body); foreach (DataRow qtck in itemdt.Rows) { Mod_TRC_ROLL_QTCKD_ITEM mod_TRC_ROLL_QTCKD_ITEM = dal_TRC_ROLL_QTCKD_ITEM.GetModeltran(qtck["C_ID"].ToString()); Mod_TB_MATRL_MAIN mod_TB_MATRL_MAIN = dal_TB_MATRL_MAIN.GetModel(qtck["C_MAT_CODE"].ToString()); Mod_TQB_CHECKSTATE mod_TQB_CHECKSTATE = dal_TQB_CHECKSTATE.GetModelByName(qtck["C_JUDGE_LEV_ZH"].ToString(), "1001"); XmlNode item = xmlDoc.CreateNode(XmlNodeType.Element, "item", null); #region //表体_item CreateNode(xmlDoc, item, "csourcetypename", ""); CreateNode(xmlDoc, item, "cinvbasid", mod_TB_MATRL_MAIN.C_PK_INVBASDOC); //来源单据号 CreateNode(xmlDoc, item, "pk_invbasdoc", mod_TB_MATRL_MAIN.C_PK_INVBASDOC); CreateNode(xmlDoc, item, "fixedflag", "N"); CreateNode(xmlDoc, item, "bgssl", ""); CreateNode(xmlDoc, item, "castunitid", mod_TB_MATRL_MAIN.C_FJLDW); //辅计量单位ID CreateNode(xmlDoc, item, "castunitname", mod_TB_MATRL_MAIN.C_FJLDWMC); CreateNode(xmlDoc, item, "cinventorycode", mod_TB_MATRL_MAIN.C_MAT_CODE); CreateNode(xmlDoc, item, "cinventoryid", mod_TB_MATRL_MAIN.C_PK_INVMANDOC); //存货ID CreateNode(xmlDoc, item, "cinvmanid", mod_TB_MATRL_MAIN.C_PK_INVBASDOC); CreateNode(xmlDoc, item, "isLotMgt", "1"); CreateNode(xmlDoc, item, "isSerialMgt", "0"); CreateNode(xmlDoc, item, "isValidateMgt", "0"); CreateNode(xmlDoc, item, "isAstUOMmgt", "1"); CreateNode(xmlDoc, item, "isFreeItemMgt", "1"); CreateNode(xmlDoc, item, "isSet", "0"); CreateNode(xmlDoc, item, "standStoreUOM", ""); CreateNode(xmlDoc, item, "defaultAstUOM", mod_TB_MATRL_MAIN.C_FJLDW); CreateNode(xmlDoc, item, "isSellProxy", "0"); CreateNode(xmlDoc, item, "qualityDay", ""); CreateNode(xmlDoc, item, "invReservedPty", ""); CreateNode(xmlDoc, item, "isSolidConvRate", "0"); CreateNode(xmlDoc, item, "islotmgt", "1"); CreateNode(xmlDoc, item, "isserialmgt", "0"); CreateNode(xmlDoc, item, "isvalidatemgt", "0"); CreateNode(xmlDoc, item, "isastuommgt", "1"); CreateNode(xmlDoc, item, "isfreeitemmgt", "1"); CreateNode(xmlDoc, item, "isset", "0"); CreateNode(xmlDoc, item, "standstoreuom", ""); CreateNode(xmlDoc, item, "defaultastuom", mod_TB_MATRL_MAIN.C_FJLDW); CreateNode(xmlDoc, item, "issellproxy", "0"); CreateNode(xmlDoc, item, "qualityday", ""); CreateNode(xmlDoc, item, "invreservedpty", ""); CreateNode(xmlDoc, item, "issolidconvrate", "0"); CreateNode(xmlDoc, item, "csourcebillbid", ""); CreateNode(xmlDoc, item, "csourcebillhid", ""); CreateNode(xmlDoc, item, "csourcetype", ""); CreateNode(xmlDoc, item, "cspaceid", ""); CreateNode(xmlDoc, item, "cspacecode", ""); CreateNode(xmlDoc, item, "cspacename", ""); CreateNode(xmlDoc, item, "cspecialhid", ""); //??? CreateNode(xmlDoc, item, "cwarehouseid", ""); CreateNode(xmlDoc, item, "cwarehousename", ""); CreateNode(xmlDoc, item, "isLocatorMgt", ""); CreateNode(xmlDoc, item, "isWasteWh", ""); CreateNode(xmlDoc, item, "whreservedpty", ""); CreateNode(xmlDoc, item, "islocatormgt", ""); CreateNode(xmlDoc, item, "iswastewh", ""); CreateNode(xmlDoc, item, "whreservedpty", ""); CreateNode(xmlDoc, item, "cyfsl", ""); CreateNode(xmlDoc, item, "cysl", ""); CreateNode(xmlDoc, item, "desl", ""); CreateNode(xmlDoc, item, "dshldtransnum", mod_TRC_ROLL_QTCKD_ITEM.N_SJWGT.ToString()); //应转数量 CreateNode(xmlDoc, item, "dvalidate", ""); CreateNode(xmlDoc, item, "fbillrowflag", ""); CreateNode(xmlDoc, item, "hlzl", ""); CreateNode(xmlDoc, item, "hsl", Math.Round(Convert.ToDouble(mod_TRC_ROLL_QTCKD_ITEM.N_SJWGT / mod_TRC_ROLL_QTCKD_ITEM.N_SJNUM), 6).ToString()); //换算率 CreateNode(xmlDoc, item, "invname", mod_TB_MATRL_MAIN.C_MAT_NAME); //物料名称 CreateNode(xmlDoc, item, "invspec", mod_TRC_ROLL_QTCKD_ITEM.C_SPEC); //规格 CreateNode(xmlDoc, item, "invtype", mod_TRC_ROLL_QTCKD_ITEM.C_STL_GRD); //钢种 CreateNode(xmlDoc, item, "je", ""); //? CreateNode(xmlDoc, item, "jhdj", ""); //? CreateNode(xmlDoc, item, "jhje", ""); //? CreateNode(xmlDoc, item, "jhpdzq", ""); CreateNode(xmlDoc, item, "measdocname", mod_TB_MATRL_MAIN.C_ZJLDWMC); //计量单位名称 CreateNode(xmlDoc, item, "naccountastnum", ""); CreateNode(xmlDoc, item, "naccountnum", ""); CreateNode(xmlDoc, item, "nadjustastnum", ""); CreateNode(xmlDoc, item, "nadjustnum", ""); CreateNode(xmlDoc, item, "ncheckastnum", ""); CreateNode(xmlDoc, item, "nchecknum", ""); CreateNode(xmlDoc, item, "nprice", ""); CreateNode(xmlDoc, item, "nmny", ""); CreateNode(xmlDoc, item, "nplannedmny", ""); //计划金额 CreateNode(xmlDoc, item, "nplannedprice", ""); //计划单价 CreateNode(xmlDoc, item, "nshldtransastnum", mod_TRC_ROLL_QTCKD_ITEM.N_SJNUM.ToString()); //应转辅数量 CreateNode(xmlDoc, item, "pk_measdoc", mod_TB_MATRL_MAIN.C_PK_MEASDOC); //主计量单位 CreateNode(xmlDoc, item, "scrq", mod_TRC_ROLL_QTCKD_ITEM.D_PRODUCE_DATE.ToString()); //? CreateNode(xmlDoc, item, "sjpdzq", ""); CreateNode(xmlDoc, item, "vbatchcode", mod_TRC_ROLL_QTCKD_ITEM.C_BATCH_NO); //? CreateNode(xmlDoc, item, "vfree0", ""); //? CreateNode(xmlDoc, item, "vfree1", mod_TRC_ROLL_QTCKD_ITEM.C_ZYX1); //? CreateNode(xmlDoc, item, "vfree2", mod_TRC_ROLL_QTCKD_ITEM.C_ZYX2); //? CreateNode(xmlDoc, item, "vfree3", mod_TRC_ROLL_QTCKD_ITEM.C_BZYQ); //? CreateNode(xmlDoc, item, "vfree4", ""); CreateNode(xmlDoc, item, "vfree5", ""); CreateNode(xmlDoc, item, "vfree6", ""); CreateNode(xmlDoc, item, "vfree7", ""); CreateNode(xmlDoc, item, "vfree8", ""); CreateNode(xmlDoc, item, "vfree9", ""); CreateNode(xmlDoc, item, "vfree10", ""); CreateNode(xmlDoc, item, "vfreename1", ""); //? CreateNode(xmlDoc, item, "vfreename2", ""); //? CreateNode(xmlDoc, item, "vfreename3", ""); //? CreateNode(xmlDoc, item, "vfreename4", ""); CreateNode(xmlDoc, item, "vfreename5", ""); CreateNode(xmlDoc, item, "vfreename6", ""); CreateNode(xmlDoc, item, "vfreename7", ""); CreateNode(xmlDoc, item, "vfreename8", ""); CreateNode(xmlDoc, item, "vfreename9", ""); CreateNode(xmlDoc, item, "vfreename10", ""); CreateNode(xmlDoc, item, "vsourcebillcode", ""); CreateNode(xmlDoc, item, "vuserdef1", ""); CreateNode(xmlDoc, item, "vuserdef2", ""); CreateNode(xmlDoc, item, "vuserdef3", ""); CreateNode(xmlDoc, item, "vuserdef4", ""); CreateNode(xmlDoc, item, "vuserdef5", ""); CreateNode(xmlDoc, item, "vuserdef6", ""); CreateNode(xmlDoc, item, "vuserdef7", ""); CreateNode(xmlDoc, item, "vuserdef8", ""); CreateNode(xmlDoc, item, "vuserdef9", ""); CreateNode(xmlDoc, item, "vuserdef10", mod_TRC_ROLL_QTCKD_ITEM.C_ID); //自定义项 CreateNode(xmlDoc, item, "vuserdef11", ""); CreateNode(xmlDoc, item, "vuserdef12", ""); CreateNode(xmlDoc, item, "vuserdef13", ""); CreateNode(xmlDoc, item, "vuserdef14", ""); CreateNode(xmlDoc, item, "vuserdef15", ""); CreateNode(xmlDoc, item, "vuserdef16", ""); CreateNode(xmlDoc, item, "vuserdef17", ""); CreateNode(xmlDoc, item, "vuserdef18", ""); CreateNode(xmlDoc, item, "vuserdef19", ""); CreateNode(xmlDoc, item, "vuserdef20", ""); CreateNode(xmlDoc, item, "pk_defdoc1", ""); CreateNode(xmlDoc, item, "pk_defdoc2", ""); CreateNode(xmlDoc, item, "pk_defdoc3", ""); CreateNode(xmlDoc, item, "pk_defdoc4", ""); CreateNode(xmlDoc, item, "pk_defdoc5", ""); CreateNode(xmlDoc, item, "pk_defdoc6", ""); CreateNode(xmlDoc, item, "pk_defdoc7", ""); CreateNode(xmlDoc, item, "pk_defdoc8", ""); CreateNode(xmlDoc, item, "pk_defdoc9", ""); CreateNode(xmlDoc, item, "pk_defdoc10", ""); CreateNode(xmlDoc, item, "pk_defdoc11", ""); CreateNode(xmlDoc, item, "pk_defdoc12", ""); CreateNode(xmlDoc, item, "pk_defdoc13", ""); CreateNode(xmlDoc, item, "pk_defdoc14", ""); CreateNode(xmlDoc, item, "pk_defdoc15", ""); CreateNode(xmlDoc, item, "pk_defdoc16", ""); CreateNode(xmlDoc, item, "pk_defdoc17", ""); CreateNode(xmlDoc, item, "pk_defdoc18", ""); CreateNode(xmlDoc, item, "pk_defdoc19", ""); CreateNode(xmlDoc, item, "pk_defdoc20", ""); CreateNode(xmlDoc, item, "yy", ""); CreateNode(xmlDoc, item, "ztsl", ""); CreateNode(xmlDoc, item, "bkxcl", ""); CreateNode(xmlDoc, item, "chzl", ""); CreateNode(xmlDoc, item, "neconomicnum", ""); CreateNode(xmlDoc, item, "nmaxstocknum", ""); CreateNode(xmlDoc, item, "nminstocknum", mod_TRC_ROLL_QTCKD_ITEM.N_SJNUM.ToString()); //? CreateNode(xmlDoc, item, "norderpointnum", mod_TRC_ROLL_QTCKD_ITEM.N_SJWGT.ToString()); //? CreateNode(xmlDoc, item, "xczl", ""); CreateNode(xmlDoc, item, "nsafestocknum", ""); CreateNode(xmlDoc, item, "fbillflag", ""); CreateNode(xmlDoc, item, "vfreeid1", ""); //? CreateNode(xmlDoc, item, "vfreeid2", ""); //? CreateNode(xmlDoc, item, "vfreeid3", ""); //? CreateNode(xmlDoc, item, "vfreeid4", ""); CreateNode(xmlDoc, item, "vfreeid5", ""); CreateNode(xmlDoc, item, "vfreeid6", ""); CreateNode(xmlDoc, item, "vfreeid7", ""); CreateNode(xmlDoc, item, "vfreeid8", ""); CreateNode(xmlDoc, item, "vfreeid9", ""); CreateNode(xmlDoc, item, "vfreeid10", ""); CreateNode(xmlDoc, item, "discountflag", "N"); CreateNode(xmlDoc, item, "laborflag", "N"); CreateNode(xmlDoc, item, "childsnum", ""); CreateNode(xmlDoc, item, "invsetparttype", ""); CreateNode(xmlDoc, item, "partpercent", ""); CreateNode(xmlDoc, item, "vnote", ""); CreateNode(xmlDoc, item, "vbodynote", ""); CreateNode(xmlDoc, item, "ccorrespondtypename", ""); CreateNode(xmlDoc, item, "cfirstbillbid", ""); CreateNode(xmlDoc, item, "cfirstbillhid", ""); CreateNode(xmlDoc, item, "cfirsttypename", ""); CreateNode(xmlDoc, item, "cfirsttype", ""); CreateNode(xmlDoc, item, "csourcetypename", ""); CreateNode(xmlDoc, item, "pk_calbody", ""); CreateNode(xmlDoc, item, "vcalbodyname", ""); CreateNode(xmlDoc, item, "ts", DateTime.Now.ToString()); //? CreateNode(xmlDoc, item, "timestamp", ""); //? CreateNode(xmlDoc, item, "bodyts", DateTime.Now.ToString()); //? CreateNode(xmlDoc, item, "crowno", "1"); //行号??? CreateNode(xmlDoc, item, "nperiodastnum", ""); //期间业务辅数量 CreateNode(xmlDoc, item, "nperiodnum", ""); //期间业务数量 CreateNode(xmlDoc, item, "isforeignstor", "N"); CreateNode(xmlDoc, item, "isgathersettle", "N"); CreateNode(xmlDoc, item, "csortrowno", ""); CreateNode(xmlDoc, item, "cvendorid", ""); CreateNode(xmlDoc, item, "cvendorname", ""); CreateNode(xmlDoc, item, "pk_cubasdoc", ""); CreateNode(xmlDoc, item, "pk_corp", "1001"); //公司ID CreateNode(xmlDoc, item, "tbatchtime", ""); CreateNode(xmlDoc, item, "dproducedate", ""); CreateNode(xmlDoc, item, "dvalidate", ""); CreateNode(xmlDoc, item, "vvendbatchcode", ""); CreateNode(xmlDoc, item, "qualitymanflag", ""); CreateNode(xmlDoc, item, "qualitydaynum", ""); CreateNode(xmlDoc, item, "cqualitylevelid", mod_TQB_CHECKSTATE.C_ID); //? CreateNode(xmlDoc, item, "vnote", ""); CreateNode(xmlDoc, item, "tchecktime", ""); //? CreateNode(xmlDoc, item, "vdef1", ""); CreateNode(xmlDoc, item, "vdef2", ""); CreateNode(xmlDoc, item, "vdef3", ""); CreateNode(xmlDoc, item, "vdef4", ""); CreateNode(xmlDoc, item, "vdef5", ""); CreateNode(xmlDoc, item, "vdef6", ""); CreateNode(xmlDoc, item, "vdef7", ""); CreateNode(xmlDoc, item, "vdef8", ""); CreateNode(xmlDoc, item, "vdef9", ""); CreateNode(xmlDoc, item, "vdef10", ""); CreateNode(xmlDoc, item, "vdef11", ""); CreateNode(xmlDoc, item, "vdef12", ""); CreateNode(xmlDoc, item, "vdef13", ""); CreateNode(xmlDoc, item, "vdef14", ""); CreateNode(xmlDoc, item, "vdef15", ""); CreateNode(xmlDoc, item, "vdef16", ""); CreateNode(xmlDoc, item, "vdef17", ""); CreateNode(xmlDoc, item, "vdef18", ""); CreateNode(xmlDoc, item, "vdef19", ""); CreateNode(xmlDoc, item, "vdef20", ""); CreateNode(xmlDoc, item, "naccountgrsnum", ""); CreateNode(xmlDoc, item, "ncheckgrsnum", ""); CreateNode(xmlDoc, item, "nadjustgrsnum", ""); CreateNode(xmlDoc, item, "nshldtransgrsnum", ""); CreateNode(xmlDoc, item, "cspecialbid", ""); //? CreateNode(xmlDoc, item, "vbatchcode_temp", ""); //? CreateNode(xmlDoc, item, "cqualitylevelname", mod_TRC_ROLL_QTCKD_ITEM.C_JUDGE_LEV_ZH); //? CreateNode(xmlDoc, item, "vdef1", ""); //? CreateNode(xmlDoc, item, "vdef2", ""); //? CreateNode(xmlDoc, item, "vdef3", ""); //? #endregion body.AppendChild(item); } xmlDoc.Save(xmlFileName); List <string> parem = dalSendNC.SendXML(xmlFileName); if (parem[0] == "1") { return("1"); } else { return(parem[1]); } } catch (Exception ex) { return(ex.ToString()); } }
/// <summary> /// 发送改判信息给NC /// </summary> /// <param name="xmlFileName">xml完整路径</param> /// <returns></returns> public string SendXml_DM(string xmlFileName, string fydh) { try { string name = "FYSJ" + fydh + ".xml"; xmlFileName += "\\NCXML\\" + name; Mod_TMD_DISPATCH modDispatch = dal_TMD_DISPATCH.GetModel(fydh); XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no"); xmlDoc.AppendChild(node); //创建根节点 XmlElement root = xmlDoc.CreateElement("ufinterface"); #region//给节点属性赋值 root.SetAttribute("billtype", "7F"); root.SetAttribute("filename", name); root.SetAttribute("isexchange", "Y"); root.SetAttribute("operation", "req"); root.SetAttribute("proc", "update"); root.SetAttribute("receiver", "101"); root.SetAttribute("replace", "Y"); root.SetAttribute("roottag", "bill"); root.SetAttribute("sender", "1107"); #endregion xmlDoc.AppendChild(root); //创建子根节点 XmlElement bill = xmlDoc.CreateElement("bill"); bill.SetAttribute("id", modDispatch.C_GUID);//发运单表头主键 root.AppendChild(bill); XmlNode head = xmlDoc.CreateNode(XmlNodeType.Element, "bill_head", null); #region //表头_order_head CreateNode(xmlDoc, head, "apprdate", Convert.ToDateTime(modDispatch.D_APPROVE_DT).ToString("yyy-MM-dd")); //审批日期 CreateNode(xmlDoc, head, "bconfirm", "N"); CreateNode(xmlDoc, head, "billdate", Convert.ToDateTime(modDispatch.D_CREATE_DT).ToString("yyy-MM-dd")); //制单日期 CreateNode(xmlDoc, head, "billnewaddtime", Convert.ToDateTime(modDispatch.D_CREATE_DT).ToString("yyy-MM-dd HH:mm:ss")); CreateNode(xmlDoc, head, "bisopen", ""); CreateNode(xmlDoc, head, "bmissionbill", "N"); CreateNode(xmlDoc, head, "bmustreturnbillcode", ""); CreateNode(xmlDoc, head, "btestbyinvoice", ""); CreateNode(xmlDoc, head, "clastmodifierid", modDispatch.C_EMP_ID);//最后修改人 CreateNode(xmlDoc, head, "clastmodiname", ""); CreateNode(xmlDoc, head, "curbilltype", ""); CreateNode(xmlDoc, head, "dallpacknum", "0"); CreateNode(xmlDoc, head, "dallvolumn", "0"); CreateNode(xmlDoc, head, "dallweight", "0"); CreateNode(xmlDoc, head, "dfactweight", ""); CreateNode(xmlDoc, head, "dr", "0"); CreateNode(xmlDoc, head, "dtotal", ""); CreateNode(xmlDoc, head, "employee", ""); CreateNode(xmlDoc, head, "h_confirmarrivedate", ""); CreateNode(xmlDoc, head, "iprintcount", ""); CreateNode(xmlDoc, head, "isendtype", "3");//运费类别 CreateNode(xmlDoc, head, "linkman1", ""); CreateNode(xmlDoc, head, "oprdepartname", ""); CreateNode(xmlDoc, head, "phone1", ""); CreateNode(xmlDoc, head, "pk_defdoc0", modDispatch.C_IS_WIRESALE_ID); //是否线材销售主键 CreateNode(xmlDoc, head, "pk_defdoc1", ""); CreateNode(xmlDoc, head, "pk_defdoc10", ""); CreateNode(xmlDoc, head, "pk_defdoc11", ""); CreateNode(xmlDoc, head, "pk_defdoc12", ""); CreateNode(xmlDoc, head, "pk_defdoc13", ""); CreateNode(xmlDoc, head, "pk_defdoc14", ""); CreateNode(xmlDoc, head, "pk_defdoc15", ""); CreateNode(xmlDoc, head, "pk_defdoc16", ""); CreateNode(xmlDoc, head, "pk_defdoc17", ""); CreateNode(xmlDoc, head, "pk_defdoc18", ""); CreateNode(xmlDoc, head, "pk_defdoc19", ""); CreateNode(xmlDoc, head, "pk_defdoc2", ""); CreateNode(xmlDoc, head, "pk_defdoc3", ""); CreateNode(xmlDoc, head, "pk_defdoc4", ""); CreateNode(xmlDoc, head, "pk_defdoc5", ""); CreateNode(xmlDoc, head, "pk_defdoc6", ""); CreateNode(xmlDoc, head, "pk_defdoc7", ""); CreateNode(xmlDoc, head, "pk_defdoc8", ""); CreateNode(xmlDoc, head, "pk_defdoc9", ""); CreateNode(xmlDoc, head, "pk_delivbill_h", ""); //发运单表头主键 CreateNode(xmlDoc, head, "pkapprperson", ""); CreateNode(xmlDoc, head, "pkbillperson", modDispatch.C_CREATE_ID); //制单人 CreateNode(xmlDoc, head, "pkcorpforgenoid", "1001"); CreateNode(xmlDoc, head, "pkdelivmode", modDispatch.C_SHIPVIA); //发运方式主键 CreateNode(xmlDoc, head, "pkdelivorg", "1001NC10000000006EHS"); //发运组织主键固定 CreateNode(xmlDoc, head, "pkdelivroute", "1001NC10000000006EHV"); //发运路线主键 固定 CreateNode(xmlDoc, head, "pkdriver", ""); CreateNode(xmlDoc, head, "pkoperator", modDispatch.C_BUSINESS_ID); //业务员主键 CreateNode(xmlDoc, head, "pkoprdepart", modDispatch.C_BUSINESS_DEPT); //业务部门主键 CreateNode(xmlDoc, head, "pksendperson", ""); CreateNode(xmlDoc, head, "pktrancust", modDispatch.C_COMCAR); //承运商 CreateNode(xmlDoc, head, "pktranorg", ""); CreateNode(xmlDoc, head, "pkvehicle", ""); CreateNode(xmlDoc, head, "pkvehicletype", ""); CreateNode(xmlDoc, head, "returndate", ""); CreateNode(xmlDoc, head, "returntime", ""); CreateNode(xmlDoc, head, "senddate", Convert.ToDateTime(modDispatch.D_DISP_DT).ToString("yyy-MM-dd"));//发运日期 CreateNode(xmlDoc, head, "startdate", ""); CreateNode(xmlDoc, head, "starttime", ""); CreateNode(xmlDoc, head, "taudittime", ""); CreateNode(xmlDoc, head, "tlastmodifytime", Convert.ToDateTime(modDispatch.D_MOD_DT).ToString("yyy-MM-dd HH:mm:ss")); //最后修改时间 CreateNode(xmlDoc, head, "tmaketime", Convert.ToDateTime(modDispatch.D_CREATE_DT).ToString("yyy-MM-dd HH:mm:ss")); // 制单时间 CreateNode(xmlDoc, head, "ts", Convert.ToDateTime(modDispatch.D_CREATE_DT).ToString("yyy-MM-dd HH:mm:ss")); CreateNode(xmlDoc, head, "userid", modDispatch.C_CREATE_ID); //制单人 CreateNode(xmlDoc, head, "vapprpersonname", ""); CreateNode(xmlDoc, head, "vbillpersonname", ""); CreateNode(xmlDoc, head, "vdelivbillcode", modDispatch.C_ID);//发运单单据号 CreateNode(xmlDoc, head, "vdoname", ""); CreateNode(xmlDoc, head, "vdrivername", ""); CreateNode(xmlDoc, head, "vehiclelicense", ""); CreateNode(xmlDoc, head, "vnote", ""); CreateNode(xmlDoc, head, "voldDelivbillcode", ""); CreateNode(xmlDoc, head, "vroutedescr", ""); CreateNode(xmlDoc, head, "vroutename", ""); CreateNode(xmlDoc, head, "vsendtypename", ""); CreateNode(xmlDoc, head, "vtranname", ""); CreateNode(xmlDoc, head, "vtranorgname", ""); CreateNode(xmlDoc, head, "vuserdef0", modDispatch.C_IS_WIRESALE);// 是否线材销售 是/ 否 ***** CreateNode(xmlDoc, head, "vuserdef1", ""); CreateNode(xmlDoc, head, "vuserdef10", ""); CreateNode(xmlDoc, head, "vuserdef11", ""); CreateNode(xmlDoc, head, "vuserdef12", ""); CreateNode(xmlDoc, head, "vuserdef13", ""); CreateNode(xmlDoc, head, "vuserdef14", ""); CreateNode(xmlDoc, head, "vuserdef15", ""); CreateNode(xmlDoc, head, "vuserdef16", ""); CreateNode(xmlDoc, head, "vuserdef17", ""); CreateNode(xmlDoc, head, "vuserdef18", ""); CreateNode(xmlDoc, head, "vuserdef19", ""); CreateNode(xmlDoc, head, "vuserdef2", ""); CreateNode(xmlDoc, head, "vuserdef3", "Y"); //是否已导出 CreateNode(xmlDoc, head, "vuserdef4", modDispatch.C_LIC_PLA_NO); //车牌号 CreateNode(xmlDoc, head, "vuserdef5", ""); CreateNode(xmlDoc, head, "vuserdef6", ""); CreateNode(xmlDoc, head, "vuserdef7", ""); CreateNode(xmlDoc, head, "vuserdef8", ""); CreateNode(xmlDoc, head, "vuserdef9", ""); CreateNode(xmlDoc, head, "vvehiclename", ""); CreateNode(xmlDoc, head, "vvhcltypename", ""); #endregion bill.AppendChild(head); XmlElement body = xmlDoc.CreateElement("bill_body"); bill.AppendChild(body); DataTable dt = GetZJBList(fydh).Tables[0]; if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { int rowno = i + 1; Mod_TMP_DAYPLAN modDayPlan = dal_TMP_DAYPLAN.GetModel(dt.Rows[i]["C_PLAN_ID"].ToString()); if (modDayPlan != null) { #region //实体参数 Mod_TMO_ORDER modOrder = dal_TMO_ORDER.GetModel(modDayPlan.C_PKBILLB); Mod_TPB_LINEWH mbck = dal_TPB_LINEWH.GetModel_Interface_Trans(dt.Rows[i]["C_SEND_STOCK"].ToString()); //目标仓库 Mod_TPB_SLABWH slabwh = dal_TPB_SLABWH.GetModel_Interface_Trans(dt.Rows[i]["C_SEND_STOCK"].ToString()); Mod_TS_CUSTFILE modCust = dal_TS_CUSTFILE.GetCustModel(modDayPlan.C_PKCUST); //客户档案 Mod_TMB_AREA modArea = dal_TMB_AREA.GetModel(modDayPlan.C_PKARRIVEAREA); //区域 Mod_TB_MATRL_MAIN modMat = dal_TB_MATRL_MAIN.GetMatModel(modDayPlan.C_PKINV); //物料 Mod_TQB_CHECKSTATE mod_TQB_CHECKSTATE = dal_TQB_CHECKSTATE.GetModelByName(dt.Rows[i]["C_ZLDJ"].ToString(), "1001"); Mod_TMD_DISPATCHDETAILS modfyditem = dal_fyditem.GetModel(dt.Rows[i]["C_PK_NCID"].ToString()); string addrpk = ""; DataTable dtaddess = dal_TMB_AREA.GetAreaAddress(modfyditem.C_SEND_AREA).Tables[0]; if (dtaddess.Rows.Count > 0) { addrpk = dtaddess.Rows[0]["PK_ADDRESS"].ToString(); } #endregion decimal dunitprice = Convert.ToDecimal(modDayPlan.N_UNITPRICE); //含税单价 string wgt = dt.Rows[i]["N_JZ"].ToString(); //重量 string num = dt.Rows[i]["N_NUM"].ToString(); //数量 decimal dmoney = dunitprice * Convert.ToDecimal(wgt); //订单金额 XmlNode item = xmlDoc.CreateNode(XmlNodeType.Element, "item", null); #region //表体_item CreateNode(xmlDoc, item, "bappendent", ""); CreateNode(xmlDoc, item, "bcloseout", ""); CreateNode(xmlDoc, item, "bcloseout_old", ""); CreateNode(xmlDoc, item, "blargess", "N"); CreateNode(xmlDoc, item, "borderreturn", "N"); CreateNode(xmlDoc, item, "breceiveinform", ""); CreateNode(xmlDoc, item, "bsigned", ""); CreateNode(xmlDoc, item, "btestbyinvoice", ""); CreateNode(xmlDoc, item, "carrivecorpname", ""); CreateNode(xmlDoc, item, "cbiztype", modDayPlan.C_BIZTYPE); //业务类型 CreateNode(xmlDoc, item, "ccheckstate_bid", mod_TQB_CHECKSTATE.C_ID); //质量等级** CreateNode(xmlDoc, item, "ccheckstatename", ""); CreateNode(xmlDoc, item, "cfreezeid", ""); CreateNode(xmlDoc, item, "cinvmanid", ""); CreateNode(xmlDoc, item, "confirmarrivedate", ""); CreateNode(xmlDoc, item, "cquoteunitid", modDayPlan.C_UNITID);//报价计量单位ID CreateNode(xmlDoc, item, "cquoteunitname", ""); CreateNode(xmlDoc, item, "creceiptcorp", ""); CreateNode(xmlDoc, item, "creceiptcorpid", modDayPlan.C_RECEIPTCORPID);//收货单位 CreateNode(xmlDoc, item, "csendcorp", ""); CreateNode(xmlDoc, item, "csendcorpid", ""); CreateNode(xmlDoc, item, "dcancelassistnum", ""); CreateNode(xmlDoc, item, "dcancelnum", ""); CreateNode(xmlDoc, item, "dfee", ""); CreateNode(xmlDoc, item, "dfeeitem", ""); CreateNode(xmlDoc, item, "dinvassist", num); //辅数量-件数 CreateNode(xmlDoc, item, "dinvnum", wgt); //存货数量 CreateNode(xmlDoc, item, "dinvweight", ""); CreateNode(xmlDoc, item, "dmileage", ""); CreateNode(xmlDoc, item, "dmoney", dmoney.ToString());//订单金额 CreateNode(xmlDoc, item, "doutassistnum", ""); CreateNode(xmlDoc, item, "doutnum", ""); CreateNode(xmlDoc, item, "doutnummargin", ""); CreateNode(xmlDoc, item, "dpackboxnum", ""); CreateNode(xmlDoc, item, "dpacknum", ""); CreateNode(xmlDoc, item, "dpackvolumn", ""); CreateNode(xmlDoc, item, "dpackweight", ""); CreateNode(xmlDoc, item, "dr", "0"); CreateNode(xmlDoc, item, "dreturnassistnum", ""); CreateNode(xmlDoc, item, "dreturnnum", ""); CreateNode(xmlDoc, item, "dsignasnum", ""); CreateNode(xmlDoc, item, "dsignassistnum", ""); CreateNode(xmlDoc, item, "dsignnum", ""); CreateNode(xmlDoc, item, "dsourcerow", ""); CreateNode(xmlDoc, item, "dtotalout", ""); CreateNode(xmlDoc, item, "dunitprice", dunitprice.ToString());//含税单价 CreateNode(xmlDoc, item, "dvolumn", ""); CreateNode(xmlDoc, item, "dwaylossasnum", ""); CreateNode(xmlDoc, item, "dwaylossnum", ""); CreateNode(xmlDoc, item, "hsl", ""); CreateNode(xmlDoc, item, "iattitude", ""); CreateNode(xmlDoc, item, "ibatchstatus", "0"); CreateNode(xmlDoc, item, "ibetimes", ""); CreateNode(xmlDoc, item, "iloadnum", ""); CreateNode(xmlDoc, item, "ilockstatus", ""); CreateNode(xmlDoc, item, "ionroadtime", ""); CreateNode(xmlDoc, item, "ipacking", ""); CreateNode(xmlDoc, item, "irownumber", rowno.ToString());//行号 CreateNode(xmlDoc, item, "irowstatus", "0"); CreateNode(xmlDoc, item, "ischeckatp", "N"); CreateNode(xmlDoc, item, "linkman1", ""); CreateNode(xmlDoc, item, "nassistnetwgt", num); CreateNode(xmlDoc, item, "nfeedbacknum", wgt); //回写上游数量 CreateNode(xmlDoc, item, "nnetwgt", wgt); //净重 CreateNode(xmlDoc, item, "nquoteunitnum", wgt); //报价计量单位数量?-存货数量 CreateNode(xmlDoc, item, "nquoteunitrate", "1"); //报价计量单位换算率固定 CreateNode(xmlDoc, item, "ntotalshouldoutnum", ""); CreateNode(xmlDoc, item, "orderplantime", ""); CreateNode(xmlDoc, item, "packsortcode", ""); CreateNode(xmlDoc, item, "packsortname", ""); CreateNode(xmlDoc, item, "phone1", "");//****? CreateNode(xmlDoc, item, "pk_corp", ""); CreateNode(xmlDoc, item, "pk_defdoc0", ""); CreateNode(xmlDoc, item, "pk_defdoc1", ""); CreateNode(xmlDoc, item, "pk_defdoc10", ""); CreateNode(xmlDoc, item, "pk_defdoc11", ""); CreateNode(xmlDoc, item, "pk_defdoc12", ""); CreateNode(xmlDoc, item, "pk_defdoc13", ""); CreateNode(xmlDoc, item, "pk_defdoc14", ""); CreateNode(xmlDoc, item, "pk_defdoc15", ""); CreateNode(xmlDoc, item, "pk_defdoc16", ""); CreateNode(xmlDoc, item, "pk_defdoc17", ""); CreateNode(xmlDoc, item, "pk_defdoc18", ""); CreateNode(xmlDoc, item, "pk_defdoc19", ""); CreateNode(xmlDoc, item, "pk_defdoc2", ""); CreateNode(xmlDoc, item, "pk_defdoc3", ""); CreateNode(xmlDoc, item, "pk_defdoc4", ""); CreateNode(xmlDoc, item, "pk_defdoc5", ""); CreateNode(xmlDoc, item, "pk_defdoc6", ""); CreateNode(xmlDoc, item, "pk_defdoc7", ""); CreateNode(xmlDoc, item, "pk_defdoc8", ""); CreateNode(xmlDoc, item, "pk_defdoc9", ""); CreateNode(xmlDoc, item, "pk_delivbill_b", ""); //置空 CreateNode(xmlDoc, item, "pk_delivbill_h", ""); CreateNode(xmlDoc, item, "pk_invbasdoc", modOrder.C_INVBASDOCID); //存货档案主键 CreateNode(xmlDoc, item, "pk_packsort", ""); CreateNode(xmlDoc, item, "pk_transcontainer", ""); CreateNode(xmlDoc, item, "pkarriveaddress", addrpk); //到货地点 CreateNode(xmlDoc, item, "pkarrivearea", modfyditem.C_SEND_AREA); //到货地区主键 CreateNode(xmlDoc, item, "pkarrivecorp", ""); CreateNode(xmlDoc, item, "pkassistmeasure", modOrder.C_FUNITID); //辅计量单位 CreateNode(xmlDoc, item, "pkbasinv", modOrder.C_INVBASDOCID); //存货档案主键 CreateNode(xmlDoc, item, "pkbasreceiptcorp", modCust.C_NC_ID); //客户主键 CreateNode(xmlDoc, item, "pkbassendcorp", ""); CreateNode(xmlDoc, item, "pkconsign", ""); CreateNode(xmlDoc, item, "pkcorpforgenoid", modDayPlan.C_PKSALECORP); //销售公司(1001) CreateNode(xmlDoc, item, "pkcusbasdoc", modCust.C_NC_ID); //客户主键 CreateNode(xmlDoc, item, "pkcusmandoc", modDayPlan.C_PKCUST); //客户管理主键 CreateNode(xmlDoc, item, "pkcustinvoice", ""); CreateNode(xmlDoc, item, "pkdayplan", ""); CreateNode(xmlDoc, item, "pkdestrep", ""); CreateNode(xmlDoc, item, "pkdeststockorg", ""); CreateNode(xmlDoc, item, "pkinv", modOrder.C_INVENTORYID);//存货管理档案主键 CreateNode(xmlDoc, item, "pkinvoice", ""); CreateNode(xmlDoc, item, "pkitem", ""); CreateNode(xmlDoc, item, "pkitemperiod", ""); CreateNode(xmlDoc, item, "pkoperator", modDayPlan.C_PKOPERATOR); //业务员ID CreateNode(xmlDoc, item, "pkoprdepart", modDayPlan.C_PKOPRDEPART); //业务员部门 CreateNode(xmlDoc, item, "pkorder", ""); CreateNode(xmlDoc, item, "pkorderplanid", ""); CreateNode(xmlDoc, item, "pkorderrow", ""); CreateNode(xmlDoc, item, "pkpackboxtype", ""); CreateNode(xmlDoc, item, "pksalecorp", "1001"); CreateNode(xmlDoc, item, "pksalegrp", modDayPlan.C_PKSALEORG); //销售组织主键 CreateNode(xmlDoc, item, "pksendaddress", "0001AA1000000002LFNT"); //发货地点 CreateNode(xmlDoc, item, "pksendarea", "dqda0000000000000057"); //发货地区 if (mbck != null) { CreateNode(xmlDoc, item, "pksendstock", mbck.C_ID);//发货仓库 } else { CreateNode(xmlDoc, item, "pksendstock", slabwh.C_ID); //发货仓库 } CreateNode(xmlDoc, item, "pksendstockorg", "1001NC10000000000669"); //发货库存组织主键-固定 CreateNode(xmlDoc, item, "pksrccalbodyar", ""); CreateNode(xmlDoc, item, "pkunit", ""); CreateNode(xmlDoc, item, "plantime", ""); CreateNode(xmlDoc, item, "receivedate", ""); CreateNode(xmlDoc, item, "requireday", Convert.ToDateTime(modDayPlan.D_REQUIREDATE).ToString("yyy-MM-dd")); //要求到货日期 CreateNode(xmlDoc, item, "sourcebillts", ""); CreateNode(xmlDoc, item, "ts", ""); //HH:mm:ss CreateNode(xmlDoc, item, "ufdtmp", ""); CreateNode(xmlDoc, item, "userid", ""); CreateNode(xmlDoc, item, "varriveaddress", "其他地区"); CreateNode(xmlDoc, item, "vassistmeaname", ""); string batch = ""; if (modMat.C_MAT_TYPE == "6") { if (dt.Rows[i]["C_BATCH_NO"].ToString() != "") { batch = dt.Rows[i]["C_BATCH_NO"].ToString(); } else { batch = dt.Rows[i]["C_STOVE"].ToString(); } } if (modMat.C_MAT_TYPE == "8") { batch = dt.Rows[i]["C_BATCH_NO"].ToString(); } CreateNode(xmlDoc, item, "vbatchcode", batch); CreateNode(xmlDoc, item, "vbilltype", "30"); CreateNode(xmlDoc, item, "vbilltypename", ""); CreateNode(xmlDoc, item, "vcargcode", ""); CreateNode(xmlDoc, item, "vconsign", ""); CreateNode(xmlDoc, item, "vcontainername", ""); CreateNode(xmlDoc, item, "vcustcode", modCust.C_NO); //客户编码 CreateNode(xmlDoc, item, "vcustname", modCust.C_NAME); //客户名称 CreateNode(xmlDoc, item, "vdayplancode", modDayPlan.C_PLCODE); //对应日计划单据号 CreateNode(xmlDoc, item, "vdestaddress", modfyditem.C_AREA); //收货地址 CreateNode(xmlDoc, item, "vdestarea", modfyditem.C_SEND_AREA); //收货地区 CreateNode(xmlDoc, item, "vdeststoreaddre", ""); CreateNode(xmlDoc, item, "vdeststorename", ""); CreateNode(xmlDoc, item, "vdeststoreorgname", ""); CreateNode(xmlDoc, item, "vfree0", ""); CreateNode(xmlDoc, item, "vfree1", modDayPlan.C_VFREE1); //自由项1 CreateNode(xmlDoc, item, "vfree10", dt.Rows[i]["C_PK_NCID"].ToString()); //CRM发运单表体主键//C_PK_NCID CreateNode(xmlDoc, item, "vfree2", modDayPlan.C_VFREE2); //自由项2 CreateNode(xmlDoc, item, "vfree3", dt.Rows[i]["C_BZYQ"].ToString()); //包装钢坯传空 CreateNode(xmlDoc, item, "vfree4", ""); CreateNode(xmlDoc, item, "vfree5", ""); CreateNode(xmlDoc, item, "vfree6", ""); CreateNode(xmlDoc, item, "vfree7", ""); CreateNode(xmlDoc, item, "vfree8", modDayPlan.C_ID); //CRM发运日计划主键 CreateNode(xmlDoc, item, "vfree9", modDispatch.C_GUID); // CRM发运单表头主键 CreateNode(xmlDoc, item, "vfreeid1", ""); CreateNode(xmlDoc, item, "vfreeid10", ""); CreateNode(xmlDoc, item, "vfreeid2", ""); CreateNode(xmlDoc, item, "vfreeid3", ""); CreateNode(xmlDoc, item, "vfreeid4", ""); CreateNode(xmlDoc, item, "vfreeid5", ""); CreateNode(xmlDoc, item, "vfreeid6", ""); CreateNode(xmlDoc, item, "vfreeid7", ""); CreateNode(xmlDoc, item, "vfreeid8", ""); CreateNode(xmlDoc, item, "vfreeid9", ""); CreateNode(xmlDoc, item, "vfreename1", ""); CreateNode(xmlDoc, item, "vfreename10", ""); CreateNode(xmlDoc, item, "vfreename2", ""); CreateNode(xmlDoc, item, "vfreename3", ""); CreateNode(xmlDoc, item, "vfreename4", ""); CreateNode(xmlDoc, item, "vfreename5", ""); CreateNode(xmlDoc, item, "vfreename6", ""); CreateNode(xmlDoc, item, "vfreename7", ""); CreateNode(xmlDoc, item, "vfreename8", ""); CreateNode(xmlDoc, item, "vfreename9", ""); CreateNode(xmlDoc, item, "vinvcode", modMat.C_MAT_CODE); CreateNode(xmlDoc, item, "vinvname", ""); CreateNode(xmlDoc, item, "vinvoicecode", ""); CreateNode(xmlDoc, item, "vitemname", ""); CreateNode(xmlDoc, item, "vitemperiodname", ""); CreateNode(xmlDoc, item, "vnote", ""); CreateNode(xmlDoc, item, "voperatorname", ""); CreateNode(xmlDoc, item, "voprdepartname", ""); CreateNode(xmlDoc, item, "vordercode", modDayPlan.C_SALECODE);//销售单据号 CreateNode(xmlDoc, item, "vreceiptcorpname", ""); CreateNode(xmlDoc, item, "vsalecorpname", ""); CreateNode(xmlDoc, item, "vsaleorgname", ""); CreateNode(xmlDoc, item, "vsendaddr", ""); CreateNode(xmlDoc, item, "vsendaddress", ""); CreateNode(xmlDoc, item, "vsendarea", ""); CreateNode(xmlDoc, item, "vsendcorpname", ""); CreateNode(xmlDoc, item, "vsendstoreaddre", ""); CreateNode(xmlDoc, item, "vsendstorename", ""); CreateNode(xmlDoc, item, "vsendstoreorgaddre", ""); CreateNode(xmlDoc, item, "vsendstoreorgname", ""); CreateNode(xmlDoc, item, "vsignname", ""); CreateNode(xmlDoc, item, "vsignnote", ""); CreateNode(xmlDoc, item, "vspec", modMat.C_SPEC); //规格 CreateNode(xmlDoc, item, "vsrccalbodyarname", ""); CreateNode(xmlDoc, item, "vtype", modMat.C_STL_GRD); //钢种 CreateNode(xmlDoc, item, "vunit", modMat.C_ZJLDWMC); //主计量单位名称 CreateNode(xmlDoc, item, "vuserdef0", ""); CreateNode(xmlDoc, item, "vuserdef1", ""); //计量毛重日期***** CreateNode(xmlDoc, item, "vuserdef10", modDayPlan.C_CONNO); //合同号 CreateNode(xmlDoc, item, "vuserdef11", ""); CreateNode(xmlDoc, item, "vuserdef12", ""); CreateNode(xmlDoc, item, "vuserdef13", ""); CreateNode(xmlDoc, item, "vuserdef14", ""); CreateNode(xmlDoc, item, "vuserdef15", ""); CreateNode(xmlDoc, item, "vuserdef16", ""); CreateNode(xmlDoc, item, "vuserdef17", ""); CreateNode(xmlDoc, item, "vuserdef18", ""); CreateNode(xmlDoc, item, "vuserdef19", ""); CreateNode(xmlDoc, item, "vuserdef2", ""); //毛重***** CreateNode(xmlDoc, item, "vuserdef3", ""); //计量皮重日期**** CreateNode(xmlDoc, item, "vuserdef4", ""); //皮重 CreateNode(xmlDoc, item, "vuserdef5", ""); //净重 CreateNode(xmlDoc, item, "vuserdef6", ""); //计量毛重时间 CreateNode(xmlDoc, item, "vuserdef7", ""); //计量皮重时间 CreateNode(xmlDoc, item, "vuserdef8", ""); CreateNode(xmlDoc, item, "vuserdef9", ""); #endregion body.AppendChild(item); } } } xmlDoc.Save(xmlFileName); List <string> parem = dalSendNC.SendXML(xmlFileName); if (parem[0] == "1") { return("1"); } else { return(parem[1]); } } catch (Exception ex) { return(ex.ToString()); } }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Mod_TPB_SLABWH model) { return(dal.Update(model)); }
/// <summary> /// 发送转库单信息给NC /// </summary> /// <param name="xmlFileName">xml完整路径</param> /// <param name="dh">转库单号</param> /// <param name="dhid">转库单ID</param> /// <returns></returns> public string SendXml_GP4I(string xmlFileName, string dh, string dhid, string C_SLABWH_LOC_CODE, string C_SLABWH_AREA_CODE) { try { string urlname = "GP4I" + dh + ".XML";//XML名称 string url = xmlFileName + "\\NCXML"; if (!Directory.Exists(url)) { Directory.CreateDirectory(url); } DataTable dt = dal_TSC_SLAB_MAIN.Get_ZK_List_Trans(dh, dhid).Tables[0]; DataRow dr = null; if (dt.Rows.Count > 0) { dr = dt.Rows[0]; } if (dr == null) { return("调拨失败"); } Mod_TB_MATRL_MAIN mod_TB_MATRL_MAIN = dal_TB_MATRL_MAIN.GetModel(dr["C_MAT_CODE"].ToString()); Mod_TPB_SLABWH yck = dal_TPB_SLABWH.GetModel_Interface_Trans(dr["C_STOCK_CODE"].ToString()); //源仓库 Mod_TPB_SLABWH mbck = dal_TPB_SLABWH.GetModel_Interface_Trans(dr["C_STOCK_CODE_TO"].ToString()); //目标仓库 string djrq = DateTime.Now.ToString("yyyy-MM-dd"); Mod_TS_USER mod_TS_USER = dal_TS_USER.GetModel(RV.UI.UserInfo.userID); //获取操作人 string bmid = dal_TS_DEPT.GetDept(mod_TS_USER.C_ACCOUNT); if (bmid == "") { return("操作人部门未维护!"); } Mod_TS_DEPT mod_TS_DEPT = dal_TS_DEPT.GetModel(bmid);//获取部门 Mod_TQB_CHECKSTATE mod_TQB_CHECKSTATE = dal_TQB_CHECKSTATE.GetModelByName(dr["ZLDJ"].ToString(), "1001"); //Mod_TB_STD_CONFIG mod_TB_STD_CONFIG = dal_TB_STD_CONFIG.GetModel_Interface_Trans(dr["C_STD_CODE"].ToString(), dr["C_STL_GRD"].ToString()); Mod_TSC_SLAB_MAIN modSms = new Mod_TSC_SLAB_MAIN(); if (dr["C_BATCH_NO"].ToString() != "") { modSms = dal_TSC_SLAB_MAIN.GetModel_Batch(dr["C_STD_CODE"].ToString(), dr["C_STL_GRD"].ToString(), dr["C_BATCH_NO"].ToString()); } else { modSms = dal_TSC_SLAB_MAIN.GetModel(dr["C_STD_CODE"].ToString(), dr["C_STL_GRD"].ToString(), dr["C_STOVE"].ToString()); } //Mod_TSC_SLAB_MAIN modSms = dal_TSC_SLAB_MAIN.GetModel(dr["C_STD_CODE"].ToString(), dr["C_STL_GRD"].ToString(), dr["C_STOVE"].ToString()); if (mod_TB_MATRL_MAIN == null) { return("调拨失败"); } if (yck == null) { return("调拨失败"); } if (mbck == null) { return("调拨失败"); } if (mod_TS_USER == null) { return("调拨失败"); } if (mod_TQB_CHECKSTATE == null) { return("调拨失败,没有找到对应的质量等级"); } if (modSms == null) { return("调拨失败,没有找到对应的自由项"); } string C_SLABWH_LOC_NC_ID = ""; string C_SLABWH_LOC_NC_CODE = ""; string C_SLABWH_LOC_NC_NAME = ""; //if (yck.C_SLABWH_CODE == "132" || yck.C_SLABWH_CODE == "593") if (yck.C_SLABWH_CODE == "132") { DataTable dtLOC = dal_TPB_SLABWH.GetList_NC_Loc(C_SLABWH_LOC_CODE, yck.C_SLABWH_CODE, C_SLABWH_AREA_CODE).Tables[0]; if (dtLOC.Rows.Count > 0) { C_SLABWH_LOC_NC_ID = dtLOC.Rows[0]["LOC_ID"].ToString(); C_SLABWH_LOC_NC_CODE = dtLOC.Rows[0]["C_SLABWH_LOC_CODE"].ToString(); C_SLABWH_LOC_NC_NAME = dtLOC.Rows[0]["C_SLABWH_LOC_NAME"].ToString(); } } XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no"); xmlDoc.AppendChild(node); //创建根节点 XmlElement root = xmlDoc.CreateElement("ufinterface"); #region//给节点属性赋值 root.SetAttribute("billtype", "4K"); root.SetAttribute("filename", urlname); root.SetAttribute("isexchange", "Y"); root.SetAttribute("operation", "req"); root.SetAttribute("proc", "add"); root.SetAttribute("receiver", "101"); root.SetAttribute("replace", "y"); root.SetAttribute("roottag", "bill"); root.SetAttribute("sender", "1107"); #endregion xmlDoc.AppendChild(root); //创建子根节点 XmlElement bill = xmlDoc.CreateElement("bill"); #region//节点属性 bill.SetAttribute("id", "GP" + dhid); #endregion root.AppendChild(bill); XmlNode head = xmlDoc.CreateNode(XmlNodeType.Element, "bill_head", null); #region //表头_order_head CreateNode(xmlDoc, head, "ctjname", ""); CreateNode(xmlDoc, head, "bz", ""); CreateNode(xmlDoc, head, "cbilltypecode", "4K"); //库存单据类型编码 CreateNode(xmlDoc, head, "cinbsrid", ""); CreateNode(xmlDoc, head, "cinbsrname", ""); CreateNode(xmlDoc, head, "cindeptid", mod_TS_DEPT.C_ID); //入库部门ID CreateNode(xmlDoc, head, "cindeptname", mod_TS_DEPT.C_NAME); CreateNode(xmlDoc, head, "cinwarehouseid", mbck.C_ID); //入库仓库ID CreateNode(xmlDoc, head, "cinwarehousename", mbck.C_SLABWH_NAME); //仓库名称 CreateNode(xmlDoc, head, "isLocatorMgtIn", "0"); CreateNode(xmlDoc, head, "isWasteWhIn", "0"); CreateNode(xmlDoc, head, "whreservedptyin", ""); CreateNode(xmlDoc, head, "islocatormgtin", "0"); CreateNode(xmlDoc, head, "iswastewhin", "0"); CreateNode(xmlDoc, head, "whreservedptyin", ""); CreateNode(xmlDoc, head, "coutbsor", ""); CreateNode(xmlDoc, head, "coutbsorname", ""); CreateNode(xmlDoc, head, "coutdeptid", mod_TS_DEPT.C_ID); //出库部门ID CreateNode(xmlDoc, head, "coutdeptname", mod_TS_DEPT.C_NAME); //出库部门名称 CreateNode(xmlDoc, head, "coutwarehouseid", yck.C_ID); //出库仓库ID CreateNode(xmlDoc, head, "coutwarehousename", yck.C_SLABWH_NAME); //仓库名称 CreateNode(xmlDoc, head, "isLocatorMgtOut", "0"); CreateNode(xmlDoc, head, "isWasteWhOut", "0"); CreateNode(xmlDoc, head, "whReservedPtyOut", ""); CreateNode(xmlDoc, head, "islocatormgtout", "0"); CreateNode(xmlDoc, head, "iswastewhout", "0"); CreateNode(xmlDoc, head, "whreservedptyout", ""); CreateNode(xmlDoc, head, "cshlddiliverdate", djrq); //单据日期 CreateNode(xmlDoc, head, "ctj", ""); CreateNode(xmlDoc, head, "dbilldate", djrq); //单据日期 CreateNode(xmlDoc, head, "nfixdisassemblymny", ""); //组装拆卸费用 CreateNode(xmlDoc, head, "pdfs", ""); CreateNode(xmlDoc, head, "pk_corp", "1001"); //公司ID CreateNode(xmlDoc, head, "vbillcode", dh); //单据号 CreateNode(xmlDoc, head, "vnote", ""); //备注 CreateNode(xmlDoc, head, "vshldarrivedate", djrq); //应到货日期 CreateNode(xmlDoc, head, "vuserdef1", ""); CreateNode(xmlDoc, head, "vuserdef2", ""); CreateNode(xmlDoc, head, "vuserdef3", ""); CreateNode(xmlDoc, head, "vuserdef4", ""); CreateNode(xmlDoc, head, "vuserdef5", ""); CreateNode(xmlDoc, head, "vuserdef6", ""); CreateNode(xmlDoc, head, "vuserdef7", ""); CreateNode(xmlDoc, head, "vuserdef8", ""); CreateNode(xmlDoc, head, "vuserdef9", ""); CreateNode(xmlDoc, head, "vuserdef10", ""); CreateNode(xmlDoc, head, "vuserdef11", ""); CreateNode(xmlDoc, head, "vuserdef12", ""); CreateNode(xmlDoc, head, "vuserdef13", ""); CreateNode(xmlDoc, head, "vuserdef14", ""); CreateNode(xmlDoc, head, "vuserdef15", ""); CreateNode(xmlDoc, head, "vuserdef16", ""); CreateNode(xmlDoc, head, "vuserdef17", ""); CreateNode(xmlDoc, head, "vuserdef18", ""); CreateNode(xmlDoc, head, "vuserdef19", ""); CreateNode(xmlDoc, head, "vuserdef20", ""); CreateNode(xmlDoc, head, "vuserdef11h", ""); CreateNode(xmlDoc, head, "vuserdef12h", ""); CreateNode(xmlDoc, head, "vuserdef13h", ""); CreateNode(xmlDoc, head, "vuserdef14h", ""); CreateNode(xmlDoc, head, "vuserdef15h", ""); CreateNode(xmlDoc, head, "vuserdef16h", ""); CreateNode(xmlDoc, head, "vuserdef17h", ""); CreateNode(xmlDoc, head, "vuserdef18h", ""); CreateNode(xmlDoc, head, "vuserdef19h", ""); CreateNode(xmlDoc, head, "vuserdef20h", ""); CreateNode(xmlDoc, head, "pk_defdoc1", ""); CreateNode(xmlDoc, head, "pk_defdoc2", ""); CreateNode(xmlDoc, head, "pk_defdoc3", ""); CreateNode(xmlDoc, head, "pk_defdoc4", ""); CreateNode(xmlDoc, head, "pk_defdoc5", ""); CreateNode(xmlDoc, head, "pk_defdoc6", ""); CreateNode(xmlDoc, head, "pk_defdoc7", ""); CreateNode(xmlDoc, head, "pk_defdoc8", ""); CreateNode(xmlDoc, head, "pk_defdoc9", ""); CreateNode(xmlDoc, head, "pk_defdoc10", ""); CreateNode(xmlDoc, head, "pk_defdoc1h", ""); CreateNode(xmlDoc, head, "pk_defdoc2h", ""); CreateNode(xmlDoc, head, "pk_defdoc3h", ""); CreateNode(xmlDoc, head, "pk_defdoc4h", ""); CreateNode(xmlDoc, head, "pk_defdoc5h", ""); CreateNode(xmlDoc, head, "pk_defdoc6h", ""); CreateNode(xmlDoc, head, "pk_defdoc7h", ""); CreateNode(xmlDoc, head, "pk_defdoc8h", ""); CreateNode(xmlDoc, head, "pk_defdoc9h", ""); CreateNode(xmlDoc, head, "pk_defdoc10h", ""); CreateNode(xmlDoc, head, "pk_defdoc11", ""); CreateNode(xmlDoc, head, "pk_defdoc12", ""); CreateNode(xmlDoc, head, "pk_defdoc13", ""); CreateNode(xmlDoc, head, "pk_defdoc14", ""); CreateNode(xmlDoc, head, "pk_defdoc15", ""); CreateNode(xmlDoc, head, "pk_defdoc16", ""); CreateNode(xmlDoc, head, "pk_defdoc17", ""); CreateNode(xmlDoc, head, "pk_defdoc18", ""); CreateNode(xmlDoc, head, "pk_defdoc19", ""); CreateNode(xmlDoc, head, "pk_defdoc20", ""); CreateNode(xmlDoc, head, "pk_defdoc11h", ""); CreateNode(xmlDoc, head, "pk_defdoc12h", ""); CreateNode(xmlDoc, head, "pk_defdoc13h", ""); CreateNode(xmlDoc, head, "pk_defdoc14h", ""); CreateNode(xmlDoc, head, "pk_defdoc15h", ""); CreateNode(xmlDoc, head, "pk_defdoc16h", ""); CreateNode(xmlDoc, head, "pk_defdoc17h", ""); CreateNode(xmlDoc, head, "pk_defdoc18h", ""); CreateNode(xmlDoc, head, "pk_defdoc19h", ""); CreateNode(xmlDoc, head, "pk_defdoc20h", ""); CreateNode(xmlDoc, head, "vuserdef1h", ""); CreateNode(xmlDoc, head, "vuserdef2h", ""); CreateNode(xmlDoc, head, "vuserdef3h", ""); CreateNode(xmlDoc, head, "vuserdef4h", ""); CreateNode(xmlDoc, head, "vuserdef5h", ""); CreateNode(xmlDoc, head, "vuserdef6h", ""); CreateNode(xmlDoc, head, "vuserdef7h", ""); CreateNode(xmlDoc, head, "vuserdef8h", ""); CreateNode(xmlDoc, head, "vuserdef9h", ""); CreateNode(xmlDoc, head, "vuserdef10h", ""); CreateNode(xmlDoc, head, "cauditorid", ""); CreateNode(xmlDoc, head, "cauditorname", ""); CreateNode(xmlDoc, head, "coperatorid", mod_TS_USER.C_ID); //制单人 CreateNode(xmlDoc, head, "coperatorname", mod_TS_USER.C_NAME); //制单人名称 CreateNode(xmlDoc, head, "vadjuster", ""); CreateNode(xmlDoc, head, "vadjustername", ""); CreateNode(xmlDoc, head, "coperatoridnow", ""); CreateNode(xmlDoc, head, "ctjname", ""); CreateNode(xmlDoc, head, "pk_calbody_in", "1001NC10000000000669"); CreateNode(xmlDoc, head, "pk_calbody_out", "1001NC10000000000669"); CreateNode(xmlDoc, head, "vcalbody_inname", "邢钢库存组织"); CreateNode(xmlDoc, head, "vcalbody_outname", "邢钢库存组织"); CreateNode(xmlDoc, head, "ts", DateTime.Now.ToString()); CreateNode(xmlDoc, head, "timestamp", ""); //? CreateNode(xmlDoc, head, "headts", DateTime.Now.ToString()); CreateNode(xmlDoc, head, "isforeignstor_in", "N"); CreateNode(xmlDoc, head, "isgathersettle_in", "N"); CreateNode(xmlDoc, head, "isforeignstor_out", "N"); CreateNode(xmlDoc, head, "isgathersettle_out", "N"); CreateNode(xmlDoc, head, "icheckmode", ""); CreateNode(xmlDoc, head, "fassistantflag", "N"); //是否计算期间业务量 CreateNode(xmlDoc, head, "fbillflag", ""); CreateNode(xmlDoc, head, "vostatus", ""); CreateNode(xmlDoc, head, "iprintcount", ""); CreateNode(xmlDoc, head, "clastmodiid", mod_TS_USER.C_ID); //最后修改人 CreateNode(xmlDoc, head, "clastmodiname", mod_TS_USER.C_NAME); //最后修改人名称 CreateNode(xmlDoc, head, "tlastmoditime", DateTime.Now.ToString()); //最后修改时间 CreateNode(xmlDoc, head, "cnxtbilltypecode", "4I"); CreateNode(xmlDoc, head, "cspecialhid", ""); #endregion bill.AppendChild(head); XmlElement body = xmlDoc.CreateElement("bill_body"); bill.AppendChild(body); XmlNode item = xmlDoc.CreateNode(XmlNodeType.Element, "item", null); #region //表体_item CreateNode(xmlDoc, item, "csourcetypename", ""); CreateNode(xmlDoc, item, "cinvbasid", mod_TB_MATRL_MAIN.C_PK_INVBASDOC); //来源单据号 CreateNode(xmlDoc, item, "pk_invbasdoc", mod_TB_MATRL_MAIN.C_PK_INVBASDOC); CreateNode(xmlDoc, item, "fixedflag", "N"); CreateNode(xmlDoc, item, "bgssl", ""); CreateNode(xmlDoc, item, "castunitid", mod_TB_MATRL_MAIN.C_FJLDW); //辅计量单位ID CreateNode(xmlDoc, item, "castunitname", mod_TB_MATRL_MAIN.C_FJLDWMC); CreateNode(xmlDoc, item, "cinventorycode", mod_TB_MATRL_MAIN.C_MAT_CODE); CreateNode(xmlDoc, item, "cinventoryid", mod_TB_MATRL_MAIN.C_PK_INVMANDOC); //存货ID CreateNode(xmlDoc, item, "cinvmanid", mod_TB_MATRL_MAIN.C_PK_INVBASDOC); CreateNode(xmlDoc, item, "isLotMgt", "1"); CreateNode(xmlDoc, item, "isSerialMgt", "0"); CreateNode(xmlDoc, item, "isValidateMgt", "0"); CreateNode(xmlDoc, item, "isAstUOMmgt", "1"); CreateNode(xmlDoc, item, "isFreeItemMgt", "1"); CreateNode(xmlDoc, item, "isSet", "0"); CreateNode(xmlDoc, item, "standStoreUOM", ""); CreateNode(xmlDoc, item, "defaultAstUOM", mod_TB_MATRL_MAIN.C_FJLDW); CreateNode(xmlDoc, item, "isSellProxy", "0"); CreateNode(xmlDoc, item, "qualityDay", ""); CreateNode(xmlDoc, item, "invReservedPty", ""); CreateNode(xmlDoc, item, "isSolidConvRate", "0"); CreateNode(xmlDoc, item, "islotmgt", "1"); CreateNode(xmlDoc, item, "isserialmgt", "0"); CreateNode(xmlDoc, item, "isvalidatemgt", "0"); CreateNode(xmlDoc, item, "isastuommgt", "1"); CreateNode(xmlDoc, item, "isfreeitemmgt", "1"); CreateNode(xmlDoc, item, "isset", "0"); CreateNode(xmlDoc, item, "standstoreuom", ""); CreateNode(xmlDoc, item, "defaultastuom", mod_TB_MATRL_MAIN.C_FJLDW); CreateNode(xmlDoc, item, "issellproxy", "0"); CreateNode(xmlDoc, item, "qualityday", ""); CreateNode(xmlDoc, item, "invreservedpty", ""); CreateNode(xmlDoc, item, "issolidconvrate", "0"); CreateNode(xmlDoc, item, "csourcebillbid", ""); CreateNode(xmlDoc, item, "csourcebillhid", ""); CreateNode(xmlDoc, item, "csourcetype", ""); CreateNode(xmlDoc, item, "cspaceid", C_SLABWH_LOC_NC_ID); CreateNode(xmlDoc, item, "cspacecode", C_SLABWH_LOC_NC_CODE); CreateNode(xmlDoc, item, "cspacename", C_SLABWH_LOC_NC_NAME); CreateNode(xmlDoc, item, "cspecialhid", ""); //??? CreateNode(xmlDoc, item, "cwarehouseid", ""); CreateNode(xmlDoc, item, "cwarehousename", ""); CreateNode(xmlDoc, item, "isLocatorMgt", ""); CreateNode(xmlDoc, item, "isWasteWh", ""); CreateNode(xmlDoc, item, "whreservedpty", ""); CreateNode(xmlDoc, item, "islocatormgt", ""); CreateNode(xmlDoc, item, "iswastewh", ""); CreateNode(xmlDoc, item, "whreservedpty", ""); CreateNode(xmlDoc, item, "cyfsl", ""); CreateNode(xmlDoc, item, "cysl", ""); CreateNode(xmlDoc, item, "desl", ""); CreateNode(xmlDoc, item, "dshldtransnum", dr["wgt"].ToString()); //应转数量 CreateNode(xmlDoc, item, "dvalidate", ""); CreateNode(xmlDoc, item, "fbillrowflag", ""); CreateNode(xmlDoc, item, "hlzl", ""); CreateNode(xmlDoc, item, "hsl", Math.Round(Convert.ToDouble(dr["wgt"]) / Convert.ToDouble(dr["qua"]), 6).ToString()); //换算率 CreateNode(xmlDoc, item, "invname", mod_TB_MATRL_MAIN.C_MAT_NAME); //物料名称 CreateNode(xmlDoc, item, "invspec", dr["C_SPEC"].ToString()); //规格 CreateNode(xmlDoc, item, "invtype", dr["C_STL_GRD"].ToString()); //钢种 CreateNode(xmlDoc, item, "je", ""); CreateNode(xmlDoc, item, "jhdj", ""); CreateNode(xmlDoc, item, "jhje", ""); CreateNode(xmlDoc, item, "jhpdzq", ""); CreateNode(xmlDoc, item, "measdocname", mod_TB_MATRL_MAIN.C_ZJLDWMC); //计量单位名称 CreateNode(xmlDoc, item, "naccountastnum", ""); CreateNode(xmlDoc, item, "naccountnum", ""); CreateNode(xmlDoc, item, "nadjustastnum", ""); CreateNode(xmlDoc, item, "nadjustnum", ""); CreateNode(xmlDoc, item, "ncheckastnum", ""); CreateNode(xmlDoc, item, "nchecknum", ""); CreateNode(xmlDoc, item, "nprice", ""); CreateNode(xmlDoc, item, "nmny", ""); CreateNode(xmlDoc, item, "nplannedmny", ""); //计划金额 CreateNode(xmlDoc, item, "nplannedprice", ""); //计划单价 CreateNode(xmlDoc, item, "nshldtransastnum", dr["qua"].ToString()); //应转数量 CreateNode(xmlDoc, item, "pk_measdoc", mod_TB_MATRL_MAIN.C_PK_MEASDOC); //主计量单位 CreateNode(xmlDoc, item, "scrq", djrq); //生产日期 CreateNode(xmlDoc, item, "sjpdzq", ""); string vbatchcode = ""; if (dr["C_BATCH_NO"].ToString() != "") { vbatchcode = dr["C_BATCH_NO"].ToString(); } else { vbatchcode = dr["C_STOVE"].ToString(); } CreateNode(xmlDoc, item, "vbatchcode", vbatchcode); //炉号 CreateNode(xmlDoc, item, "vfree0", ""); //? CreateNode(xmlDoc, item, "vfree1", modSms.C_ZYX1); //自由项1 CreateNode(xmlDoc, item, "vfree2", modSms.C_ZYX2); //自由项2 CreateNode(xmlDoc, item, "vfree3", ""); //包装要求 CreateNode(xmlDoc, item, "vfree4", ""); CreateNode(xmlDoc, item, "vfree5", ""); CreateNode(xmlDoc, item, "vfree6", ""); CreateNode(xmlDoc, item, "vfree7", ""); CreateNode(xmlDoc, item, "vfree8", ""); CreateNode(xmlDoc, item, "vfree9", ""); CreateNode(xmlDoc, item, "vfree10", ""); CreateNode(xmlDoc, item, "vfreename1", ""); //? CreateNode(xmlDoc, item, "vfreename2", ""); //? CreateNode(xmlDoc, item, "vfreename3", ""); //? CreateNode(xmlDoc, item, "vfreename4", ""); CreateNode(xmlDoc, item, "vfreename5", ""); CreateNode(xmlDoc, item, "vfreename6", ""); CreateNode(xmlDoc, item, "vfreename7", ""); CreateNode(xmlDoc, item, "vfreename8", ""); CreateNode(xmlDoc, item, "vfreename9", ""); CreateNode(xmlDoc, item, "vfreename10", ""); CreateNode(xmlDoc, item, "vsourcebillcode", ""); CreateNode(xmlDoc, item, "vuserdef1", ""); CreateNode(xmlDoc, item, "vuserdef2", ""); CreateNode(xmlDoc, item, "vuserdef3", ""); CreateNode(xmlDoc, item, "vuserdef4", ""); CreateNode(xmlDoc, item, "vuserdef5", ""); CreateNode(xmlDoc, item, "vuserdef6", ""); CreateNode(xmlDoc, item, "vuserdef7", ""); CreateNode(xmlDoc, item, "vuserdef8", ""); CreateNode(xmlDoc, item, "vuserdef9", ""); CreateNode(xmlDoc, item, "vuserdef10", dhid); //自定义项 CreateNode(xmlDoc, item, "vuserdef11", ""); CreateNode(xmlDoc, item, "vuserdef12", ""); CreateNode(xmlDoc, item, "vuserdef13", ""); CreateNode(xmlDoc, item, "vuserdef14", ""); CreateNode(xmlDoc, item, "vuserdef15", ""); CreateNode(xmlDoc, item, "vuserdef16", ""); CreateNode(xmlDoc, item, "vuserdef17", ""); CreateNode(xmlDoc, item, "vuserdef18", ""); CreateNode(xmlDoc, item, "vuserdef19", ""); CreateNode(xmlDoc, item, "vuserdef20", ""); CreateNode(xmlDoc, item, "pk_defdoc1", ""); CreateNode(xmlDoc, item, "pk_defdoc2", ""); CreateNode(xmlDoc, item, "pk_defdoc3", ""); CreateNode(xmlDoc, item, "pk_defdoc4", ""); CreateNode(xmlDoc, item, "pk_defdoc5", ""); CreateNode(xmlDoc, item, "pk_defdoc6", ""); CreateNode(xmlDoc, item, "pk_defdoc7", ""); CreateNode(xmlDoc, item, "pk_defdoc8", ""); CreateNode(xmlDoc, item, "pk_defdoc9", ""); CreateNode(xmlDoc, item, "pk_defdoc10", ""); CreateNode(xmlDoc, item, "pk_defdoc11", ""); CreateNode(xmlDoc, item, "pk_defdoc12", ""); CreateNode(xmlDoc, item, "pk_defdoc13", ""); CreateNode(xmlDoc, item, "pk_defdoc14", ""); CreateNode(xmlDoc, item, "pk_defdoc15", ""); CreateNode(xmlDoc, item, "pk_defdoc16", ""); CreateNode(xmlDoc, item, "pk_defdoc17", ""); CreateNode(xmlDoc, item, "pk_defdoc18", ""); CreateNode(xmlDoc, item, "pk_defdoc19", ""); CreateNode(xmlDoc, item, "pk_defdoc20", ""); CreateNode(xmlDoc, item, "yy", ""); CreateNode(xmlDoc, item, "ztsl", ""); CreateNode(xmlDoc, item, "bkxcl", ""); CreateNode(xmlDoc, item, "chzl", ""); CreateNode(xmlDoc, item, "neconomicnum", ""); CreateNode(xmlDoc, item, "nmaxstocknum", ""); CreateNode(xmlDoc, item, "nminstocknum", dr["qua"].ToString()); //? CreateNode(xmlDoc, item, "norderpointnum", dr["wgt"].ToString()); //? CreateNode(xmlDoc, item, "xczl", ""); CreateNode(xmlDoc, item, "nsafestocknum", ""); CreateNode(xmlDoc, item, "fbillflag", ""); CreateNode(xmlDoc, item, "vfreeid1", ""); //? CreateNode(xmlDoc, item, "vfreeid2", ""); //? CreateNode(xmlDoc, item, "vfreeid3", ""); //? CreateNode(xmlDoc, item, "vfreeid4", ""); CreateNode(xmlDoc, item, "vfreeid5", ""); CreateNode(xmlDoc, item, "vfreeid6", ""); CreateNode(xmlDoc, item, "vfreeid7", ""); CreateNode(xmlDoc, item, "vfreeid8", ""); CreateNode(xmlDoc, item, "vfreeid9", ""); CreateNode(xmlDoc, item, "vfreeid10", ""); CreateNode(xmlDoc, item, "discountflag", "N"); CreateNode(xmlDoc, item, "laborflag", "N"); CreateNode(xmlDoc, item, "childsnum", ""); CreateNode(xmlDoc, item, "invsetparttype", ""); CreateNode(xmlDoc, item, "partpercent", ""); CreateNode(xmlDoc, item, "vnote", ""); CreateNode(xmlDoc, item, "vbodynote", ""); CreateNode(xmlDoc, item, "ccorrespondtypename", ""); CreateNode(xmlDoc, item, "cfirstbillbid", ""); CreateNode(xmlDoc, item, "cfirstbillhid", ""); CreateNode(xmlDoc, item, "cfirsttypename", ""); CreateNode(xmlDoc, item, "cfirsttype", ""); CreateNode(xmlDoc, item, "csourcetypename", ""); CreateNode(xmlDoc, item, "pk_calbody", ""); CreateNode(xmlDoc, item, "vcalbodyname", ""); CreateNode(xmlDoc, item, "ts", DateTime.Now.ToString()); //? CreateNode(xmlDoc, item, "timestamp", ""); //? CreateNode(xmlDoc, item, "bodyts", DateTime.Now.ToString()); //? CreateNode(xmlDoc, item, "crowno", "1"); //行号??? CreateNode(xmlDoc, item, "nperiodastnum", ""); //期间业务辅数量 CreateNode(xmlDoc, item, "nperiodnum", ""); //期间业务数量 CreateNode(xmlDoc, item, "isforeignstor", "N"); CreateNode(xmlDoc, item, "isgathersettle", "N"); CreateNode(xmlDoc, item, "csortrowno", ""); CreateNode(xmlDoc, item, "cvendorid", ""); CreateNode(xmlDoc, item, "cvendorname", ""); CreateNode(xmlDoc, item, "pk_cubasdoc", ""); CreateNode(xmlDoc, item, "pk_corp", "1001"); //公司ID CreateNode(xmlDoc, item, "tbatchtime", ""); //组坯时间 CreateNode(xmlDoc, item, "dproducedate", ""); CreateNode(xmlDoc, item, "dvalidate", ""); CreateNode(xmlDoc, item, "vvendbatchcode", ""); CreateNode(xmlDoc, item, "qualitymanflag", ""); CreateNode(xmlDoc, item, "qualitydaynum", ""); CreateNode(xmlDoc, item, "cqualitylevelid", mod_TQB_CHECKSTATE.C_ID); //质量等级主键 CreateNode(xmlDoc, item, "vnote", ""); CreateNode(xmlDoc, item, "tchecktime", ""); //打牌时间 CreateNode(xmlDoc, item, "vdef1", ""); CreateNode(xmlDoc, item, "vdef2", ""); CreateNode(xmlDoc, item, "vdef3", ""); CreateNode(xmlDoc, item, "vdef4", ""); CreateNode(xmlDoc, item, "vdef5", ""); CreateNode(xmlDoc, item, "vdef6", ""); CreateNode(xmlDoc, item, "vdef7", ""); CreateNode(xmlDoc, item, "vdef8", ""); CreateNode(xmlDoc, item, "vdef9", ""); CreateNode(xmlDoc, item, "vdef10", ""); CreateNode(xmlDoc, item, "vdef11", ""); CreateNode(xmlDoc, item, "vdef12", ""); CreateNode(xmlDoc, item, "vdef13", ""); CreateNode(xmlDoc, item, "vdef14", ""); CreateNode(xmlDoc, item, "vdef15", ""); CreateNode(xmlDoc, item, "vdef16", ""); CreateNode(xmlDoc, item, "vdef17", ""); CreateNode(xmlDoc, item, "vdef18", ""); CreateNode(xmlDoc, item, "vdef19", ""); CreateNode(xmlDoc, item, "vdef20", ""); CreateNode(xmlDoc, item, "naccountgrsnum", ""); CreateNode(xmlDoc, item, "ncheckgrsnum", ""); CreateNode(xmlDoc, item, "nadjustgrsnum", ""); CreateNode(xmlDoc, item, "nshldtransgrsnum", ""); CreateNode(xmlDoc, item, "cspecialbid", ""); //? CreateNode(xmlDoc, item, "vbatchcode_temp", ""); //? CreateNode(xmlDoc, item, "cqualitylevelname", mod_TQB_CHECKSTATE.C_CHECKSTATE_NAME); //? CreateNode(xmlDoc, item, "vdef1", ""); //? CreateNode(xmlDoc, item, "vdef2", ""); //? CreateNode(xmlDoc, item, "vdef3", ""); //? #endregion body.AppendChild(item); xmlDoc.Save(url + "\\" + urlname); List <string> parem = SendNC.SendXML(url + "\\" + urlname); //parem.Add(dayplcode); //parem.Add(empID); //parem.Add("发运单"); //日志 //AddLog(parem); if (parem[0] == "1") { return("1"); } else { return(parem[1].ToString()); } } catch (Exception ex) { return(ex.Message); } }
/// <summary> /// 发送入库实绩给NC /// </summary> /// <param name="xmlFileName">xml完整路径</param> /// <param name="c_stove">炉号</param> /// <param name="user_id">操作人员</param> /// <returns></returns> public bool SendXml_SLAB_46(string xmlFileName, string c_stove, string user_id) { try { string urlname = "GPRK" + c_stove + ".XML";//XML名称 string url = xmlFileName + "\\NCXML"; if (!Directory.Exists(url)) { Directory.CreateDirectory(url); } DataTable dt = dal_slab_mes.GetList("", "", c_stove, "", "全部").Tables[0]; Mod_TSC_SLAB_MAIN mod_slab_main = dal_slab_main.GetModel_Stove_Trans(c_stove); //钢坯实绩 Mod_TB_MATRL_MAIN mod_mater_main = dal_mater_main.GetModel(mod_slab_main.C_MAT_CODE); //物料主表 Mod_TS_USER mod_ts_user = dal_user.GetModel(user_id); //用户主表 Mod_TPB_SLABWH mod_SLABWH = dal_slabwh.GetModel_Interface(mod_slab_main.C_SLABWH_CODE); //库存表 Mod_TB_STD_CONFIG mod_std_config = dal_std_config.GetModel_Interface(mod_slab_main.C_STD_CODE, mod_slab_main.C_STL_GRD); // 自由项 Mod_TMO_ORDER mod_tmo_order = dal_tmo_order.GetModelByORDERNO(mod_slab_main.C_ORD_NO); //订单池 Mod_TQB_CHECKSTATE mod_checkstate = dal_checkstate.GetModelByName(mod_slab_main.C_JUDGE_LEV_ZH, mod_tmo_order.C_XGID); //判定等级 DateTime dt_time = Convert.ToDateTime(mod_slab_main.D_WE_DATE.ToString()); if (dt == null) { return(false); } if (mod_slab_main == null) { return(false); } if (mod_mater_main == null) { return(false); } if (mod_ts_user == null) { return(false); } if (mod_SLABWH == null) { return(false); } if (mod_std_config == null) { return(false); } if (mod_tmo_order == null) { return(false); } if (mod_checkstate == null) { return(false); } XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no"); xmlDoc.AppendChild(node); //创建根节点 XmlElement root = xmlDoc.CreateElement("ufinterface"); #region//给节点属性赋值 root.SetAttribute("billtype", "46"); root.SetAttribute("filename", ""); root.SetAttribute("isexchange", "Y"); root.SetAttribute("operation", "req"); root.SetAttribute("proc", "add"); root.SetAttribute("receiver", "101"); root.SetAttribute("replace", "Y"); root.SetAttribute("roottag", "bill"); root.SetAttribute("sender", "1107"); #endregion xmlDoc.AppendChild(root); //创建子根节点 XmlElement bill = xmlDoc.CreateElement("bill"); #region//节点属性 bill.SetAttribute("id", mod_slab_main.C_STOVE); #endregion root.AppendChild(bill); XmlNode head = xmlDoc.CreateNode(XmlNodeType.Element, "bill_head", null); #region //表头_order_head CreateNode(xmlDoc, head, "cwarehouseid", mod_SLABWH.C_ID); //仓库ID #endregion bill.AppendChild(head); XmlElement body = xmlDoc.CreateElement("bill_body"); bill.AppendChild(body); XmlNode item = xmlDoc.CreateNode(XmlNodeType.Element, "item", null); #region //表体_item CreateNode(xmlDoc, item, "cwarehouseid", mod_SLABWH.C_ID); //仓库ID CreateNode(xmlDoc, item, "taccounttime", mod_slab_main.D_WE_DATE.ToString()); //库房签字时间 CreateNode(xmlDoc, item, "coperatorid", mod_ts_user.C_ID); //制单人 CreateNode(xmlDoc, item, "ccheckstate_bid", mod_checkstate.C_ID); //质量等级 CreateNode(xmlDoc, item, "cworkcenterid", dt.Rows[0]["连铸主键"].ToString()); //工作中心主键/连铸机号 CreateNode(xmlDoc, item, "dbizdate", dt_time.ToString("yyyy-MM-dd")); //业务日期 CreateNode(xmlDoc, item, "vbatchcode", mod_slab_main.C_STOVE); //批次号 CreateNode(xmlDoc, item, "cinvbasid", mod_mater_main.C_PK_INVBASDOC); //存货基本ID CreateNode(xmlDoc, item, "pk_produce", ""); //介质物料PK CreateNode(xmlDoc, item, "ninnum", dt.Rows[0]["重量"].ToString()); //实入数量-重量 CreateNode(xmlDoc, item, "ninassistnum", dt.Rows[0]["支数"].ToString()); //实入辅数量-件数 CreateNode(xmlDoc, item, "castunitid", mod_mater_main.C_FJLDW); //辅计量单位ID CreateNode(xmlDoc, item, "vfree1", mod_std_config.C_ZYX1); //自由项1 CreateNode(xmlDoc, item, "vfree2", mod_std_config.C_ZYX2); //自由项2 CreateNode(xmlDoc, item, "vfree3", ""); //自由项3 CreateNode(xmlDoc, item, "vfree4", ""); //自由项4 CreateNode(xmlDoc, item, "vfree5", ""); //自由项5 CreateNode(xmlDoc, item, "pk_corp", ""); //公司 CreateNode(xmlDoc, item, "gcbm", ""); //工厂 #endregion body.AppendChild(item); xmlDoc.Save(url + "\\" + urlname); List <string> parem = dalSendNC.SendXML(url + "\\" + urlname); if (parem[0] == "1") { return(true); } else { return(false); } } catch { return(false); } }