Exemplo n.º 1
0
        private void RefreshOrgSuccessFlag()
        {
            DynamicObjectCollection entryDataObject = this.View.Model.DataObject["EntityAction"] as DynamicObjectCollection;
            DateTime minValue = DateTime.MinValue;
            object   obj2     = this.Model.GetValue("FCLOSEDATE");

            if (obj2 != null)
            {
                minValue = DateTime.Parse(obj2.ToString());
            }
            DataTable stockOrgAcctLastCloseDate = null;

            if (this.isOpenAccount)
            {
                stockOrgAcctLastCloseDate = CommonServiceHelper.GetStockOrgAcctLastCloseDate(base.Context, "");
            }
            Func <StockOrgOperateResult, bool> predicate = null;

            for (int i = 0; i < entryDataObject.Count; i++)
            {
                if (Convert.ToBoolean(entryDataObject[i]["Check"]))
                {
                    if (predicate == null)
                    {
                        predicate = p => p.StockOrgID == Convert.ToInt64(entryDataObject[i]["StockOrgID"]);
                    }
                    StockOrgOperateResult result = this.opResults.SingleOrDefault <StockOrgOperateResult>(predicate);
                    if (result != null)
                    {
                        this.Model.SetValue("FResult", result.OperateSuccess ? ResManager.LoadKDString("成功", "004023030000250", SubSystemType.SCM, new object[0]) : ResManager.LoadKDString("失败", "004023030000253", SubSystemType.SCM, new object[0]), i);
                        this.Model.SetValue("FRetFlag", result.OperateSuccess, i);
                        if (result.OperateSuccess)
                        {
                            if (this.isOpenAccount)
                            {
                                DataRow[] source = stockOrgAcctLastCloseDate.Select($"FORGID={result.StockOrgID}");
                                if (source.Count <DataRow>() > 0)
                                {
                                    this.Model.SetValue("FLastCloseDate", source[0]["FCLOSEDATE"], i);
                                }
                                else
                                {
                                    this.Model.SetValue("FLastCloseDate", null, i);
                                    this.Model.SetValue("FCheck", false, i);
                                }
                            }
                            else
                            {
                                this.Model.SetValue("FLastCloseDate", minValue, i);
                            }
                        }
                        LogObject logObject = new LogObject
                        {
                            ObjectTypeId = this.View.BusinessInfo.GetForm().Id,
                            Description  = string.Format(ResManager.LoadKDString("库存组织{0}{1}{2}{3}", "004023030000256", SubSystemType.SCM, new object[0]), new object[] {
                                result.StockOrgNumber,
                                result.StockOrgName,
                                this.isOpenAccount ? ResManager.LoadKDString("反关账", "004023030000238", SubSystemType.SCM, new object[0]) : ResManager.LoadKDString("关账", "004023030000241", SubSystemType.SCM, new object[0]),
                                result.OperateSuccess ? ResManager.LoadKDString("成功", "004023030000250", SubSystemType.SCM, new object[0]) : ResManager.LoadKDString("失败", "004023030000253", SubSystemType.SCM, new object[0])
                            }),
                            Environment = OperatingEnvironment.BizOperate,
                            OperateName = this.isOpenAccount ? ResManager.LoadKDString("反关账", "004023030000238", SubSystemType.SCM, new object[0]) : ResManager.LoadKDString("关账", "004023030000241", SubSystemType.SCM, new object[0]),
                            SubSystemId = "21"
                        };
                        this.Model.WriteLog(logObject);
                    }
                }
            }
        }
Exemplo n.º 2
0
        public override void CreateNewData(BizDataEventArgs e)
        {
            DynamicObjectType dynamicObjectType = this.Model.BillBusinessInfo.GetDynamicObjectType();
            Entity            entity            = this.View.BusinessInfo.Entrys[1];
            DynamicObjectType dt         = entity.DynamicObjectType;
            DynamicObject     dataEntity = new DynamicObject(dynamicObjectType)
            {
                ["CloseDate"] = DateTime.Now.Date
            };
            DynamicObjectCollection objects   = entity.DynamicProperty.GetValue <DynamicObjectCollection>(dataEntity);
            BusinessObject          bizObject = new BusinessObject
            {
                Id = "STK_Account",
                PermissionControl = 1,
                SubSystemId       = "STK"
            };
            List <long> valList = PermissionServiceHelper.GetPermissionOrg(base.Context, bizObject, this.isOpenAccount ? "4cc4dea42de6441ebeb21c509358d73d" : "1046d14017fd45dbaff9b1fe4affe0c6");

            if ((valList == null) || (valList.Count < 1))
            {
                e.BizDataObject = dataEntity;
            }
            else
            {
                Dictionary <string, object> batchStockDate = StockServiceHelper.GetBatchStockDate(base.Context, valList);
                if ((batchStockDate == null) || (batchStockDate.Keys.Count < 1))
                {
                    e.BizDataObject = dataEntity;
                }
                else
                {
                    valList.Clear();
                    foreach (string str in batchStockDate.Keys)
                    {
                        valList.Add(Convert.ToInt64(str));
                    }
                    List <SelectorItemInfo> list2 = new List <SelectorItemInfo> {
                        new SelectorItemInfo("FORGID"),
                        new SelectorItemInfo("FName"),
                        new SelectorItemInfo("FNumber"),
                        new SelectorItemInfo("FDescription")
                    };
                    string str2 = this.GetInFilter(" FORGID", valList) + $" AND FDOCUMENTSTATUS = 'C' AND FFORBIDSTATUS = 'A' AND (FORGFUNCTIONS like'%103%') AND EXISTS(SELECT 1 FROM T_BAS_SYSTEMPROFILE BSP WHERE BSP.FCATEGORY = 'STK' AND BSP.FORGID = FORGID AND BSP.FACCOUNTBOOKID = 0 AND BSP.FKEY = 'IsInvEndInitial' AND BSP.FVALUE = '1') {(this.isOpenAccount ? "AND EXISTS(SELECT 1 FROM T_STK_CLOSEPROFILE SCP WHERE SCP.FCATEGORY = 'STK' AND SCP.FORGID = FORGID )" : "")} ";
                    QueryBuilderParemeter para = new QueryBuilderParemeter
                    {
                        FormId                 = "ORG_Organizations",
                        SelectItems            = list2,
                        FilterClauseWihtKey    = str2,
                        OrderByClauseWihtKey   = "",
                        IsolationOrgList       = null,
                        RequiresDataPermission = true
                    };
                    DynamicObjectCollection source          = QueryServiceHelper.GetDynamicObjectCollection(base.Context, para, null);
                    DataTable stockOrgAcctLastCloseDate     = CommonServiceHelper.GetStockOrgAcctLastCloseDate(base.Context, "");
                    Dictionary <long, DateTime> dictionary2 = new Dictionary <long, DateTime>();
                    foreach (DataRow row in stockOrgAcctLastCloseDate.Rows)
                    {
                        if (!(row["FCLOSEDATE"] is DBNull) && !string.IsNullOrWhiteSpace(row["FCLOSEDATE"].ToString()))
                        {
                            dictionary2[Convert.ToInt64(row["FORGID"])] = Convert.ToDateTime(row["FCLOSEDATE"]);
                        }
                    }
                    int num = 0;
                    if ((source != null) && (source.Count <DynamicObject>() > 0))
                    {
                        foreach (DynamicObject obj4 in source)
                        {
                            long          key  = Convert.ToInt64(obj4["FORGID"]);
                            DynamicObject item = new DynamicObject(dt)
                            {
                                ["Check"]        = true,
                                ["StockOrgNo"]   = obj4["FNumber"].ToString(),
                                ["StockOrgName"] = ((obj4["FName"] == null) || string.IsNullOrEmpty(obj4["FName"].ToString())) ? "" : obj4["FName"].ToString(),
                                ["StockOrgDesc"] = ((obj4["FDescription"] == null) || string.IsNullOrEmpty(obj4["FDescription"].ToString())) ? "" : obj4["FDescription"].ToString(),
                                ["StockOrgID"]   = obj4["FORGID"].ToString(),
                                ["Result"]       = "",
                                ["RetFlag"]      = false,
                                ["Seq"]          = num++
                            };
                            if (dictionary2.ContainsKey(key))
                            {
                                item["LastCloseDate"] = dictionary2[key];
                            }
                            objects.Add(item);
                        }
                    }
                    e.BizDataObject = dataEntity;
                }
            }
        }