|
|
@@ -0,0 +1,728 @@
|
|
|
+using System;
|
|
|
+using System.Collections.Generic;
|
|
|
+using System.Linq;
|
|
|
+using System.Text;
|
|
|
+using System.Threading.Tasks;
|
|
|
+using System.Xml.Linq;
|
|
|
+
|
|
|
+namespace HH.YiDaSyncNC.Models
|
|
|
+{
|
|
|
+ class KP_SyncServiceModel
|
|
|
+ {
|
|
|
+ public class DataModel
|
|
|
+ {
|
|
|
+ public string 集团 { get; set; } = "0";
|
|
|
+ public string 组织 { get; set; }
|
|
|
+
|
|
|
+ public string 销售订单单据类型 { get; set; } = "30-Cxx-02";
|
|
|
+ public string 销售订单单据大类 { get; set; } = "30";
|
|
|
+
|
|
|
+ public string 销售发票单据类型 { get; set; } = "32-01";
|
|
|
+ public string 销售发票单据大类 { get; set; } = "32";
|
|
|
+
|
|
|
+ public string 应收单单据类型 { get; set; } = "F0";
|
|
|
+ public string 应收类型 { get; set; } = "D0";
|
|
|
+ public string 应收单单据大类 { get; set; } = "ys";
|
|
|
+
|
|
|
+ public string 业务流程 { get; set; } = "Cxx-xs-03";
|
|
|
+ public string 单据号 { get; set; } // 不传
|
|
|
+ public string 单据日期 { get; set; }
|
|
|
+
|
|
|
+ public string 客户 { get; set; }
|
|
|
+ public string 部门 { get; set; }
|
|
|
+ public string 业务员 { get; set; }
|
|
|
+ public string 币种 { get; set; } = "CNY";
|
|
|
+ public string 收款协议 { get; set; }
|
|
|
+ public string 审批人 { get; set; }
|
|
|
+ public string 审批时间 { get; set; }
|
|
|
+ public string 制单人 { get; set; }
|
|
|
+ public string 制单时间 { get; set; }
|
|
|
+ public string 创建人 { get; set; }
|
|
|
+ public string 创建时间 { get; set; }
|
|
|
+
|
|
|
+ public string 国家 { get; set; } = "CN";
|
|
|
+ public string 项目 { get; set; }
|
|
|
+
|
|
|
+ public string 数量 { get; set; }
|
|
|
+ public string 价税合计 { get; set; }
|
|
|
+
|
|
|
+ // ----------------------------------------------------------------------
|
|
|
+ public string 发票号 { get; set; }
|
|
|
+ public string 发票类型 { get; set; } = "32-01";
|
|
|
+ public string 客户打印名称 { get; set; }
|
|
|
+
|
|
|
+ public string 开票类型 { get; set; }
|
|
|
+ public string OA单据号 { get; set; }
|
|
|
+ public string 合同业务类型 { get; set; }
|
|
|
+
|
|
|
+ public string 扣税类别 { get; set; } = "1";
|
|
|
+ public string 汇率 { get; set; } = "1";
|
|
|
+ public string 折扣 { get; set; } = "100";
|
|
|
+
|
|
|
+ public string 销售订单单据号 { get; set; } // ---------
|
|
|
+ public string 销售订单主表id { get; set; } // ---------
|
|
|
+
|
|
|
+ public string 销售发票主表id { get; set; } // ---------
|
|
|
+
|
|
|
+ public string 年份 { get; set; }
|
|
|
+ public string 月份 { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+ public List<OrderB> 明细 { get; set; }
|
|
|
+
|
|
|
+ public class OrderB
|
|
|
+ {
|
|
|
+ public string 物料 { get; set; }
|
|
|
+ public string 计量单位 { get; set; }
|
|
|
+
|
|
|
+ public string 换算率 { get; set; } = "1.00/1.00";
|
|
|
+ public string 数量 { get; set; }
|
|
|
+ public string 税码 { get; set; }
|
|
|
+ public string 税率 { get; set; }
|
|
|
+
|
|
|
+ public string 含税单价 { get; set; }
|
|
|
+ public string 无税单价 { get; set; }
|
|
|
+ public string 含税净价 { get; set; }
|
|
|
+ public string 无税净价 { get; set; }
|
|
|
+ public string 税额 { get; set; }
|
|
|
+ public string 无税金额 { get; set; }
|
|
|
+ public string 价税合计 { get; set; }
|
|
|
+
|
|
|
+ // ----------------------------------------------
|
|
|
+ public string 开票内容 { get; set; }
|
|
|
+ public string 行id { get; set; }
|
|
|
+
|
|
|
+ public string 销售订单子表id { get; set; } // ---------
|
|
|
+
|
|
|
+ public string 销售发票子表id { get; set; } // ---------
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public class ImportXml_销售订单
|
|
|
+ {
|
|
|
+ /// <summary>
|
|
|
+ /// 模板头部份
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static XElement TemplateHeade()
|
|
|
+ {
|
|
|
+
|
|
|
+ return new XElement(new XElement("ufinterface", new object[]
|
|
|
+ {
|
|
|
+ new XAttribute("sender","dingding"),
|
|
|
+ new XAttribute("roottag",""),
|
|
|
+ new XAttribute("replace","Y"),
|
|
|
+ new XAttribute("isexchange","Y"),
|
|
|
+ new XAttribute("groupcode","0"),
|
|
|
+ new XAttribute("filename",""),
|
|
|
+ new XAttribute("billtype","30"),
|
|
|
+ new XAttribute("account","develop")
|
|
|
+ }));
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 组建表头xml
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="item">表头参数</param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static XElement Header(DataModel item, string id)
|
|
|
+ {
|
|
|
+ var so_saleorder_b = new List<XElement>();
|
|
|
+
|
|
|
+ if (item.明细 != null && item.明细.Count > 0)
|
|
|
+ {
|
|
|
+ var crowno = 10; // 行号
|
|
|
+
|
|
|
+ foreach (var itemData in item.明细)
|
|
|
+ {
|
|
|
+ so_saleorder_b.Add(new XElement("item", new object[] {
|
|
|
+ new XElement("carorgvid",item.组织),
|
|
|
+ new XElement("carorgid",item.组织),
|
|
|
+ new XElement("csettleorgvid",item.组织),
|
|
|
+ new XElement("csettleorgid",item.组织),
|
|
|
+ new XElement("csendstockorgvid",item.组织),
|
|
|
+ new XElement("csendstockorgid",item.组织),
|
|
|
+
|
|
|
+ new XElement("creceivecustid",item.客户),
|
|
|
+ new XElement("crececountryid",item.国家),
|
|
|
+ new XElement("csendcountryid",item.国家),
|
|
|
+ new XElement("ctaxcountryid",item.国家),
|
|
|
+
|
|
|
+ new XElement("pk_group",item.集团),
|
|
|
+ new XElement("pk_org",item.组织),
|
|
|
+ new XElement("dbilldate",item.单据日期),
|
|
|
+ new XElement("dreceivedate",Convert.ToDateTime(item.单据日期).AddDays(1).ToString("yyyy-MM-dd HH:mm:ss")),
|
|
|
+ new XElement("dsenddate",Convert.ToDateTime(item.单据日期).AddDays(1).ToString("yyyy-MM-dd HH:mm:ss")),
|
|
|
+
|
|
|
+ new XElement("crowno",crowno.ToString()),
|
|
|
+ new XElement("cprojectid",item.项目),
|
|
|
+ new XElement("fbuysellflag","1"),
|
|
|
+ new XElement("flargesstypeflag","1"),
|
|
|
+
|
|
|
+ new XElement("cmaterialvid",itemData.物料),
|
|
|
+ new XElement("cmaterialid",itemData.物料),
|
|
|
+ new XElement("cunitid",itemData.计量单位),
|
|
|
+ new XElement("castunitid",itemData.计量单位),
|
|
|
+ new XElement("cqtunitid",itemData.计量单位),
|
|
|
+
|
|
|
+ new XElement("nastnum",itemData.数量),
|
|
|
+ new XElement("vchangerate",itemData.换算率),
|
|
|
+ new XElement("nqtunitnum",itemData.数量),
|
|
|
+ new XElement("nnum",itemData.数量),
|
|
|
+ new XElement("vqtunitrate",itemData.换算率),
|
|
|
+ new XElement("ctaxcodeid",itemData.税码),
|
|
|
+ new XElement("ntaxrate",itemData.税率),
|
|
|
+ new XElement("ftaxtypeflag","1"),
|
|
|
+ new XElement("ccurrencyid",item.币种),
|
|
|
+ new XElement("nexchangerate","1"),
|
|
|
+ new XElement("ndiscount","0"),
|
|
|
+ new XElement("ndiscountrate","100"),
|
|
|
+ new XElement("nitemdiscountrate","100"),
|
|
|
+
|
|
|
+ new XElement("norigtaxprice",itemData.含税单价),
|
|
|
+ new XElement("nqtorigtaxprice",itemData.含税单价),
|
|
|
+ new XElement("nqttaxprice",itemData.含税单价),
|
|
|
+ new XElement("ntaxprice",itemData.含税单价),
|
|
|
+
|
|
|
+ new XElement("nqtorigprice",itemData.无税单价),
|
|
|
+ new XElement("nqtorignetprice",itemData.无税单价),
|
|
|
+ new XElement("norigprice",itemData.无税单价),
|
|
|
+ new XElement("nprice",itemData.无税单价),
|
|
|
+ new XElement("nqtprice",itemData.无税单价),
|
|
|
+
|
|
|
+ new XElement("nqtorigtaxnetprc",itemData.含税净价),
|
|
|
+ new XElement("norigtaxnetprice",itemData.含税净价),
|
|
|
+ new XElement("nqttaxnetprice",itemData.含税净价),
|
|
|
+ new XElement("ntaxnetprice",itemData.含税净价),
|
|
|
+
|
|
|
+ new XElement("norignetprice",itemData.无税净价),
|
|
|
+ new XElement("nnetprice",itemData.无税净价),
|
|
|
+ new XElement("nqtnetprice",itemData.无税净价),
|
|
|
+
|
|
|
+ new XElement("ntax",itemData.税额),
|
|
|
+
|
|
|
+ new XElement("ncaltaxmny",itemData.无税金额),
|
|
|
+ new XElement("norigmny",itemData.无税金额),
|
|
|
+ new XElement("nmny",itemData.无税金额),
|
|
|
+
|
|
|
+ new XElement("norigtaxmny",itemData.价税合计),
|
|
|
+ new XElement("ntaxmny",itemData.价税合计),
|
|
|
+
|
|
|
+ new XElement("norigdiscount","0"),
|
|
|
+
|
|
|
+ new XElement("vbdef1",itemData.开票内容),
|
|
|
+ new XElement("vbdef10",itemData.行id),
|
|
|
+ }));
|
|
|
+
|
|
|
+ crowno = crowno + 10;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return new XElement("bill", new object[]
|
|
|
+ {
|
|
|
+ "",
|
|
|
+ new XAttribute("id",id),
|
|
|
+ new XElement("billhead", new object[]
|
|
|
+ {
|
|
|
+ new XElement("pk_group",item.集团),
|
|
|
+ new XElement("pk_org",item.组织),
|
|
|
+ new XElement("pk_org_v",item.组织),
|
|
|
+ new XElement("ctrantypeid",item.销售订单单据类型),
|
|
|
+ new XElement("vtrantypecode",item.销售订单单据类型),
|
|
|
+ new XElement("cbiztypeid",item.业务流程),
|
|
|
+ new XElement("vbillcode",""),
|
|
|
+
|
|
|
+ new XElement("dbilldate",item.单据日期),
|
|
|
+ new XElement("ccustomerid",item.客户),
|
|
|
+ new XElement("cdeptvid",item.部门),
|
|
|
+ new XElement("cdeptid",item.部门),
|
|
|
+ new XElement("cemployeeid",""),
|
|
|
+ new XElement("corigcurrencyid",item.币种),
|
|
|
+ new XElement("cinvoicecustid",item.客户),
|
|
|
+ new XElement("cpaytermid","01"),
|
|
|
+
|
|
|
+ new XElement("ntotalnum",item.数量),
|
|
|
+ new XElement("ntotalinvoicenum","1"),
|
|
|
+ new XElement("ntotalweight","0"),
|
|
|
+ new XElement("ntotalvolume","0"),
|
|
|
+ new XElement("ntotalpiece",""),
|
|
|
+ new XElement("ntotalorigmny",item.价税合计),
|
|
|
+ new XElement("bcooptopoflag","N"),
|
|
|
+ new XElement("fstatusflag","2"),
|
|
|
+ new XElement("fpfstatusflag","1"),
|
|
|
+ new XElement("approver",item.审批人),
|
|
|
+ new XElement("taudittime",item.审批时间),
|
|
|
+ new XElement("billmaker",item.制单人),
|
|
|
+ new XElement("dmakedate",item.制单时间),
|
|
|
+ new XElement("creator",item.创建人),
|
|
|
+ new XElement("creationtime",item.创建时间),
|
|
|
+ new XElement("modifier",""),
|
|
|
+ new XElement("modifiedtime",""),
|
|
|
+ new XElement("vdef4",item.开票类型),
|
|
|
+ new XElement("vdef1",item.OA单据号),
|
|
|
+ new XElement("vdef5",item.合同业务类型),
|
|
|
+ new XElement("vdef8",item.客户打印名称),
|
|
|
+
|
|
|
+ new XElement("so_saleorder_b",so_saleorder_b),
|
|
|
+ }),
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public class ImportXml_销售发票
|
|
|
+ {
|
|
|
+ /// <summary>
|
|
|
+ /// 模板头部份
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static XElement TemplateHeade()
|
|
|
+ {
|
|
|
+
|
|
|
+ return new XElement(new XElement("ufinterface", new object[]
|
|
|
+ {
|
|
|
+ new XAttribute("sender","dingding"),
|
|
|
+ new XAttribute("roottag",""),
|
|
|
+ new XAttribute("replace","Y"),
|
|
|
+ new XAttribute("isexchange","Y"),
|
|
|
+ new XAttribute("groupcode","0"),
|
|
|
+ new XAttribute("filename",""),
|
|
|
+ new XAttribute("billtype","32"),
|
|
|
+ new XAttribute("account","develop")
|
|
|
+ }));
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 组建表头xml
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="item">表头参数</param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static XElement Header(DataModel item, string id)
|
|
|
+ {
|
|
|
+ var csaleinvoicebid = new List<XElement>();
|
|
|
+
|
|
|
+ if (item.明细 != null && item.明细.Count > 0)
|
|
|
+ {
|
|
|
+ var crowno = 10; // 行号
|
|
|
+
|
|
|
+ foreach (var itemData in item.明细)
|
|
|
+ {
|
|
|
+ csaleinvoicebid.Add(new XElement("item", new object[] {
|
|
|
+ new XElement("pk_group",item.集团),
|
|
|
+ new XElement("pk_org",item.组织),
|
|
|
+ new XElement("dbilldate",item.单据日期),
|
|
|
+ new XElement("crowno",crowno.ToString()),
|
|
|
+
|
|
|
+ new XElement("cmaterialvid",itemData.物料),
|
|
|
+ new XElement("cmaterialid",itemData.物料),
|
|
|
+ new XElement("cvendorid",""),
|
|
|
+ new XElement("cprojectid",item.项目),
|
|
|
+ new XElement("cproductorid",""),
|
|
|
+ new XElement("castunitid",itemData.计量单位),
|
|
|
+ new XElement("nastnum",itemData.数量),
|
|
|
+ new XElement("cunitid",itemData.计量单位),
|
|
|
+ new XElement("nnum",itemData.数量),
|
|
|
+ new XElement("vchangerate",itemData.换算率),
|
|
|
+ new XElement("cqtunitid",itemData.计量单位),
|
|
|
+ new XElement("vqtunitrate",itemData.换算率),
|
|
|
+ new XElement("nqtunitnum",itemData.数量),
|
|
|
+
|
|
|
+ new XElement("bdiscountflag","N"),
|
|
|
+ new XElement("blaborflag","N"),
|
|
|
+ new XElement("blargessflag","N"),
|
|
|
+ new XElement("pk_batchcode",""),
|
|
|
+ new XElement("vbatchcode",""),
|
|
|
+
|
|
|
+ new XElement("ctaxcodeid",itemData.税码),
|
|
|
+ new XElement("ntaxrate",itemData.税率),
|
|
|
+ new XElement("ftaxtypeflag","1"),
|
|
|
+ new XElement("ndiscountrate",item.折扣),
|
|
|
+ new XElement("nitemdiscountrate",item.折扣),
|
|
|
+ new XElement("ninvoicedisrate",item.折扣),
|
|
|
+
|
|
|
+ new XElement("norigtaxprice",itemData.含税单价),
|
|
|
+ new XElement("nqtorigtaxprice",itemData.含税单价),
|
|
|
+ new XElement("nqttaxprice",itemData.含税单价),
|
|
|
+ new XElement("ntaxprice",itemData.含税单价),
|
|
|
+
|
|
|
+ new XElement("nqtorigprice",itemData.无税单价),
|
|
|
+ new XElement("nqtorignetprice",itemData.无税单价),
|
|
|
+ new XElement("norigprice",itemData.无税单价),
|
|
|
+ new XElement("nprice",itemData.无税单价),
|
|
|
+ new XElement("nqtprice",itemData.无税单价),
|
|
|
+
|
|
|
+ new XElement("nqtorigtaxnetprc",itemData.含税净价),
|
|
|
+ new XElement("norigtaxnetprice",itemData.含税净价),
|
|
|
+ new XElement("nqttaxnetprice",itemData.含税净价),
|
|
|
+ new XElement("ntaxnetprice",itemData.含税净价),
|
|
|
+
|
|
|
+ new XElement("norignetprice",itemData.无税净价),
|
|
|
+ new XElement("nnetprice",itemData.无税净价),
|
|
|
+ new XElement("nqtnetprice",itemData.无税净价),
|
|
|
+
|
|
|
+ new XElement("ntax",itemData.税额),
|
|
|
+
|
|
|
+ new XElement("ncaltaxmny",itemData.无税金额),
|
|
|
+ new XElement("norigmny",itemData.无税金额),
|
|
|
+ new XElement("nmny",itemData.无税金额),
|
|
|
+
|
|
|
+ new XElement("norigtaxmny",itemData.价税合计),
|
|
|
+ new XElement("ntaxmny",itemData.价税合计),
|
|
|
+
|
|
|
+ new XElement("norigdiscount","0"),
|
|
|
+ new XElement("ndiscount","0"),
|
|
|
+ new XElement("norigsubmny","0"),
|
|
|
+ new XElement("ngroupmny","0"),
|
|
|
+ new XElement("ngrouptaxmny","0"),
|
|
|
+ new XElement("nglobalmny","0"),
|
|
|
+ new XElement("nglobaltaxmny","0"),
|
|
|
+
|
|
|
+ new XElement("vfirsttype",item.销售订单单据类型),
|
|
|
+ new XElement("vfirstcode",item.销售订单单据号),
|
|
|
+ new XElement("vfirsttrantype",item.销售订单单据类型),
|
|
|
+ new XElement("vfirstrowno",crowno.ToString()),
|
|
|
+ new XElement("cfirstid",item.销售订单主表id),
|
|
|
+ new XElement("cfirstbid",itemData.销售订单子表id),
|
|
|
+
|
|
|
+ new XElement("vsrctype",item.销售订单单据大类),
|
|
|
+ new XElement("vsrccode",item.销售订单单据号),
|
|
|
+ new XElement("vsrctrantype",item.销售订单单据大类),
|
|
|
+ new XElement("vsrcrowno",crowno.ToString()),
|
|
|
+ new XElement("csrcid",item.销售订单主表id),
|
|
|
+ new XElement("csrcbid",itemData.销售订单子表id),
|
|
|
+
|
|
|
+ new XElement("copposesrcbid",""),
|
|
|
+
|
|
|
+ new XElement("csaleorgid",item.组织),
|
|
|
+ new XElement("csaleorgvid",item.组织),
|
|
|
+ new XElement("carorgid",item.组织),
|
|
|
+ new XElement("carorgvid",item.组织),
|
|
|
+ new XElement("cordercustid",item.客户),
|
|
|
+ new XElement("bfreecustflag","N"),
|
|
|
+ new XElement("cfreecustid",""),
|
|
|
+
|
|
|
+ new XElement("cdeptid",""),
|
|
|
+ new XElement("cdeptvid",""),
|
|
|
+ new XElement("cemployeeid",""),
|
|
|
+ new XElement("cchanneltypeid",""),
|
|
|
+
|
|
|
+ new XElement("creceivecustid",item.客户),
|
|
|
+ new XElement("creceiveaddrid",""),
|
|
|
+ new XElement("ctransporttypeid",""),
|
|
|
+
|
|
|
+ new XElement("csendstockorgid",item.组织),
|
|
|
+ new XElement("csendstockorgvid",item.组织),
|
|
|
+
|
|
|
+ new XElement("csendstordocid",""),
|
|
|
+ new XElement("cprodlineid",""),
|
|
|
+ new XElement("ccostsubjid",""),
|
|
|
+ new XElement("cctmanageid",""),
|
|
|
+ new XElement("cvmivenderid",""),
|
|
|
+ new XElement("vsumcode",""),
|
|
|
+
|
|
|
+ new XElement("nshouldoutnum",""),
|
|
|
+ new XElement("ntotaloutnum",""),
|
|
|
+ new XElement("ntotalincomenum",""),
|
|
|
+ new XElement("ntotalincomemny",""),
|
|
|
+ new XElement("ntotalcostnum",""),
|
|
|
+ new XElement("ntotalpaymny",""),
|
|
|
+ new XElement("vrownote",""),
|
|
|
+
|
|
|
+ new XElement("vbdef1",itemData.开票内容),
|
|
|
+ new XElement("vbdef10",itemData.行id),
|
|
|
+
|
|
|
+ new XElement("srcts",""),
|
|
|
+ new XElement("srcbts",""),
|
|
|
+ new XElement("ncanoutnum",""),
|
|
|
+ new XElement("nsrcnum","1"),
|
|
|
+ new XElement("cmarbascalssid",""),
|
|
|
+ }));
|
|
|
+
|
|
|
+ crowno = crowno + 10;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return new XElement("bill", new object[]
|
|
|
+ {
|
|
|
+ "",
|
|
|
+ new XAttribute("id",id),
|
|
|
+ new XElement("billhead", new object[]
|
|
|
+ {
|
|
|
+ new XElement("pk_group",item.集团),
|
|
|
+ new XElement("pk_org",item.组织),
|
|
|
+ new XElement("pk_org_v",item.组织),
|
|
|
+
|
|
|
+ new XElement("ctrantypeid",item.销售发票单据类型),
|
|
|
+ new XElement("vtrantypecode",item.销售发票单据类型),
|
|
|
+ new XElement("cbiztypeid",item.业务流程),
|
|
|
+
|
|
|
+ new XElement("vbillcode",item.发票号),
|
|
|
+
|
|
|
+ new XElement("dbilldate",item.单据日期),
|
|
|
+ new XElement("cinvoicecustid",item.客户),
|
|
|
+ new XElement("vprintcustname",item.客户打印名称),
|
|
|
+ new XElement("ccustbankid",""),
|
|
|
+ new XElement("ccustbankaccid",""),
|
|
|
+ new XElement("cpaytermid","01"),
|
|
|
+ new XElement("vcreditnum",""),
|
|
|
+ new XElement("vgoldtaxcode",""),
|
|
|
+ new XElement("btogoldtaxflag","Y"),
|
|
|
+ new XElement("tgoldtaxtime",item.创建时间),
|
|
|
+
|
|
|
+ new XElement("corigcurrencyid",item.币种),
|
|
|
+ new XElement("nexchangerate","1"),
|
|
|
+ new XElement("ccurrencyid",item.币种),
|
|
|
+
|
|
|
+ new XElement("ngroupexchgrate",""),
|
|
|
+ new XElement("nglobalexchgrate",""),
|
|
|
+ new XElement("nhvoicedisrate",""),
|
|
|
+
|
|
|
+ new XElement("ntotalastnum",item.数量),
|
|
|
+ new XElement("ntotalorigsubmny",""),
|
|
|
+ new XElement("ntotalorigmny",item.价税合计),
|
|
|
+
|
|
|
+ new XElement("csendcountryid",item.国家),
|
|
|
+ new XElement("crececountryid",item.国家),
|
|
|
+ new XElement("ctaxcountryid",item.国家),
|
|
|
+
|
|
|
+ new XElement("fbuysellflag","1"),
|
|
|
+ new XElement("btriatradeflag","N"),
|
|
|
+ new XElement("vvatcode",""),
|
|
|
+ new XElement("vcustvatcode",""),
|
|
|
+ new XElement("ctradewordid",""),
|
|
|
+ new XElement("bsubunitflag","N"),
|
|
|
+ new XElement("fopposeflag",""),
|
|
|
+ new XElement("vopposesrccode",""),
|
|
|
+ new XElement("copposesrcid",""),
|
|
|
+ new XElement("vnote",""),
|
|
|
+
|
|
|
+ new XElement("fstatusflag","2"),
|
|
|
+
|
|
|
+ new XElement("approver",item.审批人),
|
|
|
+ new XElement("taudittime",item.审批时间),
|
|
|
+ new XElement("billmaker",item.制单人),
|
|
|
+ new XElement("dmakedate",item.制单时间),
|
|
|
+ new XElement("creator",item.创建人),
|
|
|
+ new XElement("creationtime",item.创建时间),
|
|
|
+ new XElement("modifier",""),
|
|
|
+ new XElement("modifiedtime",""),
|
|
|
+ new XElement("iprintcount",""),
|
|
|
+
|
|
|
+ new XElement("vdef1",item.OA单据号),
|
|
|
+ new XElement("vdef2",item.发票号),
|
|
|
+ new XElement("vdef4",item.开票类型),
|
|
|
+ new XElement("vdef5",item.合同业务类型),
|
|
|
+
|
|
|
+ new XElement("csaleinvoicebid",csaleinvoicebid),
|
|
|
+ }),
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public class ImportXml_应收单
|
|
|
+ {
|
|
|
+ /// <summary>
|
|
|
+ /// 模板头部份
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static XElement TemplateHeade()
|
|
|
+ {
|
|
|
+
|
|
|
+ return new XElement(new XElement("ufinterface", new object[]
|
|
|
+ {
|
|
|
+ new XAttribute("sender","dingding"),
|
|
|
+ new XAttribute("roottag",""),
|
|
|
+ new XAttribute("replace","Y"),
|
|
|
+ new XAttribute("isexchange","Y"),
|
|
|
+ new XAttribute("groupcode","0"),
|
|
|
+ new XAttribute("filename",""),
|
|
|
+ new XAttribute("billtype","F0"),
|
|
|
+ new XAttribute("account","develop")
|
|
|
+ }));
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 组建表头xml
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="item">表头参数</param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static XElement Header(DataModel item, string id)
|
|
|
+ {
|
|
|
+ var bodys = new List<XElement>();
|
|
|
+
|
|
|
+ if (item.明细 != null && item.明细.Count > 0)
|
|
|
+ {
|
|
|
+ var crowno = 10; // 行号
|
|
|
+
|
|
|
+ foreach (var itemData in item.明细)
|
|
|
+ {
|
|
|
+ bodys.Add(new XElement("item", new object[] {
|
|
|
+ new XElement("pk_group",item.集团),
|
|
|
+ new XElement("pk_org",item.组织),
|
|
|
+ new XElement("pk_pcorg",""),
|
|
|
+ new XElement("pk_fiorg",item.组织),
|
|
|
+ new XElement("sett_org",item.组织),
|
|
|
+ new XElement("so_org",item.组织),
|
|
|
+
|
|
|
+ new XElement("material",itemData.物料),
|
|
|
+ new XElement("customer",item.客户),
|
|
|
+ new XElement("postunit",itemData.计量单位),
|
|
|
+
|
|
|
+ new XElement("postpricenotax",itemData.无税单价),
|
|
|
+ new XElement("postquantity",itemData.数量),
|
|
|
+ new XElement("postprice",itemData.含税单价),
|
|
|
+
|
|
|
+ new XElement("pausetransact","N"),
|
|
|
+
|
|
|
+ new XElement("billdate",item.单据日期),
|
|
|
+ new XElement("pk_billtype",item.应收单单据类型),
|
|
|
+ new XElement("billclass",item.应收单单据大类),
|
|
|
+ new XElement("pk_tradetype",item.应收类型),
|
|
|
+ new XElement("busidate",item.单据日期),
|
|
|
+
|
|
|
+ new XElement("objtype","0"),
|
|
|
+ new XElement("rowno",crowno.ToString()),
|
|
|
+ new XElement("rowtype","0"),
|
|
|
+ new XElement("direction","1"),
|
|
|
+
|
|
|
+ new XElement("pk_currtype",item.币种),
|
|
|
+ new XElement("rate",item.汇率),
|
|
|
+
|
|
|
+ new XElement("money_de",itemData.价税合计),
|
|
|
+ new XElement("local_money_de",itemData.价税合计),
|
|
|
+ new XElement("quantity_de",itemData.数量),
|
|
|
+ new XElement("money_bal",itemData.价税合计),
|
|
|
+ new XElement("local_money_bal",itemData.价税合计),
|
|
|
+ new XElement("quantity_bal",itemData.数量),
|
|
|
+
|
|
|
+ new XElement("local_tax_de",itemData.税额),
|
|
|
+
|
|
|
+ new XElement("notax_de",itemData.无税金额),
|
|
|
+ new XElement("local_notax_de",itemData.无税金额),
|
|
|
+
|
|
|
+ new XElement("price",itemData.无税单价),
|
|
|
+ new XElement("taxprice",itemData.含税单价),
|
|
|
+ new XElement("taxrate",itemData.税率),
|
|
|
+
|
|
|
+ new XElement("top_billid",item.销售发票主表id),
|
|
|
+ // new XElement("top_itemid",itemData.销售发票子表id),
|
|
|
+ new XElement("top_billtype",item.销售发票单据大类),
|
|
|
+ new XElement("top_tradetype",item.销售发票单据类型),
|
|
|
+
|
|
|
+ new XElement("src_billid",item.销售订单主表id),
|
|
|
+ new XElement("src_itemid",itemData.销售订单子表id),
|
|
|
+ new XElement("src_billtype",item.销售订单单据大类),
|
|
|
+ new XElement("src_tradetype",item.销售订单单据类型),
|
|
|
+
|
|
|
+ new XElement("taxtype","1"),
|
|
|
+ new XElement("pk_payterm",item.收款协议),
|
|
|
+ new XElement("ordercubasdoc",item.客户),
|
|
|
+
|
|
|
+ new XElement("purchaseorder",item.销售订单单据号),
|
|
|
+ new XElement("invoiceno",item.发票号),
|
|
|
+
|
|
|
+ new XElement("vbdef1",itemData.开票内容),
|
|
|
+ new XElement("vbdef10",itemData.行id),
|
|
|
+
|
|
|
+ new XElement("grouprate","0"),
|
|
|
+ new XElement("globalrate","0"),
|
|
|
+ new XElement("groupdebit","0"),
|
|
|
+ new XElement("globaldebit","0"),
|
|
|
+ new XElement("groupbalance","0"),
|
|
|
+ new XElement("globalbalance","0"),
|
|
|
+ new XElement("groupnotax_de","0"),
|
|
|
+ new XElement("globalnotax_de","0"),
|
|
|
+ new XElement("occupationmny","0"),
|
|
|
+
|
|
|
+ new XElement("project",item.项目),
|
|
|
+
|
|
|
+ new XElement("rececountryid",item.国家),
|
|
|
+ new XElement("buysellflag","1"),
|
|
|
+ new XElement("taxcodeid",itemData.税码),
|
|
|
+ new XElement("caltaxmny",itemData.无税金额),
|
|
|
+ }));
|
|
|
+
|
|
|
+ crowno = crowno + 10;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return new XElement("bill", new object[]
|
|
|
+ {
|
|
|
+ "",
|
|
|
+ new XAttribute("id",id),
|
|
|
+ new XElement("billhead", new object[]
|
|
|
+ {
|
|
|
+ new XElement("pk_group",item.集团),
|
|
|
+ new XElement("pk_org",item.组织),
|
|
|
+ new XElement("pk_fiorg",item.组织),
|
|
|
+ new XElement("pk_pcorg",""),
|
|
|
+ new XElement("sett_org",item.组织),
|
|
|
+
|
|
|
+ new XElement("isreded","N"),
|
|
|
+ new XElement("outbusitype",""),
|
|
|
+ new XElement("officialprintuser",""),
|
|
|
+ new XElement("officialprintdate",""),
|
|
|
+
|
|
|
+ new XElement("approver",""),
|
|
|
+ new XElement("taudittime",""),
|
|
|
+ new XElement("billmaker",item.制单人),
|
|
|
+ new XElement("dmakedate",item.制单时间),
|
|
|
+ new XElement("creator",item.创建人),
|
|
|
+ new XElement("creationtime",item.创建时间),
|
|
|
+ new XElement("modifier",""),
|
|
|
+ new XElement("modifiedtime",""),
|
|
|
+
|
|
|
+ new XElement("pk_billtype",item.应收单单据类型),
|
|
|
+ new XElement("custdelegate",""),
|
|
|
+ new XElement("pk_corp",""),
|
|
|
+ new XElement("pk_tradetype",item.应收类型),
|
|
|
+ new XElement("pk_tradetype",item.应收类型),
|
|
|
+
|
|
|
+ new XElement("ctrantypeid",item.销售发票单据类型),
|
|
|
+ new XElement("vtrantypecode",item.销售发票单据类型),
|
|
|
+ new XElement("pk_busitype",item.业务流程),
|
|
|
+ new XElement("billclass",item.应收单单据大类),
|
|
|
+
|
|
|
+ new XElement("accessorynum","0"),
|
|
|
+ new XElement("subjcode",""),
|
|
|
+ new XElement("isflowbill","N"),
|
|
|
+ new XElement("confirmuser",""),
|
|
|
+ new XElement("isinit","N"),
|
|
|
+
|
|
|
+ new XElement("billno",item.OA单据号),
|
|
|
+ new XElement("billdate",item.单据日期),
|
|
|
+
|
|
|
+ new XElement("syscode","0"),
|
|
|
+ new XElement("src_syscode","3"),
|
|
|
+ new XElement("billstatus","-1"),
|
|
|
+ new XElement("lastadjustuser",""),
|
|
|
+
|
|
|
+ new XElement("money",item.价税合计),
|
|
|
+ new XElement("local_money",item.价税合计),
|
|
|
+ new XElement("rate",""),
|
|
|
+ new XElement("billyear",item.年份),
|
|
|
+ new XElement("billperiod",item.月份),
|
|
|
+
|
|
|
+ new XElement("scomment",""),
|
|
|
+ new XElement("effectstatus","10"),
|
|
|
+ new XElement("effectuser",""),
|
|
|
+ new XElement("effectdate",""),
|
|
|
+ new XElement("lastapproveid",""),
|
|
|
+
|
|
|
+ new XElement("so_org",item.组织),
|
|
|
+ new XElement("customer",item.客户),
|
|
|
+ new XElement("pk_currtype",item.币种),
|
|
|
+
|
|
|
+ new XElement("sendcountryid",item.国家),
|
|
|
+ new XElement("taxcountryid",item.国家),
|
|
|
+
|
|
|
+ new XElement("coordflag",""),
|
|
|
+ new XElement("inner_effect_date",""),
|
|
|
+ new XElement("busidate",""),
|
|
|
+
|
|
|
+ new XElement("bodys",bodys),
|
|
|
+ }),
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|