yl
2023-02-27 adc65b06d255664c2f7b763aad04572d5a96ff46
VueWebApi/DLL/DAL/QualityManagementDAL.cs
@@ -1,4 +1,5 @@
using Dapper;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
@@ -63,7 +64,7 @@
            }
            return mes;
        }
        #endregion
        #region[质量管理,缺陷定义新增、编辑提交]
@@ -267,7 +268,7 @@
                    rout.name = data.Rows[0]["NAME"].ToString();
                    rout.description = data.Rows[0]["DESCR"].ToString();
                }
                else
                else
                {
                    mes.code = "300";
                    mes.count = 0;
@@ -393,7 +394,7 @@
                        //新增工序检验标准子表
                        sql = @"insert TStepCheckStandardSub (stepstaned_code,stepcheckitem_seq,stepcheckitem_code,stepcheckitem_desc,lm_user,lm_date) 
                                values(@stepstaned_code,@stepcheckitem_seq,@stepcheckitem_code,@stepcheckitem_desc,@lm_user,@lm_date)";
                        list.Add(new { str = sql, parm = new { stepstaned_code = json.code, stepcheckitem_seq = Convert.ToInt32(json.Data.Rows[i]["STEPCHECKITEM_SEQ"].ToString()), stepcheckitem_code = json.Data.Rows[i]["STEPCHECKITEM_CODE"].ToString(), stepcheckitem_desc= json.Data.Rows[i]["STEPCHECKITEM_DESC"].ToString(), lm_user = username, lm_date = DateTime.Now.ToString() } });
                        list.Add(new { str = sql, parm = new { stepstaned_code = json.code, stepcheckitem_seq = Convert.ToInt32(json.Data.Rows[i]["STEPCHECKITEM_SEQ"].ToString()), stepcheckitem_code = json.Data.Rows[i]["STEPCHECKITEM_CODE"].ToString(), stepcheckitem_desc = json.Data.Rows[i]["STEPCHECKITEM_DESC"].ToString(), lm_user = username, lm_date = DateTime.Now.ToString() } });
                    }
                    bool aa = DapperHelper.DoTransaction(list);
                    if (aa)
@@ -411,14 +412,14 @@
                        mes.data = null;
                    }
                }
                if (opertype == "Update")
                if (opertype == "Update")
                {
                    //删除工序检验标准子表
                    sql = @"delete from TStepCheckStandardSub where stepstaned_code=@stepstaned_code";
                    list.Add(new { str = sql, parm = new { stepstaned_code = json.code} });
                    list.Add(new { str = sql, parm = new { stepstaned_code = json.code } });
                    //修改工序检验标准主表
                    sql = @"update  TStepCheckStandard set name=@stepstaned_name,descr=@stepstaned_desc where code=@stepstaned_code";
                    list.Add(new { str = sql, parm = new { stepstaned_code=json.code, stepstaned_name = json.name, stepstaned_desc=json.description } });
                    list.Add(new { str = sql, parm = new { stepstaned_code = json.code, stepstaned_name = json.name, stepstaned_desc = json.description } });
                    //新增工序检验标准子表
                    for (int i = 0; i < json.Data.Rows.Count; i++)
                    {
@@ -849,7 +850,7 @@
                            left join TUser U on A.check_user=U.usercode  
                            where " + search;
                DataTable data = DapperHelper.selectdata(sql, dynamicParams);
                data.TableName ="Table"; //设置DataTable的名称
                data.TableName = "Table"; //设置DataTable的名称
                string msg = DownLoad.DataTableToExcel(data, "工序检验记录");
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -870,7 +871,7 @@
        #region[质检方案列表查询]
        public static ToMessage QualityInspectionSearch(string qualityinsptcode, string qualityinsptname, string status, string checktype, string sampltype,string suitobject, int startNum, int endNum, string prop, string order)
        public static ToMessage QualityInspectionSearch(string qualityinsptcode, string qualityinsptname, string status, string checktype, string sampltype, string suitobject, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
@@ -976,5 +977,216 @@
            return mes;
        }
        #endregion
        #region[质检方案新增/编辑提交]
        public static ToMessage QualityInspectionAddEditSave(string qualityinsptcode, string qualityinsptname, string status, string checktype, string sampmethod, string sampscare, string suitobject, string suitpart, string descr, string checkitem, string type, string username)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                string date = DateTime.Now.ToString(); //获取系统时间
                //获取质检列表检验项目数据
                JArray arra = (JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(checkitem);
                list.Clear();
                switch (type)
                {
                    case "Add": //新增
                        //写入质检方案主表
                        sql = @"insert into  TStepCheckStandard(code,name,status,checktype,sampmethod,sampscare,suitobject,suitpart,descr,lm_user,lm_date)
                                values(@code,@name,@status,@checktype,@sampmethod,@sampscare,@suitobject,@suitpart,@descr,@lm_user,@lm_date)";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                code = qualityinsptcode,
                                name = qualityinsptname,
                                status = status,
                                checktype = checktype,
                                sampmethod = sampmethod,
                                sampscare = sampscare,
                                suitobject = suitobject,
                                suitpart = suitpart,
                                descr = descr,
                                lm_user = username,
                                lm_date = date
                            }
                        });
                        //写入质检方案子表
                        for (int i = 0; i < arra.Count; i++)
                        {
                            sql = @"insert into  TStepCheckStandardSub(stepstaned_code,stepcheckitem_seq,stepcheckitem_code,required,numberjudge,unit,decimalnum,standvalue,uppervalue,lowervalue,stepcheckitem_desc,lm_user,lm_date)
                                values(@stepstaned_code,@stepcheckitem_seq,@stepcheckitem_code,@required,@numberjudge,@unit,@decimalnum,@standvalue,@uppervalue,@lowervalue,@stepcheckitem_desc,@lm_user,@lm_date)";
                            list.Add(new
                            {
                                str = sql,
                                parm = new
                                {
                                    stepstaned_code = qualityinsptcode,
                                    stepcheckitem_seq = Convert.ToInt32(arra[i]["stepcheckitem_seq"].ToString()),
                                    stepcheckitem_code = arra[i]["stepcheckitem_code"].ToString(),
                                    required = arra[i]["required"].ToString(),
                                    numberjudge = arra[i]["numberjudge"].ToString(),
                                    unit = arra[i]["unit"].ToString(),
                                    decimalnum = Convert.ToInt32(arra[i]["decimalnum"].ToString()),
                                    standvalue = arra[i]["standvalue"].ToString(),
                                    uppervalue = arra[i]["uppervalue"].ToString(),
                                    lowervalue = arra[i]["lowervalue"].ToString(),
                                    stepcheckitem_desc = arra[i]["stepcheckitem_desc"].ToString(),
                                    lm_user = username,
                                    lm_date = date
                                }
                            });
                        }
                        break;
                    case "Update"://修改
                        //判断是否生成检验记录(入厂检验(InCheck)  出厂检验(OutCheck)  FirstCheck(首检) PatroCheck(巡检)  EndCheck(完工检))
                        sql = @"select *  from TStepCheckRecord where checkstaned_code=@qualityinsptcode and checktype=@checktype";
                        dynamicParams.Add("@qualityinsptcode", qualityinsptcode);
                        dynamicParams.Add("@checktype", checktype);
                        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 from TStepCheckStandardSub where stepstaned_code=@code";
                        list.Add(new { str = sql, parm = new { code = qualityinsptcode } });
                        //修改质检方案主表
                        sql = @"update TStepCheckStandard set name=@name,status=@status,checktype=@checktype,sampmethod=@sampmethod,sampscare=@sampscare,
                                suitobject=@suitobject,suitpart=@suitpart,descr=@descr
                                where code=@code";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                code = qualityinsptcode,
                                name = qualityinsptname,
                                status = status,
                                checktype = checktype,
                                sampmethod = sampmethod,
                                sampscare = sampscare,
                                suitobject = suitobject,
                                suitpart = suitpart,
                                descr = descr,
                            }
                        });
                        //新增质检方案子表
                        for (int i = 0; i < arra.Count; i++)
                        {
                            sql = @"insert into  TStepCheckStandardSub(stepstaned_code,stepcheckitem_seq,stepcheckitem_code,required,numberjudge,unit,decimalnum,standvalue,uppervalue,lowervalue,stepcheckitem_desc,lm_user,lm_date)
                                values(@stepstaned_code,@stepcheckitem_seq,@stepcheckitem_code,@required,@numberjudge,@unit,@decimalnum,@standvalue,@uppervalue,@lowervalue,@stepcheckitem_desc,@lm_user,@lm_date)";
                            list.Add(new
                            {
                                str = sql,
                                parm = new
                                {
                                    stepstaned_code = qualityinsptcode,
                                    stepcheckitem_seq = Convert.ToInt32(arra[i]["stepcheckitem_seq"].ToString()),
                                    stepcheckitem_code = arra[i]["stepcheckitem_code"].ToString(),
                                    required = arra[i]["required"].ToString(),
                                    numberjudge = arra[i]["numberjudge"].ToString(),
                                    unit = arra[i]["unit"].ToString(),
                                    decimalnum = Convert.ToInt32(arra[i]["decimalnum"].ToString()),
                                    standvalue = arra[i]["standvalue"].ToString(),
                                    uppervalue = arra[i]["uppervalue"].ToString(),
                                    lowervalue = arra[i]["lowervalue"].ToString(),
                                    stepcheckitem_desc = arra[i]["stepcheckitem_desc"].ToString(),
                                    lm_user = username,
                                    lm_date = date
                                }
                            });
                        }
                        break;
                    default:
                        break;
                }
                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 QualityInspectionDelete(string qualityinsptcode, string username)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                //判断是否生成检验记录(入厂检验(InCheck)  出厂检验(OutCheck)  FirstCheck(首检) PatroCheck(巡检)  EndCheck(完工检))
                sql = @"select *  from TStepCheckRecord where checkstaned_code=@qualityinsptcode";
                dynamicParams.Add("@qualityinsptcode", qualityinsptcode);
                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 TStepCheckStandard  where code=@code";
                list.Add(new { str = sql, parm = new { code = qualityinsptcode } });
                //删除质检方案子表
                sql = @"delete TStepCheckStandardSub  where stepstaned_code=@code";
                list.Add(new { str = sql, parm = new { code = qualityinsptcode } });
                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
    }
}