yl
2023-06-30 6fe3d6fc4e93f4cf31dc02d4f0cbc48d56c249b7
VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -647,7 +647,8 @@
                sql = @"select B.step_code,C.eqp_code from TFlw_Rout A
                        inner join TFlw_Rtdt B on A.code=B.rout_code
                        left join TFlw_Rteqp C on B.step_code=C.step_code
                        where A.code=@routecode";
                        where A.code=@routecode and A.torg_code=@wkshopcode";
                dynamicParams.Add("@wkshopcode", wkshopcode);
                dynamicParams.Add("@routecode", routecode);
                var dtck = DapperHelper.selectdata(sql, dynamicParams);
                for (int i = 0; i < dtck.Rows.Count; i++)
@@ -664,7 +665,8 @@
                //判断工作站(设备)是否可用
                sql = @"select B.step_code  from TFlw_Rout  A
                  inner join TFlw_Rtdt B on A.code=B.rout_code
                  where A.code=@routecode";
                  where A.code=@routecode and A.torg_code=@wkshopcode";
                dynamicParams.Add("@wkshopcode", wkshopcode);
                dynamicParams.Add("@routecode", routecode);
                var dtck1 = DapperHelper.selectdata(sql, dynamicParams);
                for (int i = 0; i < dtck1.Rows.Count; i++)
@@ -673,7 +675,8 @@
                    sql = @"select E.code,E.name,E.enable  
                  from  TFlw_Rteqp C
                  left join TEqpInfo E on C.eqp_code=E.code 
                  where C.step_code=@step_code";
                  where C.step_code=@step_code and C.torg_code=@wkshopcode";
                    dynamicParams.Add("@wkshopcode", wkshopcode);
                    dynamicParams.Add("@step_code", dtck1.Rows[i]["step_code"].ToString());
                    var dtck2 = DapperHelper.selectdata(sql, dynamicParams);
                    int query = dtck2.AsEnumerable().Where<DataRow>(a => a["enable"].ToString() == "N").Count();
@@ -692,12 +695,13 @@
                        inner join TFlw_Rtdt B on A.code=B.rout_code
                        left join TFlw_Rteqp C on B.step_code=C.step_code
                        left join TStep S on B.step_code=S.stepcode
                        where A.code=@route_code
                        where A.code=@route_code and A.torg_code=@wkshopcode
                        ) as AA
                        left join (select * from TPrteEqp_Stad   where materiel_code=@partcode and route_code=@route_code) as S on
                        left join (select * from TPrteEqp_Stad   where materiel_code=@partcode and route_code=@route_code and wkspcode=@wkshopcode) as S on
                        AA.code=S.route_code and AA.step_code=S.step_code and AA.eqp_code=S.eqp_code";
                dynamicParams.Add("@partcode", partcode);
                dynamicParams.Add("@route_code", routecode);
                dynamicParams.Add("@wkshopcode", wkshopcode);
                var dtc = DapperHelper.selectdata(sql, dynamicParams);
                for (int i = 0; i < dtc.Rows.Count; i++)
                {
@@ -1815,7 +1819,7 @@
        #endregion
        #region [生产开报工:开工(开始/报工)/外协发料时条件判断及数据返回接口]
        public static ToMessage MesOrderStepStart(string OperType, string SelectType, string orderstepqrcode)
        public static ToMessage MesOrderStepStart(string OperType,string stu_torgcode, string SelectType, string orderstepqrcode)
        {
            var sql = "";
            string search = "";
@@ -1844,10 +1848,10 @@
                    switch (OperType)
                    {
                        case "ZZ":
                            mes = ScanStartReport.ZZEncodingSeach(ordercode, stepcode);
                            mes = ScanStartReport.ZZEncodingSeach(stu_torgcode,ordercode, stepcode);
                            break;
                        case "WX":
                            mes = ScanStartReport.WXEncodingSeach(SelectType, ordercode, stepcode);
                            mes = ScanStartReport.WXEncodingSeach(stu_torgcode,SelectType, ordercode, stepcode);
                            break;
                        default:
                            break;
@@ -1977,14 +1981,15 @@
        #endregion
        #region[生产开报工:根据生产班组查找人员列表]
        public static ToMessage MesOrderGroupSelectUser(string usergroupcode)
        public static ToMessage MesOrderGroupSelectUser(string stu_torgcode, string usergroupcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //班组获取人员列表
                sql = @"select usercode,username  from TUser where usergroup_code=@usergroupcode and is_delete<>'1'";
                sql = @"select usercode,username  from TUser where stu_torgcode=@stu_torgcode and usergroup_code=@usergroupcode and is_delete<>'1'";
                dynamicParams.Add("@stu_torgcode", stu_torgcode);
                dynamicParams.Add("@usergroupcode", usergroupcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                mes.code = "200";
@@ -2844,7 +2849,7 @@
        #region[工序检验扫码获取任务信息]
        public static ToMessage MesOrderStepCheckSearch(string orderstepqrcode, string checktype)
        public static ToMessage MesOrderStepCheckSearch(string stu_torgcode, string orderstepqrcode, string checktype)
        {
            var sql = "";
            string ordercode = "";
@@ -2869,6 +2874,34 @@
                        ordercode = arra[0]; //获取指定字符串前面的字符
                        stepcode = arra[1]; //获取指定字符串前面的字符
                    }
                    //判断当前工单是否关闭
                    sql = @"select *   from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode and status='CLOSED'";
                    dynamicParams.Add("@ordercode", ordercode);
                    dynamicParams.Add("@stu_torgcode", stu_torgcode);
                    var da0 = DapperHelper.selectdata(sql, dynamicParams);
                    if (da0.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "当前工单已关闭,不允许检验操作!";
                        mes.data = null;
                        return mes;
                    }
                    //0.判断当前工单所属车间是否为当前登录人员车间
                    sql = @"select *   from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode";
                    dynamicParams.Add("@ordercode", ordercode);
                    dynamicParams.Add("@stu_torgcode", stu_torgcode);
                    var da1 = DapperHelper.selectdata(sql, dynamicParams);
                    if (da1.Rows.Count <= 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "不是本车间生产任务,不允许检验操作!";
                        mes.data = null;
                        return mes;
                    }
                    //通过扫描二维码信息查找任务信息
                    sql = @"select A.wo_code,A.good_qty,M.partcode,M.partname,M.partspec,M.stocktype_code,S.stepcode,S.stepname  
                            from TK_Wrk_Step A
@@ -2992,7 +3025,7 @@
        #endregion
        #region[工序检验,提交]
        public static ToMessage SaveMesOrderStepCheckItem(string wocode, string partcode, string stepcode, string checkstandcode, string check_type, string sampmethod, string qualitystatus, string labqty, string sampleqty, string goodqty, string ngqty, string checkitemcont, string username)
        public static ToMessage SaveMesOrderStepCheckItem(string stu_torgcode,string wocode, string partcode, string stepcode, string checkstandcode, string check_type, string sampmethod, string qualitystatus, string labqty, string sampleqty, string goodqty, string ngqty, string checkitemcont, string username)
        {
            var sql = "";
            string checktypename = "";
@@ -3006,8 +3039,8 @@
                list.Clear();
                //写入检验记录主表
                sql = @"insert into  TStepCheckRecord(wo_code,partcode,step_code,checkstaned_code,check_user,check_type,check_typename,sampmethod,check_result,check_qty,good_qty,ng_qty,lm_user,lm_date)
                                values(@wo_code,@partcode,@step_code,@checkstaned_code,@check_user,@check_type,@check_typename,@sampmethod,@check_result,@check_qty,@good_qty,@ng_qty,@lm_user,@lm_date)";
                sql = @"insert into  TStepCheckRecord(wo_code,partcode,step_code,checkstaned_code,check_user,check_type,check_typename,sampmethod,check_result,check_qty,good_qty,ng_qty,lm_user,lm_date,torg_code)
                                values(@wo_code,@partcode,@step_code,@checkstaned_code,@check_user,@check_type,@check_typename,@sampmethod,@check_result,@check_qty,@good_qty,@ng_qty,@lm_user,@lm_date,@torg_code)";
                switch (check_type)
                {
                    case "FirstCheck":
@@ -3040,14 +3073,15 @@
                        good_qty = decimal.Parse(goodqty),
                        ng_qty = decimal.Parse(ngqty),
                        lm_user = username,
                        lm_date = datetime
                        lm_date = datetime,
                        torg_code = stu_torgcode
                    }
                });
                //写入检验记录子表
                for (int j = 0; j < arra.Count; j++)
                {
                    sql = @"insert into  TStepCheckRecordSub(m_id,checknum,checkitem_seq,checkitem_code,checkitem_name,checkitem_descr,check_value,check_result,lm_user,lm_date)
                                values(CONVERT(INT,IDENT_CURRENT('TStepCheckRecord')),@checknum,@checkiem_seq,@checkitem_code,@checkitem_name,@checkitem_descr,@check_value,@check_result,@lm_user,@lm_date)";
                    sql = @"insert into  TStepCheckRecordSub(m_id,checknum,checkitem_seq,checkitem_code,checkitem_name,checkitem_descr,check_value,check_result,lm_user,lm_date,torg_code)
                                values(CONVERT(INT,IDENT_CURRENT('TStepCheckRecord')),@checknum,@checkiem_seq,@checkitem_code,@checkitem_name,@checkitem_descr,@check_value,@check_result,@lm_user,@lm_date,@torg_code)";
                    list.Add(new
                    {
                        str = sql,
@@ -3061,7 +3095,8 @@
                            check_value = arra[j]["check_value"].ToString(),
                            check_result = arra[j]["check_result"].ToString(),
                            lm_user = username,
                            lm_date = datetime
                            lm_date = datetime,
                            torg_code = stu_torgcode
                        }
                    });
                }