yl
2022-07-08 350aef928584da9bb91d2de8646ce42e1f5758c1
VueWebApi/DLL/DAL/ProductModelDAL.cs
@@ -27,7 +27,7 @@
            try
            {
                //获取设备类型数据
                sql = @"select code,name from T_Dict where dict_group='CHLX' ";
                sql = @"select code,name from T_Dict where dict_type='CHLX' ";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -74,7 +74,7 @@
                var total = 0; //总条数
                var sql = @"select A.id,A.code,A.name,A.dict_code as stockcode,B.name as stockname,A.lm_user,A.lm_date  
                            from TMateriel_Type A
                            left join T_Dict B on A.dict_code=B.code and B.dict_group='CHLX'
                            left join T_Dict B on A.dict_code=B.code and B.dict_type='CHLX'
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
@@ -373,6 +373,30 @@
        }
        #endregion
        #region[单位下拉列表查询]
        public static ToMessage UomSelect()
        {
            string sql = "";
            try
            {
                //获取工艺路线数据
                sql = @"select code,name from TUom where is_delete<>'1' ";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[存货档案查询]
        public static ToMessage InventoryFileSelect(string partcode, string partname, string partspec, string stocktypecode, string materialtypecode, string storehousecode, int startNum, int endNum, string prop, string order)
        {
@@ -416,7 +440,7 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.partcode,A.partname,A.partspec,A.uom_code,B.name as uom_name,D.code as stocktypecode,D.name as stocktypename,
                var sql = @"select A.id,A.partcode,A.partname,A.partspec,A.uom_code,B.name as uom_name,D.code as stocktypecode,D.name as stocktypename,
                            C.code as materialtypecode,C.name as materialtypename,A.stck_code,T.name as stck_name,A.maxqty,A.minqty,A.lm_user,
                            A.lm_date,A.proute_id
                            from TMateriel_Info A
@@ -450,8 +474,8 @@
            {
                if (operType == "Add")
                {
                    var sql = @"insert into TMateriel_Info(partcode,partname,partspec,uom_code,materialtypecode,stck_code,proute_id,maxqty,minqty,lm_user,lm_date)
                            values(@stocktypecode,@materialtypecode,@materialtypename,@username,@CreateDate)";
                    var sql = @"insert into TMateriel_Info(partcode,partname,partspec,uom_code,materieltype_code,stck_code,maxqty,minqty,lm_user,lm_date)
                            values(@materialcode,@materialname,@materialspec,@uomcode,@materialtypecode,@warehousecode,@maxstockqty,@minstockqty,@username,@CreateDate)";
                    dynamicParams.Add("@materialcode", materialcode);
                    dynamicParams.Add("@materialname", materialname);
                    dynamicParams.Add("@materialspec", materialspec);
@@ -480,8 +504,8 @@
                }
                if (operType == "Update")
                {
                    var sql = @"update TMateriel_Type set partname=@materialname,partspec=@materialspec,uom_code=@uomcode,materialtypecode=@materialtypecode,stck_code=@warehousecode,
                                maxqty=@maxstockqty,minqty=@minstockqty lm_user=@username,lm_date=@CreateDate where id=@materialid";
                    var sql = @"update TMateriel_Info set partname=@materialname,partspec=@materialspec,uom_code=@uomcode,materieltype_code=@materialtypecode,stck_code=@warehousecode,
                                maxqty=@maxstockqty,minqty=@minstockqty,lm_user=@username,lm_date=@CreateDate where id=@materialid";
                    dynamicParams.Add("@materialid", materialid);
                    dynamicParams.Add("@materialname", materialname);
                    dynamicParams.Add("@materialspec", materialspec);
@@ -635,8 +659,8 @@
                for (int i = 0; i < data.Rows.Count; i++)
                {
                    MaterialRout rout = new MaterialRout();
                    rout.code = data.Rows[i]["CODE"].ToString();
                    rout.name = data.Rows[i]["NAME"].ToString();
                    rout.code = data.Rows[i]["ROUTECODE"].ToString();
                    rout.name = data.Rows[i]["ROUTENAME"].ToString();
                    rout.flag = data.Rows[i]["FLAG"].ToString();
                    //根据工艺路线编码获取关联的工序信息
@@ -768,7 +792,7 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select code,name,description,enable,lm_user,lm_date
                var sql = @"select id,code,name,description,enable,lm_user,lm_date
                            from TFlw_Rout
                            where is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
@@ -861,7 +885,7 @@
                            is_laststep = "Y";
                        }
                        //新增工艺路线关联工序表
                        sql = @"insert TFlw_Rtdt (rout_code,seq,step_code,first_choke,last_choke,lm_user,lm_date) values()";
                        sql = @"insert TFlw_Rtdt (rout_code,seq,step_code,first_choke,last_choke,lm_user,lm_date) values(@rout_code,@seq,@step_code,@first_choke,@last_choke,@lm_user,@lm_date)";
                        list.Add(new { str = sql, parm = new { rout_code = json.code, seq = Convert.ToInt32(json.Data.Rows[i]["SEQ"].ToString()), step_code = json.Data.Rows[i]["STEPCODE"].ToString(), first_choke = is_firststep, last_choke = is_laststep, lm_user = username, lm_date = DateTime.Now.ToString() } });
                    }
                    bool aa = DapperHelper.DoTransaction(list);
@@ -911,7 +935,7 @@
                    mes.Message = "工艺路线已被工单引用,不允许删除!";
                    mes.data = null;
                }
                else
                else
                {
                    //判断当前工艺路线是否有设置节拍工价(有设置,提示先删除节拍工价设置)
                    sql = @"select *   from TPrteEqp_Stad where route_code=@routecode";
@@ -924,7 +948,7 @@
                        mes.Message = "工艺路线已设置节拍工价,请先删除设置!";
                        mes.data = null;
                    }
                    else
                    else
                    {
                        //删除工艺路线关联工序表
                        sql = @"delete TFlw_Rtdt  where rout_code=@routecode";
@@ -967,6 +991,30 @@
        #region[工序下拉查询接口]
        public static ToMessage StepSelect()
        {
            string sql = "";
            try
            {
                //获取工序数据
                sql = @"select stepcode,stepname from TStep where is_delete<>'1' ";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[工序查询]
        public static ToMessage StepSearch(string stepcode, string stepname, string enable, string steptypecode, string createuser, int startNum, int endNum, string prop, string order)
        {
@@ -1005,7 +1053,7 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select stepcode,stepname,flwtype,enable,descr,lm_user,lm_date,is_eqp,is_defect
                var sql = @"select id,stepcode,stepname,flwtype,enable,descr,lm_user,lm_date,is_eqp,is_defect
                            from TStep
                            where is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
@@ -1139,16 +1187,16 @@
                }
                //删除设备节拍工价表
                sql = @"delete TPrteEqp_Stad  where stepcode=@stepcode";
                sql = @"delete TPrteEqp_Stad  where step_code=@stepcode";
                list.Add(new { str = sql, parm = new { stepcode = stepcode } });
                //删除工序关联工作站表
                sql = @"delete TFlw_Rteqp   where step_code=@stepcode";
                list.Add(new { str = sql, parm = new { stepcode = stepcode } });
                //删除缺陷关联工序表
                sql = @"update TDefect_Step  where step_code=@stepcode";
                sql = @"delete TDefect_Step  where step_code=@stepcode";
                list.Add(new { str = sql, parm = new { stepcode = stepcode } });
                //删除工序
                sql = @"update TStep set is_delete='1' where partcode=@stepcode";
                sql = @"update TStep set is_delete='1' where stepcode=@stepcode";
                list.Add(new { str = sql, parm = new { stepcode = stepcode } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
@@ -1199,7 +1247,7 @@
                        select distinct A.eqp_code,B.btype  from TFlw_Rteqp A 
                        inner join TCustomer B on A.eqp_code=B.code 
                        where A.step_code=@stepcode and A.is_delete<>'1' and B.is_delete<>'1'
                        ) B on T.code=B.eqp_code where T.btype='WX' and T.is_delete<>'1'";
                        ) B on T.btype=B.btype where T.btype='WX' and T.is_delete<>'1'";
                dynamicParams.Add("@stepcode", stepcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                for (int i = 0; i < data.Rows.Count; i++)
@@ -1241,14 +1289,15 @@
                              left join(
                              select distinct A.eqp_code  from TFlw_Rteqp A 
                              inner join TEqpInfo B on A.eqp_code=B.code 
                              where B.wksp_code='W001' and A.is_delete<>'1' and B.is_delete<>'1'
                              ) B on A.code=B.eqp_code and A.is_delete<>'1'";
                              where A.step_code=@stepcode and A.is_delete<>'1' and B.is_delete<>'1'
                              ) B on A.code=B.eqp_code where A.wksp_code=@wkspcode and A.is_delete<>'1'";
                        dynamicParams.Add("@stepcode", stepcode);
                        dynamicParams.Add("@wkspcode", data.Rows[i]["WKSP_CODE"].ToString());
                        var data0 = DapperHelper.selectdata(sql, dynamicParams);
                        for (int j = 0; j < data0.Rows.Count; j++)
                        {
                            StepEqpCn cn = new StepEqpCn();
                            cn.code= data0.Rows[j]["CODE"].ToString();//设备编码
                            cn.code = data0.Rows[j]["CODE"].ToString();//设备编码
                            cn.name = data0.Rows[j]["NAME"].ToString();//设备名称
                            cn.type = data0.Rows[j]["TYPE"].ToString();//工作站类型(E:设备 W:外协供方)
                            cn.flag = data0.Rows[j]["FLAG"].ToString();//关联标识
@@ -1286,7 +1335,7 @@
                    sql = @"delete TFlw_Rteqp where step_code=@stepcode";
                    list.Add(new { str = sql, parm = new { stepcode = stepcode } });
                    //标记工序表关联工作站标识
                    sql = @"update TStep is_eqp='N' where stepcode=@stepcode";
                    sql = @"update TStep set is_eqp='N' where stepcode=@stepcode";
                    list.Add(new { str = sql, parm = new { stepcode = stepcode } });
                }
                else
@@ -1353,7 +1402,7 @@
                //获取工序关联缺陷数据(包含关联标识)
                sql = @"select A.code,A.name,(case when B.defect_code is null then 'N' else 'Y' end) flag from TDefect A
                        left join(
                        select distinct defect_code  from TDefect_Step where step_code='' and is_delete<>'1'
                        select distinct defect_code  from TDefect_Step where step_code=@stepcode and is_delete<>'1'
                        ) B on A.code=B.defect_code";
                dynamicParams.Add("@stepcode", stepcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
@@ -1394,7 +1443,7 @@
                    sql = @"delete TDefect_Step where step_code=@stepcode";
                    list.Add(new { str = sql, parm = new { stepcode = stepcode } });
                    //标记工序表关联工作站标识
                    sql = @"update TStep is_defect='N' where stepcode=@stepcode";
                    sql = @"update TStep set is_defect='N' where stepcode=@stepcode";
                    list.Add(new { str = sql, parm = new { stepcode = stepcode } });
                }
                else
@@ -1516,7 +1565,7 @@
                sql = @"select B.stepcode as code,B.stepname as name   
                        from TFlw_Rtdt A
                        inner join TStep B on A.step_code=B.stepcode
                        where A.rout_code=@routecode and B.is_delete<>'1' and A.is_delete<>'1';";
                        where A.rout_code=@routecode and B.is_delete<>'1' and A.is_delete<>'1'";
                dynamicParams.Add("@routecode", routecode);
                var data = DapperHelper.select<ObjectData>(sql, dynamicParams);
                mes.code = "200";
@@ -1534,8 +1583,36 @@
        }
        #endregion
        #region[根据工序线编码查找关联设备下拉框集合]
        public static ToMessage StepSelectEqp(string stepcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //通过产品编码查找关联的工艺路线信息
                sql = @"select B.code,B.name  from TFlw_Rteqp A
                        left join TEqpInfo B on A.eqp_code=B.code
                        where A.step_code=@stepcode and A.style='E' and A.is_delete<>'1' and B.is_delete<>'1'";
                dynamicParams.Add("@stepcode", stepcode);
                var data = DapperHelper.select<ObjectData>(sql, dynamicParams);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[根据工序线编码查找关联设备集合]
        public static ToMessage StepSelectEqp(string partcode, string routecode, string stepcode, int startNum, int endNum, string prop, string order)
        public static ToMessage StepSelectEqpList(string partcode, string routecode, string stepcode, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
@@ -1543,7 +1620,7 @@
            {
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select C.partcode,C.partname,B.wksp_code,T.org_name as wksp_name,A.eqp_value,A.stand_value,A.cavity_qty,A.unprice
                var sql = @"select B.code as eqpcode,B.name as eqpname,B.wksp_code,T.org_name as wksp_name,A.eqp_value,A.stand_value,A.cavity_qty,A.unprice
                            from (
                            select materiel_code, eqp_code,eqp_value,stand_value,cavity_qty,unprice   from TPrteEqp_Stad
                            where materiel_code=@partcode  and route_code=@routecode and step_code=@stepcode 
@@ -1576,7 +1653,7 @@
        #endregion
        #region[节拍工价查询]
        public static ToMessage BeatRateSearch(string partcode, string partname, string partspec, string routecode, string stepcode, string eqpcode, string eqpname, int startNum, int endNum, string prop, string order)
        public static ToMessage BeatRateSearch(string partcode, string routecode, string stepcode, string eqpcode, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
@@ -1584,38 +1661,23 @@
            {
                if (partcode != "" && partcode != null)
                {
                    search += "and partcode like '%'+@partcode+'%' ";
                    dynamicParams.Add("@stepcode", partcode);
                }
                if (partname != "" && partname != null)
                {
                    search += "and stepname like '%'+@partname+'%' ";
                    dynamicParams.Add("@partname", partname);
                }
                if (partspec != "" && partspec != null)
                {
                    search += "and stepname like '%'+@partspec+'%' ";
                    dynamicParams.Add("@partspec", partspec);
                    search += "and A.materiel_code=@partcode ";
                    dynamicParams.Add("@partcode", partcode);
                }
                if (routecode != "" && routecode != null)
                {
                    search += "and enable=@routecode ";
                    search += "and A.route_code=@routecode ";
                    dynamicParams.Add("@routecode", routecode);
                }
                if (stepcode != "" && stepcode != null)
                {
                    search += "and flwtype=@stepcode ";
                    search += "and A.step_code=@stepcode ";
                    dynamicParams.Add("@stepcode", stepcode);
                }
                if (eqpcode != "" && eqpcode != null)
                {
                    search += "and stepname like '%'+@eqpcode+'%' ";
                    search += "and A.eqp_code=@eqpcode";
                    dynamicParams.Add("@eqpcode", eqpcode);
                }
                if (eqpname != "" && eqpname != null)
                {
                    search += "and stepname like '%'+@eqpname+'%' ";
                    dynamicParams.Add("@eqpname", eqpname);
                }
                if (search == "")
                {
@@ -1623,9 +1685,16 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select stepcode,stepname,flwtype,enable,descr,lm_user,lm_date,is_eqp,is_defect
                            from TStep
                            where is_delete<>'1' " + search;
                var sql = @"select A.materiel_code as partcode,B.partname,B.partspec,A.route_code,C.name as route_name,
                            D.stepcode,D.stepname,A.eqp_code,E.name as eqp_name,E.wksp_code,F.org_name as wksp_name,
                            A.eqp_value,A.stand_value,A.cavity_qty,A.unprice
                            from TPrteEqp_Stad A
                            left join TMateriel_Info B on A.materiel_code=B.partcode
                            left join TFlw_Rout C on A.route_code=C.code
                            left join TStep D on A.step_code=D.stepcode
                            left join TEqpInfo E on A.eqp_code=E.code
                            left join TOrganization F on E.wksp_code=F.org_code
                            where B.is_delete<>'1' and C.is_delete<>'1' and D.is_delete<>'1' and E.is_delete<>'1' and F.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -1643,8 +1712,143 @@
        }
        #endregion
        #region[节拍工价新增编辑]
        #region[节拍工价提交]
        public static ToMessage SaveBeatRate(string partcode, string routecode, string stepcode, string eqpcode, string wkshopcode, string eqp_value, string stand_value, string cavity_qty, string unprice, string username)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //当前工序是否关联工艺路线
                sql = @"select *  from TPrteEqp_Stad
                        where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode and eqp_code=@eqpcode";
                dynamicParams.Add("@partcode", partcode);
                dynamicParams.Add("@routecode", routecode);
                dynamicParams.Add("@stepcode", stepcode);
                dynamicParams.Add("@eqpcode", eqpcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)  //被设置关联过就修改
                {
                    sql = @"update TPrteEqp_Stad set stand_value=@stand_value,eqp_value=@eqp_value,cavity_qty=@cavity_qty,unprice=@unprice,lm_user=@username,lm_date=@userdate
                            where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode and eqp_code=@eqpcode ";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            partcode = partcode,
                            routecode = routecode,
                            stepcode = stepcode,
                            eqpcode = eqpcode,
                            stand_value = stand_value,
                            eqp_value = eqp_value,
                            cavity_qty = cavity_qty,
                            unprice = unprice,
                            username = username,
                            userdate = DateTime.Now.ToString()
                        }
                    });
                }
                else
                {
                    sql = @"insert into TPrteEqp_Stad(materiel_code,eqp_code,stand_value,route_code,unprice,eqp_value,cavity_qty,wkspcode,lm_user,lm_date,step_code)
                    values(@partcode,@eqpcode,@stand_value,@routecode,@unprice,@eqp_value,@cavity_qty,@wkspcode,@username,@userdate,@stepcode)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            partcode = partcode,
                            eqpcode = eqpcode,
                            stand_value = stand_value,
                            routecode = routecode,
                            unprice = unprice,
                            eqp_value = eqp_value,
                            cavity_qty = cavity_qty,
                            wkspcode = wkshopcode,
                            username = username,
                            userdate = DateTime.Now.ToString(),
                            stepcode = stepcode
                        }
                    });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    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 SaveBeatRate(string partcode, string routecode, string stepcode, string eqpcode)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                //删除节拍工价表
                sql = @"delete TPrteEqp_Stad  where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode and eqp_code=@eqpcode";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        partcode = partcode,
                        routecode = routecode,
                        stepcode = stepcode,
                        eqpcode = eqpcode
                    }
                });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    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
    }
}