yl
2022-11-11 1b7d474add778ac342486beccc63081e9e29f504
生产管理,修改报工保存接口,生产工单删除接口开发
已修改13个文件
218 ■■■■ 文件已修改
.vs/VueWebApi/v16/.suo 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/ProductionManagementDAL.cs 179 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Models/UpdateProductReport.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.dll 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.dll 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.dll 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
.vs/VueWebApi/v16/.suo
Binary files differ
VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -638,7 +638,7 @@
            try
            {
                //判断工单是否为未开始状态或者已派发状态(满足其中一种都可删除,否则不允许删除)
                sql = @"select *  from TK_Wrk_Man where wo_code=@wocode and status='NEW' or status='ALLO'";
                sql = @"select *  from TK_Wrk_Man where wo_code=@wocode and status in('NEW','ALLO')";
                dynamicParams.Add("@wocode", wocode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
@@ -2426,23 +2426,23 @@
                            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' 
                            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,
                            M.route_code,R.name as route_name,A.step_code,S.stepname,S.flwtype,D.first_choke,D.last_choke,T.unprice,''as usergroup_code,''as usergroup_name,B.in_person as usercode,U.username,
                            B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.bad_qty
                            from TK_Wrk_OutRecord A
                            inner join TK_Wrk_OutRecordSub B on A.id=B.m_id
                            left join TK_Wrk_Man M on A.wo_code=M.wo_code
                            left join TStep S on A.step_code=S.stepcode
                            left join TPrteEqp_Stad T on A.materiel_code=T.materiel_code and M.route_code=T.route_code and A.step_code=T.step_code and A.wx_code=T.eqp_code
                            left join TMateriel_Info P on A.materiel_code=P.partcode
                            left join TOrganization G on M.wkshp_code=G.org_code
                            left join TCustomer E on A.wx_code=E.code and E.btype='WX'
                            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'
                            ) 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,
                //M.route_code,R.name as route_name,A.step_code,S.stepname,S.flwtype,D.first_choke,D.last_choke,T.unprice,'' as usergroup_code,'' as usergroup_name,B.in_person as usercode,U.username,
                //B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.bad_qty
                //from TK_Wrk_OutRecord A
                //inner join TK_Wrk_OutRecordSub B on A.id = B.m_id
                //left join TK_Wrk_Man M on A.wo_code = M.wo_code
                //left join TStep S on A.step_code = S.stepcode
                //left join TPrteEqp_Stad T on A.materiel_code = T.materiel_code and M.route_code = T.route_code and A.step_code = T.step_code and A.wx_code = T.eqp_code
                //left join TMateriel_Info P on A.materiel_code = P.partcode
                //left join TOrganization G on M.wkshp_code = G.org_code
                //left join TCustomer E on A.wx_code = E.code and E.btype = 'WX'
                //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'
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -2478,10 +2478,10 @@
                for (int i = 0; i < json.Count; i++)
                {
                    //自制工序
                    if (json[i].flw_type.ToString()== "Z")
                    if (json[i].flw_type.ToString() == "Z")
                    {
                        //是否首道
                        if (json[i].first_choke == "Y")
                        if (json[i].first_choke == "Y")
                        {
                            decimal this_reportqty = decimal.Parse(json[i].report_qty.ToString()); //报工数量(合格)
                            decimal this_ngqty = decimal.Parse(json[i].ng_qty.ToString()); //不良数量
@@ -2493,16 +2493,16 @@
                            dynamicParams.Add("@id", json[i].id);
                            dynamicParams.Add("@step_code", json[i].step_code);
                            var dt = DapperHelper.selectdata(sql, dynamicParams);
                            decimal notthis_reportqty =decimal.Parse(dt.Rows[0]["good_qty"].ToString());  //当前工序非本次报工总数
                            decimal notthis_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString());  //当前工序非本次报工总数
                            decimal notthis_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString());  //当前工序非本次报工总数
                            decimal notthis_badqty = decimal.Parse(dt.Rows[0]["bad_qty"].ToString());  //当前工序非本次报工总数
                            //判断:当前工序报工记录:本次报工数量+本次不良数量+本次报废数量+当前工序非本次报工总数+当前工序非本次不良总数+当前工序非本次报废总数>工单任务数量
                            decimal updatereportsumqty = this_reportqty + this_ngqty + this_badqty + notthis_reportqty + notthis_ngqty + notthis_badqty;
                            if (updatereportsumqty > decimal.Parse(json[i].task_qty.ToString()))
                            if (updatereportsumqty > decimal.Parse(json[i].task_qty.ToString()))
                            {
                                mes.code = "300";
                                mes.count = 0;
                                mes.Message = "自制首道工序修改报工总数量:【"+ updatereportsumqty + "】不能大于工单任务数量:【"+ json[i].task_qty.ToString() + "】!";
                                mes.Message = "自制首道工序修改报工总数量:【" + updatereportsumqty + "】不能大于工单任务数量:【" + json[i].task_qty.ToString() + "】!";
                                mes.data = null;
                                return mes;
                            }
@@ -2515,11 +2515,11 @@
                            if (dt0.Rows.Count > 0)
                            {
                                //判断当前工序:报工总数数量+不良总数数量+报废总数数量<下道工序报工总数量+下道工序不良总数量+下道工序报废总数量
                                decimal last_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString());  //下道工序报工总数量
                                decimal last_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString());  //下道工序不良总数量
                                decimal last_badqty = decimal.Parse(dt.Rows[0]["bad_qty"].ToString());  //下道工序报废总数量
                                decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString());  //下道工序报工总数量
                                decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString());  //下道工序不良总数量
                                decimal last_badqty = decimal.Parse(dt0.Rows[0]["bad_qty"].ToString());  //下道工序报废总数量
                                decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_badqty;
                                if (updatereportsumqty<last_updatereportsumqty)
                                if (updatereportsumqty < last_updatereportsumqty)
                                {
                                    mes.code = "300";
                                    mes.count = 0;
@@ -2528,7 +2528,7 @@
                                    return mes;
                                }
                            }
                            //修改报工
                        }
                        //是否末道
                        if (json[i].last_choke == "Y")
@@ -2548,7 +2548,7 @@
                            decimal notthis_badqty = decimal.Parse(dt.Rows[0]["bad_qty"].ToString());  //当前末道工序非本次报工总数
                            //获取当前末道工序报工总数量:本次修改报工数量+本次修改不良数量+本次修改报废数量+当前末道工序非本次报工总数+当前末道工序非本次不良总数+当前末道工序非本次报废总数
                            decimal updatereportsumqty = this_reportqty + this_ngqty + this_badqty + notthis_reportqty + notthis_ngqty + notthis_badqty;
                            //查询当前末道工序上道工序:总报工数量、总不良数量、总报废数量
                            sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(bad_qty),0) as bad_qty   
                                    from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq-1";
@@ -2558,11 +2558,11 @@
                            if (dt0.Rows.Count > 0)
                            {
                                //判断:当前末道工序报工记录:当前末道工序报工总数(合格+不良+报废)>上道工序报工总数(合格+不良+报废)
                                decimal last_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString());  //下道工序报工总数量
                                decimal last_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString());  //下道工序不良总数量
                                decimal last_badqty = decimal.Parse(dt.Rows[0]["bad_qty"].ToString());  //下道工序报废总数量
                                decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString());  //下道工序报工总数量
                                decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString());  //下道工序不良总数量
                                decimal last_badqty = decimal.Parse(dt0.Rows[0]["bad_qty"].ToString());  //下道工序报废总数量
                                decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_badqty;
                                if (updatereportsumqty >last_updatereportsumqty)
                                if (updatereportsumqty > last_updatereportsumqty)
                                {
                                    mes.code = "300";
                                    mes.count = 0;
@@ -2571,22 +2571,125 @@
                                    return mes;
                                }
                            }
                            //修改报工
                        }
                        else  //非首道非末道
                        {
                        {
                            decimal this_reportqty = decimal.Parse(json[i].report_qty.ToString()); //报工数量(合格)
                            decimal this_ngqty = decimal.Parse(json[i].ng_qty.ToString()); //不良数量
                            decimal this_badqty = decimal.Parse(json[i].bad_qty.ToString()); //报废数量
                            //查询当前工序非此次报工:总报工数量、总不良数量、总报废数量
                            sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(bad_qty),0) as bad_qty
                                    from TK_Wrk_Record where wo_code=@wo_code and style='B' and id<>@id and step_code=@step_code";
                            dynamicParams.Add("@wo_code", json[i].wo_code);
                            dynamicParams.Add("@id", json[i].id);
                            dynamicParams.Add("@step_code", json[i].step_code);
                            var dt = DapperHelper.selectdata(sql, dynamicParams);
                            decimal notthis_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString());  //当前工序非本次报工总数
                            decimal notthis_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString());  //当前工序非本次报工总数
                            decimal notthis_badqty = decimal.Parse(dt.Rows[0]["bad_qty"].ToString());  //当前工序非本次报工总数
                            //获取当前末道工序报工总数量:本次修改报工数量+本次修改不良数量+本次修改报废数量+当前工序非本次报工总数+当前工序非本次不良总数+当前工序非本次报废总数
                            decimal updatereportsumqty = this_reportqty + this_ngqty + this_badqty + notthis_reportqty + notthis_ngqty + notthis_badqty;
                            //查询当前工序上道工序:总报工数量、总不良数量、总报废数量
                            sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(bad_qty),0) as bad_qty
                                    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 dt0 = DapperHelper.selectdata(sql, dynamicParams);
                            if (dt0.Rows.Count > 0)
                            {
                                //判断:当前工序报工记录:当前工序报工总数(合格+不良+报废)>上道工序报工总数(合格+不良+报废)
                                decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString());  //下道工序报工总数量
                                decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString());  //下道工序不良总数量
                                decimal last_badqty = decimal.Parse(dt0.Rows[0]["bad_qty"].ToString());  //下道工序报废总数量
                                decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_badqty;
                                if (updatereportsumqty > last_updatereportsumqty)
                                {
                                    mes.code = "300";
                                    mes.count = 0;
                                    mes.Message = "自制工序修改报工总数量:【" + updatereportsumqty + "】不能大于上道工序报工总数量:【" + last_updatereportsumqty + "】,请输入合法数值或先修改上道工序报工数量!";
                                    mes.data = null;
                                    return mes;
                                }
                            }
                            //查询当前工序下道工序:总报工数量、总不良数量、总报废数量
                            sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(bad_qty),0) as bad_qty
                                    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 dt1 = DapperHelper.selectdata(sql, dynamicParams);
                            if (dt1.Rows.Count > 0)
                            {
                                //判断当前工序:报工总数数量+不良总数数量+报废总数数量<下道工序报工总数量+下道工序不良总数量+下道工序报废总数量
                                decimal last_reportqty = decimal.Parse(dt1.Rows[0]["good_qty"].ToString());  //下道工序报工总数量
                                decimal last_ngqty = decimal.Parse(dt1.Rows[0]["ng_qty"].ToString());  //下道工序不良总数量
                                decimal last_badqty = decimal.Parse(dt1.Rows[0]["bad_qty"].ToString());  //下道工序报废总数量
                                decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_badqty;
                                if (updatereportsumqty < last_updatereportsumqty)
                                {
                                    mes.code = "300";
                                    mes.count = 0;
                                    mes.Message = "自制工序修改报工总数量:【" + updatereportsumqty + "】不能小于下道工序报工总数量:【" + last_updatereportsumqty + "】,请输入合法数值或先修改下道工序报工数量!";
                                    mes.data = null;
                                    return mes;
                                }
                            }
                        }
                        ///////////////////////////////修改报工//////////////////////////////
                        //回写对应的报工记录子表合格数量、不良数量、报废数量
                        sql = @"update TK_Wrk_RecordSub set report_qty=report_qty+@repair_qty,ng_qty=ng_qty+@ng_qty,bad_qty=bad_qty+@bad_qty
                                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),
                                repair_qty = decimal.Parse(json[i].report_qty),
                                ng_qty = decimal.Parse(json[i].ng_qty),
                                bad_qty = decimal.Parse(json[i].bad_qty)
                            }
                        });
                        //回写对应的报工记录主表合格数量、不良数量、报废数量
                        sql = @"update TK_Wrk_Record set good_qty=good_qty+@good_qty,ng_qty=ng_qty+@ng_qty,bad_qty=bad_qty+@bad_qty
                                    where wo_code=@wo_code and step_code=@step_code and id=@id and style='B'";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                good_qty = decimal.Parse(json[i].report_qty),
                                ng_qty = decimal.Parse(json[i].ng_qty),
                                bad_qty = decimal.Parse(json[i].bad_qty),
                                wo_code = json[i].wo_code,
                                step_code = json[i].step_code,
                                id = int.Parse(json[i].id)
                            }
                        });
                        //回写不良
                        sql = @"update CSR_WorkRecord_Defect set defect_qty=defect_qty+@ng_qty
                                    where wo_code=@wo_code and step_code=@step_code and record_id=@id and style='B'";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                ng_qty = decimal.Parse(json[i].ng_qty),
                                wo_code = json[i].wo_code,
                                step_code = json[i].step_code,
                                id = int.Parse(json[i].id)
                            }
                        });
                    }
                    //外协工序
                    if (json[i].flw_type.ToString() == "S")
                    {
                    }
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
VueWebApi/Models/UpdateProductReport.cs
@@ -28,8 +28,11 @@
        public string usercode { get; set; }  //报工人员编码
        public string report_date { get; set; }  //报工时间
        public string report_qty { get; set; }  //报工数量
        public string report_dvalue { get; set; } //报工数量差值
        public string ng_qty { get; set; }  //不良数量
        public string ng_dvalue { get; set; } //不良数量差值
        public string bad_qty { get; set; }  //报废数量
        public string bad_dvalue { get; set; }  //报废数量差值
        public string bad_money { get; set; }  //报废金额
    }
}
VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user
@@ -5,7 +5,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <_PublishTargetUrl>D:\网站发布\MES灵翔</_PublishTargetUrl>
    <History>True|2022-11-09T05:07:34.9422662Z;True|2022-11-09T10:59:58.4912849+08:00;True|2022-11-09T10:11:04.4851324+08:00;True|2022-11-09T10:10:46.8698985+08:00;</History>
    <History>True|2022-11-11T05:23:20.3484151Z;True|2022-11-09T13:07:34.9422662+08:00;True|2022-11-09T10:59:58.4912849+08:00;True|2022-11-09T10:11:04.4851324+08:00;True|2022-11-09T10:10:46.8698985+08:00;</History>
  </PropertyGroup>
  <ItemGroup>
    <File Include="Areas/HelpPage/HelpPage.css">
@@ -705,13 +705,13 @@
      <publishTime>12/24/2021 15:38:29</publishTime>
    </File>
    <File Include="bin/VueWebApi.dll">
      <publishTime>11/09/2022 13:07:29</publishTime>
      <publishTime>11/11/2022 13:23:11</publishTime>
    </File>
    <File Include="bin/VueWebApi.pdb">
      <publishTime>11/09/2022 13:07:29</publishTime>
      <publishTime>11/11/2022 13:23:11</publishTime>
    </File>
    <File Include="bin/VueWebApi.xml">
      <publishTime>11/09/2022 13:07:29</publishTime>
      <publishTime>11/11/2022 13:23:11</publishTime>
    </File>
    <File Include="bin/WebActivatorEx.dll">
      <publishTime>02/08/2013 16:42:28</publishTime>
@@ -1074,7 +1074,7 @@
      <publishTime>06/16/2022 13:39:23</publishTime>
    </File>
    <File Include="Web.config">
      <publishTime>11/09/2022 13:07:34</publishTime>
      <publishTime>11/11/2022 13:23:19</publishTime>
    </File>
  </ItemGroup>
</Project>
VueWebApi/bin/VueWebApi.dll
Binary files differ
VueWebApi/bin/VueWebApi.pdb
Binary files differ
VueWebApi/bin/VueWebApi.xml
@@ -2136,6 +2136,13 @@
            <param name="order">排序规则</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepVerifySeave(System.Collections.Generic.List{VueWebApi.Models.UpdateProductReport})">
            <summary>
            生产管理,修改报工数据提交
            </summary>
            <param name="json"></param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderBitchClosedSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            MES工单查询
@@ -2864,6 +2871,11 @@
            注册Session
            </summary>
        </member>
        <member name="T:VueWebApi.Models.UpdateProductReport">
            <summary>
            修改报工提交数据类
            </summary>
        </member>
        <member name="T:VueWebApi.Tools.ChannelActionFilterAttribute">
            <summary>
            渠道过滤器
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.dll
Binary files differ
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
Binary files differ
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
@@ -2136,6 +2136,13 @@
            <param name="order">排序规则</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepVerifySeave(System.Collections.Generic.List{VueWebApi.Models.UpdateProductReport})">
            <summary>
            生产管理,修改报工数据提交
            </summary>
            <param name="json"></param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderBitchClosedSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            MES工单查询
@@ -2864,6 +2871,11 @@
            注册Session
            </summary>
        </member>
        <member name="T:VueWebApi.Models.UpdateProductReport">
            <summary>
            修改报工提交数据类
            </summary>
        </member>
        <member name="T:VueWebApi.Tools.ChannelActionFilterAttribute">
            <summary>
            渠道过滤器
VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
a413cfb923dccb2615b5237c0a91d0b2ed649483
ef5422115d5350981bd243854388b87b7f953730
VueWebApi/obj/Release/VueWebApi.dll
Binary files differ
VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ