| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- 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 FK_YF_SyncServiceModel
- {
- public class DataModel
- {
- public string 集团 { get; set; } = "0";
- 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; } = "F3";
- public string 付款类型 { get; set; } = "F3-Cxx-010";
- public string 单据大类 { get; set; } = "fk";
- public string 业务流程 { get; set; } = "AP02";
- public string 单据号 { get; set; }
- public string 单据日期 { get; set; }
- public string 单据所属系统 { get; set; } = "1";
- public string 单据来源系统 { get; set; } = "1";
- public string 单据状态 { get; set; } = "-1";
- public string 结算状态 { get; set; } = "1";
- public string 生效状态 { get; set; } = "10";
- 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; } = "1";
- public string 付款银行账户 { get; set; }
- public string 价税合计 { get; set; }
- public string 年份 { get; set; }
- public string 月份 { get; set; }
- public string 起算日期 { get; set; }
- public string 汇率 { get; set; } = "1";
- public string 折扣 { get; set; } = "100";
- public List<Item> 明细 { get; set; }
- public class Item
- {
- 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 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","F3"),
- new XAttribute("proc","add"),
- 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("sett_org",item.组织),
- new XElement("pk_org",item.组织),
- new XElement("pk_fiorg",item.组织),
- new XElement("prepay","1"),// 预付款
- new XElement("supplier",item.供应商),
- new XElement("checkdirection","ap"),
- new XElement("billdate",item.单据日期),
- new XElement("pk_billtype",item.单据类型),
- new XElement("billclass",item.单据大类),
- new XElement("pk_tradetype",item.付款类型),
- new XElement("busidate",item.起算日期),
- new XElement("billno",item.单据号),
- new XElement("objtype",item.往来对象),
- new XElement("rowno",crowno.ToString()),
- new XElement("direction","1"),
- // new XElement("scomment",itemData.摘要),
- new XElement("subjcode",itemData.科目),
- new XElement("pk_currtype",item.币种),
- new XElement("rate",item.汇率),
- new XElement("pk_deptid",itemData.部门),
- new XElement("project",itemData.项目),
- new XElement("money_de",itemData.价税合计),
- new XElement("local_money_de",itemData.价税合计),
- new XElement("local_money_bal",itemData.价税合计),
- new XElement("notax_de",itemData.无税金额),
- new XElement("local_notax_de",itemData.价税合计),
- new XElement("payaccount",item.付款银行账户),
- new XElement("invoiceno",item.发票号.Length<=40?item.发票号:item.发票号.Substring(0,40)),
- new XElement("def12",itemData.税额),
- new XElement("def11",itemData.无税金额),
- new XElement("occupationmny",itemData.价税合计),
- 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"),
- }));
- 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_fiorg",item.组织),
- new XElement("pk_org",item.组织),
- new XElement("sett_org",item.组织),
- new XElement("pk_corp",item.组织),
- new XElement("isreded","N"),
- new XElement("payman",item.支付人),
- new XElement("paydate",item.支付日期),
- new XElement("isonlinepay","N"),
- new XElement("creationtime",item.创建时间),
- new XElement("creator",item.创建人),
- new XElement("pk_billtype",item.单据类型),
- new XElement("pk_tradetype",item.付款类型),
- new XElement("billclass",item.单据大类),
- new XElement("pk_busitype",item.业务流程),
- new XElement("ismandatepay","N"),
- new XElement("accessorynum","0"),
- new XElement("isflowbill","N"),
- new XElement("isinit","N"),
- new XElement("billno",item.单据号),
- new XElement("billdate",item.单据日期),
- new XElement("syscode",item.单据所属系统),
- new XElement("src_syscode",item.单据来源系统),
- new XElement("billstatus",item.单据状态),
- new XElement("billmaker",item.制单人),
- new XElement("isnetpayready","N"),
- new XElement("money",item.价税合计),
- new XElement("local_money",item.价税合计),
- new XElement("billyear",item.年份),
- new XElement("billperiod",item.月份),
- new XElement("settleflag",item.结算状态),
- new XElement("effectstatus",item.生效状态),
- new XElement("effectuser",item.生效人),
- new XElement("effectdate",item.生效日期),
- new XElement("def2",item.发票号),
- // new XElement("pk_deptid",item.发票号),
- new XElement("supplier",item.供应商),
- new XElement("pk_currtype",item.币种),
- new XElement("objtype",item.往来对象),
- new XElement("payaccount",item.付款银行账户),
- new XElement("busidate",item.起算日期),
- new XElement("bodys",bodys),
- }),
- });
- }
- }
- }
- }
|