/// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Mod_TMD_DISPATCHDETAILS GetModel(string C_ID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select C_ID,C_DISPATCH_ID,C_STOVE,C_BATCH_NO,C_TICK_NO,C_SLAB_NO,C_MAT_CODE,C_MAT_NAME,C_SPEC,C_STL_GRD,C_SEND_STOCK,C_QUALIRY_LEV,C_FREE_TERM,C_ELSENEED,N_COM_AMOUNT_WGT,N_WGT,C_EQUATION_FACTOR,N_OUT_STOCK_WGT,C_UNITIS,C_SEND_SITE,C_AOG_SITE,C_ORGO_CUST,C_CGC,N_IS_SEND_CLOSE,C_ORDER_TYPE,C_SEND_AREA,C_AREA,C_AU_UNITIS,C_CUSTFILE_ID,C_CUST_ID,C_REMARK,C_MZDATE,N_MWGT,N_PWGT,N_JWGT,N_MZTIME,N_PZTIME,C_EMP_ID,C_EMP_NAME,D_MOD_DT,C_CON_NO,C_PLAN_ID,C_PLAN_CODE,C_PK_NCID,C_NO,C_STD_CODE,C_JUDGE_LEV_ZH,C_PRODUCT_ID,C_FREE_TERM2,C_PACK,C_PZDATE,C_ORDERPK,C_CUSTNO,N_FYZS,N_FYWGT,C_SEND_STOCK_PK,C_SEND_STOCK_CODE from TMD_DISPATCHDETAILS ");
            strSql.Append(" where C_ID=:C_ID ");
            OracleParameter[] parameters =
            {
                new OracleParameter(":C_ID", OracleDbType.Varchar2, 100)
            };
            parameters[0].Value = C_ID;

            Mod_TMD_DISPATCHDETAILS model = new Mod_TMD_DISPATCHDETAILS();
            DataSet ds = DbHelperOra.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
예제 #2
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(Mod_TMD_DISPATCHDETAILS model)
 {
     return(dal.Update(model));
 }
예제 #3
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public bool Add(Mod_TMD_DISPATCHDETAILS model)
 {
     return(dal.Add(model));
 }
예제 #4
0
        /// <summary>
        /// 发送改判信息给NC
        /// </summary>
        /// <param name="xmlFileName">xml完整路径</param>
        /// <returns></returns>
        public string SendXml_DM(string xmlFileName, string fydh)
        {
            try
            {
                string name = "FYSJ" + fydh + ".xml";
                xmlFileName += "\\NCXML\\" + name;
                Mod_TMD_DISPATCH modDispatch = dal_TMD_DISPATCH.GetModel(fydh);
                XmlDocument      xmlDoc      = new XmlDocument();
                //创建类型声明节点
                XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no");
                xmlDoc.AppendChild(node);
                //创建根节点
                XmlElement root = xmlDoc.CreateElement("ufinterface");
                #region//给节点属性赋值
                root.SetAttribute("billtype", "7F");
                root.SetAttribute("filename", name);
                root.SetAttribute("isexchange", "Y");
                root.SetAttribute("operation", "req");
                root.SetAttribute("proc", "update");
                root.SetAttribute("receiver", "101");
                root.SetAttribute("replace", "Y");
                root.SetAttribute("roottag", "bill");
                root.SetAttribute("sender", "1107");
                #endregion
                xmlDoc.AppendChild(root);

                //创建子根节点
                XmlElement bill = xmlDoc.CreateElement("bill");
                bill.SetAttribute("id", modDispatch.C_GUID);//发运单表头主键
                root.AppendChild(bill);

                XmlNode head = xmlDoc.CreateNode(XmlNodeType.Element, "bill_head", null);

                #region                                                                                                   //表头_order_head
                CreateNode(xmlDoc, head, "apprdate", Convert.ToDateTime(modDispatch.D_APPROVE_DT).ToString("yyy-MM-dd")); //审批日期
                CreateNode(xmlDoc, head, "bconfirm", "N");
                CreateNode(xmlDoc, head, "billdate", Convert.ToDateTime(modDispatch.D_CREATE_DT).ToString("yyy-MM-dd"));  //制单日期
                CreateNode(xmlDoc, head, "billnewaddtime", Convert.ToDateTime(modDispatch.D_CREATE_DT).ToString("yyy-MM-dd HH:mm:ss"));
                CreateNode(xmlDoc, head, "bisopen", "");
                CreateNode(xmlDoc, head, "bmissionbill", "N");
                CreateNode(xmlDoc, head, "bmustreturnbillcode", "");
                CreateNode(xmlDoc, head, "btestbyinvoice", "");
                CreateNode(xmlDoc, head, "clastmodifierid", modDispatch.C_EMP_ID);//最后修改人
                CreateNode(xmlDoc, head, "clastmodiname", "");
                CreateNode(xmlDoc, head, "curbilltype", "");
                CreateNode(xmlDoc, head, "dallpacknum", "0");
                CreateNode(xmlDoc, head, "dallvolumn", "0");
                CreateNode(xmlDoc, head, "dallweight", "0");
                CreateNode(xmlDoc, head, "dfactweight", "");
                CreateNode(xmlDoc, head, "dr", "0");
                CreateNode(xmlDoc, head, "dtotal", "");
                CreateNode(xmlDoc, head, "employee", "");
                CreateNode(xmlDoc, head, "h_confirmarrivedate", "");
                CreateNode(xmlDoc, head, "iprintcount", "");
                CreateNode(xmlDoc, head, "isendtype", "3");//运费类别
                CreateNode(xmlDoc, head, "linkman1", "");
                CreateNode(xmlDoc, head, "oprdepartname", "");
                CreateNode(xmlDoc, head, "phone1", "");
                CreateNode(xmlDoc, head, "pk_defdoc0", modDispatch.C_IS_WIRESALE_ID); //是否线材销售主键
                CreateNode(xmlDoc, head, "pk_defdoc1", "");
                CreateNode(xmlDoc, head, "pk_defdoc10", "");
                CreateNode(xmlDoc, head, "pk_defdoc11", "");
                CreateNode(xmlDoc, head, "pk_defdoc12", "");
                CreateNode(xmlDoc, head, "pk_defdoc13", "");
                CreateNode(xmlDoc, head, "pk_defdoc14", "");
                CreateNode(xmlDoc, head, "pk_defdoc15", "");
                CreateNode(xmlDoc, head, "pk_defdoc16", "");
                CreateNode(xmlDoc, head, "pk_defdoc17", "");
                CreateNode(xmlDoc, head, "pk_defdoc18", "");
                CreateNode(xmlDoc, head, "pk_defdoc19", "");
                CreateNode(xmlDoc, head, "pk_defdoc2", "");
                CreateNode(xmlDoc, head, "pk_defdoc3", "");
                CreateNode(xmlDoc, head, "pk_defdoc4", "");
                CreateNode(xmlDoc, head, "pk_defdoc5", "");
                CreateNode(xmlDoc, head, "pk_defdoc6", "");
                CreateNode(xmlDoc, head, "pk_defdoc7", "");
                CreateNode(xmlDoc, head, "pk_defdoc8", "");
                CreateNode(xmlDoc, head, "pk_defdoc9", "");
                CreateNode(xmlDoc, head, "pk_delivbill_h", "");                       //发运单表头主键
                CreateNode(xmlDoc, head, "pkapprperson", "");
                CreateNode(xmlDoc, head, "pkbillperson", modDispatch.C_CREATE_ID);    //制单人
                CreateNode(xmlDoc, head, "pkcorpforgenoid", "1001");
                CreateNode(xmlDoc, head, "pkdelivmode", modDispatch.C_SHIPVIA);       //发运方式主键
                CreateNode(xmlDoc, head, "pkdelivorg", "1001NC10000000006EHS");       //发运组织主键固定
                CreateNode(xmlDoc, head, "pkdelivroute", "1001NC10000000006EHV");     //发运路线主键 固定
                CreateNode(xmlDoc, head, "pkdriver", "");
                CreateNode(xmlDoc, head, "pkoperator", modDispatch.C_BUSINESS_ID);    //业务员主键
                CreateNode(xmlDoc, head, "pkoprdepart", modDispatch.C_BUSINESS_DEPT); //业务部门主键
                CreateNode(xmlDoc, head, "pksendperson", "");
                CreateNode(xmlDoc, head, "pktrancust", modDispatch.C_COMCAR);         //承运商
                CreateNode(xmlDoc, head, "pktranorg", "");
                CreateNode(xmlDoc, head, "pkvehicle", "");
                CreateNode(xmlDoc, head, "pkvehicletype", "");
                CreateNode(xmlDoc, head, "returndate", "");
                CreateNode(xmlDoc, head, "returntime", "");
                CreateNode(xmlDoc, head, "senddate", Convert.ToDateTime(modDispatch.D_DISP_DT).ToString("yyy-MM-dd"));//发运日期
                CreateNode(xmlDoc, head, "startdate", "");
                CreateNode(xmlDoc, head, "starttime", "");
                CreateNode(xmlDoc, head, "taudittime", "");
                CreateNode(xmlDoc, head, "tlastmodifytime", Convert.ToDateTime(modDispatch.D_MOD_DT).ToString("yyy-MM-dd HH:mm:ss")); //最后修改时间
                CreateNode(xmlDoc, head, "tmaketime", Convert.ToDateTime(modDispatch.D_CREATE_DT).ToString("yyy-MM-dd HH:mm:ss"));    // 制单时间
                CreateNode(xmlDoc, head, "ts", Convert.ToDateTime(modDispatch.D_CREATE_DT).ToString("yyy-MM-dd HH:mm:ss"));
                CreateNode(xmlDoc, head, "userid", modDispatch.C_CREATE_ID);                                                          //制单人
                CreateNode(xmlDoc, head, "vapprpersonname", "");
                CreateNode(xmlDoc, head, "vbillpersonname", "");
                CreateNode(xmlDoc, head, "vdelivbillcode", modDispatch.C_ID);//发运单单据号
                CreateNode(xmlDoc, head, "vdoname", "");
                CreateNode(xmlDoc, head, "vdrivername", "");
                CreateNode(xmlDoc, head, "vehiclelicense", "");
                CreateNode(xmlDoc, head, "vnote", "");
                CreateNode(xmlDoc, head, "voldDelivbillcode", "");
                CreateNode(xmlDoc, head, "vroutedescr", "");
                CreateNode(xmlDoc, head, "vroutename", "");
                CreateNode(xmlDoc, head, "vsendtypename", "");
                CreateNode(xmlDoc, head, "vtranname", "");
                CreateNode(xmlDoc, head, "vtranorgname", "");
                CreateNode(xmlDoc, head, "vuserdef0", modDispatch.C_IS_WIRESALE);// 是否线材销售 是/ 否  *****
                CreateNode(xmlDoc, head, "vuserdef1", "");
                CreateNode(xmlDoc, head, "vuserdef10", "");
                CreateNode(xmlDoc, head, "vuserdef11", "");
                CreateNode(xmlDoc, head, "vuserdef12", "");
                CreateNode(xmlDoc, head, "vuserdef13", "");
                CreateNode(xmlDoc, head, "vuserdef14", "");
                CreateNode(xmlDoc, head, "vuserdef15", "");
                CreateNode(xmlDoc, head, "vuserdef16", "");
                CreateNode(xmlDoc, head, "vuserdef17", "");
                CreateNode(xmlDoc, head, "vuserdef18", "");
                CreateNode(xmlDoc, head, "vuserdef19", "");
                CreateNode(xmlDoc, head, "vuserdef2", "");
                CreateNode(xmlDoc, head, "vuserdef3", "Y");                      //是否已导出
                CreateNode(xmlDoc, head, "vuserdef4", modDispatch.C_LIC_PLA_NO); //车牌号
                CreateNode(xmlDoc, head, "vuserdef5", "");
                CreateNode(xmlDoc, head, "vuserdef6", "");
                CreateNode(xmlDoc, head, "vuserdef7", "");
                CreateNode(xmlDoc, head, "vuserdef8", "");
                CreateNode(xmlDoc, head, "vuserdef9", "");
                CreateNode(xmlDoc, head, "vvehiclename", "");
                CreateNode(xmlDoc, head, "vvhcltypename", "");

                #endregion

                bill.AppendChild(head);
                XmlElement body = xmlDoc.CreateElement("bill_body");
                bill.AppendChild(body);

                DataTable dt = GetZJBList(fydh).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        int rowno = i + 1;

                        Mod_TMP_DAYPLAN modDayPlan = dal_TMP_DAYPLAN.GetModel(dt.Rows[i]["C_PLAN_ID"].ToString());
                        if (modDayPlan != null)
                        {
                            #region //实体参数

                            Mod_TMO_ORDER           modOrder           = dal_TMO_ORDER.GetModel(modDayPlan.C_PKBILLB);
                            Mod_TPB_LINEWH          mbck               = dal_TPB_LINEWH.GetModel_Interface_Trans(dt.Rows[i]["C_SEND_STOCK"].ToString()); //目标仓库
                            Mod_TPB_SLABWH          slabwh             = dal_TPB_SLABWH.GetModel_Interface_Trans(dt.Rows[i]["C_SEND_STOCK"].ToString());
                            Mod_TS_CUSTFILE         modCust            = dal_TS_CUSTFILE.GetCustModel(modDayPlan.C_PKCUST);                              //客户档案
                            Mod_TMB_AREA            modArea            = dal_TMB_AREA.GetModel(modDayPlan.C_PKARRIVEAREA);                               //区域
                            Mod_TB_MATRL_MAIN       modMat             = dal_TB_MATRL_MAIN.GetMatModel(modDayPlan.C_PKINV);                              //物料
                            Mod_TQB_CHECKSTATE      mod_TQB_CHECKSTATE = dal_TQB_CHECKSTATE.GetModelByName(dt.Rows[i]["C_ZLDJ"].ToString(), "1001");
                            Mod_TMD_DISPATCHDETAILS modfyditem         = dal_fyditem.GetModel(dt.Rows[i]["C_PK_NCID"].ToString());

                            string    addrpk   = "";
                            DataTable dtaddess = dal_TMB_AREA.GetAreaAddress(modfyditem.C_SEND_AREA).Tables[0];
                            if (dtaddess.Rows.Count > 0)
                            {
                                addrpk = dtaddess.Rows[0]["PK_ADDRESS"].ToString();
                            }
                            #endregion

                            decimal dunitprice = Convert.ToDecimal(modDayPlan.N_UNITPRICE); //含税单价
                            string  wgt        = dt.Rows[i]["N_JZ"].ToString();             //重量
                            string  num        = dt.Rows[i]["N_NUM"].ToString();            //数量
                            decimal dmoney     = dunitprice * Convert.ToDecimal(wgt);       //订单金额

                            XmlNode item = xmlDoc.CreateNode(XmlNodeType.Element, "item", null);

                            #region //表体_item
                            CreateNode(xmlDoc, item, "bappendent", "");
                            CreateNode(xmlDoc, item, "bcloseout", "");
                            CreateNode(xmlDoc, item, "bcloseout_old", "");
                            CreateNode(xmlDoc, item, "blargess", "N");
                            CreateNode(xmlDoc, item, "borderreturn", "N");
                            CreateNode(xmlDoc, item, "breceiveinform", "");
                            CreateNode(xmlDoc, item, "bsigned", "");
                            CreateNode(xmlDoc, item, "btestbyinvoice", "");
                            CreateNode(xmlDoc, item, "carrivecorpname", "");
                            CreateNode(xmlDoc, item, "cbiztype", modDayPlan.C_BIZTYPE);           //业务类型
                            CreateNode(xmlDoc, item, "ccheckstate_bid", mod_TQB_CHECKSTATE.C_ID); //质量等级**
                            CreateNode(xmlDoc, item, "ccheckstatename", "");
                            CreateNode(xmlDoc, item, "cfreezeid", "");
                            CreateNode(xmlDoc, item, "cinvmanid", "");
                            CreateNode(xmlDoc, item, "confirmarrivedate", "");
                            CreateNode(xmlDoc, item, "cquoteunitid", modDayPlan.C_UNITID);//报价计量单位ID
                            CreateNode(xmlDoc, item, "cquoteunitname", "");
                            CreateNode(xmlDoc, item, "creceiptcorp", "");
                            CreateNode(xmlDoc, item, "creceiptcorpid", modDayPlan.C_RECEIPTCORPID);//收货单位
                            CreateNode(xmlDoc, item, "csendcorp", "");
                            CreateNode(xmlDoc, item, "csendcorpid", "");
                            CreateNode(xmlDoc, item, "dcancelassistnum", "");
                            CreateNode(xmlDoc, item, "dcancelnum", "");
                            CreateNode(xmlDoc, item, "dfee", "");
                            CreateNode(xmlDoc, item, "dfeeitem", "");
                            CreateNode(xmlDoc, item, "dinvassist", num); //辅数量-件数
                            CreateNode(xmlDoc, item, "dinvnum", wgt);    //存货数量
                            CreateNode(xmlDoc, item, "dinvweight", "");
                            CreateNode(xmlDoc, item, "dmileage", "");
                            CreateNode(xmlDoc, item, "dmoney", dmoney.ToString());//订单金额
                            CreateNode(xmlDoc, item, "doutassistnum", "");
                            CreateNode(xmlDoc, item, "doutnum", "");
                            CreateNode(xmlDoc, item, "doutnummargin", "");
                            CreateNode(xmlDoc, item, "dpackboxnum", "");
                            CreateNode(xmlDoc, item, "dpacknum", "");
                            CreateNode(xmlDoc, item, "dpackvolumn", "");
                            CreateNode(xmlDoc, item, "dpackweight", "");
                            CreateNode(xmlDoc, item, "dr", "0");
                            CreateNode(xmlDoc, item, "dreturnassistnum", "");
                            CreateNode(xmlDoc, item, "dreturnnum", "");
                            CreateNode(xmlDoc, item, "dsignasnum", "");
                            CreateNode(xmlDoc, item, "dsignassistnum", "");
                            CreateNode(xmlDoc, item, "dsignnum", "");
                            CreateNode(xmlDoc, item, "dsourcerow", "");
                            CreateNode(xmlDoc, item, "dtotalout", "");
                            CreateNode(xmlDoc, item, "dunitprice", dunitprice.ToString());//含税单价
                            CreateNode(xmlDoc, item, "dvolumn", "");
                            CreateNode(xmlDoc, item, "dwaylossasnum", "");
                            CreateNode(xmlDoc, item, "dwaylossnum", "");
                            CreateNode(xmlDoc, item, "hsl", "");
                            CreateNode(xmlDoc, item, "iattitude", "");
                            CreateNode(xmlDoc, item, "ibatchstatus", "0");
                            CreateNode(xmlDoc, item, "ibetimes", "");
                            CreateNode(xmlDoc, item, "iloadnum", "");
                            CreateNode(xmlDoc, item, "ilockstatus", "");
                            CreateNode(xmlDoc, item, "ionroadtime", "");
                            CreateNode(xmlDoc, item, "ipacking", "");
                            CreateNode(xmlDoc, item, "irownumber", rowno.ToString());//行号
                            CreateNode(xmlDoc, item, "irowstatus", "0");
                            CreateNode(xmlDoc, item, "ischeckatp", "N");
                            CreateNode(xmlDoc, item, "linkman1", "");
                            CreateNode(xmlDoc, item, "nassistnetwgt", num);
                            CreateNode(xmlDoc, item, "nfeedbacknum", wgt);   //回写上游数量
                            CreateNode(xmlDoc, item, "nnetwgt", wgt);        //净重
                            CreateNode(xmlDoc, item, "nquoteunitnum", wgt);  //报价计量单位数量?-存货数量
                            CreateNode(xmlDoc, item, "nquoteunitrate", "1"); //报价计量单位换算率固定
                            CreateNode(xmlDoc, item, "ntotalshouldoutnum", "");
                            CreateNode(xmlDoc, item, "orderplantime", "");
                            CreateNode(xmlDoc, item, "packsortcode", "");
                            CreateNode(xmlDoc, item, "packsortname", "");
                            CreateNode(xmlDoc, item, "phone1", "");//****?
                            CreateNode(xmlDoc, item, "pk_corp", "");
                            CreateNode(xmlDoc, item, "pk_defdoc0", "");
                            CreateNode(xmlDoc, item, "pk_defdoc1", "");
                            CreateNode(xmlDoc, item, "pk_defdoc10", "");
                            CreateNode(xmlDoc, item, "pk_defdoc11", "");
                            CreateNode(xmlDoc, item, "pk_defdoc12", "");
                            CreateNode(xmlDoc, item, "pk_defdoc13", "");
                            CreateNode(xmlDoc, item, "pk_defdoc14", "");
                            CreateNode(xmlDoc, item, "pk_defdoc15", "");
                            CreateNode(xmlDoc, item, "pk_defdoc16", "");
                            CreateNode(xmlDoc, item, "pk_defdoc17", "");
                            CreateNode(xmlDoc, item, "pk_defdoc18", "");
                            CreateNode(xmlDoc, item, "pk_defdoc19", "");
                            CreateNode(xmlDoc, item, "pk_defdoc2", "");
                            CreateNode(xmlDoc, item, "pk_defdoc3", "");
                            CreateNode(xmlDoc, item, "pk_defdoc4", "");
                            CreateNode(xmlDoc, item, "pk_defdoc5", "");
                            CreateNode(xmlDoc, item, "pk_defdoc6", "");
                            CreateNode(xmlDoc, item, "pk_defdoc7", "");
                            CreateNode(xmlDoc, item, "pk_defdoc8", "");
                            CreateNode(xmlDoc, item, "pk_defdoc9", "");
                            CreateNode(xmlDoc, item, "pk_delivbill_b", "");                   //置空
                            CreateNode(xmlDoc, item, "pk_delivbill_h", "");
                            CreateNode(xmlDoc, item, "pk_invbasdoc", modOrder.C_INVBASDOCID); //存货档案主键
                            CreateNode(xmlDoc, item, "pk_packsort", "");
                            CreateNode(xmlDoc, item, "pk_transcontainer", "");
                            CreateNode(xmlDoc, item, "pkarriveaddress", addrpk);              //到货地点
                            CreateNode(xmlDoc, item, "pkarrivearea", modfyditem.C_SEND_AREA); //到货地区主键
                            CreateNode(xmlDoc, item, "pkarrivecorp", "");
                            CreateNode(xmlDoc, item, "pkassistmeasure", modOrder.C_FUNITID);  //辅计量单位
                            CreateNode(xmlDoc, item, "pkbasinv", modOrder.C_INVBASDOCID);     //存货档案主键
                            CreateNode(xmlDoc, item, "pkbasreceiptcorp", modCust.C_NC_ID);    //客户主键
                            CreateNode(xmlDoc, item, "pkbassendcorp", "");
                            CreateNode(xmlDoc, item, "pkconsign", "");
                            CreateNode(xmlDoc, item, "pkcorpforgenoid", modDayPlan.C_PKSALECORP); //销售公司(1001)
                            CreateNode(xmlDoc, item, "pkcusbasdoc", modCust.C_NC_ID);             //客户主键
                            CreateNode(xmlDoc, item, "pkcusmandoc", modDayPlan.C_PKCUST);         //客户管理主键
                            CreateNode(xmlDoc, item, "pkcustinvoice", "");
                            CreateNode(xmlDoc, item, "pkdayplan", "");
                            CreateNode(xmlDoc, item, "pkdestrep", "");
                            CreateNode(xmlDoc, item, "pkdeststockorg", "");
                            CreateNode(xmlDoc, item, "pkinv", modOrder.C_INVENTORYID);//存货管理档案主键
                            CreateNode(xmlDoc, item, "pkinvoice", "");
                            CreateNode(xmlDoc, item, "pkitem", "");
                            CreateNode(xmlDoc, item, "pkitemperiod", "");
                            CreateNode(xmlDoc, item, "pkoperator", modDayPlan.C_PKOPERATOR);   //业务员ID
                            CreateNode(xmlDoc, item, "pkoprdepart", modDayPlan.C_PKOPRDEPART); //业务员部门
                            CreateNode(xmlDoc, item, "pkorder", "");
                            CreateNode(xmlDoc, item, "pkorderplanid", "");
                            CreateNode(xmlDoc, item, "pkorderrow", "");
                            CreateNode(xmlDoc, item, "pkpackboxtype", "");
                            CreateNode(xmlDoc, item, "pksalecorp", "1001");
                            CreateNode(xmlDoc, item, "pksalegrp", modDayPlan.C_PKSALEORG);     //销售组织主键
                            CreateNode(xmlDoc, item, "pksendaddress", "0001AA1000000002LFNT"); //发货地点
                            CreateNode(xmlDoc, item, "pksendarea", "dqda0000000000000057");    //发货地区
                            if (mbck != null)
                            {
                                CreateNode(xmlDoc, item, "pksendstock", mbck.C_ID);//发货仓库
                            }
                            else
                            {
                                CreateNode(xmlDoc, item, "pksendstock", slabwh.C_ID);           //发货仓库
                            }
                            CreateNode(xmlDoc, item, "pksendstockorg", "1001NC10000000000669"); //发货库存组织主键-固定
                            CreateNode(xmlDoc, item, "pksrccalbodyar", "");
                            CreateNode(xmlDoc, item, "pkunit", "");
                            CreateNode(xmlDoc, item, "plantime", "");
                            CreateNode(xmlDoc, item, "receivedate", "");
                            CreateNode(xmlDoc, item, "requireday", Convert.ToDateTime(modDayPlan.D_REQUIREDATE).ToString("yyy-MM-dd")); //要求到货日期
                            CreateNode(xmlDoc, item, "sourcebillts", "");
                            CreateNode(xmlDoc, item, "ts", "");                                                                         //HH:mm:ss
                            CreateNode(xmlDoc, item, "ufdtmp", "");
                            CreateNode(xmlDoc, item, "userid", "");
                            CreateNode(xmlDoc, item, "varriveaddress", "其他地区");
                            CreateNode(xmlDoc, item, "vassistmeaname", "");
                            string batch = "";
                            if (modMat.C_MAT_TYPE == "6")
                            {
                                if (dt.Rows[i]["C_BATCH_NO"].ToString() != "")
                                {
                                    batch = dt.Rows[i]["C_BATCH_NO"].ToString();
                                }
                                else
                                {
                                    batch = dt.Rows[i]["C_STOVE"].ToString();
                                }
                            }
                            if (modMat.C_MAT_TYPE == "8")
                            {
                                batch = dt.Rows[i]["C_BATCH_NO"].ToString();
                            }
                            CreateNode(xmlDoc, item, "vbatchcode", batch);
                            CreateNode(xmlDoc, item, "vbilltype", "30");
                            CreateNode(xmlDoc, item, "vbilltypename", "");
                            CreateNode(xmlDoc, item, "vcargcode", "");
                            CreateNode(xmlDoc, item, "vconsign", "");
                            CreateNode(xmlDoc, item, "vcontainername", "");
                            CreateNode(xmlDoc, item, "vcustcode", modCust.C_NO);           //客户编码
                            CreateNode(xmlDoc, item, "vcustname", modCust.C_NAME);         //客户名称
                            CreateNode(xmlDoc, item, "vdayplancode", modDayPlan.C_PLCODE); //对应日计划单据号
                            CreateNode(xmlDoc, item, "vdestaddress", modfyditem.C_AREA);   //收货地址
                            CreateNode(xmlDoc, item, "vdestarea", modfyditem.C_SEND_AREA); //收货地区
                            CreateNode(xmlDoc, item, "vdeststoreaddre", "");
                            CreateNode(xmlDoc, item, "vdeststorename", "");
                            CreateNode(xmlDoc, item, "vdeststoreorgname", "");
                            CreateNode(xmlDoc, item, "vfree0", "");
                            CreateNode(xmlDoc, item, "vfree1", modDayPlan.C_VFREE1);                 //自由项1
                            CreateNode(xmlDoc, item, "vfree10", dt.Rows[i]["C_PK_NCID"].ToString()); //CRM发运单表体主键//C_PK_NCID
                            CreateNode(xmlDoc, item, "vfree2", modDayPlan.C_VFREE2);                 //自由项2
                            CreateNode(xmlDoc, item, "vfree3", dt.Rows[i]["C_BZYQ"].ToString());     //包装钢坯传空
                            CreateNode(xmlDoc, item, "vfree4", "");
                            CreateNode(xmlDoc, item, "vfree5", "");
                            CreateNode(xmlDoc, item, "vfree6", "");
                            CreateNode(xmlDoc, item, "vfree7", "");
                            CreateNode(xmlDoc, item, "vfree8", modDayPlan.C_ID);    //CRM发运日计划主键
                            CreateNode(xmlDoc, item, "vfree9", modDispatch.C_GUID); // CRM发运单表头主键
                            CreateNode(xmlDoc, item, "vfreeid1", "");
                            CreateNode(xmlDoc, item, "vfreeid10", "");
                            CreateNode(xmlDoc, item, "vfreeid2", "");
                            CreateNode(xmlDoc, item, "vfreeid3", "");
                            CreateNode(xmlDoc, item, "vfreeid4", "");
                            CreateNode(xmlDoc, item, "vfreeid5", "");
                            CreateNode(xmlDoc, item, "vfreeid6", "");
                            CreateNode(xmlDoc, item, "vfreeid7", "");
                            CreateNode(xmlDoc, item, "vfreeid8", "");
                            CreateNode(xmlDoc, item, "vfreeid9", "");
                            CreateNode(xmlDoc, item, "vfreename1", "");
                            CreateNode(xmlDoc, item, "vfreename10", "");
                            CreateNode(xmlDoc, item, "vfreename2", "");
                            CreateNode(xmlDoc, item, "vfreename3", "");
                            CreateNode(xmlDoc, item, "vfreename4", "");
                            CreateNode(xmlDoc, item, "vfreename5", "");
                            CreateNode(xmlDoc, item, "vfreename6", "");
                            CreateNode(xmlDoc, item, "vfreename7", "");
                            CreateNode(xmlDoc, item, "vfreename8", "");
                            CreateNode(xmlDoc, item, "vfreename9", "");
                            CreateNode(xmlDoc, item, "vinvcode", modMat.C_MAT_CODE);
                            CreateNode(xmlDoc, item, "vinvname", "");
                            CreateNode(xmlDoc, item, "vinvoicecode", "");
                            CreateNode(xmlDoc, item, "vitemname", "");
                            CreateNode(xmlDoc, item, "vitemperiodname", "");
                            CreateNode(xmlDoc, item, "vnote", "");
                            CreateNode(xmlDoc, item, "voperatorname", "");
                            CreateNode(xmlDoc, item, "voprdepartname", "");
                            CreateNode(xmlDoc, item, "vordercode", modDayPlan.C_SALECODE);//销售单据号
                            CreateNode(xmlDoc, item, "vreceiptcorpname", "");
                            CreateNode(xmlDoc, item, "vsalecorpname", "");
                            CreateNode(xmlDoc, item, "vsaleorgname", "");
                            CreateNode(xmlDoc, item, "vsendaddr", "");
                            CreateNode(xmlDoc, item, "vsendaddress", "");
                            CreateNode(xmlDoc, item, "vsendarea", "");
                            CreateNode(xmlDoc, item, "vsendcorpname", "");
                            CreateNode(xmlDoc, item, "vsendstoreaddre", "");
                            CreateNode(xmlDoc, item, "vsendstorename", "");
                            CreateNode(xmlDoc, item, "vsendstoreorgaddre", "");
                            CreateNode(xmlDoc, item, "vsendstoreorgname", "");
                            CreateNode(xmlDoc, item, "vsignname", "");
                            CreateNode(xmlDoc, item, "vsignnote", "");
                            CreateNode(xmlDoc, item, "vspec", modMat.C_SPEC);           //规格
                            CreateNode(xmlDoc, item, "vsrccalbodyarname", "");
                            CreateNode(xmlDoc, item, "vtype", modMat.C_STL_GRD);        //钢种
                            CreateNode(xmlDoc, item, "vunit", modMat.C_ZJLDWMC);        //主计量单位名称
                            CreateNode(xmlDoc, item, "vuserdef0", "");
                            CreateNode(xmlDoc, item, "vuserdef1", "");                  //计量毛重日期*****
                            CreateNode(xmlDoc, item, "vuserdef10", modDayPlan.C_CONNO); //合同号
                            CreateNode(xmlDoc, item, "vuserdef11", "");
                            CreateNode(xmlDoc, item, "vuserdef12", "");
                            CreateNode(xmlDoc, item, "vuserdef13", "");
                            CreateNode(xmlDoc, item, "vuserdef14", "");
                            CreateNode(xmlDoc, item, "vuserdef15", "");
                            CreateNode(xmlDoc, item, "vuserdef16", "");
                            CreateNode(xmlDoc, item, "vuserdef17", "");
                            CreateNode(xmlDoc, item, "vuserdef18", "");
                            CreateNode(xmlDoc, item, "vuserdef19", "");
                            CreateNode(xmlDoc, item, "vuserdef2", ""); //毛重*****
                            CreateNode(xmlDoc, item, "vuserdef3", ""); //计量皮重日期****
                            CreateNode(xmlDoc, item, "vuserdef4", ""); //皮重
                            CreateNode(xmlDoc, item, "vuserdef5", ""); //净重
                            CreateNode(xmlDoc, item, "vuserdef6", ""); //计量毛重时间
                            CreateNode(xmlDoc, item, "vuserdef7", ""); //计量皮重时间
                            CreateNode(xmlDoc, item, "vuserdef8", "");
                            CreateNode(xmlDoc, item, "vuserdef9", "");
                            #endregion

                            body.AppendChild(item);
                        }
                    }
                }
                xmlDoc.Save(xmlFileName);
                List <string> parem = dalSendNC.SendXML(xmlFileName);
                if (parem[0] == "1")
                {
                    return("1");
                }
                else
                {
                    return(parem[1]);
                }
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
예제 #5
0
        //导入实绩到NC
        protected void btntm_Click(object sender, EventArgs e)
        {
            try
            {
                string result = "";
                ApiDispatchOrder_SJ apifyd = new ApiDispatchOrder_SJ();
                string        filePath     = "~/FileInterface/download/nc_" + txtsendcode.Text + ".xml";
                string        xmlFileName  = System.Web.HttpContext.Current.Server.MapPath(filePath);
                List <string> resList      = apifyd.SendXmlApiDispatchOrder(txtsendcode.Text, xmlFileName, ltlempid.Text, 8);

                string jg = resList[0].ToString() == "1" ? "导入NC成功" : GetNCError(resList);
                result = "单据号:" + txtsendcode.Text + ",结果:" + jg;

                if (resList[0].ToString() == "1")
                {
                    var logger = Logger.CreateLogger(this.GetType());
                    logger.Info("导入NC成功发运单号:" + txtsendcode.Text);

                    if (tmd_dispatch.UpdateFydWW(txtsendcode.Text, 8, ltlempid.Text, hidempname.Value))
                    {
                        try
                        {
                            #region //生成远程质证书


                            DataTable dt = tmd_dispatchdetails.GetList(txtsendcode.Text).Tables[0];
                            if (dt.Rows.Count > 0)
                            {
                                for (int i = 0; i < dt.Rows.Count; i++)
                                {
                                    Mod_TMD_DISPATCHDETAILS moditem = tmd_dispatchdetails.GetModel(dt.Rows[i]["C_ID"].ToString());

                                    string[] dj = { "A", "AA", "AAA", "CK", "A1", "合格品", "B1", "B2", "C1", "C2" };
                                    if (dj.Contains(moditem.C_JUDGE_LEV_ZH))
                                    {
                                        bool res = trc_roll_prodcut.ExistsZZS(moditem.C_DISPATCH_ID, moditem.C_BATCH_NO);
                                        //检查是否重复批次
                                        if (!res)
                                        {
                                            DataTable dtRoll = trc_roll_prodcut.GetZZS("", "", moditem.C_DISPATCH_ID, "", "", moditem.C_BATCH_NO, "", "", "Y", "8", "", "").Tables[0];
                                            if (dtRoll.Rows.Count > 0)
                                            {
                                                DataTable dtCustStd = trc_roll_prodcut.GetCustStd_JH(dtRoll.Rows[0]["C_STD_CODE"].ToString(), dtRoll.Rows[0]["C_STL_GRD"].ToString(), dtRoll.Rows[0]["C_ZYX1"].ToString(), dtRoll.Rows[0]["C_ZYX2"].ToString()).Tables[0];

                                                DataTable dtJSXYH = trc_roll_prodcut.GetCustStd_JH(dtRoll.Rows[0]["C_STD_CODE"].ToString(), dtRoll.Rows[0]["C_STL_GRD"].ToString(), dtRoll.Rows[0]["C_TECH_PROT"].ToString(), dtRoll.Rows[0]["C_ZYX1"].ToString(), dtRoll.Rows[0]["C_ZYX2"].ToString()).Tables[0];

                                                #region //添加参数
                                                Mod_TQC_ZZS_INFO mod = new Mod_TQC_ZZS_INFO();
                                                mod.C_FYDH     = moditem.C_DISPATCH_ID;
                                                mod.C_BATCH_NO = moditem.C_BATCH_NO;
                                                mod.C_STOVE    = dtRoll.Rows[0]["C_STOVE"].ToString();
                                                mod.C_SPEC     = dtRoll.Rows[0]["C_SPEC"].ToString();
                                                mod.C_STL_GRD  = dtRoll.Rows[0]["C_STL_GRD"].ToString();
                                                mod.C_STD_CODE = dtRoll.Rows[0]["C_STD_CODE"].ToString();
                                                mod.D_CKSJ     = Convert.ToDateTime(dtRoll.Rows[0]["D_CKSJ"].ToString());
                                                mod.N_JZ       = Convert.ToDecimal(dtRoll.Rows[0]["N_WGT"].ToString());
                                                mod.N_NUM      = Convert.ToDecimal(dtRoll.Rows[0]["QUA"].ToString());
                                                mod.C_CH       = dtRoll.Rows[0]["C_CH"].ToString();

                                                mod.C_ZSH = randomnumber.GetZSH(); //证书号

                                                mod.C_QZR = "02";                  //签证人


                                                #region //生成二维码

                                                string msg = $@"http://60.6.254.51:808/Common/qualCert.aspx?fyd={mod.C_FYDH}&zsh={mod.C_ZSH}";

                                                Bitmap bt = GenByZXingNet(msg);            //调用生成二维码方法

                                                mod.C_IMG = $@"D:/QRCode/{mod.C_ZSH}.jpg"; //生成二维码图片命名

                                                string upPath = $@"~/QRCode/{mod.C_ZSH}.jpg";

                                                bt.Save(Server.MapPath(upPath));//保存二维码图片

                                                #endregion

                                                Mod_TS_CUSTFILE mod_TS_CUSTFILE = ts_custfile.GetCustModel(dtRoll.Rows[0]["C_CGC"].ToString());

                                                mod.C_CUST_NO   = mod_TS_CUSTFILE.C_NO;
                                                mod.C_CON_NO    = dtRoll.Rows[0]["C_CON_NO"].ToString();
                                                mod.C_CUST_NAME = dtRoll.Rows[0]["C_CUST_NAME"].ToString();
                                                mod.C_SH_NAME   = mod_TS_CUSTFILE.C_NAME;
                                                mod.C_MAT_NAME  = dtRoll.Rows[0]["C_MAT_DESC"].ToString();
                                                mod.C_STD_JH    = dtCustStd.Rows[0]["C_STD_JH"].ToString();
                                                mod.C_ZLDJ      = dtRoll.Rows[0]["C_JUDGE_LEV_ZH"].ToString();
                                                mod.C_JH_STATE  = dtRoll.Rows[0]["C_JH_STATE"].ToString();
                                                mod.C_JSXYH     = dtJSXYH.Rows[0]["C_JSXYH"].ToString();
                                                mod.C_XKZH      = dtRoll.Rows[0]["C_XKZH"].ToString();
                                                mod.C_BY1       = "8";

                                                #endregion

                                                trc_roll_prodcut.InsertZZS(mod);
                                            }
                                        }
                                    }
                                }
                            }


                            #endregion
                        }
                        catch (Exception)
                        {
                            throw;
                        }

                        this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> _closemsg('" + result + "');</script>", false);
                        BindList();
                    }
                }
                else
                {
                    this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> _closemsg('" + result + "');</script>", false);
                }
            }
            catch (Exception ex)
            {
                WebMsg.MessageBox(ex.Message);
            }
        }
예제 #6
0
        /// <summary>
        /// 修改发运单
        /// </summary>
        /// <returns></returns>
        private bool updateFyd(string flag)
        {
            decimal fyzs  = 0; //发运支数
            decimal fywgt = 0; //发运量

            #region            //表体
            List <Mod_TMD_DISPATCHDETAILS> item = new List <Mod_TMD_DISPATCHDETAILS>();
            for (int i = 0; i < rptList.Items.Count; i++)
            {
                HtmlInputHidden   hidpkid   = (HtmlInputHidden)rptList.Items[i].FindControl("hidpkid");    //发运单明细主键
                HtmlInputCheckBox chkOrder  = (HtmlInputCheckBox)rptList.Items[i].FindControl("chkOrder"); //订单主键
                HtmlInputHidden   hidckid   = (HtmlInputHidden)rptList.Items[i].FindControl("hidckid");    //仓库ID
                HtmlInputText     txtckname = (HtmlInputText)rptList.Items[i].FindControl("txtckname");    //仓库名称
                //HtmlInputText txtflag = (HtmlInputText)rptList.Items[i].FindControl("txtflag");//标识:Y/N
                HtmlInputText txtfyzs  = (HtmlInputText)rptList.Items[i].FindControl("txtfyzs");           //发运支数
                HtmlInputText txtjhfyl = (HtmlInputText)rptList.Items[i].FindControl("txtjhfyl");          //发运数量
                HtmlInputText txtbatch = (HtmlInputText)rptList.Items[i].FindControl("txtbatch");          //批次号


                fyzs  += Convert.ToDecimal(txtfyzs.Value ?? "0");
                fywgt += Convert.ToDecimal(txtjhfyl.Value ?? "0");



                if (flag == "N")
                {
                    if (chkOrder.Checked)
                    {
                        #region //insert
                        Mod_TMD_DISPATCHDETAILS modfyditem = tmd_dispatchdetails.GetModel(hidpkid.Value);
                        modfyditem.C_EMP_ID        = ltlempid.Text;
                        modfyditem.C_EMP_NAME      = hidempname.Value;
                        modfyditem.N_FYZS          = Convert.ToDecimal(txtfyzs.Value ?? "0");  //发运支数
                        modfyditem.N_FYWGT         = Convert.ToDecimal(txtjhfyl.Value ?? "0"); //发运数量
                        modfyditem.C_BATCH_NO      = txtbatch.Value.Trim();                    //批次号
                        modfyditem.C_SEND_STOCK    = txtckname.Value;                          //发运仓库名称
                        modfyditem.C_SEND_STOCK_PK = hidckid.Value;                            //发运仓库ID
                        modfyditem.FLAG            = flag;
                        item.Add(modfyditem);
                        #endregion
                    }
                }
                else
                {
                    #region                                     //update
                    Mod_TMD_DISPATCHDETAILS modfyditem = tmd_dispatchdetails.GetModel(hidpkid.Value);
                    modfyditem.C_ID            = hidpkid.Value; //主键
                    modfyditem.C_EMP_ID        = ltlempid.Text;
                    modfyditem.C_EMP_NAME      = hidempname.Value;
                    modfyditem.N_FYZS          = Convert.ToDecimal(txtfyzs.Value);  //发运支数
                    modfyditem.N_FYWGT         = Convert.ToDecimal(txtjhfyl.Value); //发运数量
                    modfyditem.C_BATCH_NO      = txtbatch.Value.Trim();             //批次号
                    modfyditem.C_SEND_STOCK    = txtckname.Value;                   //发运仓库名称
                    modfyditem.C_SEND_STOCK_PK = hidckid.Value;                     //发运仓库ID
                    modfyditem.FLAG            = flag;
                    item.Add(modfyditem);

                    #endregion
                }
            }
            #endregion

            #region                                                     //表头
            Mod_TMD_DISPATCH modfyd = new Mod_TMD_DISPATCH();
            modfyd.C_ID             = txtsendcode.Text;                 //发运单单据号
            modfyd.C_GPS_NO         = txtgps.Text;                      //GPS号
            modfyd.D_DISP_DT        = Convert.ToDateTime(txtfydt.Text); //发运日期
            modfyd.C_SHIPVIA        = dropfyfs.SelectedItem.Value;      //发运方式
            modfyd.C_COMCAR         = dropcys.SelectedItem.Value;       //承运商
            modfyd.C_IS_WIRESALE    = dropsfxc.SelectedItem.Text;       //汉字是否线材
            modfyd.C_IS_WIRESALE_ID = dropsfxc.SelectedItem.Value;      //是否线材主键
            modfyd.C_LIC_PLA_NO     = txtcph.Text;                      //车牌号
            modfyd.C_ATSTATION      = txtdz.Text;                       //到站
            modfyd.C_EMP_ID         = ltlempid.Text;                    //修改人ID
            modfyd.C_EMP_NAME       = hidempname.Value;                 //修改人
            //modfyd.C_EXTEND5 = ltltype.Text;//订单类型 8线材 6钢坯 831废乱材  841焦化产品 851渣
            modfyd.N_QUA = fyzs;                                        //发运支数
            modfyd.N_WGT = fywgt;                                       //发运量
            #endregion


            if (tmd_dispatch.UpdateFYD(modfyd, item))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #7
0
        /// <summary>
        /// 添加发运单
        /// </summary>
        /// <returns></returns>
        private bool InsertFyd()
        {
            decimal fyzs  = 0;
            decimal fywgt = 0;

            string sendcode = randomnumber.CreateDispID(); //发运单据号

            #region                                        //表体
            List <Mod_TMD_DISPATCHDETAILS> item = new List <Mod_TMD_DISPATCHDETAILS>();
            for (int i = 0; i < rptList.Items.Count; i++)
            {
                HtmlInputCheckBox chkOrder     = (HtmlInputCheckBox)rptList.Items[i].FindControl("chkOrder"); //订单主键
                HtmlInputText     txtfyzs      = (HtmlInputText)rptList.Items[i].FindControl("txtfyzs");      //发运支数
                HtmlInputText     txtjhfyl     = (HtmlInputText)rptList.Items[i].FindControl("txtjhfyl");     //发运数量
                HtmlInputHidden   hidC_CGID    = (HtmlInputHidden)rptList.Items[i].FindControl("hidC_CGID");  //收货单位
                HtmlInputHidden   hidshdq      = (HtmlInputHidden)rptList.Items[i].FindControl("hidshdq");    //收货地区
                TextBox           txtPack_Code = (TextBox)rptList.Items[i].FindControl("txtPack_Code");       //包装要求
                DropDownList      dropzldj     = (DropDownList)rptList.Items[i].FindControl("dropzldj");      //质量等级
                DropDownList      dropshdz     = (DropDownList)rptList.Items[i].FindControl("dropshdz");      //收货地址
                Literal           ltlpkplan    = (Literal)rptList.Items[i].FindControl("ltlpkplan");          //日计划主键
                Literal           ltlcustno    = (Literal)rptList.Items[i].FindControl("ltlcustno");          //客户编码

                HtmlInputHidden hidckid     = (HtmlInputHidden)rptList.Items[i].FindControl("hidckid");       //仓库ID
                HtmlInputText   txtckname   = (HtmlInputText)rptList.Items[i].FindControl("txtckname");       //仓库名称
                HtmlInputText   txtqtyq     = (HtmlInputText)rptList.Items[i].FindControl("txtqtyq");         //其他要求
                HtmlInputText   txtremark   = (HtmlInputText)rptList.Items[i].FindControl("txtremark");       //行备注
                TextBox         txtStd_Code = (TextBox)rptList.Items[i].FindControl("txtStd_Code");           //执行标准
                TextBox         txtC_FREE1  = (TextBox)rptList.Items[i].FindControl("txtC_FREE1");            //自由项1
                TextBox         txtC_FREE2  = (TextBox)rptList.Items[i].FindControl("txtC_FREE2");            //自由项2

                Mod_TMO_ORDER modOrder = tmo_order.GetModel(chkOrder.Value);
                if (modOrder != null)
                {
                    fyzs  += Convert.ToDecimal(txtfyzs.Value ?? "0");
                    fywgt += Convert.ToDecimal(txtjhfyl.Value ?? "0");

                    Mod_TMD_DISPATCHDETAILS modfyditem = new Mod_TMD_DISPATCHDETAILS();
                    modfyditem.C_DISPATCH_ID     = sendcode;                                                               //发运单单据号
                    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     = dropzldj.SelectedItem.Value;                                            //质量等级主键-发运单
                    modfyditem.C_JUDGE_LEV_ZH    = dropzldj.SelectedItem.Text;                                             //质量等级编码
                    modfyditem.C_FREE_TERM       = txtC_FREE1.Text;                                                        //自由项
                    modfyditem.C_FREE_TERM2      = txtC_FREE2.Text;                                                        //自由项
                    modfyditem.C_PACK            = txtPack_Code.Text;                                                      //包装要求
                    modfyditem.C_STD_CODE        = txtStd_Code.Text;                                                       //执行标准
                    modfyditem.C_ELSENEED        = txtqtyq.Value;                                                          //其他要求?
                    modfyditem.C_REMARK          = txtremark.Value;                                                        //行备注*****
                    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             = hidC_CGID.Value;                                                        //收货单位-发运单
                    modfyditem.C_ORDER_TYPE      = modOrder.N_TYPE.ToString() == "8" ? "805" : modOrder.N_TYPE.ToString(); //订单类型 8线材 6钢坯 831废乱材  841焦化产品 851渣
                    modfyditem.C_SEND_AREA       = hidshdq.Value;                                                          //到货地区-发运单
                    modfyditem.C_AREA            = dropshdz.SelectedItem?.Value ?? "";                                     //到货地址-发运单
                    modfyditem.C_EMP_ID          = ltlempid.Text;
                    modfyditem.C_EMP_NAME        = ltlempname.Text;
                    modfyditem.C_CON_NO          = modOrder.C_CON_NO;                                            //合同号
                    modfyditem.C_PLAN_ID         = ltlpkplan.Text;                                               //日计划主键
                    modfyditem.C_NO            = modOrder.C_ORDER_NO;                                            //订单号
                    modfyditem.C_ORDERPK       = modOrder.C_ID;                                                  //订单主键
                    modfyditem.C_CUSTNO        = ltlcustno.Text;                                                 //客户编码
                    modfyditem.N_FYZS          = Convert.ToDecimal(txtfyzs.Value == "" ? "0" : txtfyzs.Value);   //发运支数
                    modfyditem.N_FYWGT         = Convert.ToDecimal(txtjhfyl.Value == "" ? "0" : txtjhfyl.Value); //发运数量
                    modfyditem.C_SEND_STOCK    = txtckname.Value;                                                //发运仓库名称
                    modfyditem.C_SEND_STOCK_PK = hidckid.Value;                                                  //发运仓库ID
                    modfyditem.C_PRODUCT_ID    = "";                                                             //库存产品ID
                    modfyditem.C_AU_UNITIS     = modOrder.C_FUNITID;                                             //辅单位
                    modfyditem.N_PRICE         = 0;                                                              //到货地点费用

                    item.Add(modfyditem);
                }
            }
            #endregion

            #region//表头
            Mod_TMD_DISPATCH modfyd = new Mod_TMD_DISPATCH();

            modfyd.C_ID             = sendcode;                         //发运单单据号
            modfyd.C_GPS_NO         = txtgps.Text;                      //GPS号
            modfyd.D_DISP_DT        = Convert.ToDateTime(txtfydt.Text); //发运日期
            modfyd.C_SHIPVIA        = dropfyfs.SelectedItem.Value;      //发运方式
            modfyd.C_COMCAR         = dropcys.SelectedItem.Value;       //承运商
            modfyd.C_IS_WIRESALE    = dropsfxc.SelectedItem.Text;       //汉字是否线材
            modfyd.C_IS_WIRESALE_ID = dropsfxc.SelectedItem.Value;      //是否线材主键
            modfyd.C_LIC_PLA_NO     = txtcph.Text;                      //车牌号
            modfyd.C_ATSTATION      = txtdz.Text;                       //到站
            modfyd.C_CREATE_ID      = ltlempid.Text;                    //制单人
            modfyd.C_EMP_ID         = ltlempid.Text;                    //修改人ID
            modfyd.C_EMP_NAME       = ltlempname.Text;                  //修改人
            modfyd.C_EXTEND5        = ltltype.Text;                     //订单类型 8线材 6钢坯 831废乱材  841焦化产品 851渣
            modfyd.C_CUSTNAME       = ltlcustname.Text;                 //客户
            modfyd.C_CON_NO         = ltlcon_no.Text;                   //合同号
            modfyd.N_QUA            = fyzs;                             //发运支数
            modfyd.N_WGT            = fywgt;                            //发运量
            modfyd.N_IS_EXPORT      = 0;                                //是否包到价
            modfyd.C_EXTEND2        = txtcph.Text;                      //虚拟车号
            Mod_TMO_CON modCon = tmo_con.GetModel(ltlcon_no.Text);
            if (modCon != null)
            {
                modfyd.C_BUSINESS_DEPT = modCon.C_DEPTID;     //业务部门
                modfyd.C_BUSINESS_ID   = modCon.C_EMPLOYEEID; //业务员
            }
            #endregion

            if (tmd_dispatch.InsertFYD(modfyd, item))
            {
                txtsendcode.Text = sendcode;
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #8
0
        /// <summary>
        /// 修改发运单
        /// </summary>
        /// <returns></returns>
        private bool UpdateFyd()
        {
            decimal fyzs  = 0; //发运支数
            decimal fywgt = 0; //发运量

            #region            //表体
            List <Mod_TMD_DISPATCHDETAILS> item = new List <Mod_TMD_DISPATCHDETAILS>();
            for (int i = 0; i < rptList.Items.Count; i++)
            {
                //HtmlInputCheckBox chkOrder = (HtmlInputCheckBox)rptList.Items[i].FindControl("chkOrder");//订单主键
                HtmlInputText   txtfyzs      = (HtmlInputText)rptList.Items[i].FindControl("txtfyzs");     //发运支数
                HtmlInputText   txtjhfyl     = (HtmlInputText)rptList.Items[i].FindControl("txtjhfyl");    //发运数量
                HtmlInputHidden hidC_CGID    = (HtmlInputHidden)rptList.Items[i].FindControl("hidC_CGID"); //收货单位
                HtmlInputHidden hidshdq      = (HtmlInputHidden)rptList.Items[i].FindControl("hidshdq");   //收货地区
                TextBox         txtPack_Code = (TextBox)rptList.Items[i].FindControl("txtPack_Code");      //包装要求
                DropDownList    dropzldj     = (DropDownList)rptList.Items[i].FindControl("dropzldj");     //质量等级
                HtmlInputText   txtqtyq      = (HtmlInputText)rptList.Items[i].FindControl("txtqtyq");     //其他要求
                DropDownList    dropshdz     = (DropDownList)rptList.Items[i].FindControl("dropshdz");     //收货地址
                HtmlInputHidden hidckid      = (HtmlInputHidden)rptList.Items[i].FindControl("hidckid");   //仓库ID
                HtmlInputText   txtckname    = (HtmlInputText)rptList.Items[i].FindControl("txtckname");   //仓库名称
                HtmlInputHidden hidpkid      = (HtmlInputHidden)rptList.Items[i].FindControl("hidpkid");   //发运单明细主键
                HtmlInputText   txtremark    = (HtmlInputText)rptList.Items[i].FindControl("txtremark");   //行备注
                TextBox         txtStd_Code  = (TextBox)rptList.Items[i].FindControl("txtStd_Code");       //执行标准
                TextBox         txtC_FREE1   = (TextBox)rptList.Items[i].FindControl("txtC_FREE1");        //自由项1
                TextBox         txtC_FREE2   = (TextBox)rptList.Items[i].FindControl("txtC_FREE2");        //自由项2

                if (!string.IsNullOrEmpty(txtfyzs.Value) & !string.IsNullOrEmpty(txtjhfyl.Value))
                {
                    fyzs  += Convert.ToDecimal(txtfyzs.Value);
                    fywgt += Convert.ToDecimal(txtjhfyl.Value);
                }


                #region                                                          //update
                Mod_TMD_DISPATCHDETAILS modfyditem = tmd_dispatchdetails.GetModel(hidpkid.Value);
                modfyditem.C_ID            = hidpkid.Value;                      //主键
                modfyditem.C_QUALIRY_LEV   = dropzldj.SelectedItem.Value;        //质量等级主键-发运单
                modfyditem.C_JUDGE_LEV_ZH  = dropzldj.SelectedItem.Text;         //质量等级编码-发运单
                modfyditem.C_FREE_TERM     = txtC_FREE1.Text;                    //自由项1
                modfyditem.C_FREE_TERM2    = txtC_FREE2.Text;                    //自由项2
                modfyditem.C_STD_CODE      = txtStd_Code.Text;                   //执行标准
                modfyditem.C_PACK          = txtPack_Code.Text;                  //包装要求
                modfyditem.C_ELSENEED      = txtqtyq.Value;                      //其他要求?
                modfyditem.C_REMARK        = txtremark.Value;                    //行备注*****
                modfyditem.C_CGC           = hidC_CGID.Value;                    //收货单位-发运单
                modfyditem.C_SEND_AREA     = hidshdq.Value;                      //到货地区-发运单
                modfyditem.C_AREA          = dropshdz.SelectedItem?.Value ?? ""; //到货地址-发运单
                modfyditem.C_EMP_ID        = ltlempid.Text;
                modfyditem.C_EMP_NAME      = hidempname.Value;
                modfyditem.N_FYZS          = Convert.ToDecimal(txtfyzs.Value == "" ? "0" : txtfyzs.Value);   //发运支数
                modfyditem.N_FYWGT         = Convert.ToDecimal(txtjhfyl.Value == "" ? "0" : txtjhfyl.Value); //发运数量
                modfyditem.C_SEND_STOCK    = txtckname.Value;                                                //发运仓库名称
                modfyditem.C_SEND_STOCK_PK = hidckid.Value;                                                  //发运仓库ID
                modfyditem.FLAG            = "Y";
                item.Add(modfyditem);
                #endregion
            }
            #endregion

            #region                                                          //表头
            Mod_TMD_DISPATCH modfyd = new Mod_TMD_DISPATCH();
            modfyd.C_ID             = txtsendcode.Text;                      //发运单单据号
            modfyd.C_GPS_NO         = txtgps.Text;                           //GPS号
            modfyd.D_DISP_DT        = Convert.ToDateTime(txtfydt.Text);      //发运日期
            modfyd.C_SHIPVIA        = dropfyfs.SelectedItem.Value;           //发运方式
            modfyd.C_COMCAR         = dropcys.SelectedItem.Value;            //承运商
            modfyd.C_IS_WIRESALE    = dropsfxc.SelectedItem.Text;            //汉字是否线材
            modfyd.C_IS_WIRESALE_ID = dropsfxc.SelectedItem.Value;           //是否线材主键
            modfyd.C_LIC_PLA_NO     = txtcph.Text;                           //车牌号
            modfyd.C_ATSTATION      = txtdz.Text;                            //到站
            modfyd.C_EMP_ID         = ltlempid.Text;                         //修改人ID
            modfyd.C_EMP_NAME       = hidempname.Value;                      //修改人
            modfyd.C_EXTEND5        = ltltype.Text;                          //订单类型 8线材 6钢坯 831废乱材  841焦化产品 851渣
            modfyd.N_QUA            = fyzs;                                  //发运支数
            modfyd.N_WGT            = fywgt;                                 //发运量

            modfyd.N_IS_EXPORT = Convert.ToDecimal(dropsfbdj.SelectedValue); //是否包到价
            modfyd.C_EXTEND2   = txtxnch.Text;                               //虚拟车号
            #endregion

            if (tmd_dispatch.UpdateFYD(modfyd, item))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #9
0
        //新增钢种
        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);
            }
        }
예제 #10
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Mod_TMD_DISPATCHDETAILS DataRowToModel(DataRow row)
        {
            Mod_TMD_DISPATCHDETAILS model = new Mod_TMD_DISPATCHDETAILS();

            if (row != null)
            {
                if (row["C_ID"] != null)
                {
                    model.C_ID = row["C_ID"].ToString();
                }
                if (row["C_DISPATCH_ID"] != null)
                {
                    model.C_DISPATCH_ID = row["C_DISPATCH_ID"].ToString();
                }
                if (row["C_STOVE"] != null)
                {
                    model.C_STOVE = row["C_STOVE"].ToString();
                }
                if (row["C_BATCH_NO"] != null)
                {
                    model.C_BATCH_NO = row["C_BATCH_NO"].ToString();
                }
                if (row["C_TICK_NO"] != null)
                {
                    model.C_TICK_NO = row["C_TICK_NO"].ToString();
                }
                if (row["C_SLAB_NO"] != null)
                {
                    model.C_SLAB_NO = row["C_SLAB_NO"].ToString();
                }
                if (row["C_MAT_CODE"] != null)
                {
                    model.C_MAT_CODE = row["C_MAT_CODE"].ToString();
                }
                if (row["C_MAT_NAME"] != null)
                {
                    model.C_MAT_NAME = row["C_MAT_NAME"].ToString();
                }
                if (row["C_SPEC"] != null)
                {
                    model.C_SPEC = row["C_SPEC"].ToString();
                }
                if (row["C_STL_GRD"] != null)
                {
                    model.C_STL_GRD = row["C_STL_GRD"].ToString();
                }
                if (row["C_SEND_STOCK"] != null)
                {
                    model.C_SEND_STOCK = row["C_SEND_STOCK"].ToString();
                }
                if (row["C_QUALIRY_LEV"] != null)
                {
                    model.C_QUALIRY_LEV = row["C_QUALIRY_LEV"].ToString();
                }
                if (row["C_FREE_TERM"] != null)
                {
                    model.C_FREE_TERM = row["C_FREE_TERM"].ToString();
                }
                if (row["C_ELSENEED"] != null)
                {
                    model.C_ELSENEED = row["C_ELSENEED"].ToString();
                }
                if (row["N_COM_AMOUNT_WGT"] != null && row["N_COM_AMOUNT_WGT"].ToString() != "")
                {
                    model.N_COM_AMOUNT_WGT = decimal.Parse(row["N_COM_AMOUNT_WGT"].ToString());
                }
                if (row["N_WGT"] != null && row["N_WGT"].ToString() != "")
                {
                    model.N_WGT = decimal.Parse(row["N_WGT"].ToString());
                }
                if (row["C_EQUATION_FACTOR"] != null)
                {
                    model.C_EQUATION_FACTOR = row["C_EQUATION_FACTOR"].ToString();
                }
                if (row["N_OUT_STOCK_WGT"] != null && row["N_OUT_STOCK_WGT"].ToString() != "")
                {
                    model.N_OUT_STOCK_WGT = decimal.Parse(row["N_OUT_STOCK_WGT"].ToString());
                }
                if (row["C_UNITIS"] != null)
                {
                    model.C_UNITIS = row["C_UNITIS"].ToString();
                }
                if (row["C_SEND_SITE"] != null)
                {
                    model.C_SEND_SITE = row["C_SEND_SITE"].ToString();
                }
                if (row["C_AOG_SITE"] != null)
                {
                    model.C_AOG_SITE = row["C_AOG_SITE"].ToString();
                }
                if (row["C_ORGO_CUST"] != null)
                {
                    model.C_ORGO_CUST = row["C_ORGO_CUST"].ToString();
                }
                if (row["C_CGC"] != null)
                {
                    model.C_CGC = row["C_CGC"].ToString();
                }
                if (row["N_IS_SEND_CLOSE"] != null && row["N_IS_SEND_CLOSE"].ToString() != "")
                {
                    model.N_IS_SEND_CLOSE = decimal.Parse(row["N_IS_SEND_CLOSE"].ToString());
                }
                if (row["C_ORDER_TYPE"] != null)
                {
                    model.C_ORDER_TYPE = row["C_ORDER_TYPE"].ToString();
                }
                if (row["C_SEND_AREA"] != null)
                {
                    model.C_SEND_AREA = row["C_SEND_AREA"].ToString();
                }
                if (row["C_AREA"] != null)
                {
                    model.C_AREA = row["C_AREA"].ToString();
                }
                if (row["C_AU_UNITIS"] != null)
                {
                    model.C_AU_UNITIS = row["C_AU_UNITIS"].ToString();
                }
                if (row["C_CUSTFILE_ID"] != null)
                {
                    model.C_CUSTFILE_ID = row["C_CUSTFILE_ID"].ToString();
                }
                if (row["C_CUST_ID"] != null)
                {
                    model.C_CUST_ID = row["C_CUST_ID"].ToString();
                }
                if (row["C_REMARK"] != null)
                {
                    model.C_REMARK = row["C_REMARK"].ToString();
                }
                if (row["C_MZDATE"] != null)
                {
                    model.C_MZDATE = row["C_MZDATE"].ToString();
                }
                if (row["N_MWGT"] != null && row["N_MWGT"].ToString() != "")
                {
                    model.N_MWGT = decimal.Parse(row["N_MWGT"].ToString());
                }
                if (row["N_PWGT"] != null && row["N_PWGT"].ToString() != "")
                {
                    model.N_PWGT = decimal.Parse(row["N_PWGT"].ToString());
                }
                if (row["N_JWGT"] != null && row["N_JWGT"].ToString() != "")
                {
                    model.N_JWGT = decimal.Parse(row["N_JWGT"].ToString());
                }
                if (row["N_MZTIME"] != null)
                {
                    model.N_MZTIME = row["N_MZTIME"].ToString();
                }
                if (row["N_PZTIME"] != null)
                {
                    model.N_PZTIME = row["N_PZTIME"].ToString();
                }
                if (row["C_EMP_ID"] != null)
                {
                    model.C_EMP_ID = row["C_EMP_ID"].ToString();
                }
                if (row["C_EMP_NAME"] != null)
                {
                    model.C_EMP_NAME = row["C_EMP_NAME"].ToString();
                }
                if (row["D_MOD_DT"] != null && row["D_MOD_DT"].ToString() != "")
                {
                    model.D_MOD_DT = DateTime.Parse(row["D_MOD_DT"].ToString());
                }
                if (row["C_CON_NO"] != null)
                {
                    model.C_CON_NO = row["C_CON_NO"].ToString();
                }
                if (row["C_PLAN_ID"] != null)
                {
                    model.C_PLAN_ID = row["C_PLAN_ID"].ToString();
                }
                if (row["C_PLAN_CODE"] != null)
                {
                    model.C_PLAN_CODE = row["C_PLAN_CODE"].ToString();
                }
                if (row["C_PK_NCID"] != null)
                {
                    model.C_PK_NCID = row["C_PK_NCID"].ToString();
                }
                if (row["C_NO"] != null)
                {
                    model.C_NO = row["C_NO"].ToString();
                }
                if (row["C_STD_CODE"] != null)
                {
                    model.C_STD_CODE = row["C_STD_CODE"].ToString();
                }
                if (row["C_JUDGE_LEV_ZH"] != null)
                {
                    model.C_JUDGE_LEV_ZH = row["C_JUDGE_LEV_ZH"].ToString();
                }
                if (row["C_PRODUCT_ID"] != null)
                {
                    model.C_PRODUCT_ID = row["C_PRODUCT_ID"].ToString();
                }
                if (row["C_FREE_TERM2"] != null)
                {
                    model.C_FREE_TERM2 = row["C_FREE_TERM2"].ToString();
                }
                if (row["C_PACK"] != null)
                {
                    model.C_PACK = row["C_PACK"].ToString();
                }
                if (row["C_PZDATE"] != null)
                {
                    model.C_PZDATE = row["C_PZDATE"].ToString();
                }
                if (row["C_ORDERPK"] != null)
                {
                    model.C_ORDERPK = row["C_ORDERPK"].ToString();
                }
                if (row["C_CUSTNO"] != null)
                {
                    model.C_CUSTNO = row["C_CUSTNO"].ToString();
                }
                if (row["N_FYZS"] != null && row["N_FYZS"].ToString() != "")
                {
                    model.N_FYZS = decimal.Parse(row["N_FYZS"].ToString());
                }
                if (row["N_FYWGT"] != null && row["N_FYWGT"].ToString() != "")
                {
                    model.N_FYWGT = decimal.Parse(row["N_FYWGT"].ToString());
                }
                if (row["C_SEND_STOCK_PK"] != null)
                {
                    model.C_SEND_STOCK_PK = row["C_SEND_STOCK_PK"].ToString();
                }
                if (row["C_SEND_STOCK_CODE"] != null)
                {
                    model.C_SEND_STOCK_CODE = row["C_SEND_STOCK_CODE"].ToString();
                }
            }
            return(model);
        }
예제 #11
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public bool Add(Mod_TMD_DISPATCHDETAILS model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into TMD_DISPATCHDETAILS(");
            strSql.Append("C_ID,C_DISPATCH_ID,C_STOVE,C_BATCH_NO,C_TICK_NO,C_SLAB_NO,C_MAT_CODE,C_MAT_NAME,C_SPEC,C_STL_GRD,C_SEND_STOCK,C_QUALIRY_LEV,C_FREE_TERM,C_ELSENEED,N_COM_AMOUNT_WGT,N_WGT,C_EQUATION_FACTOR,N_OUT_STOCK_WGT,C_UNITIS,C_SEND_SITE,C_AOG_SITE,C_ORGO_CUST,C_CGC,N_IS_SEND_CLOSE,C_ORDER_TYPE,C_SEND_AREA,C_AREA,C_AU_UNITIS,C_CUSTFILE_ID,C_CUST_ID,C_REMARK,C_MZDATE,N_MWGT,N_PWGT,N_JWGT,N_MZTIME,N_PZTIME,C_EMP_ID,C_EMP_NAME,D_MOD_DT,C_CON_NO,C_PLAN_ID,C_PLAN_CODE,C_PK_NCID,C_NO,C_STD_CODE,C_JUDGE_LEV_ZH,C_PRODUCT_ID,C_FREE_TERM2,C_PACK,C_PZDATE)");
            strSql.Append(" values (");
            strSql.Append(":C_ID,:C_DISPATCH_ID,:C_STOVE,:C_BATCH_NO,:C_TICK_NO,:C_SLAB_NO,:C_MAT_CODE,:C_MAT_NAME,:C_SPEC,:C_STL_GRD,:C_SEND_STOCK,:C_QUALIRY_LEV,:C_FREE_TERM,:C_ELSENEED,:N_COM_AMOUNT_WGT,:N_WGT,:C_EQUATION_FACTOR,:N_OUT_STOCK_WGT,:C_UNITIS,:C_SEND_SITE,:C_AOG_SITE,:C_ORGO_CUST,:C_CGC,:N_IS_SEND_CLOSE,:C_ORDER_TYPE,:C_SEND_AREA,:C_AREA,:C_AU_UNITIS,:C_CUSTFILE_ID,:C_CUST_ID,:C_REMARK,:C_MZDATE,:N_MWGT,:N_PWGT,:N_JWGT,:N_MZTIME,:N_PZTIME,:C_EMP_ID,:C_EMP_NAME,:D_MOD_DT,:C_CON_NO,:C_PLAN_ID,:C_PLAN_CODE,:C_PK_NCID,:C_NO,:C_STD_CODE,:C_JUDGE_LEV_ZH,:C_PRODUCT_ID,:C_FREE_TERM2,:C_PACK,:C_PZDATE)");
            OracleParameter[] parameters =
            {
                new OracleParameter(":C_ID",              OracleDbType.Varchar2, 100),
                new OracleParameter(":C_DISPATCH_ID",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_STOVE",           OracleDbType.Varchar2, 100),
                new OracleParameter(":C_BATCH_NO",        OracleDbType.Varchar2, 100),
                new OracleParameter(":C_TICK_NO",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_SLAB_NO",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_MAT_CODE",        OracleDbType.Varchar2, 100),
                new OracleParameter(":C_MAT_NAME",        OracleDbType.Varchar2, 100),
                new OracleParameter(":C_SPEC",            OracleDbType.Varchar2, 100),
                new OracleParameter(":C_STL_GRD",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_SEND_STOCK",      OracleDbType.Varchar2, 100),
                new OracleParameter(":C_QUALIRY_LEV",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_FREE_TERM",       OracleDbType.Varchar2, 300),
                new OracleParameter(":C_ELSENEED",        OracleDbType.Varchar2, 100),
                new OracleParameter(":N_COM_AMOUNT_WGT",  OracleDbType.Decimal,   15),
                new OracleParameter(":N_WGT",             OracleDbType.Decimal,   15),
                new OracleParameter(":C_EQUATION_FACTOR", OracleDbType.Varchar2, 100),
                new OracleParameter(":N_OUT_STOCK_WGT",   OracleDbType.Decimal,    6),
                new OracleParameter(":C_UNITIS",          OracleDbType.Varchar2, 100),
                new OracleParameter(":C_SEND_SITE",       OracleDbType.Varchar2, 100),
                new OracleParameter(":C_AOG_SITE",        OracleDbType.Varchar2, 100),
                new OracleParameter(":C_ORGO_CUST",       OracleDbType.Varchar2, 100),
                new OracleParameter(":C_CGC",             OracleDbType.Varchar2, 100),
                new OracleParameter(":N_IS_SEND_CLOSE",   OracleDbType.Decimal,    1),
                new OracleParameter(":C_ORDER_TYPE",      OracleDbType.Varchar2, 100),
                new OracleParameter(":C_SEND_AREA",       OracleDbType.Varchar2, 100),
                new OracleParameter(":C_AREA",            OracleDbType.Varchar2, 100),
                new OracleParameter(":C_AU_UNITIS",       OracleDbType.Varchar2, 100),
                new OracleParameter(":C_CUSTFILE_ID",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_CUST_ID",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_REMARK",          OracleDbType.Varchar2, 500),
                new OracleParameter(":C_MZDATE",          OracleDbType.Varchar2, 100),
                new OracleParameter(":N_MWGT",            OracleDbType.Decimal,   15),
                new OracleParameter(":N_PWGT",            OracleDbType.Decimal,   15),
                new OracleParameter(":N_JWGT",            OracleDbType.Decimal,   15),
                new OracleParameter(":N_MZTIME",          OracleDbType.Varchar2, 100),
                new OracleParameter(":N_PZTIME",          OracleDbType.Varchar2, 100),
                new OracleParameter(":C_EMP_ID",          OracleDbType.Varchar2, 100),
                new OracleParameter(":C_EMP_NAME",        OracleDbType.Varchar2, 100),
                new OracleParameter(":D_MOD_DT",          OracleDbType.Date),
                new OracleParameter(":C_CON_NO",          OracleDbType.Varchar2, 100),
                new OracleParameter(":C_PLAN_ID",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_PLAN_CODE",       OracleDbType.Varchar2, 100),
                new OracleParameter(":C_PK_NCID",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_NO",              OracleDbType.Varchar2, 100),
                new OracleParameter(":C_STD_CODE",        OracleDbType.Varchar2, 100),
                new OracleParameter(":C_JUDGE_LEV_ZH",    OracleDbType.Varchar2, 100),
                new OracleParameter(":C_PRODUCT_ID",      OracleDbType.Varchar2, 100),
                new OracleParameter(":C_FREE_TERM2",      OracleDbType.Varchar2, 300),
                new OracleParameter(":C_PACK",            OracleDbType.Varchar2, 100),
                new OracleParameter(":C_PZDATE",          OracleDbType.Varchar2, 100)
            };
            parameters[0].Value  = model.C_ID;
            parameters[1].Value  = model.C_DISPATCH_ID;
            parameters[2].Value  = model.C_STOVE;
            parameters[3].Value  = model.C_BATCH_NO;
            parameters[4].Value  = model.C_TICK_NO;
            parameters[5].Value  = model.C_SLAB_NO;
            parameters[6].Value  = model.C_MAT_CODE;
            parameters[7].Value  = model.C_MAT_NAME;
            parameters[8].Value  = model.C_SPEC;
            parameters[9].Value  = model.C_STL_GRD;
            parameters[10].Value = model.C_SEND_STOCK;
            parameters[11].Value = model.C_QUALIRY_LEV;
            parameters[12].Value = model.C_FREE_TERM;
            parameters[13].Value = model.C_ELSENEED;
            parameters[14].Value = model.N_COM_AMOUNT_WGT;
            parameters[15].Value = model.N_WGT;
            parameters[16].Value = model.C_EQUATION_FACTOR;
            parameters[17].Value = model.N_OUT_STOCK_WGT;
            parameters[18].Value = model.C_UNITIS;
            parameters[19].Value = model.C_SEND_SITE;
            parameters[20].Value = model.C_AOG_SITE;
            parameters[21].Value = model.C_ORGO_CUST;
            parameters[22].Value = model.C_CGC;
            parameters[23].Value = model.N_IS_SEND_CLOSE;
            parameters[24].Value = model.C_ORDER_TYPE;
            parameters[25].Value = model.C_SEND_AREA;
            parameters[26].Value = model.C_AREA;
            parameters[27].Value = model.C_AU_UNITIS;
            parameters[28].Value = model.C_CUSTFILE_ID;
            parameters[29].Value = model.C_CUST_ID;
            parameters[30].Value = model.C_REMARK;
            parameters[31].Value = model.C_MZDATE;
            parameters[32].Value = model.N_MWGT;
            parameters[33].Value = model.N_PWGT;
            parameters[34].Value = model.N_JWGT;
            parameters[35].Value = model.N_MZTIME;
            parameters[36].Value = model.N_PZTIME;
            parameters[37].Value = model.C_EMP_ID;
            parameters[38].Value = model.C_EMP_NAME;
            parameters[39].Value = model.D_MOD_DT;
            parameters[40].Value = model.C_CON_NO;
            parameters[41].Value = model.C_PLAN_ID;
            parameters[42].Value = model.C_PLAN_CODE;
            parameters[43].Value = model.C_PK_NCID;
            parameters[44].Value = model.C_NO;
            parameters[45].Value = model.C_STD_CODE;
            parameters[46].Value = model.C_JUDGE_LEV_ZH;
            parameters[47].Value = model.C_PRODUCT_ID;
            parameters[48].Value = model.C_FREE_TERM2;
            parameters[49].Value = model.C_PACK;
            parameters[50].Value = model.C_PZDATE;

            int rows = DbHelperOra.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #12
0
        /// <summary>
        /// 添加发运单
        /// </summary>
        /// <returns></returns>
        private bool InsertFyd()
        {
            decimal fyzs  = 0;
            decimal fywgt = 0;

            string sendcode = randomnumber.CreateDispID();                                   //发运单据号

            #region                                                                          //表体
            List <Mod_TMD_DISPATCHDETAILS> item      = new List <Mod_TMD_DISPATCHDETAILS>(); //发运明显
            List <Mod_TMC_TRAIN_ITEM>      trainList = new List <Mod_TMC_TRAIN_ITEM>();      //火运计划申请明显
            for (int i = 0; i < rptList.Items.Count; i++)
            {
                HtmlInputCheckBox chkOrder     = (HtmlInputCheckBox)rptList.Items[i].FindControl("chkOrder"); //订单主键
                HtmlInputText     txtfyzs      = (HtmlInputText)rptList.Items[i].FindControl("txtfyzs");      //发运支数
                HtmlInputText     txtjhfyl     = (HtmlInputText)rptList.Items[i].FindControl("txtjhfyl");     //发运数量
                HtmlInputHidden   hidC_CGID    = (HtmlInputHidden)rptList.Items[i].FindControl("hidC_CGID");  //收货单位
                HtmlInputHidden   hidshdq      = (HtmlInputHidden)rptList.Items[i].FindControl("hidshdq");    //收货地区
                TextBox           txtPack_Code = (TextBox)rptList.Items[i].FindControl("txtPack_Code");       //包装要求
                DropDownList      dropzldj     = (DropDownList)rptList.Items[i].FindControl("dropzldj");      //质量等级
                DropDownList      dropshdz     = (DropDownList)rptList.Items[i].FindControl("dropshdz");      //收货地址
                Literal           ltlpkplan    = (Literal)rptList.Items[i].FindControl("ltlpkplan");          //日计划主键
                Literal           ltlcustno    = (Literal)rptList.Items[i].FindControl("ltlcustno");          //客户编码

                HtmlInputHidden hidckid     = (HtmlInputHidden)rptList.Items[i].FindControl("hidckid");       //仓库ID
                HtmlInputText   txtckname   = (HtmlInputText)rptList.Items[i].FindControl("txtckname");       //仓库名称
                HtmlInputText   txtqtyq     = (HtmlInputText)rptList.Items[i].FindControl("txtqtyq");         //其他要求
                HtmlInputText   txtremark   = (HtmlInputText)rptList.Items[i].FindControl("txtremark");       //行备注
                HtmlInputText   txtaddr     = (HtmlInputText)rptList.Items[i].FindControl("txtaddr");         //到货地点
                HtmlInputText   txtprice    = (HtmlInputText)rptList.Items[i].FindControl("txtprice");        //费用
                TextBox         txtStd_Code = (TextBox)rptList.Items[i].FindControl("txtStd_Code");           //执行标准
                TextBox         txtC_FREE1  = (TextBox)rptList.Items[i].FindControl("txtC_FREE1");            //自由项1
                TextBox         txtC_FREE2  = (TextBox)rptList.Items[i].FindControl("txtC_FREE2");            //自由项2

                Mod_TMO_ORDER modOrder = tmo_order.GetModel(chkOrder.Value);
                if (modOrder != null)
                {
                    fyzs  += Convert.ToDecimal(txtfyzs.Value ?? "0");
                    fywgt += Convert.ToDecimal(txtjhfyl.Value ?? "0");

                    Mod_TMD_DISPATCHDETAILS modfyditem = new Mod_TMD_DISPATCHDETAILS();
                    modfyditem.C_DISPATCH_ID     = sendcode;                           //发运单单据号
                    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     = dropzldj.SelectedItem.Value;        //质量等级主键-发运单
                    modfyditem.C_JUDGE_LEV_ZH    = dropzldj.SelectedItem.Text;         //质量等级编码
                    modfyditem.C_FREE_TERM       = txtC_FREE1.Text;                    //自由项
                    modfyditem.C_FREE_TERM2      = txtC_FREE2.Text;                    //自由项
                    modfyditem.C_PACK            = txtPack_Code.Text;                  //包装要求
                    modfyditem.C_STD_CODE        = txtStd_Code.Text;                   //执行标准
                    modfyditem.C_ELSENEED        = txtqtyq.Value;                      //其他要求?
                    modfyditem.C_REMARK          = txtremark.Value;                    //行备注*****
                    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             = hidC_CGID.Value;                    //收货单位-发运单
                    modfyditem.C_ORDER_TYPE      = modOrder.N_TYPE.ToString();         //订单类型 8线材 6钢坯 831废乱材  841焦化产品 851渣
                    modfyditem.C_SEND_AREA       = hidshdq.Value;                      //到货地区-发运单
                    modfyditem.C_AREA            = dropshdz.SelectedItem?.Value ?? ""; //到货地址-发运单
                    modfyditem.C_EMP_ID          = ltlempid.Text;
                    modfyditem.C_EMP_NAME        = ltlempname.Text;
                    modfyditem.C_CON_NO          = modOrder.C_CON_NO;                                            //合同号
                    modfyditem.C_PLAN_ID         = ltlpkplan.Text;                                               //日计划主键
                    modfyditem.C_NO            = modOrder.C_ORDER_NO;                                            //订单号
                    modfyditem.C_ORDERPK       = modOrder.C_ID;                                                  //订单主键
                    modfyditem.C_CUSTNO        = ltlcustno.Text;                                                 //客户编码
                    modfyditem.N_FYZS          = Convert.ToDecimal(txtfyzs.Value == "" ? "0" : txtfyzs.Value);   //发运支数
                    modfyditem.N_FYWGT         = Convert.ToDecimal(txtjhfyl.Value == "" ? "0" : txtjhfyl.Value); //发运数量
                    modfyditem.C_SEND_STOCK    = txtckname.Value;                                                //发运仓库名称
                    modfyditem.C_SEND_STOCK_PK = hidckid.Value;                                                  //发运仓库ID
                    modfyditem.C_PRODUCT_ID    = "";                                                             //库存产品ID
                    modfyditem.C_AU_UNITIS     = modOrder.C_FUNITID;                                             //辅单位
                    modfyditem.C_AOG_SITE      = txtaddr.Value;                                                  //到货地点
                    modfyditem.N_PRICE         = Convert.ToDecimal(txtprice.Value == "" ? "0" : txtprice.Value); //到货地点费用
                    item.Add(modfyditem);

                    #region //火运计划明细

                    Mod_TS_CUSTFILE modCustInfo = ts_custfile.GetCustInfo(txtkpdwcode.Text == "" ? modOrder.C_CUST_NO : txtkpdwcode.Text);

                    var modTrainItem = new Mod_TMC_TRAIN_ITEM()
                    {
                        C_EMPNAME    = ltlempname.Text,                                                //提报人
                        C_PKID       = sendcode,                                                       //发运单号
                        C_AREA       = modOrder.C_AREA,                                                //区域
                        C_CONNO      = modOrder.C_CON_NO,                                              //合同号
                        C_DH_COMPANY = modOrder.C_CUST_NAME,                                           //订货单位
                        C_SH_COMPANY = txtshdw.Text == "" ? modOrder.C_CUST_NAME : txtshdw.Text,       //收货单位
                        C_CUSTNO     = modCustInfo.C_NO,                                               //客户编码
                        C_CUSTNAME   = modCustInfo.C_NAME,                                             //客户名称
                        C_KH_BANK    = modCustInfo.C_EXTEND1,                                          //开户行
                        C_TAXNO      = modCustInfo.C_TAXPAYERNO,                                       //税号
                        C_ADDRESS    = modCustInfo.C_EXTEND3,                                          //地址
                        C_TEL        = modCustInfo.C_EXTEND4,                                          //电话
                        C_ACCOUNT    = modCustInfo.C_EXTEND2,                                          //账号
                        C_FLAG       = "1",
                        C_BILLCODE   = modOrder.C_ORDER_NO,                                            //订单号
                        C_SPEC       = modOrder.C_SPEC,                                                //规格
                        C_STL_GRD    = modOrder.C_STL_GRD,                                             //钢种
                        N_WGT        = Convert.ToDecimal(txtjhfyl.Value == "" ? "0" : txtjhfyl.Value), //发运量
                        C_REMARK     = txtremark.Value                                                 //行备注
                    };
                    trainList.Add(modTrainItem);
                    #endregion
                }
            }
            #endregion

            #region//发运表头
            Mod_TMD_DISPATCH modfyd = new Mod_TMD_DISPATCH();

            modfyd.C_ID             = sendcode;                         //发运单单据号
            modfyd.C_GPS_NO         = txtgps.Text;                      //GPS号
            modfyd.D_DISP_DT        = Convert.ToDateTime(txtfydt.Text); //发运日期
            modfyd.C_SHIPVIA        = dropfyfs.SelectedItem.Value;      //发运方式
            modfyd.C_COMCAR         = dropcys.SelectedItem.Value;       //承运商
            modfyd.C_IS_WIRESALE    = dropsfxc.SelectedItem.Text;       //汉字是否线材
            modfyd.C_IS_WIRESALE_ID = dropsfxc.SelectedItem.Value;      //是否线材主键
            modfyd.C_LIC_PLA_NO     = txtcph.Text;                      //车牌号
            modfyd.C_ATSTATION      = txtdz.Text;                       //到站
            modfyd.C_CREATE_ID      = ltlempid.Text;                    //制单人
            modfyd.C_EMP_ID         = ltlempid.Text;                    //修改人ID
            modfyd.C_EMP_NAME       = ltlempname.Text;                  //修改人
            modfyd.C_EXTEND5        = ltltype.Text;                     //订单类型 8线材 6钢坯 831废乱材  841焦化产品 851渣
            modfyd.C_CUSTNAME       = ltlcustname.Text;                 //客户
            modfyd.C_CON_NO         = ltlcon_no.Text;                   //合同号
            modfyd.N_QUA            = fyzs;                             //发运支数
            modfyd.N_WGT            = fywgt;                            //发运量

            //0001NC10000000003ILQ-火运代垫,0001NC10000000003ILR-汽运代垫,0001NC10000000003ILV-自提运输
            modfyd.N_IS_EXPORT = dropfyfs.SelectedValue == "0001NC10000000003ILQ" ? 1 : Convert.ToDecimal(dropsfbdj.SelectedValue); //是否包到价

            modfyd.C_EXTEND2 = txtxnch.Text == "" ? txtcph.Text : txtxnch.Text;                                                     //虚拟车号
            modfyd.C_EXTEND4 = txtcust_tel.Text;                                                                                    //客户姓名/电话
            modfyd.C_EXTEND3 = txtsjtel.Text;                                                                                       //司机姓名/电话

            Mod_TMO_CON modCon = tmo_con.GetModel(ltlcon_no.Text);
            if (modCon != null)
            {
                modfyd.C_BUSINESS_DEPT = modCon.C_DEPTID;     //业务部门
                modfyd.C_BUSINESS_ID   = modCon.C_EMPLOYEEID; //业务员
            }
            #endregion

            #region                                                                   //火运计划表头

            string fyfalg = ts_dic.GetDicFlag("ShipVia", dropfyfs.SelectedItem.Text); //获取是否下发审核(泰翔)Y/N

            var modtrain = new Mod_TMC_TRAIN_MAIN()
            {
                C_ID        = sendcode,
                C_EMPID     = modfyd.C_CREATE_ID,
                C_EMPNAME   = modfyd.C_EMP_NAME,
                C_STATION   = modfyd.C_ATSTATION,
                C_PLANNO    = txtplanno.Text,
                C_LINE      = txtline.Text,
                C_REMARK    = txtshdw.Text,
                N_TRAIN_NUM = 1,
                C_SHIPVIA   = dropfyfs.SelectedItem.Text,
                C_ISCHECK   = fyfalg == "N" ? "Y" : "N"//Y通过/N未通过
            };
            #endregion

            if (tmd_dispatch.InsertFYD(modfyd, item))
            {
                txtsendcode.Text = sendcode;
                //汽运代垫自动生成汽运计划/火运计划
                if (dropfyfs.SelectedValue == "0001NC10000000003ILR" || cbx_sftrain.Checked == true)
                {
                    #region //自动生成火运/汽运日计划申请
                    try
                    {
                        tmd_dispatch.AddTrainPlan(modtrain, trainList);
                    }
                    catch (Exception)
                    {
                        return(true);
                    }
                    #endregion
                }

                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #13
0
        /// <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;
            }
        }
예제 #14
0
        /// <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;
            }
        }