123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866 |
- using Common.Model;
- using Common.Wechat;
- using CoreEntity.BAL;
- using CoreEntity.Entity;
- using PublicLibrary.Common;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Data.SqlClient;
- using System.Text;
- using ZcPeng.PublicLibrary;
- using ZcPeng.weixin.PublicAccount;
- namespace CoreEntity.DAL
- {
- public class PushRecordDAL
- {
- public const string orgid = "O24LK4F259B";
- public static IList<PushStorLimit> GetPushLimit(string filterstr = "") {
- #region 获取推送时间
- DataTable dt = new DataTable();
- string result;
- string connectstr = "Data Source =192.168.50.30; Initial Catalog = LJHYBZK; Persist Security Info = True; User ID = sa; Password = xq!@#2014;Pooling=true;MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30";
- List<SqlParameter> parameters1 = new List<SqlParameter>();
- bool success = DataAccess.GetValues(connectstr,
- "select * from " + Config.TablePrefix + "PushStorLimit where 1=1 " +
- filterstr, ref dt, parameters1.ToArray(), out result);
- // 把DataTable转换为IList<UserInfo>
- IList<PushStorLimit> psls = new List<PushStorLimit>();
- if (dt!=null && dt.Rows.Count > 0)
- {
- // 把DataTable转换为IList<UserInfo>
- psls = ModelConvertHelper<PushStorLimit>.ConvertToModel(dt);
- }
- return psls;
- #endregion
- }
- public static Dictionary<string,Object> AddPushRecord(
- string PushCode,
- Int32 PushAccountId,
- string ContactId,
- string Remark
- , string ConfirmPerson
- , string SaleManId)
- {
- Dictionary<string, Object> resultdic = new Dictionary<string, Object>(6);
- #region 添加推送记录
- string commandTextRecord = "INSERT INTO " + Config.TablePrefix
- + "PushRecord (" +
- "PushCode," +
- "Id," +
- "PushTime," +
- "PushAccountId," +
- "ContactId," +
- "PushFeedBackTime,IsComplete,CompleteTime,HasOrder,OrderTime," +
- "ConfirmPuchaseTime,ConfirmPuchaser,ConfirmOrderTime,ConfirmOrderPerson,IsCancel,CancelTime,Remark,CreationPerson" +
- ",SaleManId)"
- + " VALUES (" +
- "@PushCode," +
- "@Id," +
- "@PushTime," +
- "@PushAccountId," +
- "@ContactId," +
- "@PushFeedBackTime,@IsComplete,@CompleteTime,@HasOrder,@OrderTime," +
- "@ConfirmPuchaseTime,@ConfirmPuchaser,@ConfirmOrderTime,@ConfirmOrderPerson,@IsCancel,@CancelTime,@Remark,@CreationPerson" +
- ",@SaleManId)";
- string resultRecord;
- //准备参数
- Guid PushRecordId = Guid.NewGuid();
- List<List<Object>> parametersRecord = new List<List<Object>>();
- parametersRecord.Add(new List<Object>(2) { "PushCode", PushCode });
- parametersRecord.Add(new List<Object>(2) { "Id", PushRecordId });
- parametersRecord.Add(new List<Object>(2) { "PushTime", DateTime.Now });
- parametersRecord.Add(new List<Object>(2) { "PushAccountId", PushAccountId });
- parametersRecord.Add(new List<Object>(2) { "ContactId", ContactId });
- parametersRecord.Add(new List<Object>(2) { "PushFeedBackTime", null });
- parametersRecord.Add(new List<Object>(2) { "IsComplete", (Int32)0 });
- parametersRecord.Add(new List<Object>(2) { "CompleteTime", null });
- parametersRecord.Add(new List<Object>(2) { "HasOrder", 0 });
- parametersRecord.Add(new List<Object>(2) { "OrderTime", null });
- parametersRecord.Add(new List<Object>(2) { "ConfirmPuchaseTime", null });
- parametersRecord.Add(new List<Object>(2) { "ConfirmPuchaser", null });
- parametersRecord.Add(new List<Object>(2) { "ConfirmOrderTime", null });
- parametersRecord.Add(new List<Object>(2) { "ConfirmOrderPerson", null });
- parametersRecord.Add(new List<Object>(2) { "IsCancel", 0 });
- parametersRecord.Add(new List<Object>(2) { "CancelTime", null });
- parametersRecord.Add(new List<Object>(2) { "Remark", Remark });
- //parametersRecord.Add(new List<Object>() { "EntId", EntId });
- parametersRecord.Add(new List<Object>(2) { "CreationPerson", ConfirmPerson });
- parametersRecord.Add(new List<Object>(2) { "SaleManId", SaleManId });
- List<SqlParameter> parametersRecord1 = DataAccess.ToParameters(parametersRecord);
- int successRecord = DataAccess.ExecuteCommand(commandTextRecord, parametersRecord1, out resultRecord);
- resultdic.Add("successRecord", successRecord);
- resultdic.Add("resultRecord", resultRecord);
- resultdic.Add("PushRecordId", PushRecordId);
- #endregion
- return resultdic;
- }
- public static IDictionary<string, Object> AddOrUpdatePushFeedBack(
- string PushCode
- ,
- string PushRecordId
- , string FeedbackId,
- Int32 PushAccountId,
- string ContactId,
- string GoodsId, string GoodsCode
- , string GoodsName, decimal StoreGapNum
- , string GoodsSpec, string Manufacturer
- , string BusinessId, string BusinessCode, string BusinessName
- , string SuppliersId, string BrandName, string BrandId
- , string EntId, string Remark, string ConfirmPerson,
- Decimal PurPrice,
- Decimal ActPrice,
- Decimal PurchaseTotalNum
- ,string SaleManId)
- {
- IDictionary<string, Object> resultdic = new Dictionary<string, Object>(4);
- Guid PushFeedbackId = Guid.NewGuid();
- int Status = 0;
- if ((PushRecordId != null && PushRecordId != "")) {
- bool needinsert = false;
- if ((FeedbackId != null && FeedbackId != ""))
- {
- List<PushFeedbackExt> pls = PushFeedBackDAL.GetFeedbacks(PushRecordId, " and Id='" + FeedbackId + "'");
- PushFeedback pfb = pls.ToArray()[0];
- int newPushAccountId = PushAccountId;
- if (pfb.PushAccountId != Convert.ToInt32(newPushAccountId)
- || pfb.SuppliersId != SuppliersId)
- {
-
- if (pfb.State == 0|| pfb.State == 6 || pfb.State == 5)//初始化供应商信息
- { //添加新明细
- Status = 6;
- //不需要删除旧的 打开仍然可以填写 IsCancel标记为1
- //PushFeedBackDAL.DeleteFeedback(FeedbackId);
- PushFeedBackDAL.MarkCancelFeedback(FeedbackId);
- //获取推送上下限
- IList<PushStorLimit> pushLimits = PushRecordDAL.GetPushLimit(" and goodsId='" + GoodsId + "'");
- // 获取待推联系人 绑定账户 不需要绑定微信公众号 不绑定微信公众号不能推送信息
- string filterstr =
- //" and UserId IS NOT NULL and UserId !=''" +
- //" and FocusMicNo IS NOT NULL and FocusMicNo !='' " +
- " and UserId = '" + PushAccountId + "'"+
- " and ContactId = '" + ContactId + "'" +
- " and SuppliersId = '" + SuppliersId + "'";
- Dictionary<string, PushStorLimit> gapnum;
- List<PushContactWithGoods> GetPushContacts = ContactBAL.GetPushContactWithGoods(filterstr, ",t1.ContactId,t1.SuppliersId", pushLimits, out gapnum, out _);
- PushContactWithGoods GetPushContact = GetPushContacts.ToArray()[0];
- BusinessId = GetPushContact.BusinessId;
- BusinessCode = GetPushContact.BusinessCode;
- BusinessName = GetPushContact.BusinessName;
- SuppliersId = GetPushContact.SuppliersId;
-
- //如果同一批次已经有这个联系人的推送记录 则加入到对方的记录 否则:
- //新建新的推送记录-pushrecord
- PushRecord prec= GetRecordByPushCode(PushCode, PushAccountId);
- if (prec != null)
- PushRecordId = prec.Id.ToString();
- else
- {
- Dictionary<string, Object> pdic = AddPushRecord(PushCode, PushAccountId, ContactId, "", ConfirmPerson,SaleManId);
- Object recordId;
- pdic.TryGetValue("PushRecordId", out recordId);
- PushRecordId = ((Guid)recordId).ToString();
- }
- }
- else if (pfb.State == 2)
- {
- Status = 5;
- //获取推送上下限
- IList<PushStorLimit> pushLimits = PushRecordDAL.GetPushLimit(" and goodsId='" + GoodsId + "'");
- // 获取待推联系人 绑定账户 和微信
- string filterstr =
- //" and UserId IS NOT NULL and UserId !=''" +
- //" and FocusMicNo IS NOT NULL and FocusMicNo !='' " +
- " and UserId = '" + PushAccountId + "'" +
- " and ContactId = '" + ContactId + "'" +
- " and SuppliersId = '" + SuppliersId + "'";
- Dictionary<string, PushStorLimit> gapnum;
- List<PushContactWithGoods> GetPushContacts = ContactBAL.GetPushContactWithGoods(filterstr, ",t1.ContactId,t1.SuppliersId", pushLimits, out gapnum, out _);
- PushContactWithGoods GetPushContact = GetPushContacts.ToArray()[0];
- BusinessId = GetPushContact.BusinessId;
- BusinessCode = GetPushContact.BusinessCode;
- BusinessName = GetPushContact.BusinessName;
- SuppliersId = GetPushContact.SuppliersId;
- //如果统一批次已经有这个联系人的推送记录 则加入到对方的记录 否则:
- //新建新的推送记录-pushrecord
- PushRecord prec = GetRecordByPushCode(PushCode, PushAccountId);
- if (prec != null)
- PushRecordId = prec.Id.ToString();
- else
- {
- Dictionary<string, Object> pdic = AddPushRecord(PushCode, PushAccountId, ContactId, "", ConfirmPerson, SaleManId);
- Object recordId;
- pdic.TryGetValue("PushRecordId", out recordId);
- PushRecordId = ((Guid)recordId).ToString();
- }
- }
- needinsert = true;
- }
- }
- if ((FeedbackId == null || FeedbackId == "")||needinsert)
- {
- //添加推送明细
- #region 添加推送明细
- string commandText = "INSERT INTO " + Config.TablePrefix
- + "PushFeedback (Id,PushRecordId," +
- "PushAccountId," +
- "ContactId," +
- "GoodsId,GoodsCode,GoodsName,StoreGapNum," +
- "GoodsSpec,Manufacturer," +
- "BusinessId,BusinessCode,BusinessName" +
- ",SuppliersId" +
- ",BrandName,BrandId" +
- ",EntId,Remark" +
- ",CertiNo," +
- "PurPrice," +
- "ActPrice," +
- "PurchaseTotalNum" +
- ",State" +
- ",PushCode"+
- ",CreationPerson" +
- ",SaleManId)"
- + " VALUES (@Id,@PushRecordId," +
- "@PushAccountId," +
- "@ContactId," +
- "@GoodsId,@GoodsCode,@GoodsName,@StoreGapNum," +
- "@GoodsSpec,@Manufacturer," +
- "@BusinessId,@BusinessCode,@BusinessName" +
- ",@SuppliersId" +
- ",@BrandName,@BrandId" +
- ",@EntId,@Remark" +
- ",@CertiNo" +
- ",@PurPrice" +
- ",@ActPrice" +
- ",@PurchaseTotalNum" +
- ",@State" +
- ",@PushCode" +
- ",@CreationPerson" +
- ",@SaleManId)";
- string result;
- //准备参数
- List<List<Object>> parameters = new List<List<Object>>();
- parameters.Add(new List<Object>() { "Id", PushFeedbackId });
- parameters.Add(new List<Object>() { "PushRecordId", PushRecordId });
- parameters.Add(new List<Object>() { "PushAccountId", PushAccountId });
- parameters.Add(new List<Object>() { "ContactId", ContactId });
- parameters.Add(new List<Object>() { "GoodsId", GoodsId });
- parameters.Add(new List<Object>() { "GoodsCode", GoodsCode });
- parameters.Add(new List<Object>() { "GoodsName", GoodsName });
- parameters.Add(new List<Object>() { "StoreGapNum", 0 });
- parameters.Add(new List<Object>() { "GoodsSpec", GoodsSpec });
- parameters.Add(new List<Object>() { "Manufacturer", Manufacturer });
- parameters.Add(new List<Object>() { "BusinessId", BusinessId });
- parameters.Add(new List<Object>() { "BusinessCode", BusinessCode });
- parameters.Add(new List<Object>() { "BusinessName", BusinessName });
- parameters.Add(new List<Object>() { "SuppliersId", SuppliersId });
- parameters.Add(new List<Object>() { "BrandName", BrandName });
- parameters.Add(new List<Object>() { "BrandId", BrandId });
- parameters.Add(new List<Object>() { "EntId", EntId });
- parameters.Add(new List<Object>() { "Remark", Remark });
- parameters.Add(new List<Object>() { "CertiNo", "" });
- parameters.Add(new List<Object>() { "PurPrice", PurPrice });
- parameters.Add(new List<Object>() { "ActPrice", ActPrice });
- parameters.Add(new List<Object>() { "PurchaseTotalNum", PurchaseTotalNum });
- parameters.Add(new List<Object>() { "State", Status });
- parameters.Add(new List<Object>() { "PushCode", PushCode });
- parameters.Add(new List<Object>() { "CreationPerson", ConfirmPerson });
- parameters.Add(new List<Object>() { "SaleManId", SaleManId });
- List<SqlParameter> parameters1 = DataAccess.ToParameters(parameters);
- int success = DataAccess.ExecuteCommand(commandText, parameters1, out result);
- resultdic.Add("successRecord", success);
- resultdic.Add("resultRecord", result);
- #endregion
- }
- //else//重新推送 修改
- //{
- // //--确认订单:采购员已确认 0 刚生成推送记录 1 业务员确认(数量提交确认) 2 供应商业务员取消
- // //3 采购员确认(生成计划)
- // //--4 供应商业务员确认(二次确认 开票 生成采购订单) 5 重新推送
- // #region 更新明细 5 量不足重选推送
- // string commandTextFeed = "UPDATE " + Config.TablePrefix + "PushFeedback " +
- // " SET " +
- // "PushRecordId = PushRecordId1, " +
- // " State = 5 " +
- // " FROM (SELECT " +
- // "@PushRecordId as PushRecordId1" +
- // " ) A" +
- // " WHERE Id= @FeedbackId " +
- // "AND (State in(2,6)) ";
- // string resultState;
- // //准备参数
- // List<List<Object>> parametersFeed = new List<List<Object>>();
- // parametersFeed.Add(new List<Object>() { "PushRecordId", PushRecordId });
- // parametersFeed.Add(new List<Object>() { "FeedbackId", FeedbackId });
- // List<SqlParameter> parametersFeed1 = DataAccess.ToParameters(parametersFeed);
- // int successState = DataAccess.ExecuteCommand(commandTextFeed, parametersFeed1, out resultState);
- // #endregion
- // resultdic.Add("successRecord", successState);
- // resultdic.Add("resultRecord", resultState);
- // //old PushFeedbackId
- // PushFeedbackId = Guid.Parse(FeedbackId);
- // Status = 5;
- //}
- #region 添加推送确认记录
- string commandTextRecordRelate = "INSERT INTO " + Config.TablePrefix
- + "PushConfirmRecord (Id,PushRecordId,PushFeedbackId,ConfirmTime,ConfirmPerson,Status)"
- + " VALUES (@Id,@PushRecordId,@PushFeedbackId,@ConfirmTime,@ConfirmPerson,@Status)";
- string resultRecordRelate;
- //准备参数
- List<List<Object>> parametersRecordRelate = new List<List<Object>>();
- parametersRecordRelate.Add(new List<Object>() { "Id", Guid.NewGuid() });
- parametersRecordRelate.Add(new List<Object>() { "PushRecordId", PushRecordId });
- parametersRecordRelate.Add(new List<Object>() { "PushFeedbackId", PushFeedbackId });
- parametersRecordRelate.Add(new List<Object>() { "ConfirmTime", DateTime.Now });
- parametersRecordRelate.Add(new List<Object>() { "ConfirmPerson", ConfirmPerson });
- parametersRecordRelate.Add(new List<Object>() { "Status", Status });
- List<SqlParameter> parametersRecordRelate1 = DataAccess.ToParameters(parametersRecordRelate);
- int successRecordRelate = DataAccess.ExecuteCommand(commandTextRecordRelate, parametersRecordRelate1, out resultRecordRelate);
- resultdic.Add("successRecordRelate", successRecordRelate);
- resultdic.Add("resultRecordRelate", resultRecordRelate);
- #endregion
- }
- return resultdic;
- }
- /// <summary>
- /// 根据上下限 查询待推送联系人
- /// </summary>
- /// <param name="notexist">是否是低于下限的产品的联系人</param>
- /// <returns></returns>
- public static IList<PushContact> GetPushContact(IList<PushStorLimit> storLimits, bool notexist = true)
- {
- string not = "";
- if (notexist)
- {
- not = "not";
- }
- List<string> superior_list = new List<string>(0);
- foreach (PushStorLimit limit in storLimits)
- {
- //Role role;
- //if (roleMap.TryGetValue(permsr.RoleId, out role))
- //{
- // listRoles.Add(role);
- //}
- superior_list.Add(limit.GoodsId);
- }
- //perms.RoleList = listRoles;
- string limitss = string.Join(",", superior_list.ToArray());
- #region 获取推送时间
- DataTable dt = new DataTable();
- string result;
- List<SqlParameter> parameters1 = new List<SqlParameter>();
- string command = "SELECT * " +
- "FROM(SELECT ROW_NUMBER() OVER(PARTITION BY t1.GoodsId ORDER BY t1.LastPrice ASC) AS RNUM," +
- " *" +
- " FROM " + Config.TablePrefix + "PushContact t1 " +
- " WHERE " + not + "exists (" +
- //" select 1 from " + Config.TablePrefix + "PushStorLimit A " +
- //" where A.GoodsId = t1.GoodsId)" +
- " WHERE t1.GoodsId IN ('" +
- limitss +
- " ')" +
- ") AS T " +
- " WHERE T.RNUM = 1 " +
- " ";
- bool success = DataAccess.GetValues(command, ref dt, parameters1.ToArray(), out result);
- // 把DataTable转换为IList<UserInfo>
- IList<PushContact> psls = new List<PushContact>();
- if (dt!=null && dt.Rows.Count > 0)
- {
- // 把DataTable转换为IList<UserInfo>
- psls = ModelConvertHelper<PushContact>.ConvertToModel(dt);
- }
- return psls;
- #endregion
- }
- private static List<Option> _optionReceipt;
- private static List<Option> _optionCentPay;
- public static List<Option> getOptionReceipt()
- {
- return _optionReceipt;
- }
- public static List<Option> getOptionCentPay (){
- return _optionCentPay;
- }
- public static Dictionary<Int32, Option> OptionCentPayMap;
- public static List<Option> OptionReceipt { get => _optionReceipt; set => _optionReceipt = value; }
- public static List<Option> OptionCentPay { get => _optionCentPay; set => _optionCentPay = value; }
- static PushRecordDAL()
- {
- OptionReceipt = new List<Option>();
- Option option = new Option();
- option.label = "自提";
- option.value = "1";
- Option option1 = new Option();
- option1.label = "配送";
- option1.value = "2";
- Option option2 = new Option();
- option2.label = "托运";
- option2.value = "3";
- OptionReceipt.Add(option);
- OptionReceipt.Add(option1);
- OptionReceipt.Add(option2);
- OptionCentPay = new List<Option>();
- OptionCentPayMap = new Dictionary<Int32, Option>();
- Option option0 = new Option();
- option0.label = "月结公账";
- option0.value = "1";
- OptionCentPayMap.Add(1,option0);
- Option option01 = new Option();
- option01.label = "代销公账";
- option01.value = "2";
- OptionCentPayMap.Add(2, option01);
- Option option02 = new Option();
- option02.label = "货到公账";
- option02.value = "3";
- OptionCentPayMap.Add(3, option02);
- Option option03 = new Option();
- option03.label = "银行承兑";
- option03.value = "4";
- OptionCentPayMap.Add(4, option03);
- Option option04 = new Option();
- option04.label = "预付公账";
- option04.value = "5";
- OptionCentPayMap.Add(5, option04);
- Option option05 = new Option();
- option05.label = "其他";
- option05.value = "6";
- OptionCentPayMap.Add(6, option05);
- OptionCentPay.Add(option0);
- OptionCentPay.Add(option01);
- OptionCentPay.Add(option02);
- OptionCentPay.Add(option03);
- OptionCentPay.Add(option04);
- OptionCentPay.Add(option05);
- }
-
- /// 添加采购计划记录到erp
- /// SuppliersId 是根据来往单位(BusinnesDoc)是否供货生成的供应商表(SupplierDoc)记录的id
- /// 如果传入BusinnesId BusinessCode:
- /// 查询 SuppliersId 来往单位(BusinnesDoc)Is_Supp 设置Y
- /// 如果传入SuppliersId:不需要 BusinessId BusinessCode
- public static IDictionary<string, Object> AddPlan(
- string RecordId,
- string FeedbackId
- , Int32 PushAccountId
- , string EntId, int ReceiptMd, int CentPayMd
- , string OrgId, string DeptId
- , string Summaries, string Remark
- , string GoodsId, string SuppliersId
- , string BusinessId, string BusinessCode
- , string LoginStaffDocId
- , DateTime RequestDate
- , decimal PrepayAmt
- , string IsPrepay
- , string OppContId
- , string K_ContactId)
- {
- IDictionary<string, Object> resultdic = new Dictionary<string, Object>(6);
-
- //查询或生成 SuppliersId
- #region SuppliersId
- if (BusinessCode != null && BusinessCode != ""
- && BusinessId != null && BusinessId != "")
- {
- if (SuppliersId == null) {
- //SupplyDoc sups = SupplyDAL.getSupply(BusinessCode);
- //SuppliersId = sups.SuppliersId;
- SuppliersId = BusinessId;
- }
- //if (SuppliersId == null)
- //{
- //#region 添加推送确认记录
- //string commandTextRecordRelate = "INSERT INTO "
- //+ "SUPPLYDOC (SuppliersId,EntId,gysbh,CreaterId,CreaterTime)"
- //+ " VALUES (@Id,@PushRecordId,@PushFeedbackId,@ConfirmTime,@ConfirmPerson)";
- //string resultRecordRelate;
- ////准备参数
- //List<List<Object>> parametersRecordRelate = new List<List<Object>>();
- //parametersRecordRelate.Add(new List<Object>() { "Id", Guid.NewGuid() });
- //parametersRecordRelate.Add(new List<Object>() { "PushRecordId", PushRecordId });
- //parametersRecordRelate.Add(new List<Object>() { "PushFeedbackId", PushFeedbackId });
- //parametersRecordRelate.Add(new List<Object>() { "Status", Status });
- //parametersRecordRelate.Add(new List<Object>() { "ConfirmTime", DateTime.Now });
- //parametersRecordRelate.Add(new List<Object>() { "ConfirmPerson", ConfirmPerson });
- //List<SqlParameter> parametersRecordRelate1 = DataAccess.ToParameters(parametersRecordRelate);
- //int successRecordRelate = DataAccess.ExecuteCommand(commandTextRecordRelate, parametersRecordRelate1, out resultRecordRelate);
- //resultdic.Add("successRecordRelate", successRecordRelate);
- //resultdic.Add("resultRecordRelate", resultRecordRelate);
- //#endregion
- //}
- }
- #endregion
- //新建采购计划
- #region 添加推送记录
- string commandTextRecord = "INSERT INTO "
- + "PurPlanMt (" +
- //"BillNo," +
- "EntId,BillCode,RuleId,Dates,"
- + "OnTime,SysDates,PurOrgId,ReceiptMd,CentPayMd,"
- + "PayOrgId,SaleManId,caozy,OrgId,DeptId,"
- + "IsEnd,PurPlanType,PurObj,StartDate,EndDate,"
- + "IsDone,BillState,Summaries,Remark,SuppliersId,"
- + "GoodsId,PushFeedbackId,PushRecordId,"
- + "PrepayAmt,IsPrepay,OppContId,K_ContactId"
- + ")"
- + " VALUES (" +
- //"@BillNo," +
- "@EntId,@BillCode,@RuleId,@Dates,"
- + "@OnTime,@SysDates,@PurOrgId,@ReceiptMd,@CentPayMd,"
- + "@PayOrgId,@SaleManId,@caozy,@OrgId,@DeptId,"
- + "@IsEnd,@PurPlanType,@PurObj,@StartDate,@EndDate,"
- + "@IsDone,@BillState,@Summaries,@Remark,@SuppliersId,"
- + "@GoodsId,@PushFeedbackId,@PushRecordId,"
- + "@PrepayAmt,@IsPrepay,@OppContId,@K_ContactId" +
- ")";
- string resultRecord;
- //准备参数
- //Guid PushRecordId = Guid.NewGuid();
- List<List<Object>> parametersRecord = new List<List<Object>>();
- //long PlanBillNo = RandHelper.GetTimeRandId();
- //parametersRecord.Add(new List<Object>() { "BillNo", PlanBillNo });
- parametersRecord.Add(new List<Object>() { "EntId", EntId });
- parametersRecord.Add(new List<Object>() { "BillCode", RandHelper.GenerateRandomCode(20) });
- parametersRecord.Add(new List<Object>() { "RuleId", "" });
- parametersRecord.Add(new List<Object>() { "Dates", DateTime.Now.ToString("yyyy-MM-dd") });
- parametersRecord.Add(new List<Object>() { "OnTime", DateTime.Now.ToString("T") });
- parametersRecord.Add(new List<Object>() { "SysDates", DateTime.Now.ToString("yyyy-MM-dd") });
- parametersRecord.Add(new List<Object>() { "PurOrgId", OrgId });
- parametersRecord.Add(new List<Object>() { "ReceiptMd", ReceiptMd });
- parametersRecord.Add(new List<Object>() { "CentPayMd", CentPayMd });
- parametersRecord.Add(new List<Object>() { "PayOrgId", "O2IR7T92J72" });//财务部
- parametersRecord.Add(new List<Object>() { "SaleManId", LoginStaffDocId });
- parametersRecord.Add(new List<Object>() { "caozy", LoginStaffDocId });
- parametersRecord.Add(new List<Object>() { "OrgId", OrgId });
- parametersRecord.Add(new List<Object>() { "DeptId", DeptId });
- parametersRecord.Add(new List<Object>() { "IsEnd", 'N' });//默认N
- parametersRecord.Add(new List<Object>() { "PurPlanType", 0 });
- parametersRecord.Add(new List<Object>() { "PurObj", PushAccountId });//对方业务员
- parametersRecord.Add(new List<Object>() { "StartDate", DateTime.Now.ToString("yyyy-MM-dd") });
- parametersRecord.Add(new List<Object>() { "EndDate", RequestDate.ToString("yyyy-MM-dd") });
- parametersRecord.Add(new List<Object>() { "IsDone", 'N' });
- parametersRecord.Add(new List<Object>() { "BillState", 0 });
- parametersRecord.Add(new List<Object>() { "Summaries", Summaries });
- parametersRecord.Add(new List<Object>() { "Remark", Remark });
- parametersRecord.Add(new List<Object>() { "SuppliersId", SuppliersId });
- parametersRecord.Add(new List<Object>() { "GoodsId", GoodsId });
- parametersRecord.Add(new List<Object>() { "PushFeedbackId", FeedbackId });//
- parametersRecord.Add(new List<Object>() { "PushRecordId", RecordId });//
- parametersRecord.Add(new List<Object>() { "PrepayAmt", PrepayAmt });//
- parametersRecord.Add(new List<Object>() { "IsPrepay", IsPrepay });//
-
- parametersRecord.Add(new List<Object>() { "OppContId", OppContId });//
- parametersRecord.Add(new List<Object>() { "K_ContactId", K_ContactId });//
- List<SqlParameter> parametersRecord1 = DataAccess.ToParameters(parametersRecord);
- int successRecord = DataAccess.ExecuteCommand(commandTextRecord, parametersRecord1, out resultRecord);
- resultdic.Add("successRecord", successRecord);
- resultdic.Add("resultRecord", resultRecord);
- #endregion
- int PlanBillNo = BaseDAL.GetId("PurPlanMT");
- resultdic.Add("PlanBillNo", PlanBillNo);
-
- return resultdic;
- }
- public static IDictionary<string, Object> AddPlanDT(
- string PushFeedbackId
- ,
- int PlanBillNo,Int32 BillSn,
- string GoodsId,string GoodsSpec,Int32 GoodsGapNum ,
- Decimal LastPrice , string Remark,
- string EntId,
- string BusinessId, string BusinessCode,
- string SuppliersId,
- Int32 PurchaseTotalNum, Int32 SafeDays
- , string LoginStaffDocId
- , DateTime RequestDate)
- {
- IDictionary<string, Object> resultdic = new Dictionary<string, Object>(6);
-
- //查询或生成 SuppliersId
- #region SuppliersId
- if (BusinessCode != null && BusinessCode != ""
- && BusinessId != null && BusinessId != "")
- {
- if (SuppliersId == null)
- {
- //SupplyDoc sups = SupplyDAL.getSupply(BusinessCode);
- //SuppliersId = sups.SuppliersId;
- SuppliersId = BusinessId;
- }
- if (SuppliersId == null)
- {
- //#region 添加推送确认记录
- //string commandTextRecordRelate = "INSERT INTO "
- //+ "SUPPLYDOC (SuppliersId,EntId,gysbh,CreaterId,CreaterTime)"
- //+ " VALUES (@Id,@PushRecordId,@PushFeedbackId,@ConfirmTime,@ConfirmPerson)";
- //string resultRecordRelate;
- ////准备参数
- //List<List<Object>> parametersRecordRelate = new List<List<Object>>();
- //parametersRecordRelate.Add(new List<Object>() { "Id", Guid.NewGuid() });
- //parametersRecordRelate.Add(new List<Object>() { "PushRecordId", PushRecordId });
- //parametersRecordRelate.Add(new List<Object>() { "PushFeedbackId", PushFeedbackId });
- //parametersRecordRelate.Add(new List<Object>() { "Status", Status });
- //parametersRecordRelate.Add(new List<Object>() { "ConfirmTime", DateTime.Now });
- //parametersRecordRelate.Add(new List<Object>() { "ConfirmPerson", ConfirmPerson });
- //List<SqlParameter> parametersRecordRelate1 = DataAccess.ToParameters(parametersRecordRelate);
- //int successRecordRelate = DataAccess.ExecuteCommand(commandTextRecordRelate, parametersRecordRelate1, out resultRecordRelate);
- //resultdic.Add("successRecordRelate", successRecordRelate);
- //resultdic.Add("resultRecordRelate", resultRecordRelate);
- //#endregion
- }
- }
- #endregion
- //新建推送记录
- #region 添加推送记录
- string commandTextRecord = "INSERT INTO "
- + "PurPlanDT (BillNo,BillSn,EntId,BillSort,SuppliersId,"
- + "GoodsId,PackId,unit,Meas,BaseNum,"
- + "Num,ExecNum,CancelNum,Price,Taxprice,"
- + "BasePrice,BaseTaxprice,DedRate,Amount,Rate,"
- + "Tax,TaxAmount,RetailP,RetailAmt,IsFree,"
- + "IsDone,Remark,DayTTNum,DaySTNum,DayNTNum,"
- + "DayHENum,MinTaxPrice,LastTaxPrice,LastSupp,PlaceNum,"
- + "PurSuppNum,LackNum,songhts,SafeDays,PONum,PushFeedbackId"
- + ")"
- + " VALUES (@BillNo,@BillSn,@EntId,@BillSort,@SuppliersId,"
- + "@GoodsId,@PackId,@unit,@Meas,@BaseNum,"
- + "@Num,@ExecNum,@CancelNum,@Price,@Taxprice,"
- + "@BasePrice,@BaseTaxprice,@DedRate,@Amount,@Rate,"
- + "@Tax,@TaxAmount,@RetailP,@RetailAmt,@IsFree,"
- + "@IsDone,@Remark,@DayTTNum,@DaySTNum,@DayNTNum,"
- + "@DayHENum,@MinTaxPrice,@LastTaxPrice,@LastSupp,@PlaceNum,"
- + "@PurSuppNum,@LackNum,@songhts,@SafeDays,@PONum,@PushFeedbackId" +
- ")";
- string resultRecord;
- //准备参数
- PGPrice pg = IDHelper.GetPackId(GoodsId,EntId);
- string GetPackId = "";
- if (pg != null)
- GetPackId = pg.PackId;
- Guid PushRecordId = Guid.NewGuid();
- List<List<Object>> parametersRecord = new List<List<Object>>();
- parametersRecord.Add(new List<Object>() { "BillNo", PlanBillNo });//关联的采购计划BillNo RandHelper.GenerateRandomCode(20)
- parametersRecord.Add(new List<Object>() { "BillSn", BillSn });
- parametersRecord.Add(new List<Object>() { "EntId", EntId });
- parametersRecord.Add(new List<Object>() { "BillSort", BillSn });
- parametersRecord.Add(new List<Object>() { "SuppliersId", SuppliersId });
- parametersRecord.Add(new List<Object>() { "GoodsId", GoodsId });
- parametersRecord.Add(new List<Object>() { "PackId", GetPackId });//PackId
- parametersRecord.Add(new List<Object>() { "unit", GoodsSpec });
- parametersRecord.Add(new List<Object>() { "Meas", 1 });
- parametersRecord.Add(new List<Object>() { "BaseNum", GoodsGapNum });
- parametersRecord.Add(new List<Object>() { "Num", GoodsGapNum });
- parametersRecord.Add(new List<Object>() { "ExecNum", GoodsGapNum });
- parametersRecord.Add(new List<Object>() { "CancelNum", 0 });
- parametersRecord.Add(new List<Object>() { "Price", LastPrice });
- parametersRecord.Add(new List<Object>() { "Taxprice", LastPrice });
- parametersRecord.Add(new List<Object>() { "BasePrice", LastPrice });
- parametersRecord.Add(new List<Object>() { "BaseTaxprice", LastPrice });
- parametersRecord.Add(new List<Object>() { "DedRate", 0 });
- parametersRecord.Add(new List<Object>() { "Amount", LastPrice*GoodsGapNum});
- parametersRecord.Add(new List<Object>() { "Rate", 0 });
- parametersRecord.Add(new List<Object>() { "Tax", 0 });
- parametersRecord.Add(new List<Object>() { "TaxAmount", LastPrice * GoodsGapNum });
- parametersRecord.Add(new List<Object>() { "RetailP", 0 });
- parametersRecord.Add(new List<Object>() { "RetailAmt", 0 });
- parametersRecord.Add(new List<Object>() { "IsFree", 'N' });
- parametersRecord.Add(new List<Object>() { "IsDone", 'N' });
- parametersRecord.Add(new List<Object>() { "Remark", Remark });
- parametersRecord.Add(new List<Object>() { "DayTTNum", 0 });
- parametersRecord.Add(new List<Object>() { "DaySTNum", 0 });
- parametersRecord.Add(new List<Object>() { "DayNTNum", 0 });
- parametersRecord.Add(new List<Object>() { "DayHENum", 0 });
- parametersRecord.Add(new List<Object>() { "MinTaxPrice", 0 });
- parametersRecord.Add(new List<Object>() { "LastTaxPrice", 0 });
- parametersRecord.Add(new List<Object>() { "LastSupp", SuppliersId });
- parametersRecord.Add(new List<Object>() { "PlaceNum", 0 });//库管数量
- parametersRecord.Add(new List<Object>() { "PurSuppNum", 0 }); //在途数量
- parametersRecord.Add(new List<Object>() { "LackNum", PurchaseTotalNum });
- parametersRecord.Add(new List<Object>() { "songhts", 0 });//送货天数
- parametersRecord.Add(new List<Object>() { "SafeDays", SafeDays });//安全库存天数
- parametersRecord.Add(new List<Object>() { "PONum", 0 });//订货点
- parametersRecord.Add(new List<Object>() { "PushFeedbackId", PushFeedbackId });//订货点
- List<SqlParameter> parametersRecord1 = DataAccess.ToParameters(parametersRecord);
- int successRecord = DataAccess.ExecuteCommand(commandTextRecord, parametersRecord1, out resultRecord);
- resultdic.Add("successRecord", successRecord);
- resultdic.Add("resultRecord", resultRecord);
- #endregion
- return resultdic;
- }
- public static PushRecord GetRecord(string PushRecordId)
- {
- #region 获取 plan
- string commandTextContact = "Select * From " + Config.TablePrefix + "PushRecord " +
- "Where Id = @PushRecordId";
- string resultContact;
- DataTable dt = new DataTable();
- PushRecord feedback = null;
- List<List<Object>> parametersContact = new List<List<Object>>();
- if (PushRecordId != null)
- {
- parametersContact.Add(new List<Object>() { "PushRecordId", Guid.Parse(PushRecordId) });
- DataAccess.GetValues(commandTextContact, ref dt, DataAccess.ToParameters(parametersContact).ToArray(), out resultContact);
- }
- if (dt != null && dt.Rows.Count > 0)
- {
- List<PushRecord> feedbacks = (List<PushRecord>)ModelConvertHelper<PushRecord>.ConvertToModel(dt);
- return feedbacks.ToArray()[0];
- }
- #endregion
- return feedback;
- }
- public static PushRecord GetRecordByPushCode(string PushCode,int PushAccountId)
- {
- #region 获取 plan
- string commandTextContact = "Select * From " + Config.TablePrefix + "PushRecord " +
- "Where PushCode = @PushCode and PushAccountId = @PushAccountId";
- string resultContact;
- DataTable dt = new DataTable();
- PushRecord feedback = null;
- List<List<Object>> parametersContact = new List<List<Object>>();
- if (PushCode != null)
- {
- parametersContact.Add(new List<Object>() { "PushCode", PushCode });
- parametersContact.Add(new List<Object>() { "PushAccountId", PushAccountId });
- DataAccess.GetValues(commandTextContact, ref dt, DataAccess.ToParameters(parametersContact).ToArray(), out resultContact);
- }
- if (dt != null && dt.Rows.Count > 0)
- {
- List<PushRecord> feedbacks = (List<PushRecord>)ModelConvertHelper<PushRecord>.ConvertToModel(dt);
- return feedbacks.ToArray()[0];
- }
- #endregion
- return feedback;
- }
- public static IList<PushSupplyTotal> GetPushSupTotal(string filterstr = "")
- {
- #region 获取推送时间
- DataTable dt = new DataTable();
- string result;
-
- List<SqlParameter> parameters1 = new List<SqlParameter>(0);
- bool success = DataAccess.GetValues(
- "select * from " + Config.TablePrefix + "PushSupplyTotal where 1=1 " +
- filterstr, ref dt, parameters1.ToArray(), out result);
- // 把DataTable转换为IList<UserInfo>
- IList<PushSupplyTotal> psls = new List<PushSupplyTotal>();
- if (dt != null && dt.Rows.Count > 0)
- {
- // 把DataTable转换为IList<UserInfo>
- psls = ModelConvertHelper<PushSupplyTotal>.ConvertToModel(dt);
- }
- return psls;
- #endregion
- }
- /// <summary>
- /// 更新提报状态
- /// </summary>
- /// <param name="PushAccountId"></param>
- /// <param name="Id"></param>
- /// <returns></returns>
- public static int SubmitState(string PushAccountId, string Id)
- {
- #region 更新状态
- string commandTextState = "UPDATE " + Config.TablePrefix + "PushFeedback " +
- " SET SubmitTime = SubmitTime1, " +
- " SubmitPerson = SubmitPerson1, " +
- " State = 1 " +
- " FROM (SELECT " +
- "@SubmitTime as SubmitTime1," +
- "@SubmitPerson as SubmitPerson1" +
- " ) A" +
- " WHERE id= @PushFeedbackId";
- string resultState;
- //准备参数
- List<List<Object>> parametersState = new List<List<Object>>();
- parametersState.Add(new List<Object>() { "SubmitTime", DateTime.Now });
- parametersState.Add(new List<Object>() { "SubmitPerson", PushAccountId });
- parametersState.Add(new List<Object>() { "PushFeedbackId", Id });
- List<SqlParameter> parametersState1 = DataAccess.ToParameters(parametersState);
- int successState = DataAccess.ExecuteCommand(commandTextState, parametersState1, out resultState);
- #endregion
- return successState;
- }
- }
- }
|