VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
@@ -680,7 +680,7 @@
        #region[组织架构,查询组织信息]
        public static ToMessage STorgData(string storg_code, string storg_name, int startNum, int endNum, string prop, string order)
        public static ToMessage STorgData(string storg_code, string storg_name)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
@@ -696,18 +696,16 @@
                    search += "and T.torg_name like '%'+@storg_name+'%' ";
                    dynamicParams.Add("@storg_name", storg_name);
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select T.id,T.parent_id,T.torg_code,T.torg_name,T.status,T.leve,T.torg_seq,
                            T.lm_user  as usercode,U.username,T.lm_date  
                            from TOrganization T
                            left join  TUser U on T.lm_user=U.usercode
                            where 1=1" + search + "";
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                            where 1=1" + search + " order by T.lm_date desc";
                var data = DapperHelper.selectdata(sql, dynamicParams);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.count = total;
                mes.data = data.ToList();
                mes.count = data.Rows.Count;
                mes.data = data;
            }
            catch (Exception e)
            {
@@ -3013,10 +3011,10 @@
            try
            {
                //获取开启仓位管控的仓库信息
                sql = @"select S.code,S.name,'-1' as idparent   from TSecStck S where S.ishasPosition='1'
                       union all
                       select L.code,L.name,case when L.idparent is NULL or L.idparent='' then L.idwarehouse else L.idparent end as idparent
                       from TSecLoca L ";
                sql = @"select S.code,S.name,'-1' as idparent,S.code as warhouse   from TSecStck S where S.ishasPosition='1'
                        union all
                        select L.code,L.name,case when L.idparent is NULL or L.idparent='' then L.idwarehouse else L.idparent end as idparent,L.idwarehouse as warhouse
                        from TSecLoca L ";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -3034,18 +3032,32 @@
        #endregion
        #region[仓位信息列表]
        public static ToMessage TSecLocaData(string stckcode, string locacode, string locaname, int startNum, int endNum, string prop, string order)
        public static ToMessage TSecLocaData(string flag, string stckcode, string locacode, string locaname, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "", sql = "";
            IEnumerable<object> data;
            try
            {
                if (stckcode != "" && stckcode != null)
                if (flag == "Y")
                {
                    string[] classcode = Array.ConvertAll<string, string>(stckcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                    search += "and C.idparent in @classcode ";
                    dynamicParams.Add("@classcode", classcode);
                    if (stckcode != "" && stckcode != null)
                    {
                        string[] classcode = Array.ConvertAll<string, string>(stckcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                        search += "and C.idparent in @classcode ";
                        dynamicParams.Add("@classcode", classcode);
                    }
                }
                if (flag == "N")
                {
                    if (stckcode != "" && stckcode != null)
                    {
                        string[] classcode = Array.ConvertAll<string, string>(stckcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                        search += "and C.idparent in @classcode and C.endpnt=@endpnt";
                        dynamicParams.Add("@classcode", classcode);
                        dynamicParams.Add("@endpnt", classcode);
                    }
                }
                if (locacode != "" && locacode != null)
                {
@@ -3057,10 +3069,10 @@
                    search += "and C.name like '%'+@locaname+'%' ";
                    dynamicParams.Add("@locaname", locaname);
                }
                sql = @"select C.code,C.name,C.status,C.description,C.idwarehouse as stckcode,T.name as stckname,C.idparent as parentcode,L.name as parentname,
                sql = @"select C.code,C.name,C.status,C.description,C.idwarehouse as stckcode,T.name as stckname,C.idparent as parentcode,L.name as parentname,C.endpnt,
                        C.lm_user as usercode,U.username,C.lm_date,C.data_sources   
                        from (
                        select L.code,L.name,L.idwarehouse,L.status,L.description,L.lm_user,L.lm_date,L.data_sources,case when L.idparent is NULL or L.idparent='' then L.idwarehouse else L.idparent end as idparent
                        select L.code,L.name,L.idwarehouse,L.status,L.description,L.lm_user,L.lm_date,L.data_sources,case when L.idparent is NULL or L.idparent='' then L.idwarehouse else L.idparent end as idparent,L.idparent as endpnt
                        from TSecLoca L
                        ) as C
                        left join TSecStck T  on C.idwarehouse=T.code
@@ -3159,6 +3171,15 @@
                }
                if (OperType == "Update")
                {
                    //判断上级货位编码是否等于货位编码
                    if (locacode == parentlocacode)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "上级货位不能是库位本身!";
                        mes.data = null;
                        return mes;
                    }
                    //判断往来单位名称是否重复
                    sql = @"select *  from TSecLoca where  code<>@code and name=@name";
                    dynamicParams.Add("@code", locacode);
@@ -3294,5 +3315,213 @@
            return mes;
        }
        #endregion
        #region[工序查询]
        public static ToMessage StepSearch(string stepcode, string stepname, string enable, string steptypecode,int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (stepcode != "" && stepcode != null)
                {
                    search += "and A.stepcode like '%'+@stepcode+'%' ";
                    dynamicParams.Add("@stepcode", stepcode);
                }
                if (stepname != "" && stepname != null)
                {
                    search += "and A.stepname like '%'+@stepname+'%' ";
                    dynamicParams.Add("@stepname", stepname);
                }
                if (enable != "" && enable != null)
                {
                    search += "and A.enable=@enable ";
                    dynamicParams.Add("@enable", enable);
                }
                if (steptypecode != "" && steptypecode != null)
                {
                    search += "and A.flwtype=@steptypecode ";
                    dynamicParams.Add("@steptypecode", steptypecode);
                }
                if (search == "")
                {
                    search = "and 1=1 ";
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id,A.stepcode,A.stepname,A.flwtype,A.enable,A.descr,U.username as lm_user,A.lm_date
                            from TStep A
                            left join TUser U on A.lm_user=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.count = total;
                mes.data = data.ToList();
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[工序新增编辑]
        public static ToMessage AddUpdateStep(string stepid, string stepcode, string stepname, string steptypecode, string enable, string description, User us, string operType)
        {
            var dynamicParams = new DynamicParameters();
            List<object> list = new List<object>();
            var sql = "";
            try
            {
                if (operType == "Add")
                {
                    sql = @"select *  from TStep where stepcode=@stepcode";
                    dynamicParams.Add("@stepcode", stepcode);
                    var data = DapperHelper.selectdata(sql, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "操作失败,编码重复!";
                        mes.data = null;
                        return mes;
                    }
                    sql = @"insert into TStep(stepcode,stepname,flwtype,enable,descr,lm_user,lm_date)
                               values(@stepcode,@stepname,@steptypecode,@enable,@description,@username,@CreateDate)";
                    dynamicParams.Add("@stepcode", stepcode);
                    dynamicParams.Add("@stepname", stepname);
                    dynamicParams.Add("@steptypecode", steptypecode);
                    dynamicParams.Add("@enable", enable);
                    dynamicParams.Add("@description", description);
                    dynamicParams.Add("@username", us.usercode);
                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
                    int cont = DapperHelper.SQL(sql, dynamicParams);
                    if (cont > 0)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "新增", "新增了工序:" + stepcode, us.usertype);
                        mes.code = "200";
                        mes.count = 0;
                        mes.Message = "新增操作成功!";
                        mes.data = null;
                    }
                    else
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "新增操作失败!";
                        mes.data = null;
                    }
                }
                if (operType == "Update")
                {
                    list.Clear();
                    //如果当前工序使用状态位N(未启用),需判断当前工序是否被工单引用
                    if (enable == "N")
                    {
                        var sql0 = @"select *  from TK_Wrk_Step A where A.step_code=@stepcode";
                        dynamicParams.Add("@stepcode", stepcode);
                        var data = DapperHelper.selectdata(sql0, dynamicParams);
                        if (data.Rows.Count > 0)
                        {
                            mes.code = "300";
                            mes.count = 0;
                            mes.Message = "工序有关联工单,不允许修改!";
                            mes.data = null;
                            return mes;
                        }
                    }
                    sql = @"update TStep set stepname=@stepname,flwtype=@steptypecode,enable=@enable,descr=@description,
                                lm_user=@username,lm_date=@CreateDate where id=@stepid";
                    list.Add(new { str = sql, parm = new {stepid = stepid, stepname = stepname, steptypecode = steptypecode, enable = enable, description = description, username = us.usercode, CreateDate = DateTime.Now.ToString() } });
                    bool aa = DapperHelper.DoTransaction(list);
                    if (aa)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "修改", "修改了工序:" + stepcode, us.usertype);
                        mes.code = "200";
                        mes.count = 0;
                        mes.Message = "修改操作成功!";
                        mes.data = null;
                    }
                    else
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "修改操作失败!";
                        mes.data = null;
                    }
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[工序删除]
        public static ToMessage DeleteStep(string stepcode, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //当前工序是否关联工单
                sql = @"select *  from TK_Wrk_Step A where A.step_code=@stepcode";
                dynamicParams.Add("@stepcode", stepcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "工序有关联工单,不允许删除!";
                    mes.data = null;
                    return mes;
                }
                //删除工序
                sql = @"delete TStep  where stepcode=@stepcode";
                list.Add(new { str = sql, parm = new { stepcode = stepcode } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "删除", "删除了工序:" + stepcode, us.usertype);
                    mes.code = "200";
                    mes.count = 0;
                    mes.Message = "删除成功!";
                    mes.data = null;
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "删除失败!";
                    mes.data = null;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
    }
}