Exemple #1
0
        /// <summary>
        /// 保存到xml中
        /// </summary>
        /// <param name="form"></param>
        /// <param name="entity"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        private int btnSave(FormM form, DFDictionary entity, ref string message)
        {
            var list        = GetGridClientData <VM_ColumnMetadata>(entity);
            var tableName   = entity["TableName"];
            var xmlFileName = entity["XmlFileName"];

            ArgumentCheck.CheckMustInput(entity, "XmlFileName");
            Save(xmlFileName, tableName, list);

            // 更新界面上的配置文件下拉框,因为如果新增的话,就多了一个xml
            SetSelectDataSource(form, "ConfigFile",
                                Directory.GetFiles(GetImportConfigXmlPath(string.Empty), "*.xml")
                                .Select(a => new DFSelectItem(Path.GetFileNameWithoutExtension(a), DFPub.PhysicalToRelative(a))).ToList());
            return(DFPub.EXECUTE_SUCCESS);
        }
        public DataGridVM Remind(DFDictionary dict)
        {
            ArgumentCheck.CheckMustInput(dict, "InstanceId");
            var user = Util.GetCurrentUser();
            var list = InstanceStepExecutorDAO.QueryUnfinishedByInstanceId(dict["InstanceId"]);

            foreach (var item in list)
            {
                ExecutorImp.SendMessage(item.InstanceStepExecutorId, user.UserName);
            }
            return(new DataGridVM()
            {
                data = "催签成功!".GetRes()
            });
        }
        //public DataGridVM Kanban(HttpContext context)
        //{
        //    var vm = new DataGridVM();


        //    var total = 0;
        //    var list = JLLL_T_ORDERLoader.Kanban(ref total);

        //    vm.rows = list;
        //    vm.results = total;
        //    return vm;
        //}

        private DataGridVM DeleteUploadFile(HttpContext context, DFDictionary dict)
        {
            var vm = new DataGridVM();

            try
            {
                ArgumentCheck.CheckMustInput(dict, "FileId");
                using (var db = Pub.DB)
                {
                    var sql = "delete from XDSW_T_FILE where FileId=@FileId";
                    db.Execute(sql, new { FileId = dict["FileId"] });
                }
            }
            catch (Exception ex)
            {
                vm.hasError = true;
                vm.error    = ex.Message;
            }
            return(vm);
        }
Exemple #4
0
        public override int Query(FormM form, DFDictionary entity, DataGridVM vm, int start, int limit, ref string message)
        {
            if (IsEmptyQuery(entity))
            {
                return(EmptyQuery(vm));
            }
            ArgumentCheck.CheckMustInput(entity, "TableName");
            var tableName = entity["TableName"];
            List <VM_ColumnMetadata> list = null;

            // 如果是客户端点击查询按钮,或者回传回的数据没有客户端数据
            IDBHelper dbHelper;

            using (var db = Pub.DB)
            {
                dbHelper = DBHelper.GetDBHelper(db);
            }
            list       = dbHelper.LoadColumns(tableName);
            vm.results = list.Count;
            vm.rows    = Merge(tableName, list.Skip(start).Take(limit).ToList());
            return(DFPub.EXECUTE_SUCCESS);
        }
        public override DFDictionary Get(FormM form, DFDictionary entity, ref string message)
        {
            ArgumentCheck.CheckMustInput(entity, "ModelId");

            var engine = NinjectHelper.Get <IEngine>();

            if (engine == null)
            {
                throw new Exception("找不到 IEngine".GetRes());
            }

            var user       = Util.GetCurrentUser();
            var instanceId = string.Empty;

            // 信达生物 SAP 只能传递 10 位流水号
            var model = WFDA.Instance.GetModelById(entity["ModelId"]);

            if (model.DFFormName == "Form_XDSW_T_PR")
            {
                instanceId = Pub.GetNextIdFromDB("P", DateTime.Now.ToString("yyMMdd"), string.Empty, 3);
            }
            else if (model.DFFormName == "Form_AD_T_PO")
            {
                instanceId = Pub.GetNextIdFromDB("P", DateTime.Now.ToString("yyyyMMdd"), string.Empty, 4);
            }
            else if (model.DFFormName == "Form_AD_T_BANK_PAYMENT")
            {
                instanceId = Pub.GetNextIdFromDB("F", DateTime.Now.ToString("yyyyMMdd"), string.Empty, 4);
            }
            else if (model.DFFormName == "Form_AD_T_FA")
            {
                instanceId = Pub.GetNextIdFromDB("G", DateTime.Now.ToString("yyyyMMdd"), string.Empty, 4);
            }
            else
            {
                instanceId = Pub.GetNextIdFromDB("A", DateTime.Now.ToString("yyyyMMdd"), string.Empty, 4);
            }

            var Requestor          = user.UserId;
            var RequestorName      = user.UserName;
            var RequestorProxy     = string.Empty;
            var RequestorProxyName = string.Empty;

            // 如果是代理申请,客户端会传上来申请人编号
            if (!string.IsNullOrWhiteSpace(entity["Requestor"]))
            {
                Requestor = entity["Requestor"];
                var requestor = WF_M_USERLoader.Get(Requestor);
                if (requestor == null)
                {
                    throw new Exception(string.Format("根据用户编号 {0} 找不到用户", Requestor));
                }
                RequestorName      = requestor.UserName;
                RequestorProxy     = user.UserId;
                RequestorProxyName = user.UserName;
            }

            // 开始工作流
            engine.StartDBWF(entity["ModelId"], instanceId, Requestor, RequestorProxy, RequestorName,
                             RequestorProxyName, DateTime.Now, true, user.UserId, user.UserName);

            if (!string.IsNullOrWhiteSpace(entity["SourceInstanceId"]))
            {
                // 复制单据
                CloneInstance(entity, instanceId);
            }

            var dict = new DFDictionary();

            if (!string.IsNullOrWhiteSpace(entity["ModelId"]))
            {
                using (var db = Pub.DB)
                {
                    var sql = "select * from WF_T_INSTANCE where 1=1";
                    sql += " and InstanceId=@InstanceId";
                    var parameters = new
                    {
                        InstanceId = instanceId
                    };
                    var item = db.Query <WF_T_INSTANCE>(sql, parameters).FirstOrDefault();
                    if (item != null)
                    {
                        dict = DFDictionary.Create <WF_T_INSTANCE>(item);
                    }
                }
            }
            return(dict);
        }