/// <summary> /// 删除 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Del_Click(object sender, EventArgs e) { try { DialogResult dialogResult = MessageBox.Show("是否删除?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (dialogResult == DialogResult.OK)//如果点击“确定”按钮 { DataRow dr = this.gv_Order.GetDataRow(this.gv_Order.FocusedRowHandle); if (dr == null) { MessageBox.Show("请选择需要删除的信息!"); return; } Mod_TMO_ORDER mod = bll_Order.GetModel(dr["C_ID"].ToString()); mod.N_TYPE = 11; mod.C_EMP_ID = RV.UI.UserInfo.UserID; mod.D_MOD_DT = RV.UI.ServerTime.timeNow(); if (bll_Order.Update(mod)) { Mod_TRP_PLAN_ROLL modroll = bll_roll.GetModelByOrderNo(mod.C_ORDER_NO); modroll.N_STATUS = 3; bll_roll.Update(modroll); MessageBox.Show("删除成功!"); Common.UserLog.AddLog(strMenuName, this.Name, this.Text, "删除首尾炉订单");//添加操作日志 NewMethod(); } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (!string.IsNullOrEmpty(Request.QueryString["ID"])) { ltlOrderNo.Text = Request.QueryString["ID"]; Mod_TMO_ORDER mod = tmo_order.GetModel(ltlOrderNo.Text); if (mod != null) { ltlConNO.Text = mod.C_CON_NO; ltlMatCode.Text = mod.C_MAT_CODE; ltlMatName.Text = mod.C_MAT_NAME; ltlSpec.Text = mod.C_SPEC; ltlStlGrd.Text = mod.C_STL_GRD; ltlFree1.Text = mod.C_FREE1; ltlFree2.Text = mod.C_FREE2; ltlPack.Text = mod.C_PACK; txtNum.Value = mod.N_WGT.ToString(); ltlTaxRate.Text = mod.N_TAXRATE.ToString(); ltlPrice.Text = mod.N_ORIGINALCURTAXPRICE.ToString(); } } } }
private void btn_order_pj1_Click(object sender, EventArgs e) { if (DialogResult.Yes == MessageBox.Show("是否评价选中的订单?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)) { WaitingFrom.ShowWait("系统正在对订单进行分析,请稍候..."); int res = 0; if (lst.Count > 0) { if (lst.Where(a => a.B_check).ToList().Count > 0) { string C_TYPE = "正常"; if (rbtn_lx_type.SelectedIndex == 1) { C_TYPE = "试验"; } for (int i = 0; i < lst.Count; i++) { if (lst[i].B_check) { string c_order_id = lst[i].C_ID; Mod_TMO_ORDER mod = bll_order.GetModel(c_order_id); Cls_Order_PC.OrderPj(mod, C_TYPE); res = res + 1; } } } } MessageBox.Show("订单已成功评价" + res.ToString() + "条!"); btn_query_order_Click(null, null); WaitingFrom.CloseWait(); } }
/// <summary> /// 计划重新划分连铸 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_fp_lz_Click(object sender, EventArgs e) { if (DialogResult.No == MessageBox.Show("是否确认重新分配计划连铸信息?\r\n重新分配后浇次计划将会重新生成!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)) { return; } WaitingFrom.ShowWait("系统正对炼钢计划进行连铸重新分配,请稍候..."); if (this.icbo_lz1.SelectedIndex <= 0) { MessageBox.Show("请选择要分配的连铸!"); icbo_lz1.Focus(); return; } string C_CCM_ID = icbo_lz1.Properties.Items[this.icbo_lz1.SelectedIndex].Value.ToString(); Mod_TB_STA mod_sta = bll_sta.GetModel(C_CCM_ID); int[] aa = this.gv_Lg_plan_Query.GetSelectedRows(); int cou = 0; for (int i = 0; i < aa.Length; i++) { int selectedHandle = aa[i]; string C_ID = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_ID").ToString(); string C_STL_GRD = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STL_GRD").ToString(); string C_STD_CODE = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STD_CODE").ToString(); Mod_TRP_PLAN_ROLL mod_roll = bll_trp_plan.GetModel(C_ID); string C_ORDER_ID = mod_roll.C_INITIALIZE_ITEM_ID; Mod_TMO_ORDER mod_order = bll_order.GetModel(C_ORDER_ID); mod_order.C_CCM_NO = C_CCM_ID; mod_order.C_CCM_CODE = mod_sta.C_STA_CODE; mod_order.C_CCM_DESC = mod_sta.C_STA_DESC; if (bll_order.Update(mod_order)) { mod_roll.C_CCM_ID = C_CCM_ID; mod_roll.C_CCM_CODE = mod_sta.C_STA_CODE; mod_roll.C_CCM_DESC = mod_sta.C_STA_DESC; if (bll_trp_plan.Update(mod_roll)) { cou = cou + i; } } } MessageBox.Show("连铸划分成功!"); WaitingFrom.CloseWait(); btn_query_lc_plan_Click(null, null); }
public ViewResult ZP(string id, string lineCode = "", string errorMsg = "") { if (!string.IsNullOrEmpty(errorMsg)) { ViewBag.ErrorMsg = errorMsg; } var mdl = bll.GetModel(id); var list = new List <NF.MODEL.Mod_TRC_ROLL_PRODCUT>(); if (mdl != null) { list.AddRange(bll_Product.GetByGzAndZxbz(mdl.C_STL_GRD, mdl.C_STD_CODE, mdl.C_SPEC, lineCode)); } ViewBag.ProductData = list.GroupBy(w => new { w.C_BATCH_NO, w.C_STL_GRD, w.C_STD_CODE, w.C_SPEC, w.C_MAT_CODE, w.C_MAT_DESC, w.C_LINEWH_CODE, w.C_BZYQ, w.C_JUDGE_LEV_ZH }).Select(w => new ProductGrpInfo { BatchNo = w.Key.C_BATCH_NO, Spec = w.Key.C_SPEC, StdCode = w.Key.C_STD_CODE, StlGrd = w.Key.C_STL_GRD, Count = w.Count(), Wgt = w.Sum(x => x.N_WGT), MtrlCode = w.Key.C_MAT_CODE, MtrlName = w.Key.C_MAT_DESC, InventoryCode = w.Key.C_LINEWH_CODE, BZYQ = w.Key.C_BZYQ, ZLDJ = w.Key.C_JUDGE_LEV_ZH }).OrderBy(w => w.BatchNo).ThenBy(w => w.StdCode).ThenBy(w => w.Spec).ToList(); // 合同ID ViewBag.ContractId = id; GetBcBz(); return(View()); }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (!string.IsNullOrEmpty(Request.QueryString["ID"])) { Mod_TMO_ORDER mod = tmo_order.GetModel(Request.QueryString["ID"]); if (mod != null) { Mod_TMO_CON conmod = tmo_con.GetModel(mod.C_CON_NO); if (conmod != null) { var list = trc_roll_prodcut.Check_OrderAndRoll(mod.C_CON_NO); if (list.Result) { if (list.Flag == 0) { lbl_msg.Text = "当前合同存在排产计划,请谨慎操作!"; } else { lbl_msg.Text = "当前合同存在线材库存,请谨慎操作!"; } } ltlConNO.Text = conmod.C_CON_NO; ltlcustno.Text = conmod.C_CUST_NO; ltlcustname.Text = conmod.C_CUSTNAME; ltlarea.Text = conmod.C_AREA; } } } } }
public string GetConArea(object orderID) { string str = string.Empty; Mod_TMO_ORDER mod = tmo_order.GetModel(orderID.ToString()); if (mod != null) { str = mod.C_AREA; } return(str); }
private void btn_qr_Click(object sender, EventArgs e) { WaitingFrom.ShowWait(""); int[] rownumber = this.gv_tmo_order.GetSelectedRows();//获取选中行号数组; for (int i = 0; i < rownumber.Length; i++) { int selectedHandle = rownumber[i]; string strID = this.gv_tmo_order.GetRowCellValue(selectedHandle, "C_ID").ToString(); double wcl = Convert.ToDouble(this.gv_tmo_order.GetRowCellValue(selectedHandle, "WCL").ToString()); Mod_TMO_ORDER modorder = bllorder.GetModel(strID); if (wcl > 0.9) { modorder.N_EXEC_STATUS = -2; } else { modorder.N_EXEC_STATUS = 0; } bllorder.Update(modorder); } WaitingFrom.CloseWait(); btn_query_main_Click(null, null); }
private void GetList() { Mod_TMO_ORDER mod = tmo_order.GetModel(ltlorderid.Text); string areafalg = ts_dic.GetAreaFlag(ltlarea.Text);//获取区域是否按客户发运Y/N DataTable dt = areafalg == "N" ? tmo_order.ZTWGT(ltlmatcode.Text, ltlstdcode.Text, ltlarea.Text, ltlpack.Text, ltllev.Text).Tables[0] : tmo_order.ZTWGT(ltlmatcode.Text, ltlstdcode.Text, ltlarea.Text, ltlpack.Text, ltllev.Text, mod.C_CUST_NAME, mod.C_CON_NO).Tables[0]; if (dt.Rows.Count > 0) { rptList.DataSource = dt; rptList.DataBind(); ltlsumwgt.Text = dt.Compute("sum(N_FYWGT)", "true").ToString(); } else { rptList.DataSource = null; rptList.DataBind(); ltlsumwgt.Text = "0"; } DataTable dtkcwgt = areafalg == "N" ? tmo_order.KCWGT(ltlmatcode.Text, ltlstdcode.Text, ltlarea.Text, ltlpack.Text, ltllev.Text).Tables[0] : tmo_order.KCWGT(ltlmatcode.Text, ltlstdcode.Text, ltlarea.Text, ltlpack.Text, ltllev.Text, mod.C_CUST_NAME, mod.C_CON_NO).Tables[0]; if (dtkcwgt.Rows.Count > 0) { if (!string.IsNullOrEmpty(dtkcwgt.Rows[0]["N_WGT"].ToString())) { ltlkcwgt.Text = dtkcwgt.Rows[0]["N_WGT"].ToString(); } else { ltlkcwgt.Text = "0"; } } ltlkfwgt.Text = Convert.ToString(Convert.ToDecimal(ltlkcwgt.Text) - Convert.ToDecimal(ltlsumwgt.Text)); }
/// <summary> /// 轧钢自动排产 /// </summary> /// <param name="dt"></param> public void ZGPC(DataTable dt) { if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { Mod_TMO_ORDER modorder = bll_order.GetModel(dt.Rows[i]["C_ID"].ToString()); decimal dpcwgt = Convert.ToDecimal(dt.Rows[i]["N_R_WGT"].ToString()); //轧钢待排产的重量(N_WGT - N_ROLL_PROD_WGT - N_LINE_MATCH_WGT) decimal kpcwgt = Convert.ToDecimal(dt.Rows[i]["N_R_KP_WGT"].ToString()); //轧钢本次可排产的重量(N_SMS_PROD_WGT + N_SLAB_MATCH_WGT) decimal kcgpl = Convert.ToDecimal(dt.Rows[i]["N_SLAB_MATCH_WGT"].ToString()); //该计划试用库存钢坯重量 if (kpcwgt > 0 && dpcwgt > 0) //当前订单可以排产 { decimal kcp = (kcgpl - bll_roll_plan.GetZYPWgt(dt.Rows[i]["C_ID"].ToString(), "1")); //使用库存坯下计划量 if (kcp > 0) //使用库存坯排产的计划 { #region 添加轧钢计划 Mod_TRP_PLAN_ROLL modplan = new Mod_TRP_PLAN_ROLL(); modplan.C_INITIALIZE_ITEM_ID = dt.Rows[i]["C_ID"].ToString(); //订单表主键 modplan.C_ORDER_NO = dt.Rows[i]["C_ORDER_NO"].ToString(); //订单号 modplan.N_WGT = kcp; //订单排产量 modplan.N_STATUS = 0; modplan.C_MAT_CODE = dt.Rows[i]["C_MAT_CODE"].ToString(); //物料编码 modplan.C_MAT_NAME = dt.Rows[i]["C_MAT_NAME"].ToString(); //物料名称 modplan.C_TECH_PROT = dt.Rows[i]["C_TECH_PROT"].ToString(); //客户协议号 modplan.C_SPEC = dt.Rows[i]["C_SPEC"].ToString(); //规格 modplan.C_STL_GRD = dt.Rows[i]["C_STL_GRD"].ToString(); //钢种 modplan.C_STD_CODE = dt.Rows[i]["C_STD_CODE"].ToString(); //执行标准 //modplan.N_USER_LEV=dt.Rows[i][" N_USER_LEV,"].ToString();//客户等级 //modplan.N_STL_GRD_LEV=dt.Rows[i][" C_LEV,"].ToString();//钢种等级 //modplan.N_ORDER_LEV=dt.Rows[i][" C_ORDER_LEV,"].ToString();//订单等级 modplan.D_NEED_DT = Convert.ToDateTime(dt.Rows[i]["D_NEED_DT"].ToString()); //需求日期 modplan.D_DELIVERY_DT = Convert.ToDateTime(dt.Rows[i]["D_DELIVERY_DT"].ToString()); //计划交货日期 modplan.D_DT = Convert.ToDateTime(dt.Rows[i]["D_DT"].ToString()); //订单日期 modplan.N_PROD_TIME = Convert.ToDecimal(kcp / Convert.ToDecimal(dt.Rows[i]["N_MACH_WGT"].ToString())); //理论生产需时 modplan.N_SORT = 0; //生产排序 modplan.C_CUST_NO = dt.Rows[i]["C_CUST_NO"].ToString(); //客户编码 modplan.C_CUST_NAME = dt.Rows[i]["C_CUST_NAME"].ToString(); //客户名称 modplan.C_SALE_CHANNEL = dt.Rows[i]["C_SALE_CHANNEL"].ToString(); //分销类别(直销/经销) modplan.C_PACK = dt.Rows[i]["C_PACK"].ToString(); //包装要求 modplan.C_DESIGN_NO = dt.Rows[i]["C_DESIGN_NO"].ToString(); //质量设计号 modplan.N_GROUP_WGT = 0; //组批量 modplan.C_LINE_DESC = dt.Rows[i]["C_LINE_NO"].ToString(); //工位 modplan.C_STA_ID = dt.Rows[i]["C_STA_ID"].ToString(); //工位 modplan.C_LINE_CODE = bll_gw.Get_NC_ID(modplan.C_STA_ID); //nc工位主键 modplan.C_EMP_ID = RV.UI.UserInfo.userID; //操作人 modplan.D_MOD_DT = RV.UI.ServerTime.timeNow(); //操作时间 modplan.N_MACH_WGT = Convert.ToDecimal(dt.Rows[i]["N_MACH_WGT"].ToString()); //机时产量(轧钢) modplan.C_INITIALIZE_ID = "1"; //计划标识0连铸坯1自由坯 modplan.C_FREE_TERM = dt.Rows[i]["C_FREE1"].ToString(); //自由项 modplan.C_FREE_TERM2 = dt.Rows[i]["C_FREE2"].ToString(); //自由项2 modplan.C_AREA = dt.Rows[i]["C_AREA"].ToString(); //区域 modplan.C_PCLX = modplan.C_AREA.Contains("出口") ? "1" : "0"; //批次类型0普通材,1出口材 bll_roll_plan.Add(modplan); modorder.N_ROLL_PROD_WGT = modorder.N_ROLL_PROD_WGT + kcp; #endregion } decimal lzp = 0; if (dpcwgt - kpcwgt > 0) { lzp = kpcwgt - kcp;//使用连铸坯排产量 } else { lzp = dpcwgt - kcp; //使用连铸坯排产量 } if (lzp > 0) //使用连铸坯排产的计划 { #region 添加轧钢计划 Mod_TRP_PLAN_ROLL modplan = new Mod_TRP_PLAN_ROLL(); modplan.C_INITIALIZE_ITEM_ID = dt.Rows[i]["C_ID"].ToString(); //订单表主键 modplan.C_ORDER_NO = dt.Rows[i]["C_ORDER_NO"].ToString(); //订单号 modplan.N_WGT = lzp; //订单排产量 modplan.N_STATUS = 0; modplan.C_MAT_CODE = dt.Rows[i]["C_MAT_CODE"].ToString(); //物料编码 modplan.C_MAT_NAME = dt.Rows[i]["C_MAT_NAME"].ToString(); //物料名称 modplan.C_TECH_PROT = dt.Rows[i]["C_TECH_PROT"].ToString(); //客户协议号 modplan.C_SPEC = dt.Rows[i]["C_SPEC"].ToString(); //规格 modplan.C_STL_GRD = dt.Rows[i]["C_STL_GRD"].ToString(); //钢种 modplan.C_STD_CODE = dt.Rows[i]["C_STD_CODE"].ToString(); //执行标准 //modplan.N_USER_LEV=dt.Rows[i][" N_USER_LEV,"].ToString();//客户等级 //modplan.N_STL_GRD_LEV=dt.Rows[i][" C_LEV,"].ToString();//钢种等级 //modplan.N_ORDER_LEV=dt.Rows[i][" C_ORDER_LEV,"].ToString();//订单等级 modplan.D_NEED_DT = Convert.ToDateTime(dt.Rows[i]["D_NEED_DT"].ToString()); //需求日期 modplan.D_DELIVERY_DT = Convert.ToDateTime(dt.Rows[i]["D_DELIVERY_DT"].ToString()); //计划交货日期 modplan.D_DT = Convert.ToDateTime(dt.Rows[i]["D_DT"].ToString()); //订单日期 decimal kkk = Convert.ToDecimal(lzp / Convert.ToDecimal(dt.Rows[i]["N_MACH_WGT"].ToString())); modplan.N_PROD_TIME = Convert.ToDecimal(lzp / Convert.ToDecimal(dt.Rows[i]["N_MACH_WGT"].ToString())); //理论生产需时 modplan.N_SORT = 0; //生产排序 modplan.C_CUST_NO = dt.Rows[i]["C_CUST_NO"].ToString(); //客户编码 modplan.C_CUST_NAME = dt.Rows[i]["C_CUST_NAME"].ToString(); //客户名称 modplan.C_SALE_CHANNEL = dt.Rows[i]["C_SALE_CHANNEL"].ToString(); //分销类别(直销/经销) modplan.C_PACK = dt.Rows[i]["C_PACK"].ToString(); //包装要求 modplan.C_DESIGN_NO = dt.Rows[i]["C_DESIGN_NO"].ToString(); //质量设计号 modplan.N_GROUP_WGT = 0; //组批量 modplan.C_LINE_DESC = dt.Rows[i]["C_LINE_NO"].ToString(); //工位 modplan.C_STA_ID = dt.Rows[i]["C_STA_ID"].ToString(); //工位 modplan.C_LINE_CODE = bll_gw.Get_NC_ID(modplan.C_STA_ID); //nc工位主键 modplan.C_EMP_ID = RV.UI.UserInfo.userID; //操作人 modplan.D_MOD_DT = RV.UI.ServerTime.timeNow(); //操作时间 modplan.N_MACH_WGT = Convert.ToDecimal(dt.Rows[i]["N_MACH_WGT"].ToString()); //机时产量(轧钢) modplan.C_INITIALIZE_ID = "0"; //计划标识0连铸坯1自由坯 modplan.C_FREE_TERM = dt.Rows[i]["C_FREE1"].ToString(); //自由项 modplan.C_FREE_TERM2 = dt.Rows[i]["C_FREE2"].ToString(); //自由项2 modplan.C_AREA = dt.Rows[i]["C_AREA"].ToString(); //区域 modplan.C_PCLX = modplan.C_AREA.Contains("出口") ? "1" : "0"; //批次类型0普通材,1出口材 #endregion //根据计划号得出该计划钢坯生产结束时间 DataTable dtscsj = bll_sms.GetOrderCCTime(modplan.C_INITIALIZE_ITEM_ID); if (dtscsj.Rows.Count > 0) { DateTime?dtbegin = null; try { dtbegin = Convert.ToDateTime(dtscsj.Rows[0]["D_P_START_TIME"].ToString());//钢坯开始生产时间 } catch (Exception) { dtbegin = System.DateTime.Now; } DateTime dtend = Convert.ToDateTime(dtscsj.Rows[0]["D_P_END_TIME"].ToString()); //钢坯生产结束时间 DateTime lasttime = dtend; //工序最后时间 #region 判断是否开坯,是添加开坯计划 if (dt.Rows[i]["C_KP"].ToString() == "Y") { #region 判断开坯前是否缓冷,缓冷时间,添加大方坯缓冷计划 if (dt.Rows[i]["C_DFP_HL"].ToString().Trim() != "") { modplan.C_SFHL_D = dt.Rows[i]["C_DFP_HL"].ToString(); //大方坯是否缓冷 double hltime = Convert.ToDouble(dt.Rows[i]["N_DFP_HL_TIME"].ToString()) == 0 ? 48 : Convert.ToDouble(dt.Rows[i]["N_DFP_HL_TIME"].ToString()); modplan.D_DHL_START_TIME = dtend; //缓冷计划开始时间 modplan.D_DHL_END_TIME = Convert.ToDateTime(dtend.AddHours(hltime)); //缓冷计划结束时间 lasttime = Convert.ToDateTime(dtend.AddHours(hltime)); } #endregion double hktokp = 3; //缓冷到开坯的运转时间 modplan.C_SFKP = "Y"; //大方坯是否开坯 modplan.D_KP_START_TIME = lasttime.AddHours(hktokp); //开坯计划开始时间 double kpjscl = 114; //开坯的机时产量 modplan.D_KP_END_TIME = Convert.ToDateTime(modplan.D_KP_START_TIME).AddHours(Convert.ToDouble(modplan.N_WGT) / kpjscl); //开坯计划结束时间 lasttime = Convert.ToDateTime(modplan.D_KP_START_TIME).AddHours(Convert.ToDouble(modplan.N_WGT) / kpjscl); } if (dt.Rows[i]["C_HL"].ToString().Trim() != "") //开坯后是否缓冷 { double kptohl = 3; //开坯到缓冷时间 modplan.C_SFHL = "Y"; //小方坯是否缓冷 modplan.D_HL_START_TIME = lasttime.AddHours(kptohl); //缓冷计划开始时间 double xhltime = Convert.ToDouble(dt.Rows[i]["N_HL_TIME"].ToString()) == 0 ? 48 : Convert.ToDouble(dt.Rows[i]["N_HL_TIME"].ToString()); modplan.D_HL_END_TIME = lasttime.AddHours(kptohl).AddHours(xhltime); //缓冷计划结束时间 lasttime = Convert.ToDateTime(modplan.D_HL_END_TIME); } if (dt.Rows[i]["C_HL"].ToString().Trim() != "")//需要修磨 { double toXM = 3; double xujscn = 80; //修磨的平均机时产能 modplan.C_SFXM = "Y"; //是否修磨 modplan.D_XM_START_TIME = lasttime.AddHours(toXM); //修磨计划开始时间 modplan.D_XM_END_TIME = lasttime.AddHours(toXM).AddHours(Convert.ToDouble(modplan.N_WGT) / xujscn);; //修磨计划结束时间 lasttime = Convert.ToDateTime(modplan.D_XM_END_TIME); } double tozg = 3;//到轧线的消耗时间 modplan.D_P_START_TIME = lasttime.AddHours(3); modplan.D_P_END_TIME = lasttime.AddHours(3).AddHours(Convert.ToDouble(modplan.N_PROD_TIME)); #endregion } bll_roll_plan.Add(modplan); modorder.N_ROLL_PROD_WGT = modorder.N_ROLL_PROD_WGT + lzp; bll_order.Update(modorder); } } } } }
/// <summary> /// 保存合同 /// </summary> /// <param name="state">状态</param> /// <returns></returns> private bool SaveCon(int state) { List <Mod_TMO_ORDER> orderList = new List <Mod_TMO_ORDER>(); #region //修改合同基本信息 Mod_TMO_CON modCon = tmo_con.GetModel(hidconno.Value); if (hidconno.Value != txtConNO.Value) { modCon.C_CON_NEW = txtConNO.Value; //合同号 } modCon.N_STATUS = state; //合同状态 modCon.C_CON_NAME = txtConName.Value; //合同名称 modCon.C_CONTYPEID = dropConType.SelectedValue; //合同类型 modCon.C_CURRENCYTYPEID = dropBiZhong.SelectedValue; //货币类型 modCon.D_CONSING_DT = Convert.ToDateTime(txtQianDanDT.Value); //签署日期 modCon.D_CONEFFE_DT = Convert.ToDateTime(txtPlanStartDT.Value); //生效日期 modCon.D_CONINVALID_DT = Convert.ToDateTime(txtPlanEndDT.Value); //失效日期 modCon.C_TRANSMODEID = dropFaYun.SelectedItem.Value; //发运方式 modCon.C_SALECORPID = dropSale.SelectedItem.Value; //销售组织- modCon.C_AREA = txtDept.Value; //合同区域 modCon.C_REAMRK = txtDESC.Value; //备注 modCon.C_STATION = txtC_STATION.Value; //站点 modCon.C_BIZTYPE = dropYeWuType.SelectedItem.Value; //业务类型- modCon.C_DEPTID = hidC_DEPT_ID.Value; //业务部门- modCon.C_EMPLOYEEID = hidC_SALESMAN.Value; //业务员 modCon.C_EDITEMPLOYEEID = ltlC_EMP_ID.Text; //修改人 modCon.D_EDITDATE = DateTime.Now; //修改时间 modCon.C_ADDRESS = dropAddr.SelectedItem?.Text ?? ""; //收货地址 string C_PCLX = dropYeWuType.SelectedItem.Text == "1001NC10000000005EI8" ? "1" : "0"; //1出口材,0普通材 modCon.C_CRECEIPTCUSTOMERID = hidC_CGID.Value; //收货单位 modCon.C_CRECEIPTCORPID = hidC_OTCID.Value; //开票单位 modCon.N_FLAG = dropClass.SelectedValue; #endregion #region //修改合同明细 for (int i = 0; i < rptList.Items.Count; i++) { DropDownList dropZL = (DropDownList)rptList.Items[i].FindControl("dropZL"); DropDownList dropzxzt = (DropDownList)rptList.Items[i].FindControl("dropzxzt"); DropDownList dropsfjk = (DropDownList)rptList.Items[i].FindControl("dropsfjk"); TextBox txtWgt = (TextBox)rptList.Items[i].FindControl("txtWgt"); //数量 TextBox txtN_ORIGINALCURTAXPRICE = (TextBox)rptList.Items[i].FindControl("txtN_ORIGINALCURTAXPRICE"); //原币含税单价 TextBox txtPack_Code = (TextBox)rptList.Items[i].FindControl("txtPack_Code"); TextBox txtRemark = (TextBox)rptList.Items[i].FindControl("txtRemark");//行备注 Literal ltlC_NO = (Literal)rptList.Items[i].FindControl("ltlC_NO"); HtmlInputText txtD_DELIVERY_DT = (HtmlInputText)rptList.Items[i].FindControl("txtD_DELIVERY_DT"); //订单交货日期 HtmlInputText txtN_TAXRATE = (HtmlInputText)rptList.Items[i].FindControl("txtN_TAXRATE"); //税率 HtmlInputText txtStd_Code = (HtmlInputText)rptList.Items[i].FindControl("txtStd_Code"); //执行标准 HtmlInputText txtC_FREE1 = (HtmlInputText)rptList.Items[i].FindControl("txtC_FREE1"); //自由项1 HtmlInputText txtC_FREE2 = (HtmlInputText)rptList.Items[i].FindControl("txtC_FREE2"); //自由项2 Mod_TMO_ORDER modOrder = tmo_order.GetModel(ltlC_NO.Text); if (hidconno.Value != txtConNO.Value) { modOrder.C_CON_NO = modCon.C_CON_NEW; //新合同号 } modOrder.C_CON_NAME = txtConName.Value; //合同名称 modOrder.C_AREA = txtDept.Value; //区域 modOrder.C_CUST_SQ = txtDESC.Value; modOrder.C_PCLX = C_PCLX; //1出口材,0普通材 modOrder.N_EXEC_STATUS = Convert.ToDecimal(dropzxzt.SelectedItem.Value); //执行状态 //modOrder.D_NEED_DT = modCon.D_NEED_DT;//需求日期 modOrder.D_DELIVERY_DT = Convert.ToDateTime(txtD_DELIVERY_DT.Value); //计划订单交货日期 modOrder.C_YWY = txtSaleUser.Value; //业务员姓名 modOrder.C_CURRENCYTYPEID = dropBiZhong.SelectedValue; //货币 modOrder.C_STD_CODE = txtStd_Code.Value; //执行标准 modOrder.C_FREE1 = txtC_FREE1.Value; //自由项1 modOrder.C_FREE2 = txtC_FREE2.Value; //自由项2 modOrder.C_PACK = txtPack_Code.Text; //包装要求 modOrder.C_LEV = ""; //等级 modOrder.C_ORDER_LEV = ""; //级别 modOrder.C_VDEF1 = dropZL.SelectedValue; //质量等级 modOrder.C_STL_GRD_CLASS = ""; //钢种大类 modOrder.C_SFJK = dropsfjk.SelectedItem.Text; //监控钢种 modOrder.C_RECEIPTAREAID = modCon.C_CRECEIPTAREAID; //收货地区 modOrder.C_RECEIVEADDRESS = modCon.C_ADDRESS; // 收货地址 modOrder.C_RECEIPTCORPID = modCon.C_CRECEIPTCUSTOMERID; //收货单位 modOrder.C_REMARK = txtRemark.Text; //行备注 decimal N_WGT = 0; if (!string.IsNullOrEmpty(txtWgt.Text)) { N_WGT = Convert.ToDecimal(txtWgt.Text); } modOrder.N_WGT = N_WGT; //数量 modOrder.N_FNUM = modOrder.N_HSL == 0 ? 1 : N_WGT / modOrder.N_HSL; //辅数量 #region //获取钢种单价-折扣-税率 if (!string.IsNullOrEmpty(txtN_ORIGINALCURTAXPRICE.Text)) { decimal shuolv = Convert.ToDecimal(txtN_TAXRATE.Value == "" ? "0" : txtN_TAXRATE.Value);//税率 if (Convert.ToDecimal(shuolv) >= 1) { shuolv = shuolv / 100; } decimal N_TAXRATE = shuolv + 1; //税率 decimal N_ORIGINALCURPRICE = Convert.ToDecimal(txtN_ORIGINALCURTAXPRICE.Text) / N_TAXRATE; //原币无税单价 decimal N_ORIGINALCURTAXPRICE = Convert.ToDecimal(txtN_ORIGINALCURTAXPRICE.Text); //原币含税单价 decimal N_ORIGINALCURMNY = decimal.Round(N_WGT * N_ORIGINALCURPRICE, 2); //原币无税金额 decimal N_ORIGINALCURSUMMNY = N_WGT * N_ORIGINALCURTAXPRICE; //原币价税合计 decimal N_ORIGINALCURTAXMNY = decimal.Round(N_ORIGINALCURSUMMNY - N_ORIGINALCURMNY, 2); //原币税额 modOrder.N_TAXRATE = shuolv; //税率 modOrder.N_ORIGINALCURPRICE = N_ORIGINALCURPRICE; //原币无税单价 modOrder.N_ORIGINALCURTAXPRICE = N_ORIGINALCURTAXPRICE; //原币含税单价 modOrder.N_ORIGINALCURTAXMNY = N_ORIGINALCURTAXMNY; //原币税额 modOrder.N_ORIGINALCURMNY = N_ORIGINALCURMNY; //原币无税金额 modOrder.N_ORIGINALCURSUMMNY = N_ORIGINALCURSUMMNY; //原币价税合计 } #endregion orderList.Add(modOrder); } #endregion return(tmo_con.UpdateConOrder(modCon, orderList)); }
/// <summary> /// NC销售合同接口 /// </summary> /// <param name="con">合同号</param> /// <param name="xmlFileName">文件名/路径</param> /// <param name="empID">操作人ID</param> /// <returns></returns> public List <string> SendXmlOrder(string con, string xmlFileName, string empID) { try { Mod_TMO_CON modCon = tmo_con.GetModel(con); Mod_TMB_FLOWINFO modFlow = tmb_flowinfo.GetModel(modCon.C_FLOWID); XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no"); xmlDoc.AppendChild(node); //创建根节点 XmlElement root = xmlDoc.CreateElement("ufinterface"); #region//给节点属性赋值 root.SetAttribute("account", "1"); root.SetAttribute("billtype", "CTEXT"); root.SetAttribute("filename", ""); root.SetAttribute("isexchange", "Y"); root.SetAttribute("proc", "add"); root.SetAttribute("receiver", "101"); root.SetAttribute("replace", "Y"); root.SetAttribute("roottag", "bill"); root.SetAttribute("sender", "1107"); root.SetAttribute("subbilltype", ""); #endregion xmlDoc.AppendChild(root); //创建子根节点 XmlElement so_order = xmlDoc.CreateElement("bill"); #region //节点属性 so_order.SetAttribute("id", con); //主键 #endregion root.AppendChild(so_order); XmlNode head = xmlDoc.CreateNode(XmlNodeType.Element, "bill_head", null); #region //表头_bill_head CreateNode(xmlDoc, head, "actualinvalidate", Convert.ToDateTime(modCon.D_CONINVALID_DT).ToString("yyy-MM-dd")); //实际终止日期 CreateNode(xmlDoc, head, "actualvalidate", Convert.ToDateTime(modCon.D_CONEFFE_DT).ToString("yyy-MM-dd")); //实际生效日期 CreateNode(xmlDoc, head, "audiid", modCon.C_APPROVEID); //审核人 CreateNode(xmlDoc, head, "auditdate", Convert.ToDateTime(modCon.D_APPROVEDATE).ToString("yyy-MM-dd")); //审核日期 CreateNode(xmlDoc, head, "bsc", "N"); //是否委外---**** CreateNode(xmlDoc, head, "ct_code", modCon.C_CON_NO); //合同编码 CreateNode(xmlDoc, head, "ct_name", modCon.C_CON_NAME); //合同名称 CreateNode(xmlDoc, head, "ctflag", modCon.N_STATUS.ToString()); //合同状态 CreateNode(xmlDoc, head, "currid", modCon.C_CURRENCYTYPEID); //币种 CreateNode(xmlDoc, head, "currrate", "1"); //折本汇率 CreateNode(xmlDoc, head, "custid", modCon.C_CUSTOMERID); //客商 CreateNode(xmlDoc, head, "custunit", ""); //对方单位说明 CreateNode(xmlDoc, head, "depid", modCon.C_DEPTID); //部门1001NC100000008KOR85 CreateNode(xmlDoc, head, "ifearly", "N"); //是否期初 CreateNode(xmlDoc, head, "invallidate", Convert.ToDateTime(modCon.D_CONINVALID_DT).ToString("yyy-MM-dd")); //计划失效日期 CreateNode(xmlDoc, head, "iprintcount", "0"); //计划失效日期 CreateNode(xmlDoc, head, "operdate", Convert.ToDateTime(modCon.D_DMAKEDATE).ToString("yyy-MM-dd")); //制单日期 CreateNode(xmlDoc, head, "operid", modCon.C_COPERATORID); //制单人1006AA1000000000NI7B CreateNode(xmlDoc, head, "payterm", ""); //收付款协议 CreateNode(xmlDoc, head, "personnelid", modCon.C_EMPLOYEEID); //人员(业务员ID)1001NC10000000000TD8 CreateNode(xmlDoc, head, "pk_corp", modCon.C_XGID); //公司 CreateNode(xmlDoc, head, "pk_ct_manage", modCon.C_CON_NO); //合同主键 CreateNode(xmlDoc, head, "pk_ct_type", modCon.C_CONTYPEID); //类型定义主键 CreateNode(xmlDoc, head, "projectid", ""); //项目号 CreateNode(xmlDoc, head, "subscribedate", Convert.ToDateTime(modCon.D_CONSING_DT).ToString("yyy-MM-dd")); //合同签订日期 CreateNode(xmlDoc, head, "valdate", Convert.ToDateTime(modCon.D_CONEFFE_DT).ToString("yyy-MM-dd")); //计划生效日期 CreateNode(xmlDoc, head, "activeflag", "0"); //激活状态 CreateNode(xmlDoc, head, "clastoperatorid", modCon.C_EDITEMPLOYEEID); //最后修改人 CreateNode(xmlDoc, head, "astcurrate", ""); //折辅汇率 CreateNode(xmlDoc, head, "nprepaylimitmny", ""); //预付款限额 CreateNode(xmlDoc, head, "nprepaymny", ""); //预付款 CreateNode(xmlDoc, head, "taudittime", Convert.ToDateTime(modCon.D_APPROVEDATE).ToString("yyy-MM-dd HH:mm:ss")); //审批时间 CreateNode(xmlDoc, head, "tlastmaketime", Convert.ToDateTime(modCon.D_EDITDATE).ToString("yyy-MM-dd HH:mm:ss")); //最后修改时间 CreateNode(xmlDoc, head, "tmaketime", Convert.ToDateTime(modCon.D_DMAKEDATE).ToString("yyy-MM-dd HH:mm:ss")); //制单时间 CreateNode(xmlDoc, head, "def1", ""); //自定义项1 CreateNode(xmlDoc, head, "def2", modFlow.C_NAME); //审批流程名称(日常合同) CreateNode(xmlDoc, head, "def3", ""); //自定义项3 CreateNode(xmlDoc, head, "def4", ""); //自定义项4 CreateNode(xmlDoc, head, "def5", modCon.C_CON_NO); //自定义项5-合同表头主键 CreateNode(xmlDoc, head, "pk_defdoc1", modCon.C_REAMRK); // 合同说明信息 CreateNode(xmlDoc, head, "pk_defdoc2", ""); // 审批流主键 CreateNode(xmlDoc, head, "pk_defdoc3", ""); // 自定义项主键3 CreateNode(xmlDoc, head, "pk_defdoc4", ""); // 自定义项主键4 CreateNode(xmlDoc, head, "pk_defdoc5", GetUserName(modCon.C_EMPLOYEEID)); // 自定义项主键5-业务员姓名 CreateNode(xmlDoc, head, "transpmode", modCon.C_TRANSMODEID); // 发运方式 #endregion so_order.AppendChild(head); XmlElement body = xmlDoc.CreateElement("bill_body"); so_order.AppendChild(body); DataTable dt = tmo_order.GetList(" C_CON_NO='" + con + "'").Tables[0]; for (int j = 0; j < dt.Rows.Count; j++) { int rowno = j + 1; Mod_TMO_ORDER modOrder = tmo_order.GetModel(dt.Rows[j]["C_ID"].ToString()); if (modOrder != null) { XmlNode entry = xmlDoc.CreateNode(XmlNodeType.Element, "item", null); #region //表体_item CreateNode(xmlDoc, entry, "amount", modOrder.N_WGT.ToString()); //数量 CreateNode(xmlDoc, entry, "invclid", ""); //存货分类 CreateNode(xmlDoc, entry, "invid", modOrder.C_INVENTORYID); //存货管理档案主键 CreateNode(xmlDoc, entry, "measid", modOrder.C_UNITID); //主计量单位 CreateNode(xmlDoc, entry, "natiprice", modOrder.N_ORIGINALCURPRICE.ToString()); //本币无税单价 CreateNode(xmlDoc, entry, "natisum", modOrder.N_ORIGINALCURMNY.ToString()); //本币无税金额 CreateNode(xmlDoc, entry, "natitaxmny", modOrder.N_ORIGINALCURTAXMNY.ToString()); //本币税额 CreateNode(xmlDoc, entry, "natitaxprice", modOrder.N_ORIGINALCURTAXPRICE.ToString()); //本币含税单价 CreateNode(xmlDoc, entry, "natitaxsummny", modOrder.N_ORIGINALCURSUMMNY.ToString()); //本币价税合计 CreateNode(xmlDoc, entry, "ordnum", ""); //订单执行累计数量 CreateNode(xmlDoc, entry, "ordprice", ""); //订单执行累计含税单价 CreateNode(xmlDoc, entry, "ordsum", ""); //订单执行累计本币价税合计 CreateNode(xmlDoc, entry, "oriprice", modOrder.N_ORIGINALCURPRICE.ToString()); //原币无税单价 CreateNode(xmlDoc, entry, "orisum", modOrder.N_ORIGINALCURMNY.ToString()); //原币无税金额 CreateNode(xmlDoc, entry, "oritaxmny", modOrder.N_ORIGINALCURTAXMNY.ToString()); //原币税额 CreateNode(xmlDoc, entry, "oritaxprice", modOrder.N_ORIGINALCURTAXPRICE.ToString()); //原币含税单价 CreateNode(xmlDoc, entry, "oritaxsummny", modOrder.N_ORIGINALCURSUMMNY.ToString()); //原币价税合计 CreateNode(xmlDoc, entry, "pk_corp", modOrder.C_XGID); //公司 CreateNode(xmlDoc, entry, "pk_ct_manage", ""); //合同主键 CreateNode(xmlDoc, entry, "pk_ct_manage_b", ""); //表体主键 CreateNode(xmlDoc, entry, "taxration", modOrder.N_TAXRATE.ToString()); //税率 CreateNode(xmlDoc, entry, "astmeasid", modOrder.C_FUNITID); //辅计量单位 CreateNode(xmlDoc, entry, "astnum", modOrder.N_FNUM.ToString()); //辅数量 CreateNode(xmlDoc, entry, "astprice", ""); //辅币无税单价 CreateNode(xmlDoc, entry, "astsum", ""); //辅币无税金额 CreateNode(xmlDoc, entry, "asttaxmny", ""); //辅币税额 CreateNode(xmlDoc, entry, "asttaxprice", ""); //辅币含税单价 CreateNode(xmlDoc, entry, "asttaxsummny", ""); //辅币价税合计 CreateNode(xmlDoc, entry, "cqpbaseschemeid", ""); //优质优价方案 CreateNode(xmlDoc, entry, "crowno", rowno.ToString()); //行号 CreateNode(xmlDoc, entry, "transrate", modOrder.N_HSL.ToString()); //主辅计量换算率 CreateNode(xmlDoc, entry, "vbatchcode", ""); //批次号 CreateNode(xmlDoc, entry, "def1", ""); //自定义项1 CreateNode(xmlDoc, entry, "def2", ""); //自定义项2 CreateNode(xmlDoc, entry, "def3", ""); //自定义项3 CreateNode(xmlDoc, entry, "def4", modOrder.C_PRO_USE); //自定义项4产品用途 CreateNode(xmlDoc, entry, "def5", ""); //自定义项5 CreateNode(xmlDoc, entry, "def6", ""); //自定义项6 CreateNode(xmlDoc, entry, "def7", ""); //自定义项7 CreateNode(xmlDoc, entry, "def8", ""); //自定义项8 CreateNode(xmlDoc, entry, "def9", ""); //自定义项9 CreateNode(xmlDoc, entry, "def10", modOrder.C_ID); //合同表体主键 CreateNode(xmlDoc, entry, "pk_defdoc1", ""); //自定义项主键1 CreateNode(xmlDoc, entry, "pk_defdoc2", ""); //自定义项主键2 CreateNode(xmlDoc, entry, "pk_defdoc3", ""); //自定义项主键3 CreateNode(xmlDoc, entry, "pk_defdoc4", ""); //自定义项主键4 CreateNode(xmlDoc, entry, "pk_defdoc5", ""); //自定义项主键5 CreateNode(xmlDoc, entry, "pk_defdoc6", ""); //自定义项主键6 CreateNode(xmlDoc, entry, "pk_defdoc7", ""); //自定义项主键7 CreateNode(xmlDoc, entry, "pk_defdoc8", ""); //自定义项主键8 CreateNode(xmlDoc, entry, "pk_defdoc9", ""); //自定义项主键9 CreateNode(xmlDoc, entry, "pk_defdoc10", ""); //自定义项主键10 CreateNode(xmlDoc, entry, "pk_defdoc11", ""); //自定义项主键11 CreateNode(xmlDoc, entry, "pk_defdoc12", ""); //自定义项主键12 CreateNode(xmlDoc, entry, "pk_defdoc13", ""); //自定义项主键13 CreateNode(xmlDoc, entry, "pk_defdoc14", ""); //自定义项主键14 CreateNode(xmlDoc, entry, "pk_defdoc15", ""); //自定义项主键15 CreateNode(xmlDoc, entry, "pk_defdoc16", modOrder.C_SPEC); //规格 CreateNode(xmlDoc, entry, "pk_defdoc17", modOrder.C_STL_GRD); //钢种 CreateNode(xmlDoc, entry, "pk_defdoc18", ""); //自定义项主键18 CreateNode(xmlDoc, entry, "pk_defdoc19", ""); //自定义项主键19 CreateNode(xmlDoc, entry, "pk_defdoc20", ""); //自定义项主键20 CreateNode(xmlDoc, entry, "vfree1", modOrder.C_FREE1); //自由项1 CreateNode(xmlDoc, entry, "vfree2", modOrder.C_FREE2); //自由项2 CreateNode(xmlDoc, entry, "vfree3", modOrder.C_PACK); //自由项3 CreateNode(xmlDoc, entry, "vfree4", ""); //自由项4 CreateNode(xmlDoc, entry, "vfree5", ""); //自由项5 CreateNode(xmlDoc, entry, "creceiptcorpid", modOrder.C_RECEIPTCORPID); //收货单位 CreateNode(xmlDoc, entry, "vreceiveaddress", modOrder.C_RECEIVEADDRESS); //收货地址 CreateNode(xmlDoc, entry, "delivdate", Convert.ToDateTime(modOrder.D_DELIVERY_DT).ToString("yyy-MM-dd")); //计划收发货日期 CreateNode(xmlDoc, entry, "creceiptareaid", modOrder.C_RECEIPTAREAID); //收货地区ID #endregion body.AppendChild(entry); } } xmlDoc.Save(xmlFileName); List <string> parem = NCSendXml.SendXML(xmlDoc); //发送NC parem.Add(con); //合同号 parem.Add(empID); parem.Add("销售合同-NC"); parem.Add(parem[0] == "1" ? "导入NC成功" : "导入NC失败"); //日志录入 AddLog(parem); return(parem); } catch (Exception ex) { throw ex; } }
private void BindOrderList() { if (Session[ltlempid.Text] != null) { DataTable dt = (DataTable)Session[ltlempid.Text]; for (int i = 0; i < dt.Rows.Count; i++) { //检测订单是否重复 if (getck(dt.Rows[i]["C_ID"].ToString())) { Mod_TMO_ORDER mod = tmo_order.GetModel(dt.Rows[i]["C_ID"].ToString()); if (mod != null) { ltltype.Text = mod.N_TYPE.ToString(); //发运类型 ltlcon_no.Text = mod.C_CON_NO; //合同号 ltlcustname.Text = mod.C_CUST_NAME; //客户 hidcustno.Value = mod.C_CUST_NO; //客户编码 hidmatcode.Value = mod.C_MAT_CODE; //物料编码 hidarea.Value = mod.C_AREA; //销售区域 dtOrder.Rows.Add(new object[] { dt.Rows[i]["C_ID"], mod.C_CON_NO, mod.C_STL_GRD, mod.C_SPEC, mod.C_STD_CODE, mod.C_FREE1, mod.C_FREE2, mod.C_PACK, mod.N_WGT, mod.C_VDEF1, //质量等级 mod.C_AREA, //区域 mod.C_MAT_CODE, mod.C_MAT_NAME, mod.C_CUST_NAME, //订货单位 mod.C_RECEIPTCORPID, //收货单位 mod.C_RECEIPTAREAID, //收货地区 mod.C_RECEIVEADDRESS, //收货地址 mod.N_TYPE, mod.C_CUST_NO, dt.Rows[i]["PKPLAN"], //日计划主键 dt.Rows[i]["YLXWGT"], //已履行量 dt.Rows[i]["DLXWGT"], //待履行量 }); } } } } if (dtOrder.Rows.Count > 0) { rptList.DataSource = dtOrder; rptList.DataBind(); Session[ltlempid.Text] = null; } else { rptList.DataSource = null; rptList.DataBind(); Session[ltlempid.Text] = null; txtcount.Value = ""; txtsumwgt.Value = ""; } }
//新增钢种 private void AddOrderList() { try { if (Session[ltlempid.Text] != null) { DataTable dt = (DataTable)Session[ltlempid.Text]; List <Mod_TMD_DISPATCHDETAILS> item = new List <Mod_TMD_DISPATCHDETAILS>(); for (int i = 0; i < dt.Rows.Count; i++) { //检测订单是否重复 if (getck(dt.Rows[i]["C_ID"].ToString())) { Mod_TMO_ORDER modOrder = tmo_order.GetModel(dt.Rows[i]["C_ID"].ToString()); if (modOrder != null) { #region //insert Mod_TMD_DISPATCHDETAILS modfyditem = new Mod_TMD_DISPATCHDETAILS(); modfyditem.C_DISPATCH_ID = txtsendcode.Text; //发运单单据号 modfyditem.C_MAT_CODE = modOrder.C_MAT_CODE; //物料编码 modfyditem.C_MAT_NAME = modOrder.C_MAT_NAME; //物料名称 modfyditem.C_SPEC = modOrder.C_SPEC; //规格 modfyditem.C_STL_GRD = modOrder.C_STL_GRD; //钢种 modfyditem.C_QUALIRY_LEV = modOrder.C_VDEF1; //质量等级主键-发运单 modfyditem.C_FREE_TERM = modOrder.C_FREE1; //自由项1 modfyditem.C_FREE_TERM2 = modOrder.C_FREE2; //自由项2 modfyditem.C_PACK = modOrder.C_PACK; //包装要求 modfyditem.C_STD_CODE = modOrder.C_STD_CODE; //执行标准 modfyditem.N_COM_AMOUNT_WGT = modOrder.N_FNUM; //原始订单辅数量 modfyditem.N_WGT = modOrder.N_WGT; //原始订单数量 modfyditem.C_EQUATION_FACTOR = modOrder.N_HSL.ToString(); //换算率 modfyditem.C_UNITIS = modOrder.C_UNITID; //主计量单位ID modfyditem.C_ORGO_CUST = modOrder.C_CUST_NAME; //订货客户 modfyditem.C_CGC = modOrder.C_RECEIPTCORPID; //收货单位-发运单 modfyditem.C_ORDER_TYPE = modOrder.N_TYPE.ToString(); //订单类型 8线材 6钢坯 831废乱材 841焦化产品 851渣 modfyditem.C_SEND_AREA = modOrder.C_RECEIPTAREAID; //到货地区-发运单 modfyditem.C_AREA = modOrder.C_RECEIVEADDRESS; //到货地址-发运单 modfyditem.C_EMP_ID = ltlempid.Text; modfyditem.C_EMP_NAME = hidempname.Value; modfyditem.C_CON_NO = modOrder.C_CON_NO; //合同号 modfyditem.C_PLAN_ID = dt.Rows[i]["PKPLAN"].ToString(); //日计划主键 modfyditem.C_NO = modOrder.C_ORDER_NO; //订单号 modfyditem.C_ORDERPK = modOrder.C_ID; //订单主键 modfyditem.C_CUSTNO = modOrder.C_CUST_NO; //客户编码 modfyditem.C_AU_UNITIS = modOrder.C_FUNITID; //辅单位 modfyditem.C_EMP_ID = ltlempid.Text; //操作人ID modfyditem.C_EMP_NAME = hidempname.Value; //操作人ID item.Add(modfyditem); #endregion } } } if (item.Count > 0) { if (tmd_dispatch.InsertFYD_ITEM(item)) { Session[ltlempid.Text] = null; BindList(); } } } } catch (Exception ex) { WebMsg.MessageBox(ex.Message); } }
private bool Add(int N_STATUS) { bool result = true; List <Mod_TMO_ORDER> orderList = new List <Mod_TMO_ORDER>(); #region //修改合同基本信息 Mod_TMO_CON modCon = tmo_con.GetModel(txtConNO.Text); modCon.C_CON_NO = txtConNO.Text; modCon.C_CON_NAME = txtConName.Text; modCon.C_CONTYPEID = dropConType.SelectedItem.Value; //合同类型 modCon.C_EMPLOYEEID = hidsaleempid.Value; //业务员 modCon.C_DEPTID = hiddeptid.Value; //业务部门 modCon.C_CURRENCYTYPEID = dropCurrType.SelectedValue; //货币类型 modCon.D_CONSING_DT = Convert.ToDateTime(txtDate.Value); //签约日期 modCon.D_CONEFFE_DT = Convert.ToDateTime(txtStart.Value); //计划生效日期 modCon.D_CONINVALID_DT = Convert.ToDateTime(txtEnd.Value); //计划失效日期 modCon.D_NEED_DT = Convert.ToDateTime(txtEnd.Value).AddDays(-30); //需求日期 modCon.C_TRANSMODEID = dropShipVia.SelectedValue; //发运方式 modCon.N_STATUS = N_STATUS; Mod_TS_DEPT modDept = ts_dept.GetModel(hiddeptid.Value); if (modDept != null) { modCon.C_AREA = modDept.C_NAME;//合同区域 } if (!string.IsNullOrEmpty(hidC_CGID.Value)) { Mod_TS_CUSTFILE modCust = ts_custfile.GetCustModel(hidC_CGID.Value); modCon.C_CRECEIPTCUSTOMERID = hidC_CGID.Value; //收货单位 modCon.C_ADDRESS = txtAddr.Value; //收货地址 modCon.C_CRECEIPTAREAID = modCust.C_AREATYPE; //收货地区 } modCon.C_STATION = txtC_STATION.Value; modCon.C_REAMRK = txtReamrk.Value; #endregion #region//修改合同明细 for (int i = 0; i < rptList.Items.Count; i++) { Literal ltlC_NO = (Literal)rptList.Items[i].FindControl("ltlC_NO"); TextBox txtPack_Code = (TextBox)rptList.Items[i].FindControl("txtPack_Code"); //包装要求 TextBox txtWgt = (TextBox)rptList.Items[i].FindControl("txtWgt"); //数量 TextBox txtC_PRO_USE = (TextBox)rptList.Items[i].FindControl("txtC_PRO_USE"); //用途 TextBox txtC_CUST_SQ = (TextBox)rptList.Items[i].FindControl("txtC_CUST_SQ"); //特殊要求 TextBox txtN_ORIGINALCURTAXPRICE = (TextBox)rptList.Items[i].FindControl("txtN_ORIGINALCURTAXPRICE"); //含税单价 DropDownList dropZL = (DropDownList)rptList.Items[i].FindControl("dropZL"); //质量 if (string.IsNullOrEmpty(txtPack_Code.Text) && tqb_pack.Exists(txtPack_Code.Text)) { result = false; break; } Mod_TMO_ORDER modOrder = tmo_order.GetModel(ltlC_NO.Text); modOrder.C_CON_NAME = modCon.C_CON_NAME; //合同名称 modOrder.C_AREA = modCon.C_AREA; //合同区域 //modOrder.D_NEED_DT = modCon.D_NEED_DT;//需求日期 modOrder.D_DELIVERY_DT = modCon.D_CONINVALID_DT; //计划收货日期 modOrder.C_VDEF1 = dropZL.SelectedItem.Value; //质量主键 modOrder.C_PACK = txtPack_Code.Text.Trim(); //包装要求 decimal N_WGT = 0; if (!string.IsNullOrEmpty(txtWgt.Text)) { N_WGT = Convert.ToDecimal(txtWgt.Text); modOrder.N_WGT = N_WGT; //数量 } modOrder.N_FNUM = modOrder.N_HSL == 0 ? 1 : N_WGT / modOrder.N_HSL; //辅数量 #region //获取钢种单价-折扣-税率 if (!string.IsNullOrEmpty(txtN_ORIGINALCURTAXPRICE.Text)) { decimal N_TAXRATE = Convert.ToDecimal(modOrder.N_TAXRATE) + 1; //税率 decimal N_ORIGINALCURPRICE = Convert.ToDecimal(txtN_ORIGINALCURTAXPRICE.Text) / N_TAXRATE; //原币无税单价 decimal N_ORIGINALCURTAXPRICE = Convert.ToDecimal(txtN_ORIGINALCURTAXPRICE.Text); //原币含税单价 decimal N_ORIGINALCURMNY = decimal.Round(N_WGT * N_ORIGINALCURPRICE, 2); //原币无税金额 decimal N_ORIGINALCURSUMMNY = N_WGT * N_ORIGINALCURTAXPRICE; //原币价税合计 decimal N_ORIGINALCURTAXMNY = decimal.Round(N_ORIGINALCURSUMMNY - N_ORIGINALCURMNY, 2); //原币税额 modOrder.N_ORIGINALCURPRICE = N_ORIGINALCURPRICE; //原币无税单价 modOrder.N_ORIGINALCURTAXPRICE = N_ORIGINALCURTAXPRICE; //原币含税单价 modOrder.N_ORIGINALCURTAXMNY = N_ORIGINALCURTAXMNY; //原币税额 modOrder.N_ORIGINALCURMNY = N_ORIGINALCURMNY; //原币无税金额 modOrder.N_ORIGINALCURSUMMNY = N_ORIGINALCURSUMMNY; //原币价税合计 } #endregion modOrder.C_RECEIPTAREAID = modCon.C_CRECEIPTAREAID; //收货地区 modOrder.C_RECEIVEADDRESS = modCon.C_ADDRESS; //收货地址 modOrder.C_RECEIPTCORPID = modCon.C_CRECEIPTCUSTOMERID; //收货单位 modOrder.C_CURRENCYTYPEID = modCon.C_CURRENCYTYPEID; //货币 modOrder.C_CUST_SQ = txtC_CUST_SQ.Text; //客户要求 modOrder.C_PRO_USE = txtC_PRO_USE.Text; //产品用途 modOrder.C_TRANSMODE = dropShipVia.SelectedItem.Text; //发运方式 modOrder.C_TRANSMODEID = dropShipVia.SelectedItem.Value; //发运主键 modOrder.C_YWY = txtSaleUser.Value; //业务员 modOrder.N_STATUS = N_STATUS; //订单状态 modOrder.N_EXEC_STATUS = -2; //订单状态 orderList.Add(modOrder); } #endregion return(result == true?tmo_con.UpdateConOrder(modCon, orderList) : result); }
public AjaxResult OrderEdit([FromBody] dynamic Json) { #region //参数 string OrderNO = Json.OrderNO; //订单号 string Pack = Json.Pack; //包装要求 string Wgt = Json.Wgt; //重量 string Price = Json.Price; //含税单价 string VdefID = Json.VdefID; //质量ID #endregion #region 数据操作 AjaxResult result = new AjaxResult(); result.Code = DoResult.Success; DataRow drOrder = tmo_order.GetRowOrder(OrderNO, ""); if (drOrder != null) { Mod_TS_USER modUser = GetUserID(); Mod_TS_CUSTFILE modCust = ts_custfile.GetModel(modUser.C_CUST_ID); Mod_TMO_ORDER modOrder = tmo_order.GetModel(drOrder["C_ID"].ToString()); Mod_TMO_CON modCon = tmo_con.GetModel(modOrder.C_CON_NO); modOrder.C_VDEF1 = VdefID; //质量; modOrder.C_PACK = Pack; //包装要求 decimal N_WGT = 0; if (!string.IsNullOrEmpty(Wgt)) { N_WGT = Convert.ToDecimal(Wgt); } modOrder.N_WGT = N_WGT; //数量 modOrder.N_FNUM = N_WGT / modOrder.N_HSL; //数量 #region //获取钢种单价-税率 if (!string.IsNullOrEmpty(Price)) { decimal N_TAXRATE = Convert.ToDecimal(modOrder.N_TAXRATE) + 1; //税率 decimal N_ORIGINALCURPRICE = decimal.Round(Convert.ToDecimal(Price) / N_TAXRATE, 2); //原币无税单价 decimal N_ORIGINALCURTAXPRICE = Convert.ToDecimal(Price); //原币含税单价 decimal N_ORIGINALCURMNY = N_WGT * N_ORIGINALCURPRICE; //原币无税金额 decimal N_ORIGINALCURSUMMNY = N_WGT * N_ORIGINALCURTAXPRICE; //原币价税合计 decimal N_ORIGINALCURTAXMNY = N_ORIGINALCURSUMMNY - N_ORIGINALCURMNY; //原币税额 modOrder.N_ORIGINALCURPRICE = N_ORIGINALCURPRICE; //原币无税单价 modOrder.N_ORIGINALCURTAXPRICE = N_ORIGINALCURTAXPRICE; //原币含税单价 modOrder.N_ORIGINALCURTAXMNY = N_ORIGINALCURTAXMNY; //原币税额 modOrder.N_ORIGINALCURMNY = N_ORIGINALCURMNY; //原币无税金额 modOrder.N_ORIGINALCURSUMMNY = N_ORIGINALCURSUMMNY; //原币价税合计 } #endregion List <Mod_TMO_ORDER> orderList = new List <Mod_TMO_ORDER>(); orderList.Add(modOrder); result.Result = tmo_con.UpdateConOrder(modCon, orderList) == true ? "修改成功" : "修改失败"; } else { result.Result = "当前暂无修改订单"; } #endregion return(result); }
private void BindOrderList() { if (Session[ltlempid.Text] != null) { DataTable dt = (DataTable)Session[ltlempid.Text]; for (int i = 0; i < dt.Rows.Count; i++) { //检测订单是否重复 if (getck(dt.Rows[i]["C_ID"].ToString())) { Mod_TMO_ORDER mod = tmo_order.GetModel(dt.Rows[i]["C_ID"].ToString()); if (mod != null) { ltltype.Text = mod.N_TYPE.ToString(); //发运类型 ltlcon_no.Text = mod.C_CON_NO; //合同号 ltlcustname.Text = mod.C_CUST_NAME; //客户 //引用线材自由项 DataTable dtroll = tmo_order.GetFyd_Roll_Prodcut_TWC(mod.C_MAT_CODE, mod.C_AREA).Tables[0]; if (dtroll.Rows.Count > 0) { #region //可发运量/可发支数 decimal sumztwgt = 0; //在途总量 decimal sumztzs = 0; //在途总支数 decimal sumkcwgt = 0; //库存总量 decimal sumkczs = 0; //库存总支数 decimal kfwgt = 0; //可发重量 decimal kfzs = 0; //可发支数 Mod_TQB_CHECKSTATE modzl = tqb_checkstate.GetModel(mod.C_VDEF1); DataTable dtztwgt = tmo_order.ZTWGT(mod.C_MAT_CODE, dtroll.Rows[0]["C_STD_CODE"].ToString(), mod.C_AREA, dtroll.Rows[0]["C_BZYQ"].ToString(), modzl.C_CHECKSTATE_NAME).Tables[0]; if (dtztwgt.Rows.Count > 0) { sumztwgt = Convert.ToDecimal(dtztwgt.Compute("sum(N_FYWGT)", "true")); sumztzs = Convert.ToDecimal(dtztwgt.Compute("sum(N_FYZS)", "true")); } DataTable dtkcwgt = tmo_order.KCWGT(mod.C_MAT_CODE, dtroll.Rows[0]["C_STD_CODE"].ToString(), mod.C_AREA, dtroll.Rows[0]["C_BZYQ"].ToString(), modzl.C_CHECKSTATE_NAME).Tables[0]; if (dtkcwgt.Rows.Count > 0) { sumkcwgt = Convert.ToDecimal(dtkcwgt.Rows[0]["N_WGT"]); sumkczs = Convert.ToDecimal(dtkcwgt.Rows[0]["jianshu"]); } kfwgt = sumkcwgt - sumztwgt; kfzs = sumkczs - sumztzs; #endregion dtOrder.Rows.Add(new object[] { dt.Rows[i]["C_ID"], mod.C_CON_NO, mod.C_STL_GRD, mod.C_SPEC, dtroll.Rows[0]["C_STD_CODE"].ToString(), dtroll.Rows[0]["C_ZYX1"].ToString(), dtroll.Rows[0]["C_ZYX2"].ToString(), dtroll.Rows[0]["C_BZYQ"].ToString(), mod.N_WGT, mod.C_VDEF1, //质量等级 mod.C_AREA, //区域 mod.C_MAT_CODE, mod.C_MAT_NAME, mod.C_CUST_NAME, //订货单位 mod.C_RECEIPTCORPID, //收货单位 mod.C_RECEIPTAREAID, //收货地区 mod.C_RECEIVEADDRESS, //收货地址 mod.N_TYPE, mod.C_CUST_NO, dt.Rows[i]["PKPLAN"], //日计划主键 dt.Rows[i]["YLXWGT"], //已履行量 dt.Rows[i]["DLXWGT"], //待履行量 kfwgt.ToString(), //可发运量 kfzs.ToString() //可发支数 }); } else { #region //可发运量/可发支数 decimal sumztwgt = 0; //在途总量 decimal sumztzs = 0; //在途总支数 decimal sumkcwgt = 0; //库存总量 decimal sumkczs = 0; //库存总支数 decimal kfwgt = 0; //可发重量 decimal kfzs = 0; //可发支数 Mod_TQB_CHECKSTATE modzl = tqb_checkstate.GetModel(mod.C_VDEF1); DataTable dtztwgt = tmo_order.ZTWGT(mod.C_MAT_CODE, mod.C_STD_CODE, mod.C_AREA, mod.C_PACK, modzl.C_CHECKSTATE_NAME).Tables[0]; if (dtztwgt.Rows.Count > 0) { sumztwgt = Convert.ToDecimal(dtztwgt.Compute("sum(N_FYWGT)", "true")); sumztzs = Convert.ToDecimal(dtztwgt.Compute("sum(N_FYZS)", "true")); } DataTable dtkcwgt = tmo_order.KCWGT(mod.C_MAT_CODE, mod.C_STD_CODE, mod.C_AREA, mod.C_PACK, modzl.C_CHECKSTATE_NAME).Tables[0]; if (dtkcwgt.Rows.Count > 0) { sumkcwgt = Convert.ToDecimal(dtkcwgt.Rows[0]["N_WGT"]); sumkczs = Convert.ToDecimal(dtkcwgt.Rows[0]["jianshu"]); } kfwgt = sumkcwgt - sumztwgt; kfzs = sumkczs - sumztzs; #endregion dtOrder.Rows.Add(new object[] { dt.Rows[i]["C_ID"], mod.C_CON_NO, mod.C_STL_GRD, mod.C_SPEC, mod.C_STD_CODE, mod.C_FREE1, mod.C_FREE2, mod.C_PACK, mod.N_WGT, mod.C_VDEF1, //质量等级 mod.C_AREA, //区域 mod.C_MAT_CODE, mod.C_MAT_NAME, mod.C_CUST_NAME, //订货单位 mod.C_RECEIPTCORPID, //收货单位 mod.C_RECEIPTAREAID, //收货地区 mod.C_RECEIVEADDRESS, //收货地址 mod.N_TYPE, mod.C_CUST_NO, dt.Rows[i]["PKPLAN"], //日计划主键 dt.Rows[i]["YLXWGT"], //已履行量 dt.Rows[i]["DLXWGT"], //待履行量 kfwgt.ToString(), //可发运量 kfzs.ToString() //可发支数 }); } } } } } if (dtOrder.Rows.Count > 0) { rptList.DataSource = dtOrder; rptList.DataBind(); Session[ltlempid.Text] = null; } else { rptList.DataSource = null; rptList.DataBind(); txtcount.Value = ""; txtsumwgt.Value = ""; Session[ltlempid.Text] = null; } }
//批量排产 protected void btnPLPC_Click(object sender, EventArgs e) { try { bool result = true; //判定是否超出原合同订单量 bool result2 = true; //判定排产量是否有效数字 bool result3 = true; //判定是否满足排产指标 List <Mod_TMO_ORDER> orderList = new List <Mod_TMO_ORDER>(); List <string[]> list_log = new List <string[]>(); for (int i = 0; i < rptList.Items.Count; i++) { HtmlInputCheckBox cbx_order = (HtmlInputCheckBox)rptList.Items[i].FindControl("cbx_order"); Literal ltlwgt = (Literal)rptList.Items[i].FindControl("ltlwgt"); Literal ltldlxwgt = (Literal)rptList.Items[i].FindControl("ltldlxwgt"); Literal ltlpcwgt = (Literal)rptList.Items[i].FindControl("ltlpcwgt"); if (cbx_order.Checked) { if (Convert.ToDecimal(ltldlxwgt.Text) > 0) { //decimal sum = Convert.ToDecimal(ltlpcwgt.Text) + Convert.ToDecimal(ltldlxwgt.Text); decimal sum = Convert.ToDecimal(ltlpcwgt.Text); decimal wgt = Convert.ToDecimal(ltlwgt.Text); //判定是否排产量大于订单量 if (sum > Convert.ToDecimal(ltlwgt.Text)) { result = false; break; } else { decimal n = wgt - sum; //订单量减去已排产量 if (n > 0) //判定剩余排产是否大于0 { Mod_TMO_ORDER modOrder = tmo_order.GetModel(cbx_order.Value); //校验是否满足排产指标 if (tmo_order_pczb.CheckStl_Grd_ZB(n, modOrder.C_AREA, modOrder.C_ORDER_NO, dropZB.SelectedItem.Value)) { #region //生产订单号 int no = tmo_order.GetOrderPlanNum(modOrder.C_ORDER_NO, modOrder.C_CON_NO); string pc = modOrder.C_ORDER_NO + "/" + no.ToString(); if (tmo_order.Exists_OrderPlan(pc, modOrder.C_CON_NO)) { no += 1; pc = modOrder.C_ORDER_NO + "/" + no.ToString(); } #endregion modOrder.C_ORDER_NO = pc; modOrder.N_EXEC_STATUS = -1; //执行状态:提报订单 modOrder.C_PCTBEMP = ltlempName.Text; //提报人 modOrder.N_WGT = wgt - sum; //需求排产量 Convert.ToDecimal(ltldlxwgt.Text);//待履行量 orderList.Add(modOrder); string[] arr_log = { "提报订单", "合同履行表页面", GetClientIP(), ltlempid.Text, modOrder.C_ORDER_NO, modOrder.C_ID }; list_log.Add(arr_log); } else { result3 = false; break; } } else { result2 = false; break; } } } } } if (result) //判断排产量是否超出原订单量 { if (result2) //排产量是否有效数字 { if (result3) { if (tmo_con.InsertNeedOrder(orderList)) { //日志 tmo_order.InsertOrderPlanLog(list_log); WebMsg.MessageBox("下发成功"); GetList(); } } else { WebMsg.MessageBox("其中批量排产订单量,不符合当月当旬排产指标"); } } else { WebMsg.MessageBox("其中批量排产订单有0排产量,请重新检查再次提交"); } } else { WebMsg.MessageBox("当前需求排产量已超原合同订单量,请单独下发排产!"); } } catch (Exception ex) { WebMsg.MessageBox(ex.Message); } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { //获取用户所属公司名称 var vUser = (NF.Framework.CurrentUser)HttpContext.Current.Session["CurrentUser"]; if (vUser != null) { ltlempid.Text = vUser.Id; ltlempname.Text = vUser.Name; if (!string.IsNullOrEmpty(Request.QueryString["ID"])) { GetZb(); ltlOrderNo.Text = Request.QueryString["ID"]; Mod_TMO_ORDER mod = tmo_order.GetModel(ltlOrderNo.Text); if (mod != null) { ltlConNO.Text = mod.C_CON_NO; ltlMatCode.Text = mod.C_MAT_CODE; ltlMatName.Text = mod.C_MAT_NAME; ltlSpec.Text = mod.C_SPEC; ltlStlGrd.Text = mod.C_STL_GRD; ltlFree1.Text = mod.C_FREE1; ltlFree2.Text = mod.C_FREE2; txtPack.Text = mod.C_PACK; ltlwgt.Text = mod.N_WGT.ToString(); #region //获取订单已履行/待履行量 decimal dlxwgt = 0; //待履行量 DataRow dr = tmo_order.GetOrderExeNum(mod.C_MAT_CODE, mod.C_ORDER_NO, Convert.ToInt32(mod.N_TYPE)); if (dr != null) { ltlylxwgt.Text = dr["YLXNUM"].ToString(); dlxwgt = Convert.ToDecimal(dr["YLXNUM"].ToString()); } ltldlxwgt.Text = Convert.ToString(Convert.ToDecimal(mod.N_WGT) - dlxwgt); #endregion #region//已下发排产 string order = "'" + mod.C_ORDER_NO + "'"; //if (!string.IsNullOrEmpty(mod.C_ORDER_NO_OLD)) //{ // order += ",'" + mod.C_ORDER_NO_OLD + "'"; //} ltlplanwgt.Text = tmo_con.GetOrderPCWGT(order); //获取总下发排产量 txtneedwgt.Text = Convert.ToString(Convert.ToDecimal(mod.N_WGT) - Convert.ToDecimal(ltlplanwgt.Text)); // ltldlxwgt.Text; if (Convert.ToDecimal(ltlplanwgt.Text) > Convert.ToDecimal(ltlwgt.Text)) { btn_add.Enabled = false; } else { btn_add.Enabled = true; } #endregion } } } else { WebMsg.CheckUserLogin(); } } }
/// <summary> /// 发送实绩给NC /// </summary> /// <param name="xmlFileName">xml完整路径</param> /// <returns></returns> public bool SendXml_DM(string xmlFileName, string code) { try { Mod_TMD_DISPATCH modDispatch = tmd_dispatch.GetModel(code); 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", "" + code + ".xml"); 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", ""); //发运单表头主键modDispatch.C_GUID 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", modDispatch.C_ATSTATION); //到站 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 = tmd_dispatchdetails.GetList(code).Tables[0]; if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { int rowno = i + 1; Mod_TMP_DAYPLAN modDayPlan = tmp_dayplan.GetModelID(dt.Rows[i]["C_PLAN_ID"].ToString()); if (modDayPlan != null) { #region //实体参数 Mod_TMO_ORDER modOrder = tmo_order.GetModel(modDayPlan.C_PKBILLB); Mod_TS_CUSTFILE modCust = ts_custfile.GetCustModel(modDayPlan.C_PKCUST); //客户档案 //Mod_TMB_AREA modArea = tmb_area.GetModel(modDayPlan.C_PKARRIVEAREA);//区域 Mod_TB_MATRL_MAIN modMat = tb_matrl_main.GetMatModel(modDayPlan.C_PKINV); //物料 Mod_TMD_DISPATCHDETAILS modFYD = tmd_dispatchdetails.GetModel(dt.Rows[i]["C_ID"].ToString()); string pkstock = modFYD.C_SEND_STOCK_PK;//仓库编码 string addrpk = ""; DataTable dtaddress = tmb_area.GetAreaAddress(modFYD.C_SEND_AREA).Tables[0]; if (dtaddress.Rows.Count > 0) { addrpk = dtaddress.Rows[0]["PK_ADDRESS"].ToString(); } #endregion string NCCHECKID = modFYD.C_QUALIRY_LEV; //质量等级 string C_BATCH_NO = string.Empty; //批号 //if (!string.IsNullOrEmpty(dt.Rows[i]["C_BATCH_NO"].ToString())) //{ // C_BATCH_NO = dt.Rows[i]["C_BATCH_NO"].ToString();//批号 //} //else //{ // C_BATCH_NO = dt.Rows[i]["C_STOVE"].ToString();//炉号 //} decimal dunitprice = Convert.ToDecimal(modDayPlan.N_UNITPRICE); //含税单价 decimal N_JZ = Convert.ToDecimal(modFYD.N_JWGT); //净重 string wgt = Convert.ToString(modFYD.N_WGT); //计划重量 string num = Convert.ToString(modFYD.N_FYZS); //件数 decimal dmoney = dunitprice * N_JZ; //订单金额 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", NCCHECKID); //实绩质量等级 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", GetCust(modFYD.C_CGC)); //收货单位名称 CreateNode(xmlDoc, item, "creceiptcorpid", modFYD.C_CGC); //收货单位 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", N_JZ.ToString()); //净重 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", modFYD.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"); //发货地区 CreateNode(xmlDoc, item, "pksendstock", pkstock); //仓库 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", ""); CreateNode(xmlDoc, item, "vbatchcode", C_BATCH_NO);//批号 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", modFYD.C_AREA); //收货地址 CreateNode(xmlDoc, item, "vdestarea", modFYD.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", modFYD.C_ID); //CRM发运单表体主键//C_PK_NCID CreateNode(xmlDoc, item, "vfree2", modDayPlan.C_VFREE2); //自由项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", 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", ""); 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", modFYD.C_MZDATE); //计量毛重日期***** 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", Convert.ToString(modFYD.N_MWGT)); //毛重***** CreateNode(xmlDoc, item, "vuserdef3", Convert.ToString(modFYD.C_PZDATE)); //计量皮重日期**** CreateNode(xmlDoc, item, "vuserdef4", Convert.ToString(modFYD.N_PWGT)); //皮重 CreateNode(xmlDoc, item, "vuserdef5", Convert.ToString(modFYD.N_JWGT)); // 净重 CreateNode(xmlDoc, item, "vuserdef6", Convert.ToString(modFYD.N_MZTIME)); //计量毛重时间 CreateNode(xmlDoc, item, "vuserdef7", Convert.ToString(modFYD.N_PZTIME)); //计量皮重时间 CreateNode(xmlDoc, item, "vuserdef8", ""); CreateNode(xmlDoc, item, "vuserdef9", ""); #endregion body.AppendChild(item); } } } xmlDoc.Save(xmlFileName); List <string> parem = NCSendXml.SendXML(xmlDoc); if (parem[0] == "1") { //更新发运单状态 tmd_dispatchdetails.UpdateFydStatus(code, 9); #region //添加日志 try { Bll_TMB_INTERFACE_LOG tmb_interface_log = new Bll_TMB_INTERFACE_LOG(); Mod_TMB_INTERFACE_LOG mod = new Mod_TMB_INTERFACE_LOG(); mod.D_SENDTIME = DateTime.Now; mod.C_RESULTCODE = parem[0]; //返回结果 mod.C_RESULTDESC = parem[1]; //返回结果描述 mod.C_CONTENT = parem[2]; //返回成功或空 mod.C_PKID = code; //主键 mod.C_FLAG = "WL-NC"; //标识 mod.C_REMARK = "物流实绩导入NC成功"; //备注 tmb_interface_log.Add(mod); } catch (Exception e) { throw e; } #endregion return(true); } else { #region //添加日志 try { Bll_TMB_INTERFACE_LOG tmb_interface_log = new Bll_TMB_INTERFACE_LOG(); Mod_TMB_INTERFACE_LOG mod = new Mod_TMB_INTERFACE_LOG(); mod.D_SENDTIME = DateTime.Now; mod.C_RESULTCODE = parem[0]; //返回结果 mod.C_RESULTDESC = parem[1]; //返回结果描述 mod.C_CONTENT = parem[2]; //返回成功或空 mod.C_PKID = code; //主键 mod.C_FLAG = "WL-NC"; //标识 mod.C_REMARK = "物流实绩导入NC失败"; //备注 tmb_interface_log.Add(mod); } catch (Exception e) { throw e; } #endregion return(false); } } catch (Exception ex) { throw ex; } }
/// <summary> /// NC订单维护接口 /// </summary> /// <param name="saleCode">销售单据号列表</param> /// <param name="xmlFileName">路径/文件名.xml</param> /// <param name="empID">操作人ID</param> /// <returns>返回结果集</returns> public List <string> SendXmlOrder(List <ApiOrderDto> orderDto, string xmlFileName, string empID) { try { Mod_TMO_CON modCon = tmo_con.GetModel(orderDto[0].ConNO); XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no"); xmlDoc.AppendChild(node); //创建根节点 XmlElement root = xmlDoc.CreateElement("ufinterface"); #region//给节点属性赋值 root.SetAttribute("account", "1"); root.SetAttribute("billtype", "30ext"); root.SetAttribute("filename", "" + orderDto[0].SaleCode + ".xml");//单据号 root.SetAttribute("isexchange", "Y"); root.SetAttribute("proc", "add"); root.SetAttribute("receiver", "101"); root.SetAttribute("replace", "Y"); root.SetAttribute("roottag", "so_order"); root.SetAttribute("sender", "1107"); #endregion xmlDoc.AppendChild(root); //创建子根节点 XmlElement so_order = xmlDoc.CreateElement("so_order"); #region //节点属性 so_order.SetAttribute("id", orderDto[0].NC_ID); //主键 #endregion root.AppendChild(so_order); XmlNode head = xmlDoc.CreateNode(XmlNodeType.Element, "so_order_head", null); #region //表头_order_head CreateNode(xmlDoc, head, "pk_corp", "1001"); CreateNode(xmlDoc, head, "vreceiptcode", orderDto[0].SaleCode); //销售单据号 CreateNode(xmlDoc, head, "creceipttype", "30"); CreateNode(xmlDoc, head, "cbiztype", modCon.C_BIZTYPE); //业务类型 CreateNode(xmlDoc, head, "vaccountyear", ""); CreateNode(xmlDoc, head, "binitflag", "N"); CreateNode(xmlDoc, head, "dbilldate", Convert.ToDateTime(orderDto[0].D_NC_DATE).ToString("yyy-MM-dd")); //单据日期 CreateNode(xmlDoc, head, "ccustomerid", modCon.C_CUSTOMERID); //客户ID CreateNode(xmlDoc, head, "cdeptid", modCon.C_DEPTID); //部门ID CreateNode(xmlDoc, head, "cemployeeid", modCon.C_EMPLOYEEID); //业务员ID CreateNode(xmlDoc, head, "coperatorid", modCon.C_COPERATORID); //制单人 CreateNode(xmlDoc, head, "ctermprotocolid", ""); CreateNode(xmlDoc, head, "csalecorpid", modCon.C_SALECORPID); //销售组织 CreateNode(xmlDoc, head, "ccalbodyid", "1001NC10000000000669"); //库存组织 CreateNode(xmlDoc, head, "creceiptcustomerid", modCon.C_CRECEIPTCUSTOMERID); //收货单位 CreateNode(xmlDoc, head, "vreceiveaddress", modCon.C_ADDRESS); //收货地址 CreateNode(xmlDoc, head, "creceiptareaid", ""); CreateNode(xmlDoc, head, "creceiptcorpid", modCon.C_CRECEIPTCORPID); //开票单位 CreateNode(xmlDoc, head, "ccustbankid", ""); CreateNode(xmlDoc, head, "ctransmodeid", modCon.C_TRANSMODEID); //发运方式 CreateNode(xmlDoc, head, "ndiscountrate", "100"); CreateNode(xmlDoc, head, "cwarehouseid", ""); CreateNode(xmlDoc, head, "veditreason", ""); CreateNode(xmlDoc, head, "bfreecustflag", "N"); CreateNode(xmlDoc, head, "cfreecustid", ""); CreateNode(xmlDoc, head, "ibalanceflag", ""); CreateNode(xmlDoc, head, "nsubscription", ""); CreateNode(xmlDoc, head, "nevaluatecarriage", "0"); CreateNode(xmlDoc, head, "dmakedate", Convert.ToDateTime(modCon.D_DMAKEDATE).ToString("yyy-MM-dd")); //制单日期 CreateNode(xmlDoc, head, "capproveid", modCon.C_APPROVEID); //审批人 CreateNode(xmlDoc, head, "dapprovedate", Convert.ToDateTime(modCon.D_APPROVEDATE).ToString("yyy-MM-dd")); //审批日期 CreateNode(xmlDoc, head, "fstatus", "1"); CreateNode(xmlDoc, head, "vnote", modCon.C_CON_NAME); //合同名称 CreateNode(xmlDoc, head, "vdef1", ""); CreateNode(xmlDoc, head, "vdef2", ""); CreateNode(xmlDoc, head, "vdef3", ""); CreateNode(xmlDoc, head, "vdef4", ""); CreateNode(xmlDoc, head, "vdef5", ""); CreateNode(xmlDoc, head, "vdef6", ""); CreateNode(xmlDoc, head, "vdef7", ""); CreateNode(xmlDoc, head, "vdef8", ""); CreateNode(xmlDoc, head, "vdef9", ""); CreateNode(xmlDoc, head, "vdef10", ""); CreateNode(xmlDoc, head, "bretinvflag", "N"); CreateNode(xmlDoc, head, "boutendflag", "N"); CreateNode(xmlDoc, head, "binvoicendflag", "N"); CreateNode(xmlDoc, head, "breceiptendflag", "N"); CreateNode(xmlDoc, head, "bpayendflag", "N"); CreateNode(xmlDoc, head, "bdeliver", "Y"); #endregion so_order.AppendChild(head); XmlElement body = xmlDoc.CreateElement("so_order_body"); so_order.AppendChild(body); DataTable dt = tmo_order.GetSaleOrder(orderDto[0].SaleCode).Tables[0]; for (int j = 0; j < dt.Rows.Count; j++) { int rowno = j + 1; Mod_TMO_ORDER modOrder = tmo_order.GetModel(dt.Rows[j]["C_ID"].ToString()); if (modOrder != null) { XmlNode entry = xmlDoc.CreateNode(XmlNodeType.Element, "entry", null); #region //表体_entry string[] arr = { "6", "8" }; CreateNode(xmlDoc, entry, "pk_corp", modOrder.C_XGID);//邢钢公司'1001' CreateNode(xmlDoc, entry, "creceipttype", ""); CreateNode(xmlDoc, entry, "csourcebillid", ""); CreateNode(xmlDoc, entry, "csourcebillbodyid", ""); CreateNode(xmlDoc, entry, "cinvbasdocid", modOrder.C_INVBASDOCID); //存货档案主键 CreateNode(xmlDoc, entry, "cinventoryid", modOrder.C_INVENTORYID); //存货管理档案主键 CreateNode(xmlDoc, entry, "cunitid", modOrder.C_UNITID); //主计量单位 if (arr.Contains(modOrder.N_TYPE.ToString())) { CreateNode(xmlDoc, entry, "cpackunitid", modOrder.C_FUNITID);//辅单位 } else { CreateNode(xmlDoc, entry, "cpackunitid", "");//辅单位 } CreateNode(xmlDoc, entry, "cbatchid", ""); CreateNode(xmlDoc, entry, "nnumber", modOrder.N_WGT.ToString());//数量 if (arr.Contains(modOrder.N_TYPE.ToString())) { CreateNode(xmlDoc, entry, "npacknumber", modOrder.N_FNUM.ToString());//辅数量 } else { CreateNode(xmlDoc, entry, "npacknumber", ""); //辅数量 } CreateNode(xmlDoc, entry, "cconsigncorpid", modOrder.C_XGID); //发货公司 CreateNode(xmlDoc, entry, "cadvisecalbodyid", "1001NC10000000000669"); //发货库存组织 CreateNode(xmlDoc, entry, "cbodywarehouseid", ""); CreateNode(xmlDoc, entry, "creccalbodyid", ""); CreateNode(xmlDoc, entry, "crecwarehouseid", "a"); CreateNode(xmlDoc, entry, "dconsigndate", Convert.ToDateTime(modOrder.D_DELIVERY_DT).ToString("yyy-MM-dd")); //发货日期 CreateNode(xmlDoc, entry, "ddeliverdate", Convert.ToDateTime(modOrder.D_DELIVERY_DT).ToString("yyy-MM-dd")); //交货日期 CreateNode(xmlDoc, entry, "blargessflag", "N"); CreateNode(xmlDoc, entry, "ceditsaleid", ""); CreateNode(xmlDoc, entry, "beditflag", "N"); CreateNode(xmlDoc, entry, "veditreason", ""); CreateNode(xmlDoc, entry, "ccurrencytypeid", modOrder.C_CURRENCYTYPEID);//原币 CreateNode(xmlDoc, entry, "nitemdiscountrate", "100"); CreateNode(xmlDoc, entry, "ndiscountrate", "100"); CreateNode(xmlDoc, entry, "nexchangeotobrate", "1"); CreateNode(xmlDoc, entry, "nexchangeotoarate", ""); CreateNode(xmlDoc, entry, "ntaxrate", Convert.ToString(modOrder.N_TAXRATE * 100)); //税率 CreateNode(xmlDoc, entry, "noriginalcurprice", modOrder.N_ORIGINALCURPRICE.ToString()); //原币无税单价 CreateNode(xmlDoc, entry, "noriginalcurtaxprice", modOrder.N_ORIGINALCURTAXPRICE.ToString()); //原币含税单价 CreateNode(xmlDoc, entry, "noriginalcurnetprice", modOrder.N_ORIGINALCURPRICE.ToString()); //原币无税净价 CreateNode(xmlDoc, entry, "noriginalcurtaxnetprice", modOrder.N_ORIGINALCURTAXPRICE.ToString()); //原币含税净价 CreateNode(xmlDoc, entry, "noriginalcurtaxmny", modOrder.N_ORIGINALCURTAXMNY.ToString()); //原币税额 CreateNode(xmlDoc, entry, "noriginalcurmny", modOrder.N_ORIGINALCURMNY.ToString()); //原币无税金额 CreateNode(xmlDoc, entry, "noriginalcursummny", modOrder.N_ORIGINALCURSUMMNY.ToString()); //原币价税合计 CreateNode(xmlDoc, entry, "noriginalcurdiscountmny", "0"); CreateNode(xmlDoc, entry, "nprice", modOrder.N_ORIGINALCURPRICE.ToString()); //本币无税单价 CreateNode(xmlDoc, entry, "ntaxprice", modOrder.N_ORIGINALCURTAXPRICE.ToString()); //本币含税单价 CreateNode(xmlDoc, entry, "nnetprice", modOrder.N_ORIGINALCURPRICE.ToString()); //本币无税净价 CreateNode(xmlDoc, entry, "ntaxnetprice", modOrder.N_ORIGINALCURTAXPRICE.ToString()); //本币含税净价 CreateNode(xmlDoc, entry, "ntaxmny", modOrder.N_ORIGINALCURTAXMNY.ToString()); //本币税额 CreateNode(xmlDoc, entry, "nmny", modOrder.N_ORIGINALCURMNY.ToString()); //本币无税金额 CreateNode(xmlDoc, entry, "nsummny", modOrder.N_ORIGINALCURSUMMNY.ToString()); //本币价税合计 CreateNode(xmlDoc, entry, "ndiscountmny", "0"); CreateNode(xmlDoc, entry, "coperatorid", ""); //制单人 CreateNode(xmlDoc, entry, "frowstatus", "1"); CreateNode(xmlDoc, entry, "frownote", ""); CreateNode(xmlDoc, entry, "fbatchstatus", "0"); CreateNode(xmlDoc, entry, "ct_manageid", ""); CreateNode(xmlDoc, entry, "cfactoryid", ""); //合同表头主键 CreateNode(xmlDoc, entry, "cfreezeid", ""); //合同表体主键 CreateNode(xmlDoc, entry, "cbomorderid", modOrder.C_ID); //销售订单表体主键 CreateNode(xmlDoc, entry, "boosflag", "N"); CreateNode(xmlDoc, entry, "bsupplyflag", "N"); CreateNode(xmlDoc, entry, "creceiptareaid", modOrder.C_RECEIPTAREAID); //收货地区 CreateNode(xmlDoc, entry, "vreceiveaddress", modOrder.C_RECEIVEADDRESS); //收货地址 CreateNode(xmlDoc, entry, "creceiptcorpid", modOrder.C_RECEIPTCORPID); //收货单位 CreateNode(xmlDoc, entry, "crowno", rowno.ToString()); //行号 CreateNode(xmlDoc, entry, "ntotalpaymny", "0.00000000"); CreateNode(xmlDoc, entry, "ntotalreceiptnumber", "0.00000000"); CreateNode(xmlDoc, entry, "ntotalinvoicenumber", "0.00000000"); CreateNode(xmlDoc, entry, "ntotalinvoicemny", "0.00000000"); CreateNode(xmlDoc, entry, "ntotalinventorynumber", "0.00000000"); CreateNode(xmlDoc, entry, "ntotalbalancenumber", "0.00000000"); CreateNode(xmlDoc, entry, "ntotalsignnumber", "0.00000000"); CreateNode(xmlDoc, entry, "ntotalcostmny", "0.00000000"); CreateNode(xmlDoc, entry, "bifinvoicefinish", "N"); CreateNode(xmlDoc, entry, "bifreceiptfinish", "N"); CreateNode(xmlDoc, entry, "bifinventoryfinish", "N"); CreateNode(xmlDoc, entry, "bifpayfinish", "N"); CreateNode(xmlDoc, entry, "bifpaybalance", "N"); CreateNode(xmlDoc, entry, "bifpaysign", "N"); CreateNode(xmlDoc, entry, "nassistcurdiscountmny", "0.00000000"); CreateNode(xmlDoc, entry, "nassistcursummny", "0.00000000"); CreateNode(xmlDoc, entry, "nassistcurtaxmny", "0.00000000"); CreateNode(xmlDoc, entry, "nassistcurtaxnetprice", "0.00000000"); CreateNode(xmlDoc, entry, "nassistcurnetprice", "0.00000000"); CreateNode(xmlDoc, entry, "nassistcurtaxprice", "0.00000000"); CreateNode(xmlDoc, entry, "nassistcurprice", "0.00000000"); CreateNode(xmlDoc, entry, "cprojectid", ""); CreateNode(xmlDoc, entry, "cprojectphaseid", ""); CreateNode(xmlDoc, entry, "vfree1", modOrder.C_FREE1); //自由项1 CreateNode(xmlDoc, entry, "vfree2", modOrder.C_FREE2); //自由项2 CreateNode(xmlDoc, entry, "vfree3", modOrder.C_PACK); //包装 CreateNode(xmlDoc, entry, "vfree4", ""); CreateNode(xmlDoc, entry, "vfree5", ""); CreateNode(xmlDoc, entry, "vdef1", ""); CreateNode(xmlDoc, entry, "vdef2", ""); CreateNode(xmlDoc, entry, "vdef3", ""); CreateNode(xmlDoc, entry, "vdef4", ""); CreateNode(xmlDoc, entry, "vdef5", ""); CreateNode(xmlDoc, entry, "vdef6", ""); CreateNode(xmlDoc, entry, "vdef11", modOrder.C_CON_NO); //合同号 CreateNode(xmlDoc, entry, "vdef12", modOrder.C_VDEF1); //质量等级主键 CreateNode(xmlDoc, entry, "ntotalreturnnumber", "0.00000000"); CreateNode(xmlDoc, entry, "ntotalcarrynumber", "0.00000000"); CreateNode(xmlDoc, entry, "ntotalplanreceiptnumber", "0.00000000"); #endregion body.AppendChild(entry); } } xmlDoc.Save(xmlFileName); List <string> parem = NCSendXml.SendXML(xmlDoc); //发送NC parem.Add(orderDto[0].SaleCode); //销售单据号 parem.Add(empID); parem.Add("销售订单-NC"); parem.Add(parem[0] == "1" ? "导入NC成功" : "导入NC失败"); //日志录入 AddLog(parem); return(parem); } catch (Exception ex) { throw ex; } }
/// <summary> /// NC发运单 /// </summary> /// <param name="code">发运单单据号</param> /// <param name="xmlFileName">路径/文件.xml</param> /// <param name="empID">操作ID</param> /// <param name="flag">8线材,6钢坯</param> /// <returns></returns> public List <string> SendXmlApiDispatchOrder(string code, string xmlFileName, string empID, int flag) { try { List <apiPkDto> listPk = new List <apiPkDto>(); Mod_TMD_DISPATCH modDispatch = tmd_dispatch.GetModel(code); 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", "" + code + ".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"); 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", modDispatch.C_ATSTATION); //到站 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 = tmd_dispatchdetails.GetList(code).Tables[0]; if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { int rowno = i + 1; Mod_TMD_DISPATCHDETAILS moditem = tmd_dispatchdetails.GetModel(dt.Rows[i]["C_ID"].ToString()); Mod_TMP_DAYPLAN modDayPlan = tmp_dayplan.GetModelID(dt.Rows[i]["C_PLAN_ID"].ToString()); if (modDayPlan != null) { #region //实体参数 Mod_TMO_ORDER modOrder = tmo_order.GetModel(modDayPlan.C_PKBILLB); Mod_TS_CUSTFILE modCust = ts_custfile.GetCustModel(modDayPlan.C_PKCUST); //客户档案 Mod_TB_MATRL_MAIN modMat = tb_matrl_main.GetMatModel(modDayPlan.C_PKINV); //物料 //Mod_TMB_AREA modArea = tmb_area.GetModel(dt.Rows[i]["C_SEND_AREA"].ToString());//区域 string addrpk = ""; if (!string.IsNullOrEmpty(moditem.C_AOG_SITE)) { DataTable dtname = tmb_area.GetAddrNCPK(moditem.C_AOG_SITE).Tables[0]; if (dtname.Rows.Count > 0) { addrpk = dtname.Rows[0]["C_ADDR_NCPK"].ToString(); } } else { DataTable dtaddress = tmb_area.GetAreaAddress(dt.Rows[i]["C_SEND_AREA"].ToString()).Tables[0]; if (dtaddress.Rows.Count > 0) { addrpk = dtaddress.Rows[0]["PK_ADDRESS"].ToString(); } } #endregion decimal dunitprice = Convert.ToDecimal(modDayPlan.N_UNITPRICE); //含税单价 decimal num = Convert.ToDecimal(moditem.N_FYWGT); //数量 decimal dmoney = dunitprice * num; //订单金额 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", moditem.C_QUALIRY_LEV); //质量等级主键 CreateNode(xmlDoc, item, "ccheckstatename", ""); CreateNode(xmlDoc, item, "cfreezeid", ""); CreateNode(xmlDoc, item, "cinvmanid", ""); CreateNode(xmlDoc, item, "confirmarrivedate", ""); CreateNode(xmlDoc, item, "cquoteunitid", modOrder.C_UNITID); //报价计量单位主键 CreateNode(xmlDoc, item, "cquoteunitname", ""); CreateNode(xmlDoc, item, "creceiptcorp", GetCust(moditem.C_CGC)); //收货单位名称 CreateNode(xmlDoc, item, "creceiptcorpid", moditem.C_CGC); //收货单位主键 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", moditem.N_FYZS.ToString()); //辅数量-件数 CreateNode(xmlDoc, item, "dinvnum", moditem.N_FYWGT.ToString()); //存货数量 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", ""); //辅数量 CreateNode(xmlDoc, item, "nfeedbacknum", ""); //回写上游数量 CreateNode(xmlDoc, item, "nnetwgt", ""); // 净重 CreateNode(xmlDoc, item, "nquoteunitnum", ""); //报价计量单位数量?-存货数量 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", moditem.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"); //发货地区-邢台市区 CreateNode(xmlDoc, item, "pksendstock", moditem.C_SEND_STOCK_PK); //仓库主键 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", ""); CreateNode(xmlDoc, item, "vbatchcode", ""); 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", moditem.C_AREA); //到货地址 CreateNode(xmlDoc, item, "vdestarea", moditem.C_SEND_AREA); //到货地区 CreateNode(xmlDoc, item, "vdeststoreaddre", ""); CreateNode(xmlDoc, item, "vdeststorename", ""); CreateNode(xmlDoc, item, "vdeststoreorgname", ""); CreateNode(xmlDoc, item, "vfree0", ""); CreateNode(xmlDoc, item, "vfree1", moditem.C_FREE_TERM); //自由项1 CreateNode(xmlDoc, item, "vfree10", moditem.C_ID); //CRM发运单表体主键 CreateNode(xmlDoc, item, "vfree2", moditem.C_FREE_TERM2); //自由项2 CreateNode(xmlDoc, item, "vfree3", modOrder.N_TYPE == 8 ? moditem.C_PACK : ""); //包装8线材 CreateNode(xmlDoc, item, "vfree4", ""); CreateNode(xmlDoc, item, "vfree5", ""); CreateNode(xmlDoc, item, "vfree6", modDispatch.N_IS_EXPORT == 0 ? "否" : "是"); //是否包到 CreateNode(xmlDoc, item, "vfree7", moditem.N_PRICE.ToString()); //运费 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", modOrder.C_MAT_CODE);//存货编码 CreateNode(xmlDoc, item, "vinvname", ""); CreateNode(xmlDoc, item, "vinvoicecode", ""); CreateNode(xmlDoc, item, "vitemname", ""); CreateNode(xmlDoc, item, "vitemperiodname", ""); CreateNode(xmlDoc, item, "vnote", moditem.C_REMARK);//行备注 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", moditem.C_ELSENEED); //其它要求 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 = NCSendXml.SendXML(xmlDoc); parem.Add(code); parem.Add(empID); parem.Add("发运单-NC"); parem.Add(parem[0] == "1" ? "导入NC成功" : "导入NC失败"); //日志 AddLog(parem); return(parem); } catch (Exception ex) { throw ex; } }