Esempio n. 1
0
        private List <StockOrgOperateResult> DoOrgClose(List <long> orgIds, List <string> orgNums, bool isReDoAction)
        {
            if (orgIds.Count < 1)
            {
                this.View.ShowMessage(ResManager.LoadKDString("请先选择未成功处理过的库存组织", "004023030000247", SubSystemType.SCM, new object[0]), MessageBoxType.Notice);
                return(null);
            }
            DateTime minValue = DateTime.MinValue;
            object   obj2     = this.Model.GetValue("FCLOSEDATE");

            if (obj2 != null)
            {
                minValue = DateTime.Parse(obj2.ToString());
            }
            if ((minValue == DateTime.MinValue) && !this.isOpenAccount)
            {
                this.View.ShowMessage(ResManager.LoadKDString("请先录入关账日期", "004023030000244", SubSystemType.SCM, new object[0]), MessageBoxType.Notice);
                return(null);
            }
            if (this.isbBusiness)
            {
                this.View.ShowMessage(ResManager.LoadKDString("上次提交未执行完毕,请稍后再试", "004023030002134", SubSystemType.SCM, new object[0]), MessageBoxType.Notice);
                return(null);
            }
            this.isbBusiness = true;
            List <StockOrgOperateResult> list = null;
            List <NetworkCtrlResult>     networkCtrlResults = this.BatchStartNetCtl(orgNums);

            if ((networkCtrlResults != null) && (networkCtrlResults.Count == orgNums.Count))
            {
                try
                {
                    bool flag  = false;
                    bool flag2 = false;
                    bool flag3 = false;
                    if (isReDoAction)
                    {
                        this.ignoreCheckInfo.TryGetValue("Minus" + orgIds[0], out flag);
                        this.ignoreCheckInfo.TryGetValue("CntBillAudit" + orgIds[0], out flag2);
                        this.ignoreCheckInfo.TryGetValue("StkBillDraft" + orgIds[0], out flag3);
                    }
                    list = StockServiceHelper.InvAccountOnOff(base.Context, orgIds, minValue, this.isOpenAccount, !flag, !flag2, !flag3, this.bRecordMidData);
                }
                catch (Exception exception)
                {
                    this.View.ShowErrMessage(exception.Message, string.Format(ResManager.LoadKDString("执行{0}失败", "004023030002137", SubSystemType.SCM, new object[0]), this.isOpenAccount ? ResManager.LoadKDString("反关账", "004023030000238", SubSystemType.SCM, new object[0]) : ResManager.LoadKDString("关账", "004023030000241", SubSystemType.SCM, new object[0])), MessageBoxType.Notice);
                }
            }
            NetworkCtrlServiceHelper.BatchCommitNetCtrl(base.Context, networkCtrlResults);
            this.isbBusiness = false;
            return(list);
        }
Esempio n. 2
0
        public IHttpController Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)
        {
            if (controllerType == typeof(StockController))
            {
                string              connStr    = System.Configuration.ConfigurationManager.ConnectionStrings[cConnectionStringKey].ConnectionString;
                IDataAccess         dataAccess = new SqlDataAccess(new SProcNameResolution(), connStr);
                IStockServiceHelper helper     = new StockServiceHelper(dataAccess);

                return(new StockController(helper));
            }
            else
            {
                return(null);
            }
        }
Esempio n. 3
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;
                }
            }
        }