VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -56,15 +56,21 @@
            {
                if (shopcode != null || shopcode != "") //产线编码不为空
                {
                    string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                    //查询产线下已开工的加工单信息
                    sql = @"select distinct E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname   from TK_Wrk_Record A
                    sql = @"select *  from (
                                    select distinct E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname,S.good_qty,S.ng_qty,S.bad_qty   from TK_Wrk_Record A
                                    inner join TK_Wrk_Man P on A.wo_code=P.wo_code
                                    left join TMateriel_Info M on P.materiel_code=M.partcode
                                    left join TUom T on M.uom_code=T.code 
                                    left join TKimp_Ewo E on P.m_po=E.wo and P.sourceid=E.id
                                    where P.status<>'CLOSED' and P.status<>'NEW' and P.wkshp_code in(@shopcode) and A.style='S' and A.step_seq='1'";
                    dynamicParams.Add("@shopcode", shopcode);
                    var data0 = DapperHelper.selectdata(sql, dynamicParams);
                                    left join (
                                      select wo_code,sum(good_qty) as good_qty,sum(ng_qty) as ng_qty,sum(bad_qty) as bad_qty  from TK_Wrk_Step where isend='Y' group by wo_code
                                    ) S on P.wo_code=S.wo_code
                                    where P.status<>'CLOSED' and P.status<>'NEW' and P.wkshp_code in @shopcode and A.style='S' and A.step_seq='1'
                                    ) as AA where AA.plan_qty>(AA.good_qty+aa.bad_qty+AA.ng_qty)";
                    var data0 = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
                    if (data0.Rows.Count > 0)
                    {
                        for (int j = 0; j < data0.Rows.Count; j++)
@@ -148,6 +154,7 @@
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
            try
            {
                //获取任务列表信息
@@ -159,10 +166,10 @@
                         inner join TKimp_Ewo E on A.m_po=E.wo and A.sourceid=E.id
                         left  join TMateriel_Info M on A.materiel_code=M.partcode
                         left  join TUom U on M.uom_code=U.code
                         where A.status<>'CLOSED' and A.wkshp_code in(@shopcode) and A.is_delete<>'1' and B.isend='Y'
                         where A.status<>'CLOSED' and A.wkshp_code in @shopcode and A.is_delete<>'1' and B.isend='Y'
                         and A.plan_qty>(B.good_qty+B.ng_qty+B.bad_qty)
                         )as A ";
                dynamicParams.Add("@shopcode", shopcode);
                var data = DapperHelper.selectdata(sql,dynamicParams);
                var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
@@ -183,6 +190,7 @@
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
            try
            {
                //获取产品报工top5信息
@@ -192,16 +200,15 @@
                        inner join TMateriel_Info M on A.materiel_code=M.partcode
                        inner  join TEqpInfo E on A.eqp_code=E.code
                        inner  join TOrganization W on E.wksp_code=W.org_code and W.description='W'
                        where A.style='B' and S.isend='Y' and W.org_code in(@shopcode) and datediff(day,GETDATE(),A.lm_date)=0
                        where A.style='B' and S.isend='Y' and W.org_code in @shopcode and datediff(day,GETDATE(),A.lm_date)=0
                        union all
                        select C.name as linename,'' as wkshname,M.partname,A.sqty as good_qty  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 TMateriel_Info M on A.materiel_code=M.partcode
                        inner  join TCustomer C on A.wx_code=C.code and C.btype='WX'
                        inner  join TCustomer C on A.wx_code=C.code
                        where A.style='S' and S.isend='Y' and datediff(day,GETDATE(),A.lm_date)=0
                        ) as A group by A.org_name,A.name,A.partname order by good_qty desc";
                dynamicParams.Add("@shopcode", shopcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
@@ -222,6 +229,7 @@
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
            try
            {
                //获取报工不良top5信息
@@ -229,10 +237,9 @@
                        from CSR_WorkRecord_Defect A
                        inner join TDefect B on A.defect_code=B.code
                        inner join TK_Wrk_Man M on A.wo_code=M.wo_code
                        where DateDiff(dd,A.lm_date,getdate())<=7 and M.wkshp_code in(@shopcode)
                        where DateDiff(dd,A.lm_date,getdate())<=7 and M.wkshp_code in @shopcode
                        group by B.name order by cont desc";
                dynamicParams.Add("@shopcode", shopcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
@@ -330,7 +337,7 @@
            try
            {
                //获取仓库生产加工单待入库列表
                sql = @"select * from h_v_DDKanBan_WareHouseTopLeft";
                sql = @"select * from h_v_DDKanBan_WareHouseTopLeft order by voucherdate";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -354,7 +361,7 @@
            try
            {
                //获取仓库生产加工单待入库列表
                sql = @"select * from h_v_DDKanBan_WareHouseTopBottom";
                sql = @"select * from h_v_DDKanBan_WareHouseTopBottom order by voucherdate";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -416,5 +423,116 @@
            return mes;
        }
        #endregion
        #region[车间看板公告]
        public static ToMessage WkspReportNotice(string shopcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                //获取车间公告信息
                sql = @"select contents  from TSystemAnnouncement
                       where wksp_code in @shopcode";
                var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
                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 WkshpLineData(string lineCode)
        {
            string sql = "";
            string search = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取产线销售订单报工信息,报工数量>0  且工单状态为非关闭状态  且工序为末道工序 (--and (S.good_qty+S.ng_qty+S.bad_qty)<S.plan_qty)
                //sql = @"select AA.saleOrderCode,AA.materiel_code,AA.partname,sum(AA.good_qty) as good_qty   from (
                //        select distinct A.saleOrderCode,A.materiel_code,M.partname,isnull(S.good_qty,0) as good_qty
                //        from TKimp_Ewo A
                //        left join TK_Wrk_Man B on A.wo=B.m_po and A.materiel_code=B.materiel_code
                //        left join TK_Wrk_Step S on B.wo_code=S.wo_code and S.isend='Y'
                //        left join TFlw_Rteqp R on S.step_code=R.step_code
                //        left  join TMateriel_Info M on A.materiel_code=M.partcode
                //        where A.saleOrderCode is not null and A.saleOrderCode<>''
                //        and R.eqp_code=@lineCode and B.status<>'CLOSED'
                //        ) as AA
                //        group by AA.saleOrderCode,AA.materiel_code,AA.partname";
                sql = @"select AA.saleOrderCode,AA.materiel_code,AA.partname,sum(AA.good_qty) as good_qty   from (
                  select distinct B.m_po as saleOrderCode,B.materiel_code,M.partname,isnull(S.good_qty,0) as good_qty
                  from TK_Wrk_Man B
                  left join TK_Wrk_Step S on B.wo_code=S.wo_code and S.isend='Y'
                        left join TK_Wrk_Record T on S.wo_code=T.wo_code
                        left  join TMateriel_Info M on B.materiel_code=M.partcode
                        where T.eqp_code=@lineCode and B.status<>'CLOSED'
                   ) as AA
                        group by AA.saleOrderCode,AA.materiel_code,AA.partname";
                dynamicParams.Add("@lineCode", lineCode);
                var data = DapperHelper.selectdata(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 WkshpContentData()
        {
            string sql = "";
            try
            {
                //获取工单报工信息,报工数量>0  且工单状态为非关闭状态
                sql = @"select row_number() over(order by A.wo_code,B.seq) as RowNum,A.wo_code,E.name as eqp_name,M.partname,B.plan_qty,A.plan_startdate,A.plan_enddate,T.stepname,B.good_qty
                        from TK_Wrk_Man A
                        inner join TK_Wrk_Step B on A.wo_code=B.wo_code
                        inner join(
                          select wo_code,step_code,materiel_code,eqp_code, sum(good_qty) as  good_qty
                          from TK_Wrk_Record where style='B' group by wo_code,step_code,materiel_code,eqp_code
                          ) as S on A.wo_code=S.wo_code and A.materiel_code=S.materiel_code and B.step_code=S.step_code
                        left join TStep T on B.step_code=T.stepcode
                        left join TMateriel_Info M on A.materiel_code=M.partcode
                        left join TEqpInfo E on S.eqp_code=E.code
                        where   A.status<>'CLOSED'
                        order by A.wo_code,B.seq";
                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
    }
}
}