123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using cuidian.Common;
- using cuidian.OpenApi.Api;
- using cuidian.OpenApi.Model;
- using cuidian.OpenApi.Utils;
- using OperationLog;
- using cuidian.Sql;
- namespace TempDbToUfida.OpenApi
- {
- /// <summary>
- /// 从中间库将采购入库资料下载到U8数据库
- /// </summary>
- public class DownLoadPurchasein : BaseDataDownLoad
- {
- protected override void _Init()
- {
- _loadSql = "select * from RdRecord01 where processflag=0";
- base._Init();
- }
- protected override BusinessObject _ImportData(DataRow row)
- {
- PurchaseinApi api = new PurchaseinApi();
- Dictionary<string, string> args = new Dictionary<string, string>();
- string id = row["ID"].ToString();
- args.Add("RdRecord01", "select * from wtu..RdRecord01 where ID=" + id);
- args.Add("RdRecords01", "select * from wtu..RdRecords01 where ID=" + id);
- DataSet ds = DbUtils.Fill(args, ConnectionUtils.Instance.GetConnection());
- Purchasein v = __GetHead(ds);
- v.entry = __GetDetails(ds);
- PurchaseinRoot vr = new PurchaseinRoot();
- vr.purchasein = v;
- BusinessObject result = api.Add(JsonUtils.GetJsonString(vr));
- return result;
- }
- protected override void _Audit(string id)
- {
- PurchaseinApi api = new PurchaseinApi();
- api.Audit(id);
- }
- private Purchasein __GetHead(DataSet ds)
- {
- Purchasein v = new Purchasein();
- DataTable dt = ds.Tables["RdRecord01"];
- v.code = dt.Rows[0]["cCode"].ToString();
- v.departmentcode= dt.Rows[0]["cDepCode"].ToString();//部门编码
- v.warehousecode = dt.Rows[0]["cWhCode"].ToString();//仓库编码
- v.vendorcode = dt.Rows[0]["cVenCode"].ToString();//供货单位编码
- //v.vendorabbname = "";//供货单位名称
- //v.receivecode = AppSeting.Instance.GetValue("receivecode");//收发类型默认S
- v.receivecode = AppSeting.Instance.GetValue("receivecode");//收发类型默认MC
- v.receivename = "普通采购";//收发类型默认普通采购
- v.memory = dt.Rows[0]["cMemo"].ToString();
- DateTime date = DateTime.Parse(dt.Rows[0]["dDate"].ToString());
- v.date = date.ToString("yyyy-MM-dd");
- v.define12 = dt.Rows[0]["cDefine12"].ToString();//采购单号
- //v.maker = dt.Rows[0]["cMaker"].ToString();//制单人
- //define5 用友U8API中 采购入库 的 单据头自定义项5
- v.define5 = dt.Rows[0]["ID"].ToString();
- v.define1 = "来源旺店通";
- return v;
- }
- private Entry[] __GetDetails(DataSet ds)
- {
- int cnt = ds.Tables["RdRecords01"].Rows.Count;
- DataTable dt = ds.Tables["RdRecords01"];
- Entry[] rtn = new Entry[cnt];
- for (int i = 0; i < cnt; i++)
- {
- Entry e = new Entry();
- e.inventorycode = dt.Rows[i]["cInvCode"].ToString().Replace(" ", "");//存货编码
- e.quantity = dt.Rows[i]["iQuantity"].ToString();//数量
- e.price = dt.Rows[i]["iUnitCost"].ToString();//本币单价
- e.cost =( Convert.ToDouble(e.quantity) * Convert.ToDouble(e.price)).ToString(); //dt.Rows[i]["cDefine22"].ToString();//本币金额
- //define27 用友 U8 API中 采购入库
- e.define27 = dt.Rows[i]["ID"].ToString();
- e.define26 = dt.Rows[i]["cDefine26"].ToString();
- e.rowno = (i + 1).ToString();
- rtn[i] = e;
- }
- return rtn;
- }
- protected override void _LogError(int id, string msg)
- {
- OperationLog.Utils.WriteErrorLog("向U8导入采购入库资料", "sysid = " + id.ToString() + " " + msg);
- }
- protected override void _LogSucess(int id,string newCode)
- {
- string sql = "update RdRecord01 set processflag = 1,processdate = getdate(),newcode='" + newCode + "'" + " where sysid = " + id.ToString();
- sql +=string.Format(" update {0}..rdrecords01 set iOriMoney=iPrice,iOriCost=iUnitCost where id in(select id from {0}..rdrecord01 where ccode='{1}')",ConnectionUtils.Instance.GetConnection().Database,newCode);
- //string sql = "update RdRecord01 set processflag = 1,processdate = getdate(),newcode=(select cCode from wtu..RdRecord01 where sysid = " + id.ToString() + ") where sysid = " + id.ToString();
- OperationLog.Utils.UpdateTempRecord(sql);
- }
- protected override string _GetReturnCode(BusinessObject result)
- {
- //string ID = DbUtils.ExecuteScalar(string.Format("select ID from RdRecord01 where cCode='{0}' ", result.Id), ConnectionUtils.Instance.GetConnection("003")).ToString();
- return result.Id;
- }
- }
- }
|