yl
2023-06-30 6fe3d6fc4e93f4cf31dc02d4f0cbc48d56c249b7
VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -22,12 +22,27 @@
        #region[ERP订单查询]
        public static ToMessage ErpOrderSearch(string erporderstus, string erpordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string paydatestartdate1, string paydateenddate2, string creatuser, int endNum, string prop, string order)
        public static ToMessage ErpOrderSearch(string stu_torgcode,string stu_torgtypecode,string erporderstus, string erpordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string paydatestartdate1, string paydateenddate2, string creatuser, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                switch (stu_torgtypecode)
                {
                    case "":
                        break;
                    case "D":
                        search += "and L.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    case "W":
                        search += "and C.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    default:
                        break;
                }
                if (erporderstus != "" && erporderstus != null)
                {
                    search += "and A.status=@erporderstus ";
@@ -84,6 +99,7 @@
                            left join TOrganization C on A.wkshp_code=C.org_code
                            left join T_Sec_Stck D on A.stck_code=D.code 
                            left join TUser U on A.createuser=U.usercode 
                            left join TOrganization L on  C.parent_id=L.id
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
@@ -307,12 +323,27 @@
        #region[MES工单查询]
        public static ToMessage MesOrderSearch(string mesorderstus, string mesordercode, string sourceorder, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
        public static ToMessage MesOrderSearch(string stu_torgcode,string stu_torgtypecode,string mesorderstus, string mesordercode, string sourceorder, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                switch (stu_torgtypecode)
                {
                    case "":
                        break;
                    case "D":
                        search += "and L.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    case "W":
                        search += "and C.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    default:
                        break;
                }
                if (mesorderstus != "" && mesorderstus != null)
                {
                    search += "and A.status=@mesorderstus ";
@@ -374,6 +405,7 @@
                            left join TFlw_Rout E on A.route_code=E.code
                            left join T_Sec_Stck F on A.stck_code=F.code 
                            left join TUser U on A.lm_user=U.usercode 
                            left join TOrganization L on  C.parent_id=L.id
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
@@ -470,7 +502,7 @@
        #endregion
        #region[产品编码查找工艺路线下拉接口]
        public static ToMessage PartSelectRoute(string partcode)
        public static ToMessage PartSelectRoute(string partcode,string wkshopcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
@@ -480,8 +512,9 @@
                sql = @"select R.code,R.name,A.default_route  from TMateriel_Info A
                        inner join  TMateriel_Route M on A.partcode=M.materiel_code
                        inner join  TFlw_Rout R on M.route_code=R.code
                        where A.partcode=@partcode ";
                        where A.partcode=@partcode and M.torg_code=@torg_code";
                dynamicParams.Add("@partcode", partcode);
                dynamicParams.Add("@torg_code", wkshopcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -499,23 +532,38 @@
        #endregion
        #region[工艺路线查找车间下拉接口]
        public static ToMessage RouteSelectWkshop(string partcode, string routecode)
        public static ToMessage RouteSelectWkshop(string stu_torgcode,string stu_torgtypecode,string partcode)
        {
            string sql = "";
            string search = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                switch (stu_torgtypecode)
                {
                    case "":
                        break;
                    case "D":
                        search += "and L.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    case "W":
                        search += "and F.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    default:
                        break;
                }
                //获取车间下拉框数据
                sql = @"select distinct F.org_code,F.org_name  from TFlw_Rout A
                        inner join  TMateriel_Route M on A.code=M.route_code
                        inner join   TFlw_Rtdt B on A.code=B.rout_code
                sql = @"select distinct F.org_code,F.org_name   from TMateriel_Route M
                        inner join   TFlw_Rtdt B on M.route_code=B.rout_code
                        inner join TStep C on B.step_code=C.stepcode
                        inner join TFlw_Rteqp D on C.stepcode=D.step_code
                        inner join TEqpInfo  E on D.eqp_code=E.code
                        left join TOrganization F on E.wksp_code=F.org_code
                        where A.code=@routecode and M.materiel_code=@partcode and E.enable='Y'";
                        left join TOrganization L on  F.parent_id=L.id
                        where M.materiel_code=@partcode and E.enable='Y' "+search;
                dynamicParams.Add("@partcode", partcode);
                dynamicParams.Add("@routecode", routecode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -599,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++)
@@ -616,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++)
@@ -625,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();
@@ -644,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++)
                {
@@ -1296,7 +1348,7 @@
        #endregion
        #region[生产开报工扫码获取工单对应工序任务(自制)]
        public static ToMessage MesOrderStepSearch(string orderstepqrcode, int startNum, int endNum, string prop, string order)
        public static ToMessage MesOrderStepSearch(string stu_torgcode,string stu_torgtypecode, string orderstepqrcode, int startNum, int endNum, string prop, string order)
        {
            var sql = "";
            string search = "";
@@ -1324,7 +1376,7 @@
                        stepcode = arra[1]; //获取指定字符串前面的字符
                    }
                    if (ordercode != "" && ordercode != null) //工单号不为空,工序号为空
                    if (ordercode != "" && stepcode == null) //工单号不为空,工序号为空
                    {
                        search += "and A.wo_code=@ordercode ";
                        dynamicParams.Add("@ordercode", ordercode);
@@ -1363,14 +1415,31 @@
                        }
                    }
                }
                switch (stu_torgtypecode)
                {
                    case "":
                        break;
                    case "D":
                        search += "and L.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    case "W":
                        search += "and F.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    default:
                        break;
                }
                //根据条件查询工单工序任务(自制工序)
                sql = @"select A.status,A.wo_code,B.route_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
                            S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.bad_qty,A.plan_startdate,A.plan_enddate,B.lm_date
                            from TK_Wrk_Step A
                            left join TK_Wrk_Man B on A.wo_code=B.wo_code
                            left join TMateriel_Info M on B.materiel_code=M.partcode
                            left join TStep S on A.step_code=S.stepcode
                            where A.status in('ALLO','START') and S.flwtype='Z'  " + search;
                        S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.bad_qty,A.plan_startdate,A.plan_enddate,B.lm_date
                        from TK_Wrk_Step A
                        left join TK_Wrk_Man B on A.wo_code=B.wo_code
                        left join TMateriel_Info M on B.materiel_code=M.partcode
                        left join TStep S on A.step_code=S.stepcode
                        left join TOrganization F on B.wkshp_code=F.org_code
                        left join TOrganization L on  F.parent_id=L.id
                        where A.status in('ALLO','START') and S.flwtype='Z'  " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                if (data.ToList().Count > 0)
                {
@@ -1401,7 +1470,7 @@
        #endregion
        #region[生产开报工扫码获取工单对应工序任务(外协)]
        public static ToMessage MesOrderWxStepSearch(string orderstepqrcode, int startNum, int endNum, string prop, string order)
        public static ToMessage MesOrderWxStepSearch(string stu_torgcode,string stu_torgtypecode,string orderstepqrcode, int startNum, int endNum, string prop, string order)
        {
            var sql = "";
            string search = "";
@@ -1428,7 +1497,7 @@
                        ordercode = arra[0]; //获取指定字符串前面的字符
                        stepcode = arra[1]; //获取指定字符串前面的字符
                    }
                    if (ordercode != "" && ordercode != null) //工单号不为空,工序号为空
                    if (ordercode != "" && stepcode == null) //工单号不为空,工序号为空
                    {
                        search += "and A.wo_code=@ordercode ";
                        dynamicParams.Add("@ordercode", ordercode);
@@ -1467,13 +1536,30 @@
                        }
                    }
                }
                //根据条件查询工单工序任务(自制工序)
                switch (stu_torgtypecode)
                {
                    case "":
                        break;
                    case "D":
                        search += "and L.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    case "W":
                        search += "and F.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    default:
                        break;
                }
                //根据条件查询工单工序任务(外协工序)
                sql = @"select A.status,A.wo_code,B.route_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
                            S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.bad_qty,A.plan_startdate,A.plan_enddate,B.lm_date
                            from TK_Wrk_Step A
                            left join TK_Wrk_Man B on A.wo_code=B.wo_code
                            left join TMateriel_Info M on B.materiel_code=M.partcode
                            left join TStep S on A.step_code=S.stepcode
                            left join TOrganization F on B.wkshp_code=F.org_code
                            left join TOrganization L on  F.parent_id=L.id
                            where A.status in('ALLO','START') and S.flwtype='W'  " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                if (data.ToList().Count > 0)
@@ -1505,7 +1591,7 @@
        #endregion
        #region[生产开报工扫码获取工单对应工序任务(不良)]
        public static ToMessage MesOrderNgStepSearch(string orderstepqrcode, int startNum, int endNum, string prop, string order)
        public static ToMessage MesOrderNgStepSearch(string stu_torgcode,string stu_torgtypecode,string orderstepqrcode, int startNum, int endNum, string prop, string order)
        {
            var sql = "";
            string search = "";
@@ -1532,7 +1618,7 @@
                        ordercode = arra[0]; //获取指定字符串前面的字符
                        stepcode = arra[1]; //获取指定字符串前面的字符
                    }
                    if (ordercode != "" && ordercode != null) //工单号不为空,工序号为空
                    if (ordercode != "" && stepcode == null) //工单号不为空,工序号为空
                    {
                        search += "and A.wo_code=@ordercode ";
                        dynamicParams.Add("@ordercode", ordercode);
@@ -1561,14 +1647,31 @@
                        return mes;
                    }
                }
                switch (stu_torgtypecode)
                {
                    case "":
                        break;
                    case "D":
                        search += "and L.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    case "W":
                        search += "and F.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    default:
                        break;
                }
                //根据条件查询工单工序任务,且不良数量大于0
                sql = @"select A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isend,
                            S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.bad_qty,B.lm_date
                            from TK_Wrk_Step A
                            left join TK_Wrk_Man B on A.wo_code=B.wo_code
                            left join TMateriel_Info M on B.materiel_code=M.partcode
                            left join TStep S on A.step_code=S.stepcode
                            where A.status in('ALLO','START') and A.ng_qty>0 " + search;
                        S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.bad_qty,B.lm_date
                        from TK_Wrk_Step A
                        left join TK_Wrk_Man B on A.wo_code=B.wo_code
                        left join TMateriel_Info M on B.materiel_code=M.partcode
                        left join TStep S on A.step_code=S.stepcode
                        left join TOrganization F on B.wkshp_code=F.org_code
                        left join TOrganization L on  F.parent_id=L.id
                        where A.status in('ALLO','START') and A.ng_qty>0 " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                if (data.ToList().Count > 0)
                {
@@ -1716,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 = "";
@@ -1745,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;
@@ -1806,9 +1909,11 @@
                    return mes;
                }
                //获取工序关联的设备
                sql = @"select B.code,B.name from TFlw_Rteqp A
                sql = @"select B.code,B.name  from TK_Wrk_Man M
                        inner join TFlw_Rtdt R on M.route_code=R.rout_code
                        inner join TFlw_Rteqp A on R.step_code=A.step_code
                        left join TEqpInfo B on A.eqp_code=B.code
                        where A.style='E' and A.step_code=@stepcode and B.enable='Y'";
                        where A.style='E' and M.wo_code=@wo_code and A.step_code=@stepcode and B.enable='Y'";
                dynamicParams.Add("@wo_code", ordercode);
                dynamicParams.Add("@stepcode", stepcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
@@ -1828,14 +1933,38 @@
        #endregion
        #region[生产开报工:报工时获取生产班组下拉框]
        public static ToMessage MesOrderStepReportSelectUserGroup()
        public static ToMessage MesOrderStepReportSelectUserGroup(string stu_torgcode,string stu_torgtypecode,string wkshopcode)
        {
            string sql = "";
            string search = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                if (wkshopcode != "" && wkshopcode != null)
                {
                    search += "and A.torg_code=@workShop ";
                    dynamicParams.Add("@workShop", wkshopcode);
                }
                else
                {
                    switch (stu_torgtypecode)
                    {
                        case "":
                            search += "and T.description=@description ";
                            dynamicParams.Add("@description", "W");
                            break;
                        case "D":
                            search += "and  L.org_code=@stu_torgcode ";
                            dynamicParams.Add("@stu_torgcode", stu_torgcode);
                            break;
                    }
                }
                //获取用户组
                sql = @"select group_code,group_name from TGroup";
                var data = DapperHelper.selecttable(sql);
                sql = @"select group_code,group_name from TGroup  A
                        left join TOrganization T on A.torg_code=T.org_code
                        left join TOrganization as L on T.parent_id=L.id
                        where 1=1 "+search;
                var data = DapperHelper.selectdata(sql, dynamicParams);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
@@ -1852,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";
@@ -2719,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 = "";
@@ -2744,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
@@ -2867,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 = "";
@@ -2881,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":
@@ -2915,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,
@@ -2936,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
                        }
                    });
                }
@@ -2972,12 +3132,27 @@
        #region[MES工单批量关闭查询]
        public static ToMessage MesOrderBitchClosedSearch(string mesorderstus, string mesordercode, string sourceorder, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
        public static ToMessage MesOrderBitchClosedSearch(string stu_torgcode,string stu_torgtypecode,string mesorderstus, string mesordercode, string sourceorder, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                switch (stu_torgtypecode)
                {
                    case "":
                        break;
                    case "D":
                        search += "and L.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    case "W":
                        search += "and C.org_code=@stu_torgcode ";
                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
                        break;
                    default:
                        break;
                }
                if (mesorderstus != "" && mesorderstus != null)
                {
                    search += "and A.status=@mesorderstus ";
@@ -3042,6 +3217,7 @@
                            left join TFlw_Rout E on A.route_code=E.code
                            left join T_Sec_Stck F on A.stck_code=F.code 
                            left join TUser U on A.lm_user=U.usercode 
                            left join TOrganization L on  C.parent_id=L.id
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
@@ -4633,7 +4809,7 @@
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select *   from(
                            select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
                            select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
                            A.step_code,E.wkshp_id,M.wkshp_code,stck_id,K.code as stockcode,k.name as stockname,
                            E.saleOrderqty,E.qty,M.plan_qty,A.good_qty,isnull(A.inhouseqty,0) as inhouseqty,A.good_qty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style   
                            from  TK_Wrk_Record A
@@ -4644,7 +4820,7 @@
                            left join T_Sec_Stck K on E.stck_code=K.code
                            where A.style='B' and S.isend='Y' and A.good_qty>0
                            union all
                            select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
                            select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
                            A.step_code,E.wkshp_id,M.wkshp_code,stck_id,K.code as stockcode,k.name as stockname,
                            E.saleOrderqty,E.qty,M.plan_qty,A.sqty as sqty,isnull(A.inhouseqty,0) as inhouseqty,A.sqty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style   
                            from  TK_Wrk_OutRecord A
@@ -4752,13 +4928,14 @@
                        }
                    });
                    //写入MES库存表
                    sql = @"insert into TK_WMS_Stock(labcode,materiel_code,storehouse_code,qty,lm_user,lm_date)
                        values(@labcode,@materiel_code,@storehouse_code,@qty,@lm_user,@lm_date)";
                    sql = @"insert into TK_WMS_Stock(hbillno,labcode,materiel_code,storehouse_code,qty,lm_user,lm_date)
                        values(@hbillno,@labcode,@materiel_code,@storehouse_code,@qty,@lm_user,@lm_date)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            hbillno = obj["head"]["hbillno"].ToString(),
                            labcode = sub_arra[i]["inbarcode"].ToString(),
                            materiel_code = sub_arra[i]["partcode"].ToString(),
                            storehouse_code = sub_arra[i]["stockcode"].ToString(),
@@ -4929,5 +5106,108 @@
            return mes;
        }
        #endregion
        #region[生产入库扫描条码]
        public static ToMessage MesAppProductInHouseOrderBarCodeSearch(string labcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //判断条码是否存在
                sql = @"select distinct AA.inbarcode  from (
                         select A.inbarcode
                         from  TK_Wrk_Record A
                         inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
                         where A.style='B' and S.isend='Y' and A.good_qty>0 and A.inbarcode=@labcode
                         union all
                         select A.inbarcode
                         from  TK_Wrk_OutRecord A
                         inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
                         where A.style='S' and S.isend='Y' and A.sqty>0 and A.inbarcode=@labcode
                         ) as AA";
                dynamicParams.Add("@labcode", labcode);
                var data0 = DapperHelper.selectdata(sql, dynamicParams);
                if (data0.Rows.Count <= 0)
                {
                    mes.code = "300";
                    mes.Message = "无效条码!";
                    mes.data = null;
                    return mes;
                }
                //判断条码是否存可用
                sql = @"select distinct AA.inbarcode,AA.good_qty,AA.inhouseqty  from (
                        select A.inbarcode,sum(A.good_qty) as good_qty,sum(isnull(A.inhouseqty,0)) as inhouseqty
                        from  TK_Wrk_Record A
                        inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
                        where A.style='B' and S.isend='Y' and A.good_qty>0 and A.inbarcode=@labcode
                        group by A.inbarcode
                        union all
                        select A.inbarcode,sum(A.sqty) as good_qty,sum(isnull(A.inhouseqty,0)) as inhouseqty
                        from  TK_Wrk_OutRecord A
                        inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
                        where A.style='S' and S.isend='Y' and A.sqty>0 and A.inbarcode=@labcode
                        group by A.inbarcode
                        ) as AA  where AA.good_qty>AA.inhouseqty ";
                dynamicParams.Add("@labcode", labcode);
                var data1 = DapperHelper.selectdata(sql, dynamicParams);
                if (data1.Rows.Count <= 0)
                {
                    mes.code = "300";
                    mes.Message = "当前条码已入库!";
                    mes.data = null;
                    return mes;
                }
                //根据采购订单号查询物料信息,供应商信息
                sql = @"select *   from(
                        select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
                        A.step_code,E.wkshp_id,M.wkshp_code,stck_id,K.code as stockcode,k.name as stockname,
                        E.saleOrderqty,E.qty,M.plan_qty,A.good_qty,isnull(A.inhouseqty,0) as inhouseqty,A.good_qty-isnull(A.inhouseqty,0) as stinhouseqty,A.lm_date,A.style
                        from  TK_Wrk_Record A
                        inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
                        inner join TK_Wrk_Man M on S.wo_code=M.wo_code
                        inner join TMateriel_Info P on M.materiel_code=P.partcode
                        left join TKimp_Ewo E on M.sourceid=E.id
                        left join T_Sec_Stck K on E.stck_code=K.code
                        where A.style='B' and S.isend='Y' and A.good_qty>0 and A.inbarcode=@labcode
                        union all
                        select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
                        A.step_code,E.wkshp_id,M.wkshp_code,stck_id,K.code as stockcode,k.name as stockname,
                        E.saleOrderqty,E.qty,M.plan_qty,A.sqty as sqty,isnull(A.inhouseqty,0) as inhouseqty,A.sqty-isnull(A.inhouseqty,0) as stinhouseqty,A.lm_date,A.style
                        from  TK_Wrk_OutRecord A
                        inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
                        inner join TK_Wrk_Man M on S.wo_code=M.wo_code
                        inner join TMateriel_Info P on M.materiel_code=P.partcode
                        left join TKimp_Ewo E on M.sourceid=E.id
                        left join T_Sec_Stck K on E.stck_code=K.code
                        where A.style='S' and S.isend='Y' and A.sqty>0 and A.inbarcode=@labcode
                        ) as AA  where AA.good_qty>AA.inhouseqty";
                dynamicParams.Add("@labcode", labcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "200";
                    mes.Message = "查询成功!";
                    mes.data = data;
                }
                else
                {
                    mes.code = "300";
                    mes.Message = "暂无物料数据!";
                    mes.data = null;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
    }
}