yl
2022-11-14 adc376c2c6c19dbc28b45540448331c4c8f6bc34
VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -2425,7 +2425,7 @@
                            left join TFlw_Rtdt D on M.route_code=D.rout_code and A.step_code=D.step_code
                            left join TUser U on B.report_person=U.usercode
                            left join TGroup O on U.usergroup_code=O.group_code
                            where A.style='B' and B.style='B'
                            where A.style='B' and B.style='B' and M.status<>'CLOSED'
                            ) as AA where" + search;
                //union all
                //select A.id,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,M.plan_qty as task_qty,M.wkshp_code,G.org_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
@@ -2442,7 +2442,7 @@
                //left join TFlw_Rout R on M.route_code = R.code
                //left join TFlw_Rtdt D on M.route_code = D.rout_code and A.step_code = D.step_code
                //left join TUser U on B.in_person = U.usercode
                //where A.style = 'S' and B.style = 'S'
                //where A.style = 'S' and B.style = 'S' and M.status<>'CLOSED'
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -2464,10 +2464,8 @@
        public static ToMessage MesOrderStepUpdateSeave(string username, List<UpdateProductReport> json)
        {
            var sql = "";
            string[] arra1 = new string[] { };
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            decimal sumrepair_qty = 0, sumbad_qty = 0;  //累计维修数量、累计报废数量
            try
            {
                string date = DateTime.Now.ToString(); //获取系统时间
@@ -2769,7 +2767,42 @@
                            verifydate = date
                        }
                    });
                    //写入报工记录审核表
                    sql = @"insert into  TK_WorkRecord_Verify(report_id,report_sbid,wo_code,partnumber,task_qty,wkshp_code,eqp_code,route_code,
                            step_seq,step_code,flw_type,first_choke,last_choke,unprice,usergroup_code,usercode,report_date,report_qty,report_dvalue,ng_qty,ng_dvalue,bad_qty,bad_dvalue,bad_money)
                            values(@report_id,@report_sbid,@wo_code,@partnumber,@task_qty,@wkshp_code,@eqp_code,@route_code,
                            @step_seq,@step_code,@flw_type,@first_choke,@last_choke,@unprice,@usergroup_code,@usercode,@report_date,@report_qty,@report_dvalue,@ng_qty,@ng_dvalue,@bad_qty,@bad_dvalue,@bad_money)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            report_id=json[i].id.ToString(),
                            report_sbid=json[i].sbid.ToString(),
                            wo_code=json[i].wo_code.ToString(),
                            partnumber=json[i].partnumber.ToString(),
                            task_qty=json[i].task_qty.ToString(),
                            wkshp_code=json[i].wkshp_code.ToString(),
                            eqp_code=json[i].eqp_code.ToString(),
                            route_code=json[i].route_code.ToString(),
                            step_seq=json[i].step_seq.ToString(),
                            step_code=json[i].step_code.ToString(),
                            flw_type=json[i].flw_type.ToString(),
                            first_choke=json[i].first_choke.ToString(),
                            last_choke=json[i].last_choke.ToString(),
                            unprice=json[i].unprice.ToString(),
                            usergroup_code=json[i].usergroup_code.ToString(),
                            usercode=json[i].usercode.ToString(),
                            report_date=json[i].report_date.ToString(),
                            report_qty=json[i].report_qty.ToString(),
                            report_dvalue=json[i].report_dvalue.ToString(),
                            ng_qty=json[i].ng_qty.ToString(),
                            ng_dvalue=json[i].ng_dvalue.ToString(),
                            bad_qty=json[i].bad_qty.ToString(),
                            bad_dvalue=json[i].bad_dvalue.ToString(),
                            bad_money=json[i].bad_money.ToString()
                        }
                    });
                }
                bool aa = DapperHelper.DoTransaction(list);
@@ -2799,6 +2832,253 @@
        }
        #endregion
        #region[生产管理,修改报工反审核提交]
        public static ToMessage MesOrderStepNoVerifySeave(string username, List<UpdateProductReport> json)
        {
            var sql = "";
            List<object> list = new List<object>();
            try
            {
                string date = DateTime.Now.ToString(); //获取系统时间
                list.Clear();
                //循环json数据
                for (int i = 0; i < json.Count; i++)
                {
                    ///////////////////////////////修改报工//////////////////////////////
                    //回写对应的报工记录子表审核状态、审核人、审核时间
                    sql = @"update TK_Wrk_RecordSub set verify=@verify,verifyuser=@verifyuser,verifydate=@verifydate
                                where  m_id=@m_id and id=@id and style='B'";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            m_id = int.Parse(json[i].id),
                            id = int.Parse(json[i].sbid),
                            verify = "N",
                            verifyuser = "",
                            verifydate = ""
                        }
                    });
                    //回写不良
                    sql = @"update CSR_WorkRecord_Defect set verify=verify,verifyuser=@verifyuser,verifydate=@verifydate
                                    where wo_code=@wo_code and step_code=@step_code and record_id=@id and style='B'";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            wo_code = json[i].wo_code,
                            step_code = json[i].step_code,
                            id = int.Parse(json[i].id),
                            verify = "N",
                            verifyuser = "",
                            verifydate = ""
                        }
                    });
                    //删除报工记录审核表
                    sql = @"delete from TK_WorkRecord_Verify where wo_code=@wo_code and report_id=@report_id and report_sbid=@report_sbid and step_seq=@step_seq and step_code=@step_code";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            report_id = json[i].id.ToString(),
                            report_sbid = json[i].sbid.ToString(),
                            wo_code = json[i].wo_code.ToString(),
                            step_seq = json[i].step_seq.ToString(),
                            step_code = json[i].step_code.ToString()
                        }
                    });
                }
                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 MesOrderStepDeleteSeave(string username, List<UpdateProductReport> json)
        {
            var sql = "";
            string[] arra1 = new string[] { };
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                string date = DateTime.Now.ToString(); //获取系统时间
                list.Clear();
                //循环json数据
                for (int i = 0; i < json.Count; i++)
                {
                    //自制工序
                    if (json[i].flw_type.ToString() == "Z")
                    {
                        //判断当前工序是否存在下道工序开工记录
                        sql = @"select * from TK_Wrk_Record where wo_code=@wo_code and style='S'  and step_seq=@step_seq+1";
                        dynamicParams.Add("@wo_code", json[i].wo_code);
                        dynamicParams.Add("@step_seq", json[i].step_seq);
                        var dt0 = DapperHelper.selectdata(sql, dynamicParams);
                        if (dt0.Rows.Count > 0)
                        {
                            //判断当前工序是否存在下道工序报工记录
                            sql = @"select * from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq+1";
                            dynamicParams.Add("@wo_code", json[i].wo_code);
                            dynamicParams.Add("@step_seq", json[i].step_seq);
                            var dt = DapperHelper.selectdata(sql, dynamicParams);
                            if (dt.Rows.Count > 0)
                            {
                                mes.code = "300";
                                mes.count = 0;
                                mes.Message = "当前工序下道工序已报工不允许删除!";
                                mes.data = null;
                                return mes;
                            }
                        }
                        ///////////////////////////////删除报工//////////////////////////////
                        //删除下道工序开工记录(主要处理下道工序已开工未报工)
                        sql = @"delete from TK_Wrk_Record where  wo_code=@wo_code and step_seq=@step_seq+1 and style=@style";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                wo_code=json[i].wo_code.ToString(),
                                step_seq=json[i].step_seq.ToString(),
                                style = "S"
                            }
                        });
                        //删除报工缺陷记录表
                        sql = @"delete from CSR_WorkRecord_Defect where  wo_code=@wo_code and partnumber=@partnumber and step_seq=@step_seq and step_code=@step_code and record_id=@record_id and style=@style ";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                wo_code=json[i].wo_code.ToString(),
                                partnumber = json[i].partnumber.ToString(),
                                step_seq = json[i].step_seq.ToString(),
                                step_code = json[i].step_code.ToString(),
                                record_id = int.Parse(json[i].id),
                                style = "B"
                            }
                        });
                        //删除报工缺陷处理记录表
                        sql = @"delete from CSR_WorkRecord_DefectHandle where  wo_code=@wo_code and partnumber=@partnumber and step_seq=@step_seq and step_code=@step_code and record_subid=@record_subid and style=@style";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                wo_code = json[i].wo_code.ToString(),
                                partnumber = json[i].partnumber.ToString(),
                                step_seq = json[i].step_seq.ToString(),
                                step_code = json[i].step_code.ToString(),
                                record_subid = int.Parse(json[i].id),
                                style = "B"
                            }
                        });
                        //删除报工记录子表
                        sql = @"delete from TK_Wrk_RecordSub where  id=@id and m_id=@m_id and style=@style";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                id = int.Parse(json[i].id),
                                m_id = int.Parse(json[i].sbid),
                                style = "B"
                            }
                        });
                        //删除报工记录主表
                        sql = @"delete from TK_Wrk_Record where  id=@id and style=@style";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                id = int.Parse(json[i].id),
                                m_id = int.Parse(json[i].sbid),
                                style = "B"
                            }
                        });
                        //回写工单工序表(合格数量、不良数量、报废数量)
                        sql = @"update  TK_Wrk_Step set good_qty=good_qty-@report_qty,ng_qty=ng_qty-@ng_qty,bad_qty=bad_qty-@bad_qty where  wo_code=@wo_code and seq=@step_seq and step_code=@step_code";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                wo_code=json[i].wo_code.ToString(),
                                step_seq=json[i].step_seq.ToString(),
                                step_code=json[i].step_code.ToString(),
                                repair_qty = decimal.Parse(json[i].report_qty),
                                ng_qty = decimal.Parse(json[i].ng_qty),
                                bad_qty = decimal.Parse(json[i].bad_qty),
                            }
                        });
                    }
                    //外协工序
                    if (json[i].flw_type.ToString() == "S")
                    {
                    }
                }
                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[MES工单批量关闭查询]