晓海 曾 %!s(int64=2) %!d(string=hai) anos
pai
achega
2032e6bb95

+ 341 - 341
HH.YiDaSyncNC/DataSync/FKGL_SyncService.cs

@@ -43,370 +43,370 @@ namespace HH.YiDaSyncNC.DataSync
 
         public void DataSync()
         {
-            try
-            {
+            //try
+            //{
 
-                DingTalkService _dingTalkService = new DingTalkService(_AppType, _SystemToken, _UserId, _FormId);
+            //    DingTalkService _dingTalkService = new DingTalkService(_AppType, _SystemToken, _UserId, _FormId);
 
-                // 宜搭全量数据Id
-                var serchKeyListJson = new
-                {
-                    radioField_lycrvvtk = "Y",
-                    selectField_lrnh633d = "预付",
+            //    // 宜搭全量数据Id
+            //    var serchKeyListJson = new
+            //    {
+            //        radioField_lycrvvtk = "Y",
+            //        selectField_lrnh633d = "预付",
 
-                };
-                var idList = _dingTalkService.GetFormIdList(JsonConvert.SerializeObject(serchKeyListJson));
-                //LogHelper.WriteLog(JsonConvert.SerializeObject(idList.Count), "idList");
-                #region 获取NC中选项数据的Id
-                var bd_customerDic = _db_nc.Queryable<bd_customer>().ToList();
-                var bd_incomeDic = _db_nc.Queryable<bd_income>().ToList();
-                var org_orgsDic = _db_nc.Queryable<org_orgs>().ToList();
-                var bd_projectDic = _db_nc.Queryable<bd_project>().ToList();
-                var bd_materialDic = _db_nc.Queryable<bd_material>().ToList();
-                var bd_measdocDic = _db_nc.Queryable<bd_measdoc>().ToList();
-                var org_deptDic = _db_nc.Queryable<org_dept>().ToList();
-                var bd_psndocDic = _db_nc.Queryable<bd_psndoc>().ToList();
-                var sm_userDic = _db_nc.Queryable<sm_user>().ToList();
-                var org_accountingbookDic = _db_nc.Queryable<org_accountingbook>().ToList();
-                #endregion
+            //    };
+            //    var idList = _dingTalkService.GetFormIdList(JsonConvert.SerializeObject(serchKeyListJson));
+            //    //LogHelper.WriteLog(JsonConvert.SerializeObject(idList.Count), "idList");
+            //    #region 获取NC中选项数据的Id
+            //    var bd_customerDic = _db_nc.Queryable<bd_customer>().ToList();
+            //    var bd_incomeDic = _db_nc.Queryable<bd_income>().ToList();
+            //    var org_orgsDic = _db_nc.Queryable<org_orgs>().ToList();
+            //    var bd_projectDic = _db_nc.Queryable<bd_project>().ToList();
+            //    var bd_materialDic = _db_nc.Queryable<bd_material>().ToList();
+            //    var bd_measdocDic = _db_nc.Queryable<bd_measdoc>().ToList();
+            //    var org_deptDic = _db_nc.Queryable<org_dept>().ToList();
+            //    var bd_psndocDic = _db_nc.Queryable<bd_psndoc>().ToList();
+            //    var sm_userDic = _db_nc.Queryable<sm_user>().ToList();
+            //    var org_accountingbookDic = _db_nc.Queryable<org_accountingbook>().ToList();
+            //    #endregion
 
-                foreach (var item in idList)
-                {
-                    string createTime = "";
-                    string modifyTime = "";
+            //    foreach (var item in idList)
+            //    {
+            //        string createTime = "";
+            //        string modifyTime = "";
 
-                    var ydDataSource = _dingTalkService.GetFormDataById(item, out createTime, out modifyTime);
-                    string jsonData = JsonConvert.SerializeObject(ydDataSource);
-                    YiDa_SKDNC thisYiDaData = JsonConvert.DeserializeObject<YiDa_SKDNC>(jsonData);
+            //        var ydDataSource = _dingTalkService.GetFormDataById(item, out createTime, out modifyTime);
+            //        string jsonData = JsonConvert.SerializeObject(ydDataSource);
+            //        YiDa_SKDNC thisYiDaData = JsonConvert.DeserializeObject<YiDa_SKDNC>(jsonData);
 
-                    if (string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb)) continue;
-                    //取值 宜搭表单的某个字段当作凭证日期 如果 支付完成时间 为null,就用 提交时间
-                    DateTime 凭证日期 = DateTime.Now;
-                    //thisYiDaData.dateField_lwitiobz is null
-                    //    ? UnixTimeHelper.ConvertMillisecondsToDateTime(thisYiDaData.dateField_lviv4sfy)
-                    //    : UnixTimeHelper.ConvertMillisecondsToDateTime((long)thisYiDaData.dateField_lwitiobz);
-                    string 组织 = "";
-                    if (!string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb))
-                    {
-                        var tempData = org_orgsDic.FirstOrDefault(f => f.name == thisYiDaData.selectField_lvywoqmb);
-                        if (tempData != null)
-                        {
-                            组织 = tempData.code; // 组织
-                        }
-                    }
+            //        if (string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb)) continue;
+            //        //取值 宜搭表单的某个字段当作凭证日期 如果 支付完成时间 为null,就用 提交时间
+            //        DateTime 凭证日期 = DateTime.Now;
+            //        //thisYiDaData.dateField_lwitiobz is null
+            //        //    ? UnixTimeHelper.ConvertMillisecondsToDateTime(thisYiDaData.dateField_lviv4sfy)
+            //        //    : UnixTimeHelper.ConvertMillisecondsToDateTime((long)thisYiDaData.dateField_lwitiobz);
+            //        string 组织 = "";
+            //        if (!string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb))
+            //        {
+            //            var tempData = org_orgsDic.FirstOrDefault(f => f.name == thisYiDaData.selectField_lvywoqmb);
+            //            if (tempData != null)
+            //            {
+            //                组织 = tempData.code; // 组织
+            //            }
+            //        }
 
 
-                    string 账簿 = "";
-                    if (!string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb))
-                    {
-                        var tempData = org_accountingbookDic.FirstOrDefault(f => f.name == thisYiDaData.selectField_lvywoqmb + "-蓝云账簿");
-                        if (tempData != null)
-                        {
-                            账簿 = tempData.code; // 账簿
-                        }
-                    }
-                    string 制单人 = "OA-NC";
+            //        string 账簿 = "";
+            //        if (!string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb))
+            //        {
+            //            var tempData = org_accountingbookDic.FirstOrDefault(f => f.name == thisYiDaData.selectField_lvywoqmb + "-蓝云账簿");
+            //            if (tempData != null)
+            //            {
+            //                账簿 = tempData.code; // 账簿
+            //            }
+            //        }
+            //        string 制单人 = "OA-NC";
 
-                    // 表头
-                    var headModel = new FKGL_SyncServiceModel.DataModel.voucher_header()
-                    {
-                        year = 凭证日期.ToString("yyyy"),//会计年度
-                        prepareddate = 凭证日期.ToString("yyyy-MM-dd"),//制单日期
-                        period = 凭证日期.ToString("MM"),//会计期间
-                        pk_prepared = 制单人,//凭证制单人--操作员工工号
-                        no = "",//凭证号
-                        pk_accountingbook = 账簿,//账簿
-                        org = 组织,//组织编码
-                        pk_vouchertype = "03",//凭证类别 : 01-记账凭证 ,02-收款凭证 ,03-付款凭证 ,04-转账凭证 要确定
-                    };
-                    //表体
-                    var detailList = new List<FKGL_SyncServiceModel.DataModel.voucher_body>();
+            //        // 表头
+            //        var headModel = new FKGL_SyncServiceModel.DataModel.voucher_header()
+            //        {
+            //            year = 凭证日期.ToString("yyyy"),//会计年度
+            //            prepareddate = 凭证日期.ToString("yyyy-MM-dd"),//制单日期
+            //            period = 凭证日期.ToString("MM"),//会计期间
+            //            pk_prepared = 制单人,//凭证制单人--操作员工工号
+            //            no = "",//凭证号
+            //            pk_accountingbook = 账簿,//账簿
+            //            org = 组织,//组织编码
+            //            pk_vouchertype = "03",//凭证类别 : 01-记账凭证 ,02-收款凭证 ,03-付款凭证 ,04-转账凭证 要确定
+            //        };
+            //        //表体
+            //        var detailList = new List<FKGL_SyncServiceModel.DataModel.voucher_body>();
 
-                    #region 例子
-                    //if (thisYiDaData.tableField_lrngrtgu != null)
-                    //{
-                        ////循环内是借方分录赋值
-                        //foreach (var objItem in detailObjList1)
-                        //{
+            //        #region 例子
+            //        //if (thisYiDaData.tableField_lrngrtgu != null)
+            //        //{
+            //            ////循环内是借方分录赋值
+            //            //foreach (var objItem in detailObjList1)
+            //            //{
 
 
-                        //    var detailItem = new FKGL_SyncServiceModel.DataModel.voucher_body()
-                        //    {
-                        //        detailindex = index,
-                        //        accsubjcode = objItem.textField_lwitioce,//科目编码 要确定
-                        //        pk_accasoa = objItem.textField_lwitioce,//科目编码 要确定
-                        //        explanation = objItem.textField_lvxa4v05,//摘要 要确定
-                        //        verifydate = 凭证日期.ToString("yyyy-MM-dd"),
-                        //        price = "0.00000000",
-                        //        excrate2 = "1",
-                        //        debitquantity = "0.00000000",
-                        //        debitamount = objItem.numberField_lvxa4v09.ToString(),//借方金额 要确定
-                        //        groupdebitamount = "0.00000000",
-                        //        globaldebitamount = "0.00000000",
-                        //        localdebitamount = objItem.numberField_lvxa4v09.ToString(),//借方金额 要确定
-                        //        creditquantity = "0.00000000",
-                        //        creditamount = "0.00000000",
-                        //        groupcreditamount = "0.00000000",
-                        //        globalcreditamount = "0.00000000",
-                        //        localcreditamount = "0.00000000",
-                        //        billtype = "",
-                        //        bankaccount = "",
-                        //        checkstyle = "",
-                        //        checkno = "",
-                        //        checkdate = "",
-                        //        bill_id = "",
-                        //        bill_date = "",
-                        //        pk_currtype = "CNY",
-                        //        cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow()//现金流 要确定
-                        //        {
-                        //            m_pk_currtype = "CNY",
-                        //            money = objItem.numberField_lvxa4v09.ToString(),//金额 要确定
-                        //            moneymain = objItem.numberField_lvxa4v09.ToString(),//金额 要确定
-                        //            moneygroup = "",
-                        //            moneyglobal = "",
-                        //            pk_cashflow = "1124",//写死目前 要确定
-                        //            pk_innercorp = "",
-                        //        },
-                        //        ass = new List<FKGL_SyncServiceModel.DataModel.ass>()//要确定
-                        //        {
-                        //            new FKGL_SyncServiceModel.DataModel.ass()
-                        //            {
-                        //                pk_Checktype ="0010",//0010-项目辅助核算 要确定
-                        //                pk_Checkvalue = "XM00368",//项目编码 目前写死 要确定
-                        //            }
-                        //        },
-                        //    };
-                        //    detailList.Add(detailItem);
-                        //    //销项税分录 要确认
-                        //    detailList.Add(
-                        //        new FKGL_SyncServiceModel.DataModel.voucher_body()
-                        //        {
-                        //            detailindex = index + 1,
-                        //            accsubjcode = "22210103",//科目编码 要确定
-                        //            pk_accasoa = "22210103",//科目编码 要确定
-                        //            explanation = objItem.textField_lvxa4v05,//摘要 要确定
-                        //            verifydate = 凭证日期.ToString("yyyy-MM-dd"),
-                        //            price = "0.00000000",
-                        //            excrate2 = "1",
-                        //            debitquantity = "0.00000000",
-                        //            debitamount = objItem.numberField_lvxa4v08.ToString(),//借方金额 要确定
-                        //            groupdebitamount = "0.00000000",
-                        //            globaldebitamount = "0.00000000",
-                        //            localdebitamount = objItem.numberField_lvxa4v08.ToString(),//借方金额 要确定
-                        //            creditquantity = "0.00000000",
-                        //            creditamount = "0.00000000",//贷方金额
-                        //            groupcreditamount = "0.00000000",
-                        //            globalcreditamount = "0.00000000",
-                        //            localcreditamount = "0.00000000",//贷方金额
-                        //            billtype = "",
-                        //            bankaccount = "",
-                        //            checkstyle = "",
-                        //            checkno = "",
-                        //            checkdate = "",
-                        //            bill_id = "",
-                        //            bill_date = "",
-                        //            pk_currtype = "CNY",
-                        //            cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow()//现金流 要确定
-                        //            {
-                        //                m_pk_currtype = "CNY",
-                        //                money = objItem.numberField_lvxa4v08.ToString(),//金额 要确定
-                        //                moneymain = objItem.numberField_lvxa4v08.ToString(),//金额 要确定
-                        //                moneygroup = "",
-                        //                moneyglobal = "",
-                        //                pk_cashflow = "1124",//写死目前 要确定
-                        //                pk_innercorp = "",
-                        //            },
-                        //            ass = new List<FKGL_SyncServiceModel.DataModel.ass>()
-                        //            {
-                        //            },
-                        //        }
-                        //        );
-                        //    index++;
-                        //}
-                        ////销项税分录 要确认
-                        ////贷方
-                        //detailList.Add(
-                        //    new FKGL_SyncServiceModel.DataModel.voucher_body()
-                        //    {
-                        //        detailindex = index,
-                        //        accsubjcode = "100204",//科目编码 要确定 用哪个贷方科目? 100204-光大银行
-                        //        pk_accasoa = "100204",//科目编码 要确定 用哪个贷方科目?
-                        //        explanation = "贷方摘要",//摘要 要确定
-                        //        verifydate = 凭证日期.ToString("yyyy-MM-dd"),
-                        //        price = "0.00000000",
-                        //        excrate2 = "1",
-                        //        debitquantity = "0.00000000",
-                        //        debitamount = "0.00000000",
-                        //        groupdebitamount = "0.00000000",
-                        //        globaldebitamount = "0.00000000",
-                        //        localdebitamount = "0.00000000",
-                        //        creditquantity = "0.00000000",
-                        //        creditamount = thisYiDaData.numberField_lvua3j18.ToString(),//贷方金额 要确定
-                        //        groupcreditamount = "0.00000000",
-                        //        globalcreditamount = "0.00000000",
-                        //        localcreditamount = thisYiDaData.numberField_lvua3j18.ToString(),//贷方金额 要确定
-                        //        billtype = "",
-                        //        bankaccount = "",
-                        //        checkstyle = "",
-                        //        checkno = "",
-                        //        checkdate = "",
-                        //        bill_id = "",
-                        //        bill_date = "",
-                        //        pk_currtype = "CNY",
-                        //        cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow()
-                        //        {
-                        //        },
-                        //        ass = new List<FKGL_SyncServiceModel.DataModel.ass>()//辅助核算 要确定
-                        //        {
-                        //            new FKGL_SyncServiceModel.DataModel.ass()
-                        //            {
-                        //                pk_Checktype ="0011",//0011-银行账户辅助核算 要确定
-                        //                pk_Checkvalue = "36640188000164043",//银行账户 目前写死(36640188000164043:上海蓝云环境科技有限公司(光大银行)) 要确定
-                        //            }
-                        //        },
-                        //    }
-                        //);
-                    //}
+            //            //    var detailItem = new FKGL_SyncServiceModel.DataModel.voucher_body()
+            //            //    {
+            //            //        detailindex = index,
+            //            //        accsubjcode = objItem.textField_lwitioce,//科目编码 要确定
+            //            //        pk_accasoa = objItem.textField_lwitioce,//科目编码 要确定
+            //            //        explanation = objItem.textField_lvxa4v05,//摘要 要确定
+            //            //        verifydate = 凭证日期.ToString("yyyy-MM-dd"),
+            //            //        price = "0.00000000",
+            //            //        excrate2 = "1",
+            //            //        debitquantity = "0.00000000",
+            //            //        debitamount = objItem.numberField_lvxa4v09.ToString(),//借方金额 要确定
+            //            //        groupdebitamount = "0.00000000",
+            //            //        globaldebitamount = "0.00000000",
+            //            //        localdebitamount = objItem.numberField_lvxa4v09.ToString(),//借方金额 要确定
+            //            //        creditquantity = "0.00000000",
+            //            //        creditamount = "0.00000000",
+            //            //        groupcreditamount = "0.00000000",
+            //            //        globalcreditamount = "0.00000000",
+            //            //        localcreditamount = "0.00000000",
+            //            //        billtype = "",
+            //            //        bankaccount = "",
+            //            //        checkstyle = "",
+            //            //        checkno = "",
+            //            //        checkdate = "",
+            //            //        bill_id = "",
+            //            //        bill_date = "",
+            //            //        pk_currtype = "CNY",
+            //            //        cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow()//现金流 要确定
+            //            //        {
+            //            //            m_pk_currtype = "CNY",
+            //            //            money = objItem.numberField_lvxa4v09.ToString(),//金额 要确定
+            //            //            moneymain = objItem.numberField_lvxa4v09.ToString(),//金额 要确定
+            //            //            moneygroup = "",
+            //            //            moneyglobal = "",
+            //            //            pk_cashflow = "1124",//写死目前 要确定
+            //            //            pk_innercorp = "",
+            //            //        },
+            //            //        ass = new List<FKGL_SyncServiceModel.DataModel.ass>()//要确定
+            //            //        {
+            //            //            new FKGL_SyncServiceModel.DataModel.ass()
+            //            //            {
+            //            //                pk_Checktype ="0010",//0010-项目辅助核算 要确定
+            //            //                pk_Checkvalue = "XM00368",//项目编码 目前写死 要确定
+            //            //            }
+            //            //        },
+            //            //    };
+            //            //    detailList.Add(detailItem);
+            //            //    //销项税分录 要确认
+            //            //    detailList.Add(
+            //            //        new FKGL_SyncServiceModel.DataModel.voucher_body()
+            //            //        {
+            //            //            detailindex = index + 1,
+            //            //            accsubjcode = "22210103",//科目编码 要确定
+            //            //            pk_accasoa = "22210103",//科目编码 要确定
+            //            //            explanation = objItem.textField_lvxa4v05,//摘要 要确定
+            //            //            verifydate = 凭证日期.ToString("yyyy-MM-dd"),
+            //            //            price = "0.00000000",
+            //            //            excrate2 = "1",
+            //            //            debitquantity = "0.00000000",
+            //            //            debitamount = objItem.numberField_lvxa4v08.ToString(),//借方金额 要确定
+            //            //            groupdebitamount = "0.00000000",
+            //            //            globaldebitamount = "0.00000000",
+            //            //            localdebitamount = objItem.numberField_lvxa4v08.ToString(),//借方金额 要确定
+            //            //            creditquantity = "0.00000000",
+            //            //            creditamount = "0.00000000",//贷方金额
+            //            //            groupcreditamount = "0.00000000",
+            //            //            globalcreditamount = "0.00000000",
+            //            //            localcreditamount = "0.00000000",//贷方金额
+            //            //            billtype = "",
+            //            //            bankaccount = "",
+            //            //            checkstyle = "",
+            //            //            checkno = "",
+            //            //            checkdate = "",
+            //            //            bill_id = "",
+            //            //            bill_date = "",
+            //            //            pk_currtype = "CNY",
+            //            //            cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow()//现金流 要确定
+            //            //            {
+            //            //                m_pk_currtype = "CNY",
+            //            //                money = objItem.numberField_lvxa4v08.ToString(),//金额 要确定
+            //            //                moneymain = objItem.numberField_lvxa4v08.ToString(),//金额 要确定
+            //            //                moneygroup = "",
+            //            //                moneyglobal = "",
+            //            //                pk_cashflow = "1124",//写死目前 要确定
+            //            //                pk_innercorp = "",
+            //            //            },
+            //            //            ass = new List<FKGL_SyncServiceModel.DataModel.ass>()
+            //            //            {
+            //            //            },
+            //            //        }
+            //            //        );
+            //            //    index++;
+            //            //}
+            //            ////销项税分录 要确认
+            //            ////贷方
+            //            //detailList.Add(
+            //            //    new FKGL_SyncServiceModel.DataModel.voucher_body()
+            //            //    {
+            //            //        detailindex = index,
+            //            //        accsubjcode = "100204",//科目编码 要确定 用哪个贷方科目? 100204-光大银行
+            //            //        pk_accasoa = "100204",//科目编码 要确定 用哪个贷方科目?
+            //            //        explanation = "贷方摘要",//摘要 要确定
+            //            //        verifydate = 凭证日期.ToString("yyyy-MM-dd"),
+            //            //        price = "0.00000000",
+            //            //        excrate2 = "1",
+            //            //        debitquantity = "0.00000000",
+            //            //        debitamount = "0.00000000",
+            //            //        groupdebitamount = "0.00000000",
+            //            //        globaldebitamount = "0.00000000",
+            //            //        localdebitamount = "0.00000000",
+            //            //        creditquantity = "0.00000000",
+            //            //        creditamount = thisYiDaData.numberField_lvua3j18.ToString(),//贷方金额 要确定
+            //            //        groupcreditamount = "0.00000000",
+            //            //        globalcreditamount = "0.00000000",
+            //            //        localcreditamount = thisYiDaData.numberField_lvua3j18.ToString(),//贷方金额 要确定
+            //            //        billtype = "",
+            //            //        bankaccount = "",
+            //            //        checkstyle = "",
+            //            //        checkno = "",
+            //            //        checkdate = "",
+            //            //        bill_id = "",
+            //            //        bill_date = "",
+            //            //        pk_currtype = "CNY",
+            //            //        cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow()
+            //            //        {
+            //            //        },
+            //            //        ass = new List<FKGL_SyncServiceModel.DataModel.ass>()//辅助核算 要确定
+            //            //        {
+            //            //            new FKGL_SyncServiceModel.DataModel.ass()
+            //            //            {
+            //            //                pk_Checktype ="0011",//0011-银行账户辅助核算 要确定
+            //            //                pk_Checkvalue = "36640188000164043",//银行账户 目前写死(36640188000164043:上海蓝云环境科技有限公司(光大银行)) 要确定
+            //            //            }
+            //            //        },
+            //            //    }
+            //            //);
+            //        //}
 
-                    #endregion
+            //        #endregion
 
-                    //借方分录
-                    detailList.Add(new FKGL_SyncServiceModel.DataModel.voucher_body()
-                    {
-                        detailindex = 1,
-                        accsubjcode = "1123",//科目编码 预付账款
-                        pk_accasoa = "1123",//科目编码 
-                        explanation = "借方摘要",//摘要 
-                        verifydate = 凭证日期.ToString("yyyy-MM-dd"),
-                        price = "0.00000000",
-                        excrate2 = "1",
-                        debitquantity = "0.00000000",
-                        debitamount = thisYiDaData.numberField_lvua3j18.ToString(),//借方金额 
-                        groupdebitamount = "0.00000000",
-                        globaldebitamount = "0.00000000",
-                        localdebitamount = thisYiDaData.numberField_lvua3j18.ToString(),//借方金额
-                        creditquantity = "0.00000000",
-                        creditamount = "0.00000000",
-                        groupcreditamount = "0.00000000",
-                        globalcreditamount = "0.00000000",
-                        localcreditamount = "0.00000000",
-                        billtype = "",
-                        bankaccount = "",
-                        checkstyle = "",
-                        checkno = "",
-                        checkdate = "",
-                        bill_id = "",
-                        bill_date = "",
-                        pk_currtype = "CNY",
-                        cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow()//现金流 
-                        {
-                            m_pk_currtype = "CNY",
-                            money = thisYiDaData.numberField_lvua3j18.ToString(),//金额 
-                            moneymain = thisYiDaData.numberField_lvua3j18.ToString(),//金额 
-                            moneygroup = "",
-                            moneyglobal = "",
-                            pk_cashflow = "1124",//现金流编码 
-                            pk_innercorp = "",
-                        },
-                        ass = new List<FKGL_SyncServiceModel.DataModel.ass>()//
-                                {
-                                    new FKGL_SyncServiceModel.DataModel.ass()
-                                    {
-                                        pk_Checktype ="0019",//0019-供应商辅助核算
-                                        pk_Checkvalue = thisYiDaData.textField_lwitiobt,//供应商编码
-                                    }
-                                },
-                    });
+            //        //借方分录
+            //        detailList.Add(new FKGL_SyncServiceModel.DataModel.voucher_body()
+            //        {
+            //            detailindex = 1,
+            //            accsubjcode = "1123",//科目编码 预付账款
+            //            pk_accasoa = "1123",//科目编码 
+            //            explanation = "借方摘要",//摘要 
+            //            verifydate = 凭证日期.ToString("yyyy-MM-dd"),
+            //            price = "0.00000000",
+            //            excrate2 = "1",
+            //            debitquantity = "0.00000000",
+            //            debitamount = thisYiDaData.numberField_lvua3j18.ToString(),//借方金额 
+            //            groupdebitamount = "0.00000000",
+            //            globaldebitamount = "0.00000000",
+            //            localdebitamount = thisYiDaData.numberField_lvua3j18.ToString(),//借方金额
+            //            creditquantity = "0.00000000",
+            //            creditamount = "0.00000000",
+            //            groupcreditamount = "0.00000000",
+            //            globalcreditamount = "0.00000000",
+            //            localcreditamount = "0.00000000",
+            //            billtype = "",
+            //            bankaccount = "",
+            //            checkstyle = "",
+            //            checkno = "",
+            //            checkdate = "",
+            //            bill_id = "",
+            //            bill_date = "",
+            //            pk_currtype = "CNY",
+            //            cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow()//现金流 
+            //            {
+            //                m_pk_currtype = "CNY",
+            //                money = thisYiDaData.numberField_lvua3j18.ToString(),//金额 
+            //                moneymain = thisYiDaData.numberField_lvua3j18.ToString(),//金额 
+            //                moneygroup = "",
+            //                moneyglobal = "",
+            //                pk_cashflow = "1124",//现金流编码 
+            //                pk_innercorp = "",
+            //            },
+            //            ass = new List<FKGL_SyncServiceModel.DataModel.ass>()//
+            //                    {
+            //                        new FKGL_SyncServiceModel.DataModel.ass()
+            //                        {
+            //                            pk_Checktype ="0019",//0019-供应商辅助核算
+            //                            pk_Checkvalue = thisYiDaData.textField_lwitiobt,//供应商编码
+            //                        }
+            //                    },
+            //        });
 
-                    //贷方
-                    detailList.Add(
-                        new FKGL_SyncServiceModel.DataModel.voucher_body()
-                        {
-                            detailindex = 2,
-                            accsubjcode = thisYiDaData.textField_lyodct8u,//科目编码 
-                            pk_accasoa = thisYiDaData.textField_lyodct8u,//科目编码
-                            explanation = "贷方摘要",//摘要 
-                            verifydate = 凭证日期.ToString("yyyy-MM-dd"),
-                            price = "0.00000000",
-                            excrate2 = "1",
-                            debitquantity = "0.00000000",
-                            debitamount = "0.00000000",
-                            groupdebitamount = "0.00000000",
-                            globaldebitamount = "0.00000000",
-                            localdebitamount = "0.00000000",
-                            creditquantity = "0.00000000",
-                            creditamount = thisYiDaData.numberField_lvua3j18.ToString(),//贷方金额 
-                            groupcreditamount = "0.00000000",
-                            globalcreditamount = "0.00000000",
-                            localcreditamount = thisYiDaData.numberField_lvua3j18.ToString(),//贷方金额 
-                            billtype = "",
-                            bankaccount = "",
-                            checkstyle = "",
-                            checkno = "",
-                            checkdate = "",
-                            bill_id = "",
-                            bill_date = "",
-                            pk_currtype = "CNY",
-                            cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow()
-                            {
-                            },
-                            ass = new List<FKGL_SyncServiceModel.DataModel.ass>()//辅助核算 
-                            {
-                                    new FKGL_SyncServiceModel.DataModel.ass()
-                                    {
-                                        pk_Checktype ="0011",//0011-银行账户辅助核算 
-                                        pk_Checkvalue =  thisYiDaData.textField_lrngrtgj,//银行账户 
-                                    }
-                            },
-                        }
-                    );
+            //        //贷方
+            //        detailList.Add(
+            //            new FKGL_SyncServiceModel.DataModel.voucher_body()
+            //            {
+            //                detailindex = 2,
+            //                accsubjcode = thisYiDaData.textField_lyodct8u,//科目编码 
+            //                pk_accasoa = thisYiDaData.textField_lyodct8u,//科目编码
+            //                explanation = "贷方摘要",//摘要 
+            //                verifydate = 凭证日期.ToString("yyyy-MM-dd"),
+            //                price = "0.00000000",
+            //                excrate2 = "1",
+            //                debitquantity = "0.00000000",
+            //                debitamount = "0.00000000",
+            //                groupdebitamount = "0.00000000",
+            //                globaldebitamount = "0.00000000",
+            //                localdebitamount = "0.00000000",
+            //                creditquantity = "0.00000000",
+            //                creditamount = thisYiDaData.numberField_lvua3j18.ToString(),//贷方金额 
+            //                groupcreditamount = "0.00000000",
+            //                globalcreditamount = "0.00000000",
+            //                localcreditamount = thisYiDaData.numberField_lvua3j18.ToString(),//贷方金额 
+            //                billtype = "",
+            //                bankaccount = "",
+            //                checkstyle = "",
+            //                checkno = "",
+            //                checkdate = "",
+            //                bill_id = "",
+            //                bill_date = "",
+            //                pk_currtype = "CNY",
+            //                cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow()
+            //                {
+            //                },
+            //                ass = new List<FKGL_SyncServiceModel.DataModel.ass>()//辅助核算 
+            //                {
+            //                        new FKGL_SyncServiceModel.DataModel.ass()
+            //                        {
+            //                            pk_Checktype ="0011",//0011-银行账户辅助核算 
+            //                            pk_Checkvalue =  thisYiDaData.textField_lrngrtgj,//银行账户 
+            //                        }
+            //                },
+            //            }
+            //        );
 
-                    XElement xElement = FKGL_SyncServiceModel.ImportXml_凭证.TemplateHeade(headModel);
-                    xElement.Add(FKGL_SyncServiceModel.ImportXml_凭证.Header(headModel));//添加表头数据
-                    xElement.Element("voucher").Element("voucher_head").Element("details").Add(FKGL_SyncServiceModel.ImportXml_凭证.Bodydebit(detailList));
-                    //生成凭证
-                    var results_凭证 = NCImportFunc.NCImport2(xElement, _NCApiUrl + "?account=01&groupcode=0");
+            //        XElement xElement = FKGL_SyncServiceModel.ImportXml_凭证.TemplateHeade(headModel);
+            //        xElement.Add(FKGL_SyncServiceModel.ImportXml_凭证.Header(headModel));//添加表头数据
+            //        xElement.Element("voucher").Element("voucher_head").Element("details").Add(FKGL_SyncServiceModel.ImportXml_凭证.Bodydebit(detailList));
+            //        //生成凭证
+            //        var results_凭证 = NCImportFunc.NCImport2(xElement, _NCApiUrl + "?account=01&groupcode=0");
 
-                    LogHelper.WriteLog(JsonConvert.SerializeObject(results_凭证), "results_凭证");
+            //        LogHelper.WriteLog(JsonConvert.SerializeObject(results_凭证), "results_凭证");
 
 
-                    XElement xE = XElement.Parse(results_凭证);
+            //        XElement xE = XElement.Parse(results_凭证);
 
-                    string resultcode = xE.Element("sendresult").Element("resultcode").Value;
+            //        string resultcode = xE.Element("sendresult").Element("resultcode").Value;
 
-                    string content = xE.Element("sendresult").Element("content")?.Value;
+            //        string content = xE.Element("sendresult").Element("content")?.Value;
 
-                    string resultdescription = xE.Element("sendresult").Element("resultdescription")?.Value;
-                    var ncResData = new YiDaResDto();
-                    if (resultcode == "1")
-                    {
-                        ncResData = (new YiDaResDto()
-                        {
-                            bSuccess = true,
-                            syncTime = DateTime.Now,
-                            ncNo = resultdescription,//xE.Element("sendresult").Element("content").Value,
-                            log = "同步成功!"
-                        });
-                    }
-                    else
-                    {
-                        ncResData = (new YiDaResDto()
-                        {
-                            bSuccess = false,
-                            syncTime = DateTime.Now,
-                            ncNo = "",
-                            log = "同步失败!原因为【" + resultdescription + "】!"
-                        });
-                    }
-                    //更新同步标识
-                    var ydRes = _dingTalkService.UpdateFormDataSyncDataById(ncResData, item);
-                }
-            }
-            catch (Exception ex)
-            {
+            //        string resultdescription = xE.Element("sendresult").Element("resultdescription")?.Value;
+            //        var ncResData = new YiDaResDto();
+            //        if (resultcode == "1")
+            //        {
+            //            ncResData = (new YiDaResDto()
+            //            {
+            //                bSuccess = true,
+            //                syncTime = DateTime.Now,
+            //                ncNo = resultdescription,//xE.Element("sendresult").Element("content").Value,
+            //                log = "同步成功!"
+            //            });
+            //        }
+            //        else
+            //        {
+            //            ncResData = (new YiDaResDto()
+            //            {
+            //                bSuccess = false,
+            //                syncTime = DateTime.Now,
+            //                ncNo = "",
+            //                log = "同步失败!原因为【" + resultdescription + "】!"
+            //            });
+            //        }
+            //        //更新同步标识
+            //        var ydRes = _dingTalkService.UpdateFormDataSyncDataById(ncResData, item);
+            //    }
+            //}
+            //catch (Exception ex)
+            //{
 
-                throw;
-            }
+            //    throw;
+            //}
         }
     }
 }

+ 130 - 130
HH.YiDaSyncNC/DataSync/FKYF_SyncService.cs

@@ -41,136 +41,136 @@ namespace HH.YiDaSyncNC.DataSync
 
         public void DataSync()
         {
-            DingTalkService _dingTalkService = new DingTalkService(_AppType, _SystemToken, _UserId, _FormId);
-
-            // 宜搭全量数据Id
-            var serchKeyListJson = new
-            {
-                radioField_lycrvvtk = "Y",
-                selectField_lrnh633d = "预付",
-
-            };
-            var idList = _dingTalkService.GetFormIdList(JsonConvert.SerializeObject(serchKeyListJson));
-            //LogHelper.WriteLog(JsonConvert.SerializeObject(idList.Count), "idList");
-            #region 获取NC中选项数据的Id
-            var bd_customerDic = _db_nc.Queryable<bd_customer>().ToList();
-            var bd_incomeDic = _db_nc.Queryable<bd_income>().ToList();
-            var org_orgsDic = _db_nc.Queryable<org_orgs>().ToList();
-            var bd_projectDic = _db_nc.Queryable<bd_project>().ToList();
-            var bd_materialDic = _db_nc.Queryable<bd_material>().ToList();
-            var bd_measdocDic = _db_nc.Queryable<bd_measdoc>().ToList();
-            var org_deptDic = _db_nc.Queryable<org_dept>().ToList();
-            var bd_psndocDic = _db_nc.Queryable<bd_psndoc>().ToList();
-            var sm_userDic = _db_nc.Queryable<sm_user>().ToList();
-            var org_accountingbookDic = _db_nc.Queryable<org_accountingbook>().ToList();
-            #endregion
-            foreach (var item in idList)
-            {
-                string createTime = "";
-                string modifyTime = "";
-
-                var ydDataSource = _dingTalkService.GetFormDataById(item, out createTime, out modifyTime);
-                string jsonData = JsonConvert.SerializeObject(ydDataSource);
-                YiDa_SKDNC thisYiDaData = JsonConvert.DeserializeObject<YiDa_SKDNC>(jsonData);
-                if (string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb)) continue;
-                if (string.IsNullOrWhiteSpace(thisYiDaData.textField_lwitiobt)) continue;
-                var detailObjFPList1 = thisYiDaData.tableField_lsx02qv5; //发票明细
-                if (detailObjFPList1 is null || detailObjFPList1.Count == 0) continue;
-
-                DateTime 日期 = DateTime.Now;// UnixTimeHelper.ConvertMillisecondsToDateTime(thisYiDaData.dateField_lviv4sfy);
-
-                string 组织 = "";
-                if (!string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb))
-                {
-                    var tempData = org_orgsDic.FirstOrDefault(f => f.name == thisYiDaData.selectField_lvywoqmb);
-                    if (tempData != null)
-                    {
-                        组织 = tempData.code; // 组织
-                    }
-                }
-
-                string 单据号 = "";
-                if (!string.IsNullOrWhiteSpace(thisYiDaData.serialNumberField_lwiz0n9f))
-                {
-
-                    单据号 = thisYiDaData.serialNumberField_lwiz0n9f; // 组织
-                }
-
-                string 制单人 = "OA-NC";
-
-                // 表头
-                var headModel = new FKYF_SyncServiceModel.DataModel.voucher_header()
-                {
-                    billdate = 日期.ToString("yyyy-MM-dd"),
-                    billmaker = 制单人,
-                    billno = 单据号,
-                    billperiod = 日期.ToString("MM"),
-                    billyear = 日期.ToString("yyyy"),
-                    creationtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
-                    creator = 制单人,
-                    local_money = thisYiDaData.numberField_lvua3j18.ToString(),
-                    money = thisYiDaData.numberField_lvua3j18.ToString(),
-                    pk_org = 组织,
-                    pu_org = 组织,
-                    pu_deptid = "",
-                    pu_psndoc = "",
-
-                };
-
-                //表体
-                var detailList = new List<FKYF_SyncServiceModel.DataModel.voucher_body>();
-                if (thisYiDaData.tableField_lrngrtgu != null)
-                {
-                    var detailObjList1 = thisYiDaData.tableField_lrngrtgu; //明细
-                    int index = 1;
-
-                    foreach (var objItem in detailObjList1)
-                    {
-                        var thisBody = new FKYF_SyncServiceModel.DataModel.voucher_body()
-                        {
-                            sett_org = 组织,
-                            supplier = thisYiDaData.textField_lwitiobt,
-                            pk_subjcode = objItem.textField_lwitioch,
-                            subjcode = objItem.textField_lwitioce,
-                            billdate = 日期.ToString("yyyy-MM-dd"),
-                            busidate = 日期.ToString("yyyy-MM-dd"),
-                            invoiceno = detailObjFPList1.FirstOrDefault().textField_lsx02qv8,
-                            price = objItem.numberField_lvxa4v09.ToString(),// "单价",
-                            taxprice = objItem.numberField_lvua3j17.ToString(),
-                            quantity_cr = "1",//"贷方数量",
-                            money_cr = objItem.numberField_lvua3j17.ToString(),//"贷方原币金额",
-                            notax_cr = objItem.numberField_lvxa4v09.ToString(),//"贷方原币无税金额",
-                            local_money_cr = objItem.numberField_lvua3j17.ToString(),//"组织本币金额(贷方)",
-                            local_notax_cr = objItem.numberField_lvxa4v09.ToString(),//"组织本币无税金额(贷方)",
-                            caltaxmny = objItem.numberField_lvxa4v09.ToString(),//"计税金额",
-                            local_tax_cr = objItem.numberField_lvxa4v08.ToString() ?? "0",//"税额",
-                            taxrate = "13",
-                            pu_org = 组织,
-                            rowno = index.ToString(),
-                            ordercubasdoc = thisYiDaData.textField_lwitiobt,
-                            pk_fiorg = 组织,
-                            pk_org= 组织,
-                            pu_deptid = "",
-                            pk_psndoc ="",
-                            pk_deptid ="",
-                            material="",
-                        };
-                        detailList.Add(thisBody);
-                        index++;
-                    }
-
-
-                    XElement xElement = FKYF_SyncServiceModel.ImportXml_应付单.TemplateHeade(headModel);
-                    xElement.Add(FKYF_SyncServiceModel.ImportXml_应付单.Header(headModel));//添加表头数据
-                    xElement.Element("bill").Element("billhead").Element("bodys").Add(FKYF_SyncServiceModel.ImportXml_应付单.Body(detailList));
-                    //生成凭证
-                    var results_应付单 = NCImportFunc.NCImport2(xElement, _NCApiUrl + "?account=01&groupcode=0");
-
-                    LogHelper.WriteLog(JsonConvert.SerializeObject(results_应付单), "results_应付单");
-
-
-                }
-            }
+            //DingTalkService _dingTalkService = new DingTalkService(_AppType, _SystemToken, _UserId, _FormId);
+
+            //// 宜搭全量数据Id
+            //var serchKeyListJson = new
+            //{
+            //    radioField_lycrvvtk = "Y",
+            //    selectField_lrnh633d = "预付",
+
+            //};
+            //var idList = _dingTalkService.GetFormIdList(JsonConvert.SerializeObject(serchKeyListJson));
+            ////LogHelper.WriteLog(JsonConvert.SerializeObject(idList.Count), "idList");
+            //#region 获取NC中选项数据的Id
+            //var bd_customerDic = _db_nc.Queryable<bd_customer>().ToList();
+            //var bd_incomeDic = _db_nc.Queryable<bd_income>().ToList();
+            //var org_orgsDic = _db_nc.Queryable<org_orgs>().ToList();
+            //var bd_projectDic = _db_nc.Queryable<bd_project>().ToList();
+            //var bd_materialDic = _db_nc.Queryable<bd_material>().ToList();
+            //var bd_measdocDic = _db_nc.Queryable<bd_measdoc>().ToList();
+            //var org_deptDic = _db_nc.Queryable<org_dept>().ToList();
+            //var bd_psndocDic = _db_nc.Queryable<bd_psndoc>().ToList();
+            //var sm_userDic = _db_nc.Queryable<sm_user>().ToList();
+            //var org_accountingbookDic = _db_nc.Queryable<org_accountingbook>().ToList();
+            //#endregion
+            //foreach (var item in idList)
+            //{
+            //    string createTime = "";
+            //    string modifyTime = "";
+
+            //    var ydDataSource = _dingTalkService.GetFormDataById(item, out createTime, out modifyTime);
+            //    string jsonData = JsonConvert.SerializeObject(ydDataSource);
+            //    YiDa_SKDNC thisYiDaData = JsonConvert.DeserializeObject<YiDa_SKDNC>(jsonData);
+            //    if (string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb)) continue;
+            //    if (string.IsNullOrWhiteSpace(thisYiDaData.textField_lwitiobt)) continue;
+            //    var detailObjFPList1 = thisYiDaData.tableField_lsx02qv5; //发票明细
+            //    if (detailObjFPList1 is null || detailObjFPList1.Count == 0) continue;
+
+            //    DateTime 日期 = DateTime.Now;// UnixTimeHelper.ConvertMillisecondsToDateTime(thisYiDaData.dateField_lviv4sfy);
+
+            //    string 组织 = "";
+            //    if (!string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb))
+            //    {
+            //        var tempData = org_orgsDic.FirstOrDefault(f => f.name == thisYiDaData.selectField_lvywoqmb);
+            //        if (tempData != null)
+            //        {
+            //            组织 = tempData.code; // 组织
+            //        }
+            //    }
+
+            //    string 单据号 = "";
+            //    if (!string.IsNullOrWhiteSpace(thisYiDaData.serialNumberField_lwiz0n9f))
+            //    {
+
+            //        单据号 = thisYiDaData.serialNumberField_lwiz0n9f; // 组织
+            //    }
+
+            //    string 制单人 = "OA-NC";
+
+            //    // 表头
+            //    var headModel = new FKYF_SyncServiceModel.DataModel.voucher_header()
+            //    {
+            //        billdate = 日期.ToString("yyyy-MM-dd"),
+            //        billmaker = 制单人,
+            //        billno = 单据号,
+            //        billperiod = 日期.ToString("MM"),
+            //        billyear = 日期.ToString("yyyy"),
+            //        creationtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+            //        creator = 制单人,
+            //        local_money = thisYiDaData.numberField_lvua3j18.ToString(),
+            //        money = thisYiDaData.numberField_lvua3j18.ToString(),
+            //        pk_org = 组织,
+            //        pu_org = 组织,
+            //        pu_deptid = "",
+            //        pu_psndoc = "",
+
+            //    };
+
+            //    //表体
+            //    var detailList = new List<FKYF_SyncServiceModel.DataModel.voucher_body>();
+            //    if (thisYiDaData.tableField_lrngrtgu != null)
+            //    {
+            //        var detailObjList1 = thisYiDaData.tableField_lrngrtgu; //明细
+            //        int index = 1;
+
+            //        foreach (var objItem in detailObjList1)
+            //        {
+            //            var thisBody = new FKYF_SyncServiceModel.DataModel.voucher_body()
+            //            {
+            //                sett_org = 组织,
+            //                supplier = thisYiDaData.textField_lwitiobt,
+            //                pk_subjcode = objItem.textField_lwitioch,
+            //                subjcode = objItem.textField_lwitioce,
+            //                billdate = 日期.ToString("yyyy-MM-dd"),
+            //                busidate = 日期.ToString("yyyy-MM-dd"),
+            //                invoiceno = detailObjFPList1.FirstOrDefault().textField_lsx02qv8,
+            //                price = objItem.numberField_lvxa4v09.ToString(),// "单价",
+            //                taxprice = objItem.numberField_lvua3j17.ToString(),
+            //                quantity_cr = "1",//"贷方数量",
+            //                money_cr = objItem.numberField_lvua3j17.ToString(),//"贷方原币金额",
+            //                notax_cr = objItem.numberField_lvxa4v09.ToString(),//"贷方原币无税金额",
+            //                local_money_cr = objItem.numberField_lvua3j17.ToString(),//"组织本币金额(贷方)",
+            //                local_notax_cr = objItem.numberField_lvxa4v09.ToString(),//"组织本币无税金额(贷方)",
+            //                caltaxmny = objItem.numberField_lvxa4v09.ToString(),//"计税金额",
+            //                local_tax_cr = objItem.numberField_lvxa4v08.ToString() ?? "0",//"税额",
+            //                taxrate = "13",
+            //                pu_org = 组织,
+            //                rowno = index.ToString(),
+            //                ordercubasdoc = thisYiDaData.textField_lwitiobt,
+            //                pk_fiorg = 组织,
+            //                pk_org= 组织,
+            //                pu_deptid = "",
+            //                pk_psndoc ="",
+            //                pk_deptid ="",
+            //                material="",
+            //            };
+            //            detailList.Add(thisBody);
+            //            index++;
+            //        }
+
+
+            //        XElement xElement = FKYF_SyncServiceModel.ImportXml_应付单.TemplateHeade(headModel);
+            //        xElement.Add(FKYF_SyncServiceModel.ImportXml_应付单.Header(headModel));//添加表头数据
+            //        xElement.Element("bill").Element("billhead").Element("bodys").Add(FKYF_SyncServiceModel.ImportXml_应付单.Body(detailList));
+            //        //生成凭证
+            //        var results_应付单 = NCImportFunc.NCImport2(xElement, _NCApiUrl + "?account=01&groupcode=0");
+
+            //        LogHelper.WriteLog(JsonConvert.SerializeObject(results_应付单), "results_应付单");
+
+
+            //}
+            //}
         }
 
     }

+ 49 - 32
HH.YiDaSyncNC/DataSync/HKD_GL_SyncService.cs

@@ -11,6 +11,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using System.Xml.Linq;
+using HH.YiDaSyncNC.Dtos.YIDA;
 
 namespace HH.YiDaSyncNC.DataSync
 {
@@ -46,7 +47,7 @@ namespace HH.YiDaSyncNC.DataSync
 
                 var serchKeyListJson = new
                 {
-                    //radioField_lycrvvtk = "Y",
+                    radioField_lycrvvtk = "Y",
 
                 };
                 var idList = _dingTalkService.GetFormCodeList(JsonConvert.SerializeObject(serchKeyListJson));
@@ -69,29 +70,45 @@ namespace HH.YiDaSyncNC.DataSync
                     string jsonData = JsonConvert.SerializeObject(ydDataSource);
 
 
+                    YiDa_ZZHX thisYiDaData = JsonConvert.DeserializeObject<YiDa_ZZHX>(jsonData);
 
                     DateTime 凭证日期 = DateTime.Now;
 
-                    string 组织 = "A102";
-                    //if (!string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb))
-                    //{
-                    //    var tempData = org_orgsDic.FirstOrDefault(f => f.name == thisYiDaData.selectField_lvywoqmb);
-                    //    if (tempData != null)
-                    //    {
-                    //        组织 = tempData.code; // 组织
-                    //    }
-                    //}
+                    string 组织 = "";
+                    if (!string.IsNullOrWhiteSpace(thisYiDaData.textField_lw0ef16v))
+                    {
+                        var tempData = org_orgsDic.FirstOrDefault(f => f.name == thisYiDaData.textField_lw0ef16v);
+                        if (tempData != null)
+                        {
+                            组织 = tempData.code; // 组织
+                        }
+                    }
+
+
+                    string 账簿 = "";
+                    if (!string.IsNullOrWhiteSpace(thisYiDaData.textField_lw0ef16v))
+                    {
+                        var tempData = org_accountingbookDic.FirstOrDefault(f => f.name == thisYiDaData.textField_lw0ef16v + "-蓝云账簿");
+                        if (tempData != null)
+                        {
+                            账簿 = tempData.code; // 账簿
+                        }
+                    }
+
+
+                    string 人员编码 = "011070";//测试
+                    if (thisYiDaData.employeeField_lviv4sfw != null && thisYiDaData.employeeField_lviv4sfw.Count > 0)
+                    {
+                        var firstName = thisYiDaData.employeeField_lviv4sfw.FirstOrDefault();
+                        var tempData = bd_psndocDic.FirstOrDefault(f => f.name == firstName);
+                        if (tempData != null)
+                        {
+                            人员编码 = tempData.code; // 账簿
+                        }
+                    }
+
 
 
-                    string 账簿 = "A02-0004";
-                    //if (!string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb))
-                    //{
-                    //    var tempData = org_accountingbookDic.FirstOrDefault(f => f.name == thisYiDaData.selectField_lvywoqmb + "-蓝云账簿");
-                    //    if (tempData != null)
-                    //    {
-                    //        账簿 = tempData.code; // 账簿
-                    //    }
-                    //}
                     string 制单人 = "OA-NC";
 
                     // 表头
@@ -114,14 +131,14 @@ namespace HH.YiDaSyncNC.DataSync
                     detailList.Add(new HKD_GL_SyncServiceModel.DataModel.voucher_body()
                     {
                         detailindex = 1,
-                        accsubjcode = "122105",//科目编码 预付账款 1
-                        pk_accasoa = "122105",//科目编码  1
+                        accsubjcode = "122105",//科目编码 其他应收款-人员借款 
+                        pk_accasoa = "122105",//科目编码  
                         explanation = "贷方摘要",//摘要  1
                         verifydate = 凭证日期.ToString("yyyy-MM-dd"),
                         price = "0.00000000",
                         excrate2 = "1",
-                        creditamount = "1234",//贷方金额  1
-                        localcreditamount = "1234",//贷方金额  1
+                        creditamount = thisYiDaData.numberField_lvuc0gtq.ToString(),//贷方金额  1
+                        localcreditamount = thisYiDaData.numberField_lvuc0gtq.ToString(),//贷方金额  1
                         debitquantity = "0.00000000",
                         debitamount = "0.00000000",
                         groupdebitamount = "0.00000000",
@@ -142,8 +159,8 @@ namespace HH.YiDaSyncNC.DataSync
                         {
                             m_pk_currtype = "CNY",
                             pk_cashflow = "1113",//现金流编码 
-                            money = "1234",//金额  1
-                            moneymain = "1234",//金额  1
+                            money = thisYiDaData.numberField_lvuc0gtq.ToString(),//金额  1
+                            moneymain = thisYiDaData.numberField_lvuc0gtq.ToString(),//金额  1
                             moneygroup = "",
                             moneyglobal = "",
                             pk_innercorp = "",
@@ -153,12 +170,12 @@ namespace HH.YiDaSyncNC.DataSync
                                     new HKD_GL_SyncServiceModel.DataModel.ass()
                                     {
                                         pk_Checktype ="0001",//0019-部门
-                                        pk_Checkvalue = "0402",//部门编码 1
+                                        pk_Checkvalue = thisYiDaData.textField_lyzc1mpt,//部门编码 1
                                     },
                                      new HKD_GL_SyncServiceModel.DataModel.ass()
                                     {
                                         pk_Checktype ="0002",//0019-人员
-                                        pk_Checkvalue = "011070",//人员编码 1
+                                        pk_Checkvalue = 人员编码,//人员编码 1
                                     }
                                 },
                     });
@@ -168,14 +185,14 @@ namespace HH.YiDaSyncNC.DataSync
                         new HKD_GL_SyncServiceModel.DataModel.voucher_body()
                         {
                             detailindex = 2,
-                            accsubjcode = "100204",//科目编码  1
-                            pk_accasoa = "100204",//科目编码 1
+                            accsubjcode = thisYiDaData.textField_lyocuyp3,//科目编码  1
+                            pk_accasoa = thisYiDaData.textField_lyocuyp3,//科目编码 1
                             explanation = "借方摘要",//摘要 
                             verifydate = 凭证日期.ToString("yyyy-MM-dd"),
                             price = "0.00000000",
                             excrate2 = "1",
-                            debitamount = "1234",//借方金额  1
-                            localdebitamount = "1234",//借方金额 1
+                            debitamount = thisYiDaData.numberField_lvuc0gtq.ToString(),//借方金额  1
+                            localdebitamount = thisYiDaData.numberField_lvuc0gtq.ToString(),//借方金额 1
                             debitquantity = "0.00000000",
                             groupdebitamount = "0.00000000",
                             globaldebitamount = "0.00000000",
@@ -200,7 +217,7 @@ namespace HH.YiDaSyncNC.DataSync
                                     new HKD_GL_SyncServiceModel.DataModel.ass()
                                     {
                                         pk_Checktype ="0011",//0011-银行账户辅助核算 
-                                        pk_Checkvalue =  "36640188000164043",//银行账户  1
+                                        pk_Checkvalue =  thisYiDaData.textField_lsx02qvj.Replace(" ",""),//银行账户  1
                                     }
                             },
                         }

+ 314 - 0
HH.YiDaSyncNC/DataSync/YF_FPRZ_SyncService.cs

@@ -0,0 +1,314 @@
+using HH.YiDaSyncNC.Dtos.NC;
+using HH.YiDaSyncNC.Dtos.YIDA;
+using HH.YiDaSyncNC.Dtos;
+using HH.YiDaSyncNC.Helper;
+using HH.YiDaSyncNC.Models;
+using Newtonsoft.Json;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml.Linq;
+
+namespace HH.YiDaSyncNC.DataSync
+{
+    public class YF_FPRZ_SyncService
+    {
+        public string _AppType;
+        public string _SystemToken;
+        public string _UserId;
+        public string _FormId;
+        public SqlSugarClient _db;
+        public SqlSugarClient _db_nc;
+        public string _NCApiUrl;
+
+        public static string _Static_PK_bd_project = ConfigurationManager.AppSettings["bd_project"];
+        public static string _Static_pk_org_jt = ConfigurationManager.AppSettings["pk_org_jt"];
+
+        public YF_FPRZ_SyncService(string AppType, string SystemToken, string UserId, string FormId, SqlSugarClient db, SqlSugarClient db_nc, string NCApiUrl)
+        {
+            _AppType = AppType;
+            _SystemToken = SystemToken;
+            _UserId = UserId;
+            _FormId = FormId;
+            _db = db;
+            _db_nc = db_nc;
+            _NCApiUrl = NCApiUrl;
+        }
+        public void DataSync()
+        {
+            try
+            {
+
+                DingTalkService _dingTalkService = new DingTalkService(_AppType, _SystemToken, _UserId, _FormId);
+
+                // 宜搭全量数据Id
+                var serchKeyListJson = new
+                {
+                    radioField_lycrvvtk = "Y",
+                    selectField_lrnh633d = "预付",
+
+                };
+                var idList = _dingTalkService.GetFormIdList(JsonConvert.SerializeObject(serchKeyListJson));
+                //LogHelper.WriteLog(JsonConvert.SerializeObject(idList.Count), "idList");
+                #region 获取NC中选项数据的Id
+                var bd_customerDic = _db_nc.Queryable<bd_customer>().ToList();
+                var bd_incomeDic = _db_nc.Queryable<bd_income>().ToList();
+                var org_orgsDic = _db_nc.Queryable<org_orgs>().ToList();
+                var bd_projectDic = _db_nc.Queryable<bd_project>().ToList();
+                var bd_materialDic = _db_nc.Queryable<bd_material>().ToList();
+                var bd_measdocDic = _db_nc.Queryable<bd_measdoc>().ToList();
+                var org_deptDic = _db_nc.Queryable<org_dept>().ToList();
+                var bd_psndocDic = _db_nc.Queryable<bd_psndoc>().ToList();
+                var sm_userDic = _db_nc.Queryable<sm_user>().ToList();
+                var org_accountingbookDic = _db_nc.Queryable<org_accountingbook>().ToList();
+                #endregion
+
+                foreach (var item in idList)
+                {
+                    string createTime = "";
+                    string modifyTime = "";
+
+                    var ydDataSource = _dingTalkService.GetFormDataById(item, out createTime, out modifyTime);
+                    string jsonData = JsonConvert.SerializeObject(ydDataSource);
+                    YiDa_SKDNC thisYiDaData = JsonConvert.DeserializeObject<YiDa_SKDNC>(jsonData);
+
+
+
+                    //if (!thisYiDaData.textField_lw7f953v.Contains("晨莲物业")) continue;//测试
+                    if (string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb)) continue;
+                    //取值 宜搭表单的某个字段当作凭证日期 如果 支付完成时间 为null,就用 提交时间
+                    DateTime 凭证日期 = DateTime.Now;
+                    //thisYiDaData.dateField_lwitiobz is null
+                    //    ? UnixTimeHelper.ConvertMillisecondsToDateTime(thisYiDaData.dateField_lviv4sfy)
+                    //    : UnixTimeHelper.ConvertMillisecondsToDateTime((long)thisYiDaData.dateField_lwitiobz);
+                    string 组织 = "";
+                    if (!string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb))
+                    {
+                        var tempData = org_orgsDic.FirstOrDefault(f => f.name == thisYiDaData.selectField_lvywoqmb);
+                        if (tempData != null)
+                        {
+                            组织 = tempData.code; // 组织
+                        }
+                    }
+
+
+                    string 账簿 = "";
+                    if (!string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb))
+                    {
+                        var tempData = org_accountingbookDic.FirstOrDefault(f => f.name == thisYiDaData.selectField_lvywoqmb + "-蓝云账簿");
+                        if (tempData != null)
+                        {
+                            账簿 = tempData.code; // 账簿
+                        }
+                    }
+
+
+                    string 制单人 = "OA-NC";
+
+
+                    string 发票拼接 = string.IsNullOrWhiteSpace(thisYiDaData.textField_lw7erc7d) ? "test001/test002" : thisYiDaData.textField_lw7erc7d;
+
+                    // 表头
+                    var headModel = new FKGL_SyncServiceModel.DataModel.voucher_header()
+                    {
+                        year = 凭证日期.ToString("yyyy"),//会计年度
+                        prepareddate = 凭证日期.ToString("yyyy-MM-dd"),//制单日期
+                        period = 凭证日期.ToString("MM"),//会计期间
+                        pk_prepared = 制单人,//凭证制单人--操作员工工号
+                        no = "",//凭证号
+                        pk_accountingbook = 账簿,//账簿
+                        org = 组织,//组织编码
+                        pk_vouchertype = "04",//凭证类别 : 01-记账凭证 ,02-收款凭证 ,03-付款凭证 ,04-转账凭证 
+                    };
+                    //表体
+                    var detailList = new List<FKGL_SyncServiceModel.DataModel.voucher_body>();
+                    int index = 1;
+                    foreach (var dataObj in thisYiDaData.tableField_lrngrtgu)
+                    {
+                        var 项目编码 = dataObj.radioField_lypfw8rv == "项目" ? dataObj.textField_lypfw8rw : "";
+                        var 部门编码 = dataObj.radioField_lypfw8rv == "机关" ? dataObj.textField_lypfw8rw : "";
+
+                        var assList = new List<FKGL_SyncServiceModel.DataModel.ass>();
+                        if (!string.IsNullOrWhiteSpace(项目编码))
+                        {
+                            assList.Add(new FKGL_SyncServiceModel.DataModel.ass()
+                            {
+                                pk_Checktype = "0010",//0010-项目辅助核算
+                                pk_Checkvalue = 项目编码,//供应商编码
+                            });
+                        }
+                        if (!string.IsNullOrWhiteSpace(部门编码))
+                        {
+                            assList.Add(new FKGL_SyncServiceModel.DataModel.ass()
+                            {
+                                pk_Checktype = "0001",//0001-部门辅助核算
+                                pk_Checkvalue = 部门编码,//供应商编码
+                            });
+                        }
+
+
+                        //借方分录
+                        detailList.Add(new FKGL_SyncServiceModel.DataModel.voucher_body()
+                        {
+                            detailindex = index,
+                            accsubjcode = dataObj.textField_lwitioce,//科目编码 预付账款
+                            pk_accasoa = dataObj.textField_lwitioce,//科目编码 
+                            explanation = dataObj.textField_lvxa4v05,//摘要 
+                            verifydate = 凭证日期.ToString("yyyy-MM-dd"),
+                            price = "0.00000000",
+                            excrate2 = "1",
+                            debitamount = dataObj.numberField_lvxa4v09.ToString(),//借方金额 
+                            localdebitamount = dataObj.numberField_lvxa4v09.ToString(),//借方金额
+                            debitquantity = "0.00000000",
+                            groupdebitamount = "0.00000000",
+                            globaldebitamount = "0.00000000",
+                            creditquantity = "0.00000000",
+                            creditamount = "0.00000000",
+                            groupcreditamount = "0.00000000",
+                            globalcreditamount = "0.00000000",
+                            localcreditamount = "0.00000000",
+                            billtype = "",
+                            bankaccount = "",
+                            checkstyle = "",
+                            checkno = "",
+                            checkdate = "",
+                            bill_id = "",
+                            bill_date = "",
+                            pk_currtype = "CNY",
+                            cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow()//现金流 
+                            {
+
+                            },
+                            ass = assList,
+                        });
+
+                        index++;
+                    }
+
+                    //借方分录 应交增值税\应交税费 - 进项税
+                    var sjSum = thisYiDaData.tableField_lrngrtgu.Sum(s => s.numberField_lvxa4v08);
+                    if(sjSum >0)
+                    {
+                        detailList.Add(new FKGL_SyncServiceModel.DataModel.voucher_body()
+                        {
+                            detailindex = index,
+                            accsubjcode = "22210103",//科目编码 应交税费 - 进项税
+                            pk_accasoa = "22210103",//科目编码 
+                            explanation = $"借方摘要{发票拼接}",//摘要 
+                            verifydate = 凭证日期.ToString("yyyy-MM-dd"),
+                            price = "0.00000000",
+                            excrate2 = "1",
+                            debitamount = sjSum.ToString(),//借方金额 
+                            localdebitamount = sjSum.ToString(),//借方金额
+                            debitquantity = "0.00000000",
+                            groupdebitamount = "0.00000000",
+                            globaldebitamount = "0.00000000",
+                            creditquantity = "0.00000000",
+                            creditamount = "0.00000000",
+                            groupcreditamount = "0.00000000",
+                            globalcreditamount = "0.00000000",
+                            localcreditamount = "0.00000000",
+                            billtype = "",
+                            bankaccount = "",
+                            checkstyle = "",
+                            checkno = "",
+                            checkdate = "",
+                            bill_id = "",
+                            bill_date = "",
+                            pk_currtype = "CNY",
+                            cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow(),//现金流
+                            ass = new List<FKGL_SyncServiceModel.DataModel.ass>(),//辅助核算
+                        });
+                        index++;
+                    }
+
+                    //贷方
+                    detailList.Add(new FKGL_SyncServiceModel.DataModel.voucher_body()
+                    {
+                        detailindex = index,
+                        accsubjcode = "1123",//科目编码 预付账款
+                        pk_accasoa = "1123",//科目编码 
+                        explanation = "贷方摘要",//摘要 
+                        verifydate = 凭证日期.ToString("yyyy-MM-dd"),
+                        price = "0.00000000",
+                        excrate2 = "1",
+                        creditamount = thisYiDaData.numberField_lvua3j18.ToString(),//贷方金额 
+                        localcreditamount = thisYiDaData.numberField_lvua3j18.ToString(),//贷方金额 
+                        debitquantity = "0.00000000",
+                        debitamount = "0.00000000",
+                        groupdebitamount = "0.00000000",
+                        globaldebitamount = "0.00000000",
+                        localdebitamount = "0.00000000",
+                        creditquantity = "0.00000000",
+                        groupcreditamount = "0.00000000",
+                        globalcreditamount = "0.00000000",
+                        billtype = "",
+                        bankaccount = "",
+                        checkstyle = "",
+                        checkno = "",
+                        checkdate = "",
+                        bill_id = "",
+                        bill_date = "",
+                        pk_currtype = "CNY",
+                        cash_flow = new FKGL_SyncServiceModel.DataModel.cash_flow(),//现金流 
+                        ass = new List<FKGL_SyncServiceModel.DataModel.ass>()
+                                {
+                                    new FKGL_SyncServiceModel.DataModel.ass()
+                                    {
+                                        pk_Checktype ="0019",//0019-供应商辅助核算
+                                        pk_Checkvalue = thisYiDaData.textField_lwitiobt,//供应商编码
+                                    }
+                                },
+                    });
+
+                    XElement xElement = FKGL_SyncServiceModel.ImportXml_凭证.TemplateHeade(headModel);
+                    xElement.Add(FKGL_SyncServiceModel.ImportXml_凭证.Header(headModel));//添加表头数据
+                    xElement.Element("voucher").Element("voucher_head").Element("details").Add(FKGL_SyncServiceModel.ImportXml_凭证.Bodydebit(detailList));
+                    //生成凭证
+                    var results_凭证 = NCImportFunc.NCImport2(xElement, _NCApiUrl + "?account=01&groupcode=0");
+
+                    LogHelper.WriteLog(JsonConvert.SerializeObject(results_凭证), "results_凭证");
+
+
+                    XElement xE = XElement.Parse(results_凭证);
+                    string resultcode = xE.Element("sendresult").Element("resultcode").Value;
+                    string content = xE.Element("sendresult").Element("content")?.Value;
+                    string resultdescription = xE.Element("sendresult").Element("resultdescription")?.Value;
+
+                    var ncResData = new YiDaResDto();
+                    if (resultcode == "1")
+                    {
+                        ncResData = (new YiDaResDto()
+                        {
+                            bSuccess = true,
+                            syncTime = DateTime.Now,
+                            ncNo = resultdescription,//xE.Element("sendresult").Element("content").Value,
+                            log = "同步成功!"
+                        });
+                    }
+                    else
+                    {
+                        ncResData = (new YiDaResDto()
+                        {
+                            bSuccess = false,
+                            syncTime = DateTime.Now,
+                            ncNo = "",
+                            log = "同步失败!原因为【" + resultdescription + "】!"
+                        });
+                    }
+                    //更新同步标识
+                    var ydRes = _dingTalkService.UpdateFormDataSyncDataById(ncResData, item);
+                }
+            }
+            catch (Exception ex)
+            {
+
+                throw;
+            }
+        }
+    }
+}

+ 33 - 19
HH.YiDaSyncNC/DataSync/ZZD_GL_SyncService.cs

@@ -50,7 +50,7 @@ namespace HH.YiDaSyncNC.DataSync
                     radioField_lycrvvtk = "Y",
 
                 };
-                var idList = _dingTalkService.GetFormIdList(JsonConvert.SerializeObject(serchKeyListJson));
+                var idList = _dingTalkService.GetFormCodeList(JsonConvert.SerializeObject(serchKeyListJson));
                 #region 获取NC中选项数据的Id
                 var bd_customerDic = _db_nc.Queryable<bd_customer>().ToList();
                 var bd_incomeDic = _db_nc.Queryable<bd_income>().ToList();
@@ -68,18 +68,19 @@ namespace HH.YiDaSyncNC.DataSync
                 {
                     string createTime = "";
                     string modifyTime = "";
-                    var ydDataSource = _dingTalkService.GetFormDataById(item, out createTime, out modifyTime);
+                    //var ydDataSource = _dingTalkService.GetFormDataByCode(item, out createTime, out modifyTime);
+                    var ydDataSource = _dingTalkService.GetFormDataByCode(item);
                     string jsonData = JsonConvert.SerializeObject(ydDataSource);
 
 
-                    YiDa_ZZDA thisYiDaData = JsonConvert.DeserializeObject<YiDa_ZZDA>(jsonData);
+                    YiDa_ZZSQ thisYiDaData = JsonConvert.DeserializeObject<YiDa_ZZSQ>(jsonData);
 
                     DateTime 凭证日期 = DateTime.Now;
 
                     string 组织 = "A102";
-                    if (!string.IsNullOrWhiteSpace(thisYiDaData.textField_lw0ef16v))
+                    if (!string.IsNullOrWhiteSpace(thisYiDaData.textField_lw7jwkfh))
                     {
-                        var tempData = org_orgsDic.FirstOrDefault(f => f.name == thisYiDaData.textField_lw0ef16v);
+                        var tempData = org_orgsDic.FirstOrDefault(f => f.name == thisYiDaData.textField_lw7jwkfh);
                         if (tempData != null)
                         {
                             组织 = tempData.code; // 组织
@@ -88,14 +89,27 @@ namespace HH.YiDaSyncNC.DataSync
 
 
                     string 账簿 = "A02-0004";
-                    if (!string.IsNullOrWhiteSpace(thisYiDaData.textField_lw0ef16v))
+                    if (!string.IsNullOrWhiteSpace(thisYiDaData.textField_lw7jwkfh))
                     {
-                        var tempData = org_accountingbookDic.FirstOrDefault(f => f.name == thisYiDaData.textField_lw0ef16v + "-蓝云账簿");
+                        var tempData = org_accountingbookDic.FirstOrDefault(f => f.name == thisYiDaData.textField_lw7jwkfh + "-蓝云账簿");
                         if (tempData != null)
                         {
                             账簿 = tempData.code; // 账簿
                         }
                     }
+                    string 人员编码 = "011070";
+                    if (thisYiDaData.employeeField_lviv4sfw != null &&  thisYiDaData.employeeField_lviv4sfw.Count>0)
+                    {
+                        var firstName = thisYiDaData.employeeField_lviv4sfw.FirstOrDefault();
+                        var tempData = bd_psndocDic.FirstOrDefault(f => f.name == firstName);
+                        if (tempData != null)
+                        {
+                            人员编码 = tempData.code; // 账簿
+                        }
+                    }
+
+
+
                     string 制单人 = "OA-NC";
 
                     // 表头
@@ -118,17 +132,17 @@ namespace HH.YiDaSyncNC.DataSync
                     detailList.Add(new ZZD_GL_SyncServiceModel.DataModel.voucher_body()
                     {
                         detailindex = 1,
-                        accsubjcode = "122105",//科目编码 预付账款 
+                        accsubjcode = "122105",//科目编码 其他应收款-人员借款 
                         pk_accasoa = "122105",//科目编码  
                         explanation = "借方摘要",//摘要 
                         verifydate = 凭证日期.ToString("yyyy-MM-dd"),
                         price = "0.00000000",
                         excrate2 = "1",
                         debitquantity = "0.00000000",
-                        debitamount =  "1234",//借方金额  1
+                        debitamount = thisYiDaData.numberField_lrnhnsxp.ToString(),//借方金额  1
                         groupdebitamount = "0.00000000",
                         globaldebitamount = "0.00000000",
-                        localdebitamount = "1234",//借方金额 1
+                        localdebitamount = thisYiDaData.numberField_lrnhnsxp.ToString(),//借方金额 1
                         creditquantity = "0.00000000",
                         creditamount = "0.00000000",
                         groupcreditamount = "0.00000000",
@@ -146,8 +160,8 @@ namespace HH.YiDaSyncNC.DataSync
                         {
                             m_pk_currtype = "CNY",
                             pk_cashflow = "1124",//现金流编码 
-                            money = "1234",//金额  1
-                            moneymain = "1234",//金额  1
+                            money = thisYiDaData.numberField_lrnhnsxp.ToString(),//金额  1
+                            moneymain = thisYiDaData.numberField_lrnhnsxp.ToString(),//金额  1
                             moneygroup = "",
                             moneyglobal = "",
                             pk_innercorp = "",
@@ -157,12 +171,12 @@ namespace HH.YiDaSyncNC.DataSync
                                     new ZZD_GL_SyncServiceModel.DataModel.ass()
                                     {
                                         pk_Checktype ="0001",//0019-部门
-                                        pk_Checkvalue = "0402",//部门编码 1
+                                        pk_Checkvalue = thisYiDaData.textField_ly7257rx,//部门编码 1
                                     },
                                      new ZZD_GL_SyncServiceModel.DataModel.ass()
                                     {
                                         pk_Checktype ="0002",//0019-人员
-                                        pk_Checkvalue = "011070",//人员编码 1
+                                        pk_Checkvalue = 人员编码,//人员编码 1
                                     }
                                 },
                     });
@@ -172,8 +186,8 @@ namespace HH.YiDaSyncNC.DataSync
                         new ZZD_GL_SyncServiceModel.DataModel.voucher_body()
                         {
                             detailindex = 2,
-                            accsubjcode = "100204",//科目编码  
-                            pk_accasoa = "100204",//科目编码 
+                            accsubjcode = thisYiDaData.textField_lyocuyp3,//科目编码  1
+                            pk_accasoa = thisYiDaData.textField_lyocuyp3,//科目编码 1
                             explanation = "贷方摘要",//摘要  1
                             verifydate = 凭证日期.ToString("yyyy-MM-dd"),
                             price = "0.00000000",
@@ -184,10 +198,10 @@ namespace HH.YiDaSyncNC.DataSync
                             globaldebitamount = "0.00000000",
                             localdebitamount = "0.00000000",
                             creditquantity = "0.00000000",
-                            creditamount ="1234",//贷方金额  1
+                            creditamount = thisYiDaData.numberField_lrnhnsxp.ToString(),//贷方金额  1
                             groupcreditamount = "0.00000000",
                             globalcreditamount = "0.00000000",
-                            localcreditamount = "1234",//贷方金额  1
+                            localcreditamount = thisYiDaData.numberField_lrnhnsxp.ToString(),//贷方金额  1
                             billtype = "",
                             bankaccount = "",
                             checkstyle = "",
@@ -204,7 +218,7 @@ namespace HH.YiDaSyncNC.DataSync
                                     new ZZD_GL_SyncServiceModel.DataModel.ass()
                                     {
                                         pk_Checktype ="0011",//0011-银行账户辅助核算 
-                                        pk_Checkvalue =  "36640188000164043",//银行账户  1
+                                        pk_Checkvalue =  thisYiDaData.textField_lsx02qvj.Replace(" ",""),//银行账户  1
                                     }
                             },
                         }

+ 18 - 6
HH.YiDaSyncNC/Dtos/YIDA/YiDa_SKDNC.cs

@@ -20,6 +20,10 @@ namespace HH.YiDaSyncNC.Dtos.YIDA
         /// </summary>
         public string textField_lw7f953v { get; set; }
         /// <summary>
+        /// 发票拼接
+        /// </summary>
+        public string textField_lw7erc7d { get; set; }
+        /// <summary>
         /// 价税合计
         /// </summary>
         public decimal numberField_lvua3j18 { get; set; }
@@ -71,6 +75,14 @@ namespace HH.YiDaSyncNC.Dtos.YIDA
         /// </summary>
         public decimal numberField_lvua3j17 { get; set; }
         /// <summary>
+        /// 无税金额
+        /// </summary>
+        public decimal numberField_lvxa4v09 { get; set; }
+        /// <summary>
+        /// 税金
+        /// </summary>
+        public decimal numberField_lvxa4v08 { get; set; }
+        /// <summary>
         /// 摘要
         /// </summary>
         public string textField_lvxa4v05 { get; set; }
@@ -83,17 +95,17 @@ namespace HH.YiDaSyncNC.Dtos.YIDA
         /// </summary>
         public string textField_lwitiocd { get; set; }
         /// <summary>
-        /// 无税金额
+        /// 项目/部门(成本分摊)
         /// </summary>
-        public decimal numberField_lvxa4v09 { get; set; }
+        public string selectField_ly7257rv { get; set; }
         /// <summary>
-        /// 税金
+        /// 项目/部门类型
         /// </summary>
-        public decimal numberField_lvxa4v08 { get; set; }
+        public string radioField_lypfw8rv { get; set; }
         /// <summary>
-        /// 项目/部门(成本分摊)
+        /// 项目/部门ID
         /// </summary>
-        public string selectField_ly7257rv { get; set; }
+        public string textField_lypfw8rw { get; set; }
         /// <summary>
         /// 科目名称
         /// </summary>

+ 40 - 0
HH.YiDaSyncNC/Dtos/YIDA/YiDa_ZZHX.cs

@@ -0,0 +1,40 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace HH.YiDaSyncNC.Dtos.YIDA
+{
+    public class YiDa_ZZHX
+    {
+        /// <summary>
+        /// 申请人
+        /// </summary>
+        public List<string> employeeField_lviv4sfw { get; set; }
+        /// <summary>
+        /// 银行科目
+        /// </summary>
+        public string textField_lyocuyp3 { get; set; }
+        /// <summary>
+        /// 收款银行账号
+        /// </summary>
+        public string textField_lsx02qvj { get; set; }
+        /// <summary>
+        /// 本次还款金额
+        /// </summary>
+        public decimal numberField_lvuc0gtq { get; set; }
+        /// <summary>
+        /// 待还款金额
+        /// </summary>
+        public decimal? numberField_lvuc0gtp { get; set; }
+        /// <summary>
+        /// 成本组织-文本
+        /// </summary>
+        public string textField_lw0ef16v { get; set; }
+        /// <summary>
+        /// 借款部门 编码
+        /// </summary>
+        public string textField_lyzc1mpt { get; set; }
+    }
+}

+ 44 - 0
HH.YiDaSyncNC/Dtos/YIDA/YiDa_ZZSQ.cs

@@ -0,0 +1,44 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace HH.YiDaSyncNC.Dtos.YIDA
+{
+    public class YiDa_ZZSQ
+    {
+        /// <summary>
+        /// 成本组织
+        /// </summary>
+        public string textField_lw7jwkfh { get; set; }
+        /// <summary>
+        /// 申请人
+        /// </summary>
+        public List<string> employeeField_lviv4sfw { get; set; }
+        /// <summary>
+        /// 预计归还日期
+        /// </summary>
+        public long dateField_lrnhnsxr { get; set; }
+        /// <summary>
+        /// 借款金额
+        /// </summary>
+        public decimal numberField_lrnhnsxp { get; set; }
+        /// <summary>
+        /// 借款部门 编码
+        /// </summary>
+        public string textField_ly7257rx { get; set; }
+        /// <summary>
+        /// 借款事由
+        /// </summary>
+        public string textareaField_lsx6hx5f { get; set; }
+        /// <summary>
+        /// 付款银行账号
+        /// </summary>
+        public string textField_lsx02qvj { get; set; }
+        /// <summary>
+        /// 付款银行科目编码
+        /// </summary>
+        public string textField_lyocuyp3 { get; set; }
+    }
+}

+ 3 - 0
HH.YiDaSyncNC/HH.YiDaSyncNC.csproj

@@ -133,6 +133,7 @@
     <Compile Include="DataSync\KH_SyncService.cs" />
     <Compile Include="DataSync\GYS_SyncService.cs" />
     <Compile Include="DataSync\KP_SyncService.cs" />
+    <Compile Include="DataSync\YF_FPRZ_SyncService.cs" />
     <Compile Include="DataSync\ZC_SyncService.cs" />
     <Compile Include="DataSync\XMD_SyncService.cs" />
     <Compile Include="DataSync\WL_SyncService.cs" />
@@ -179,6 +180,8 @@
     <Compile Include="Dtos\YIDA\YiDa_FYBXD.cs" />
     <Compile Include="Dtos\YIDA\YiDa_SKDNC.cs" />
     <Compile Include="Dtos\YIDA\YiDa_ZZDA.cs" />
+    <Compile Include="Dtos\YIDA\YiDa_ZZHX.cs" />
+    <Compile Include="Dtos\YIDA\YiDa_ZZSQ.cs" />
     <Compile Include="Helper\AbPrivoder.cs" />
     <Compile Include="Helper\CommHelper.cs" />
     <Compile Include="Helper\DBHelper.cs" />

+ 2 - 2
HH.YiDaSyncNC/Helper/DingTalkService.cs

@@ -379,8 +379,8 @@ namespace HH.YiDaSyncNC.Helper
                 CreateFromTimeGMT = CreateFromTime,
                 PageNumber = CurrentPage,
                 PageSize = PageSize,
-                InstanceStatus = "COMPLETED",//实例状态
-                ApprovedResult = "agree",//审批结果
+                InstanceStatus = "RUNNING",//"COMPLETED",//实例状态
+                ApprovedResult = "",//"agree",//审批结果
                 AppType = _AppType,
                 FormUuid = _FormId
             };

+ 12 - 9
HH.YiDaSyncNC/Program.cs

@@ -49,6 +49,7 @@ namespace HH.YiDaSyncNC
         public static string _Static_FormCode_clBX = ConfigurationManager.AppSettings["FormCode_CLBXD"];
         public static string _Static_FormId_ZZDA = ConfigurationManager.AppSettings["FormId_ZZDA"];
         public static string _Static_FormId_ZZHX = ConfigurationManager.AppSettings["FormId_ZZHX"];
+        public static string _Static_FormId_ZZSQ = ConfigurationManager.AppSettings["FormId_ZZSQ"];
 
         public static string _Static_NCApiUrl = ConfigurationManager.AppSettings["NCApiUrl"];
 
@@ -72,8 +73,8 @@ namespace HH.YiDaSyncNC
                 //KH_SyncService kh_SyncService = new KH_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_KH, db, db_nc, _Static_NCApiUrl);
                 //kh_SyncService.DataSync();
 
-                KP_SyncService kp_SyncService = new KP_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_KP, db, db_nc, _Static_NCApiUrl);
-                kp_SyncService.DataSync();
+                //KP_SyncService kp_SyncService = new KP_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_KP, db, db_nc, _Static_NCApiUrl);
+                //kp_SyncService.DataSync();
 
                 //CGDD_SyncService cgdd_SyncService = new CGDD_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_CGDD, db, db_nc, _Static_NCApiUrl);
                 //cgdd_SyncService.DataSync();
@@ -82,19 +83,21 @@ namespace HH.YiDaSyncNC
                 //FK_SyncService fk_SyncService = new FK_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_FK, db, db_nc, _Static_NCApiUrl);
                 //fk_SyncService.DataSync();
 
-                // 付款单 预付类型 生成凭证 zxh
+                // 付款单 预付类型 生成凭证 zxh 没用
                 //FKGL_SyncService fkgl_SyncService = new FKGL_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_FK, db, db_nc, _Static_NCApiUrl);
                 //fkgl_SyncService.DataSync();
-                // 付款单 预付类型 生成应付单 zxh
+                // 付款单 预付类型 生成应付单 zxh 没用
                 //FKYF_SyncService fkyf_SyncService = new FKYF_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_FK, db, db_nc, _Static_NCApiUrl);
                 //fkyf_SyncService.DataSync();
                 // 暂支申请  生成凭证 zxh
-                ZZD_GL_SyncService zzsq_SyncService = new ZZD_GL_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_ZZDA, db, db_nc, _Static_NCApiUrl);
-                zzsq_SyncService.DataSync();
+                //ZZD_GL_SyncService zzsq_SyncService = new ZZD_GL_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_ZZSQ, db, db_nc, _Static_NCApiUrl);
+                //zzsq_SyncService.DataSync();
                 // 还款单  生成凭证 zxh
-                HKD_GL_SyncService hkd_SyncService = new HKD_GL_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_ZZHX, db, db_nc, _Static_NCApiUrl);
-                hkd_SyncService.DataSync();
-
+                //HKD_GL_SyncService hkd_SyncService = new HKD_GL_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_ZZHX, db, db_nc, _Static_NCApiUrl);
+                //hkd_SyncService.DataSync();
+                //发票入账 生成凭证 zxh 
+                YF_FPRZ_SyncService yf_fprz_SyncService = new YF_FPRZ_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_FK, db, db_nc, _Static_NCApiUrl);
+                yf_fprz_SyncService.DataSync();
                 // 费用报销单 zxh 用不到
                 //BX_SyncService bx_SyncService = new BX_SyncService(_Static_AppType, _Static_SystemToken, _Static_UserId, _Static_FormId_FYBX, db, db_nc, _Static_NCApiUrl);
                 //bx_SyncService.DataSyncFYBX();