1.生产开报工,修改开工数量功能
2.车间看板,左上产线加工任务增加开工数量字段
3.修改用户清单,用户名称查询无数据问题
已添加2个文件
已修改17个文件
724 ■■■■ 文件已修改
.vs/VueWebApi/v16/.suo 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/ProductionManagementController.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DDKanBanModel/ShopTopLeft.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/BLL/ProductionManagementBLL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/BasicSettingDAL.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/KanBanManagerentDAL.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/ProductionManagementDAL.cs 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Logs/2023-11-13.TXT 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Logs/2023-11-14.TXT 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Tools/ScanStartReport.cs 546 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
.vs/VueWebApi/v16/.suo
Binary files differ
VueWebApi/Controllers/ProductionManagementController.cs
@@ -435,7 +435,10 @@
        /// <summary>
        /// ç”Ÿäº§å¼€æŠ¥å·¥æ‰«ç èŽ·å–å·¥å•å¯¹åº”å·¥åºä»»åŠ¡(自制)
        /// </summary>
        /// <param name="orderstepqrcode">扫描的二维码信息</param>
        /// <param name="wocode">工单号</param>
        /// <param name="partcode">产品编码</param>
        /// <param name="partname">产品名称</param>
        /// <param name="partspec">规格型号</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
@@ -443,13 +446,13 @@
        /// <returns></returns>
        [Route(template: "MesOrderStepSearch")]
        [HttpGet]
        public HttpResponseMessage MesOrderStepSearch(string orderstepqrcode = null, int page = 0, int rows = 0, string prop = null, string order = null)
        public HttpResponseMessage MesOrderStepSearch(string wocode = null, string partcode = null, string partname = null, string partspec = null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //所属组织
            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //所属组织类型
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = ProductionManagementBLL.MesOrderStepSearch(stu_torgcode, stu_torgtypecode,orderstepqrcode, startNum, endNum, prop, order);
            mes = ProductionManagementBLL.MesOrderStepSearch(stu_torgcode, stu_torgtypecode, wocode,partcode,partname,partspec, startNum, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
@@ -520,7 +523,7 @@
        /// ç”Ÿäº§å¼€æŠ¥å·¥ï¼šå¼€å·¥(开始/报工)/外协(发料/收料)时条件判断及数据返回接口
        /// </summary>
        /// <param name="OperType">操作类型:自制(ZZ)/外协(WX)</param>
        /// <param name="SelectType">操作类型:自制(设备编码)/外协(发料标识(OUT)/收料标识(IN))</param>
        /// <param name="SelectType">操作类型:自制(开工(START)/报工(REPORT))/外协(发料标识(OUT)/收料标识(IN))</param>
        /// <param name="orderstepqrcode">扫描二维码信息</param>
        /// <param name="stu_torgcode">所属组织编码</param>
        /// <returns></returns>
VueWebApi/DDKanBanModel/ShopTopLeft.cs
@@ -22,6 +22,7 @@
        public string stepcode { set; get; }
        public string stepname { set; get; }
        public string planqty { set; get; }
        public string startqty { set; get; }
        public string goodqty { set; get; }
        public string ngqty { set; get; }
        public string status { set; get; }
VueWebApi/DLL/BLL/ProductionManagementBLL.cs
@@ -156,9 +156,9 @@
        #endregion
        #region[生产开报工扫码获取工单对应工序任务]
        public static ToMessage MesOrderStepSearch(string stu_torgcode,string stu_torgtypecode, string orderstepqrcode, int startNum, int endNum, string prop, string order)
        public static ToMessage MesOrderStepSearch(string stu_torgcode,string stu_torgtypecode, string wocode,string partcode,string partname,string partspec, int startNum, int endNum, string prop, string order)
        {
            return ProductionManagementDAL.MesOrderStepSearch(stu_torgcode, stu_torgtypecode, orderstepqrcode, startNum, endNum, prop, order);
            return ProductionManagementDAL.MesOrderStepSearch(stu_torgcode, stu_torgtypecode, wocode, partcode, partname, partspec, startNum, endNum, prop, order);
        }
        #endregion
VueWebApi/DLL/DAL/BasicSettingDAL.cs
@@ -330,7 +330,7 @@
                }
                if (UserName != "" && UserName != null)
                {
                    search += " and S.username like '%'+@UserName+'%' ";
                    search += " and u.username like '%'+@UserName+'%' ";
                    dynamicParams.Add("@UserName", UserName);
                }
                if (wagetype != "" && wagetype != null)
VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -93,7 +93,7 @@
                            lineone.children = new List<TreeTwo>();
                            //查新工单下工序信息
                            sql = @"select A.seq,T.stepcode,T.stepname,A.plan_qty,A.good_qty,A.ng_qty,A.status
                            sql = @"select A.seq,T.stepcode,T.stepname,A.plan_qty,A.start_qty,A.good_qty,A.ng_qty,A.status
                                            from TK_Wrk_Step A
                                            left join TStep T on A.step_code=T.stepcode
                                            where A.wo_code=@wo_code";
@@ -105,6 +105,7 @@
                                string stepcode = data1.Rows[k]["STEPCODE"].ToString();//工序编码
                                string stepname = data1.Rows[k]["STEPNAME"].ToString();//工序名称
                                string planqty = data1.Rows[k]["PLAN_QTY"].ToString();//任务数量
                                string startqty = data1.Rows[k]["START_QTY"].ToString();//开工数量
                                string good_qty = data1.Rows[k]["GOOD_QTY"].ToString();//报工数量
                                string ng_qty = data1.Rows[k]["NG_QTY"].ToString();//不良数量
                                string status = data1.Rows[k]["STATUS"].ToString();//状态
@@ -113,6 +114,7 @@
                                linetwo.stepcode = stepcode;
                                linetwo.stepname = stepname;
                                linetwo.planqty = planqty;
                                linetwo.startqty = startqty;
                                linetwo.goodqty = good_qty;
                                linetwo.ngqty = ng_qty;
                                linetwo.status = status;
VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -1591,7 +1591,7 @@
        #endregion
        #region[生产开报工扫码获取工单对应工序任务(自制)]
        public static ToMessage MesOrderStepSearch(string stu_torgcode, string stu_torgtypecode, string orderstepqrcode, int startNum, int endNum, string prop, string order)
        public static ToMessage MesOrderStepSearch(string stu_torgcode, string stu_torgtypecode, string wocode,string partcode,string partname,string partspec, int startNum, int endNum, string prop, string order)
        {
            var sql = "";
            string search = "";
@@ -1601,17 +1601,12 @@
            var total = 0; //总条数
            try
            {
                if (orderstepqrcode != "" && orderstepqrcode != null)
                if (wocode != "" && wocode != null)
                {
                    string[] arra = orderstepqrcode.Split(';');
                    string[] arra = wocode.Split(';');
                    if (arra.Length == 1) //工单号二维码
                    {
                        ordercode = arra[0]; //获取指定字符串前面的字符
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "请扫描工序二维码!";
                        mes.data = null;
                        return mes;
                    }
                    if (arra.Length == 2) //工单号+工序号二维码
                    {
@@ -1619,9 +1614,9 @@
                        stepcode = arra[1]; //获取指定字符串前面的字符
                    }
                    if (ordercode != "" && stepcode == null) //工单号不为空,工序号为空
                    if (ordercode != "" && (stepcode == null || stepcode == "")) //工单号不为空,工序号为空
                    {
                        search += "and A.wo_code=@ordercode ";
                        search += "and A.wo_code like '%'+@ordercode+'%' ";
                        dynamicParams.Add("@ordercode", ordercode);
                    }
                    if (ordercode != "" && stepcode != "") //工单号不为空,工序号不为空
@@ -1632,14 +1627,6 @@
                        dynamicParams.Add("@stepcode", stepcode);
                    }
                }
                //else
                //{
                //    mes.code = "300";
                //    mes.count = 0;
                //    mes.Message = "二维码信息为空!";
                //    mes.data = null;
                //    return mes;
                //}
                if (stepcode != "")
                {
                    //查找当前工序属性
@@ -1673,9 +1660,24 @@
                    default:
                        break;
                }
                if (partcode != "" && partcode != null)
                {
                    search += "and M.partcode like '%'+@partcode+'%' ";
                    dynamicParams.Add("@partcode", partcode);
                }
                if (partname != "" && partname != null)
                {
                    search += "and M.partname like '%'+@partname+'%' ";
                    dynamicParams.Add("@partname", partname);
                }
                if (partspec != "" && partspec != null)
                {
                    search += "and M.partspec like '%'+@partspec+'%' ";
                    dynamicParams.Add("@partspec", partspec);
                }
                //根据条件查询工单工序任务(自制工序)
                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,
                        S.stepcode,S.stepname,S.descr,A.plan_qty,A.start_qty,A.good_qty,A.ng_qty,A.bad_qty,A.plan_startdate,A.plan_enddate,B.lm_date,
                        B.m_po,W.saleOrderCode
                        from TK_Wrk_Step A
                        left join TK_Wrk_Man B on A.wo_code=B.wo_code
@@ -1696,7 +1698,7 @@
                }
                else
                {
                    mes.code = "300";
                    mes.code = "200";
                    mes.count = 0;
                    mes.Message = "无可执行的生产任务,任务已完成或已关闭!";
                    mes.data = null;
@@ -2418,34 +2420,36 @@
                string date = DateTime.Now.ToString(); //获取系统时间
                list.Clear();
                //判断是否有开工记录
                sql = @"select *  from TK_Wrk_Record where wo_code=@wo_code and step_code=@step_code  and eqp_code=@eqpcode and style='S'";
                sql = @"select *  from TK_Wrk_Record where wo_code=@wo_code and step_code=@step_code  and style='S'";
                dynamicParams.Add("@wo_code", mesordercode);
                dynamicParams.Add("@step_code", stepcode);
                dynamicParams.Add("@eqpcode", eqpcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "当前工序任务设备已开工!";
                    mes.data = null;
                    return mes;
                    //修改开报工记录表(开工数量)
                    sql = @"update  TK_Wrk_Record set start_qty=start_qty+@startqty where wo_code=@mesordercode and step_seq=@stepseq and step_code=@stepcode and materiel_code=@partcode and style=@style";
                    list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, partcode = partcode, startqty = startqty, style = "S"} });
                    //修改工单工序表(开工数量)
                    sql = @"update  TK_Wrk_Step set start_qty=start_qty+@startqty where wo_code=@mesordercode and step_code=@stepcode";
                    list.Add(new { str = sql, parm = new { mesordercode = mesordercode,stepcode = stepcode, startqty = startqty } });
                }
                else
                {
                //写入开报工记录表
                sql = @"insert into  TK_Wrk_Record(wo_code,step_seq,step_code,eqp_code,materiel_code,open_person,open_time,task_qty,start_qty,style,lm_user,lm_date) 
                                values(@mesordercode,@stepseq,@stepcode,@eqpcode,@partcode,@username,@opentime,@taskqty,@startqty,@style,@lm_user,@lm_date)";
                list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, eqpcode = eqpcode, partcode = partcode, username = username, opentime = date, taskqty = taskqty, startqty = startqty, style = "S", lm_user = username, lm_date = date } });
                //回写工单工序表状态为START: å¼€å·¥
                sql = @"update TK_Wrk_Step set status='START'  where wo_code=@mesordercode and step_code=@stepcode";
                list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode } });
                    sql = @"update TK_Wrk_Step set status='START',start_qty=@startqty  where wo_code=@mesordercode and step_code=@stepcode";
                    list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode, startqty = startqty } });
                //回写工单工序表状态为已开工
                sql = @"update TK_Wrk_Step set status='START'  where wo_code=@mesordercode and step_code=@stepcode";
                list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode } });
                //回写工单表状态为: å¼€å·¥ï¼šSTART 
                sql = @"update TK_Wrk_Man set status='START'  where wo_code=@mesordercode";
                list.Add(new { str = sql, parm = new { mesordercode = mesordercode } });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
@@ -2506,21 +2510,21 @@
                dynamicParams.Add("@step_code", stepcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                //获取开工记录的默认选中的设备(产线)与报工时的设备产线做对比判断
                sql = @"select A.eqp_code,B.name  from TK_Wrk_Record A
                        inner join TEqpInfo B on A.eqp_code=B.code
                        where A.wo_code=@wo_code and A.step_code=@step_code and eqp_code=@eqpcode  and A.style='S'";
                dynamicParams.Add("@wo_code", mesordercode);
                dynamicParams.Add("@step_code", stepcode);
                dynamicParams.Add("@eqpcode", eqpcode);
                var da = DapperHelper.selectdata(sql, dynamicParams);
                if (da.Rows[0]["EQP_CODE"].ToString() != eqpcode)
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "操作失败,当前报工产线应为:" + da.Rows[0]["NAME"].ToString() + "!";
                    mes.data = null;
                    return mes;
                }
                //sql = @"select A.eqp_code,B.name  from TK_Wrk_Record A
                //        inner join TEqpInfo B on A.eqp_code=B.code
                //        where A.wo_code=@wo_code and A.step_code=@step_code and eqp_code=@eqpcode  and A.style='S'";
                //dynamicParams.Add("@wo_code", mesordercode);
                //dynamicParams.Add("@step_code", stepcode);
                //dynamicParams.Add("@eqpcode", eqpcode);
                //var da = DapperHelper.selectdata(sql, dynamicParams);
                //if (da.Rows[0]["EQP_CODE"].ToString() != eqpcode)
                //{
                //    mes.code = "300";
                //    mes.count = 0;
                //    mes.Message = "操作失败,当前报工产线应为:" + da.Rows[0]["NAME"].ToString() + "!";
                //    mes.data = null;
                //    return mes;
                //}
                if (data.Rows.Count > 0)
                {
                    //获取主表最大ID
VueWebApi/Logs/2023-11-13.TXT
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
 ã€æ—¶é—´ã€‘:2023-11-13 17:08:22,228
 ã€çº§åˆ«ã€‘:ERROR
 ã€ç±»åã€‘:日志记录
 ã€çº¿ç¨‹ID】: 5
 ã€æ–‡ä»¶åœ°å€ã€‘:D:\新凯迪MES\MES项目\MES正清河\VueWebApi\VueWebApi\Tools\LogHelper.cs ç¬¬26行
 ã€æ—¥å¿—内容】:
消息类型:SqlException
消息内容:“(”附近有语法错误。
引发异常路径:/api/ProductionManagement/SavaMesOrderStepStart
引发异常的方法:OnError
引发异常源:.Net SqlClient Data Provider   åœ¨ System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   åœ¨ System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   åœ¨ System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   åœ¨ System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   åœ¨ System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   åœ¨ System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   åœ¨ System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   åœ¨ Dapper.SqlMapper.ExecuteCommand(IDbConnection cnn, CommandDefinition& command, Action`2 paramReader)
   åœ¨ Dapper.SqlMapper.ExecuteImpl(IDbConnection cnn, CommandDefinition& command)
   åœ¨ Dapper.SqlMapper.Execute(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable`1 commandTimeout, Nullable`1 commandType)
   åœ¨ VueWebApi.Tools.DapperHelper.DoTransaction(List`1 sqlList) ä½ç½® D:\新凯迪MES\MES项目\MES正清河\VueWebApi\VueWebApi\Tools\DapperHelper.cs:行号 459
 ã€æ—¥è®°è¯¦ç»†ã€‘:
---------------------------------------------------------------------------------------------------------------
VueWebApi/Logs/2023-11-14.TXT
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|2023-11-10T05:01:23.2795198Z;True|2023-11-09T16:18:47.9473781+08:00;True|2023-11-09T14:46:45.7310735+08:00;True|2023-11-09T14:36:57.4272880+08:00;True|2023-11-02T18:28:55.6712926+08:00;True|2023-11-02T18:25:31.3074727+08:00;True|2023-11-02T16:25:20.2217266+08:00;True|2023-11-02T14:59:12.9729377+08:00;True|2023-11-02T14:03:21.3142180+08:00;True|2023-11-02T13:10:06.4259793+08:00;True|2023-11-02T13:04:59.2726100+08:00;True|2023-10-30T17:10:12.6270482+08:00;True|2023-10-30T14:52:35.6311299+08:00;True|2023-10-30T11:08:33.1712753+08:00;True|2023-10-13T12:07:07.3822225+08:00;True|2023-10-10T10:34:01.3167190+08:00;True|2023-10-10T10:28:48.9531906+08:00;True|2023-10-10T09:54:43.0218459+08:00;True|2023-10-10T09:43:57.3542420+08:00;True|2023-09-27T07:47:41.5372303+08:00;True|2023-09-21T18:22:16.9575605+08:00;True|2023-09-21T18:09:09.2828591+08:00;True|2023-09-21T17:57:05.3919457+08:00;True|2023-09-21T17:40:17.7722883+08:00;True|2023-09-21T17:24:20.7004108+08:00;True|2023-09-21T17:14:30.5230341+08:00;True|2023-09-21T15:14:11.3019288+08:00;True|2023-09-20T09:47:15.7375677+08:00;True|2023-09-12T14:37:37.0665432+08:00;True|2023-08-16T16:52:02.7063729+08:00;True|2023-08-11T10:35:11.9236725+08:00;True|2023-08-07T10:34:44.0844087+08:00;True|2023-08-07T10:28:56.2230477+08:00;True|2023-07-31T11:18:06.9546379+08:00;True|2023-07-03T10:38:22.8080444+08:00;True|2023-06-26T08:15:27.3611577+08:00;True|2023-06-25T15:36:41.8736654+08:00;True|2023-06-25T14:33:49.5287543+08:00;True|2023-06-13T10:24:59.6876648+08:00;</History>
    <History>True|2023-11-20T02:49:12.5383967Z;True|2023-11-14T09:40:54.4312378+08:00;True|2023-11-14T09:40:10.8006338+08:00;True|2023-11-14T09:13:25.3929022+08:00;True|2023-11-14T09:10:50.7065424+08:00;True|2023-11-14T08:40:49.3427048+08:00;True|2023-11-13T17:14:18.8132307+08:00;True|2023-11-13T17:03:53.7755485+08:00;True|2023-11-13T16:59:15.1429785+08:00;True|2023-11-13T16:54:21.4762275+08:00;True|2023-11-13T16:11:03.4596175+08:00;True|2023-11-13T15:20:57.4191158+08:00;True|2023-11-10T13:01:23.2795198+08:00;True|2023-11-09T16:18:47.9473781+08:00;True|2023-11-09T14:46:45.7310735+08:00;True|2023-11-09T14:36:57.4272880+08:00;True|2023-11-02T18:28:55.6712926+08:00;True|2023-11-02T18:25:31.3074727+08:00;True|2023-11-02T16:25:20.2217266+08:00;True|2023-11-02T14:59:12.9729377+08:00;True|2023-11-02T14:03:21.3142180+08:00;True|2023-11-02T13:10:06.4259793+08:00;True|2023-11-02T13:04:59.2726100+08:00;True|2023-10-30T17:10:12.6270482+08:00;True|2023-10-30T14:52:35.6311299+08:00;True|2023-10-30T11:08:33.1712753+08:00;True|2023-10-13T12:07:07.3822225+08:00;True|2023-10-10T10:34:01.3167190+08:00;True|2023-10-10T10:28:48.9531906+08:00;True|2023-10-10T09:54:43.0218459+08:00;True|2023-10-10T09:43:57.3542420+08:00;True|2023-09-27T07:47:41.5372303+08:00;True|2023-09-21T18:22:16.9575605+08:00;True|2023-09-21T18:09:09.2828591+08:00;True|2023-09-21T17:57:05.3919457+08:00;True|2023-09-21T17:40:17.7722883+08:00;True|2023-09-21T17:24:20.7004108+08:00;True|2023-09-21T17:14:30.5230341+08:00;True|2023-09-21T15:14:11.3019288+08:00;True|2023-09-20T09:47:15.7375677+08:00;True|2023-09-12T14:37:37.0665432+08:00;True|2023-08-16T16:52:02.7063729+08:00;True|2023-08-11T10:35:11.9236725+08:00;True|2023-08-07T10:34:44.0844087+08:00;True|2023-08-07T10:28:56.2230477+08:00;True|2023-07-31T11:18:06.9546379+08:00;True|2023-07-03T10:38:22.8080444+08:00;True|2023-06-26T08:15:27.3611577+08:00;True|2023-06-25T15:36:41.8736654+08:00;True|2023-06-25T14:33:49.5287543+08:00;True|2023-06-13T10:24:59.6876648+08:00;</History>
  </PropertyGroup>
  <ItemGroup>
    <File Include="Areas/HelpPage/HelpPage.css">
@@ -750,13 +750,13 @@
      <publishTime>12/24/2021 15:38:29</publishTime>
    </File>
    <File Include="bin/VueWebApi.dll">
      <publishTime>11/10/2023 13:01:17</publishTime>
      <publishTime>11/20/2023 10:49:02</publishTime>
    </File>
    <File Include="bin/VueWebApi.pdb">
      <publishTime>11/10/2023 13:01:17</publishTime>
      <publishTime>11/20/2023 10:49:02</publishTime>
    </File>
    <File Include="bin/VueWebApi.xml">
      <publishTime>11/10/2023 13:01:17</publishTime>
      <publishTime>11/20/2023 10:49:02</publishTime>
    </File>
    <File Include="bin/WebActivatorEx.dll">
      <publishTime>02/08/2013 16:42:28</publishTime>
@@ -1161,7 +1161,7 @@
      <publishTime>06/16/2022 13:39:23</publishTime>
    </File>
    <File Include="Web.config">
      <publishTime>11/10/2023 13:01:22</publishTime>
      <publishTime>11/20/2023 10:49:11</publishTime>
    </File>
  </ItemGroup>
</Project>
VueWebApi/Tools/ScanStartReport.cs
@@ -18,7 +18,7 @@
        /// æ‰«ç ä¿¡æ¯ä¸ºå·¥å•+工序条码
        /// </summary>
        /// <param name="stu_torgcode">所属组织编码</param>
        /// <param name="SelectType">设备编码</param>
        /// <param name="SelectType">操作类型(开工:START、报工:REPORT)</param>
        /// <param name="ordercode">工单编号</param>
        /// <param name="stepcode">工序编码</param>
        /// <returns></returns>
@@ -63,7 +63,7 @@
                }
                //1.根据工单+工序查找当前工序是否首道工序
                sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status,A.plan_qty,A.isbott,A.isend,L.org_code,L.org_name,
                sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status,A.plan_qty,isnull(A.start_qty,0) as start_qty,A.isbott,A.isend,L.org_code,L.org_name,
                        M.m_po,W.saleOrderCode
                        from TK_Wrk_Step A
                        left join  TStep T on A.step_code=T.stepcode
@@ -121,8 +121,10 @@
                    mes.data = null;
                    return mes;
                }
                switch (flwtype)
                switch (SelectType)
                {
                    case "START": //开工
                        switch (flwtype) //工序属性(自制、外协)
                {
                    case "Z":  //自制工序
                        if (isbott == "Y")  //首道工序
@@ -130,60 +132,32 @@
                            //1.首道工序时,判断是否有开工记录
                            sql = @"select *   from TK_Wrk_Record R
                                    left join TEqpInfo E on R.eqp_code=E.code
                                    where R.wo_code=@ordercode and R.step_code=@stepcode and eqp_code=@eqp_code and R.style='S'";
                                    where R.wo_code=@ordercode and R.step_code=@stepcode  and R.style='S'";
                            dynamicParams.Add("@ordercode", ordercode);
                            dynamicParams.Add("@stepcode", stepcode);
                            dynamicParams.Add("@eqp_code", SelectType);
                            var data0 = DapperHelper.selectdata(sql, dynamicParams);
                            if (data0.Rows.Count > 0)  //有开工记录
                            {
                                //首道工序时,判断是否有报工记录
                                sql = @"select *   from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
                                dynamicParams.Add("@ordercode", ordercode);
                                dynamicParams.Add("@stepcode", stepcode);
                                var data1 = DapperHelper.selectdata(sql, dynamicParams);
                                if (data1.Rows.Count > 0)
                                {
                                    decimal good_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //报工总数量
                                    decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();  //不良数量
                                    decimal bad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //报废数量
                                    decimal kbqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - (good_qty + ng_qty+bad_qty); //剩余可报工数量=任务数量-(报工数量+不良数量+报废数量)
                                    if (kbqty <= 0)//无可报工数量
                                        if (decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - decimal.Parse(data0.Rows[0]["START_QTY"].ToString()) == 0)
                                    {
                                        mes.code = "300";
                                        mes.count = 0;
                                        mes.Message = "当前工序无可报工数量!";
                                            mes.Message = "当前工单工序任务无可开工数量!";
                                        mes.data = null;
                                        return mes;
                                            break;
                                    }
                                    else
                                    {
                                        rt.eqpcode = data0.Rows[0]["code"].ToString();                              //开工设备编码
                                        rt.eqpname = data0.Rows[0]["name"].ToString();                              //开工设备名称
                                        rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());            //任务数量
                                        rt.startqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());           //开工数量=任务数量
                                        rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - good_qty- ng_qty-bad_qty;  //未报数量=任务数量-已报数量-不良数量-报废数量
                                        rt.reportqty = good_qty + ng_qty+bad_qty;             //已报数量=报工数量+不良数量+报废数量
                                        //开工数量=任务数量-已开工总数量
                                        rt.startqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - decimal.Parse(data0.Rows[0]["START_QTY"].ToString());
                                        //未开数量=任务数量-已开工总数量
                                        rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - decimal.Parse(data0.Rows[0]["START_QTY"].ToString());
                                        //已开数量
                                        rt.reportqty = decimal.Parse(data0.Rows[0]["START_QTY"].ToString());
                                        mes.code = "200";
                                        mes.count = 1;
                                        mes.Message = "弹窗报工界面!";
                                        mes.data = rt;
                                    }
                                }
                                else
                                {
                                    rt.eqpcode = data0.Rows[0]["code"].ToString();                              //开工设备编码
                                    rt.eqpname = data0.Rows[0]["name"].ToString();                              //开工设备名称
                                    rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                    rt.startqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //开工数量
                                    rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //未报数量
                                    rt.reportqty = 0;                                                    //已报数量
                                    mes.code = "200";
                                    mes.count = 1;
                                    mes.Message = "弹窗报工界面!";
                                    mes.data = rt;
                                }
                            }
                            else
                            {
@@ -212,10 +186,9 @@
                                //1.非首道工序时,判断本道是否有开工记录
                                sql = @"select *   from TK_Wrk_Record R
                                        left join TEqpInfo E on R.eqp_code=E.code
                                        where R.wo_code=@ordercode and R.step_code=@stepcode and eqp_code=@eqp_code  and R.style='S'";
                                        where R.wo_code=@ordercode and R.step_code=@stepcode   and R.style='S'";
                                dynamicParams.Add("@ordercode", ordercode);
                                dynamicParams.Add("@stepcode", stepcode);
                                dynamicParams.Add("@eqp_code", SelectType);
                                var data1 = DapperHelper.selectdata(sql, dynamicParams);
                                if (data1.Rows.Count > 0)//本道有开工记录
                                {
@@ -235,47 +208,34 @@
                                            var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                            if (data3.Rows.Count > 0) //上道有报工
                                            {
                                                decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //上道报工总数量
                                                decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道报工总数量
                                                decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();  //本道不良总数量
                                                decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //本道总报废数量
                                                decimal sybqty = sgood_qty - good_qty - ng_qty-bad_qty;//本道剩余可报数量=上道报工总数量-本道报工总数量-本道不良总数量-本道报废总数
                                                if (sybqty <= 0)
                                                        decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //上道报工总合格数量
                                                        decimal bstartgood_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("START_QTY")).Sum();  //本道开工总数量
                                                        decimal bgood_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道报工总合格数量
                                                        decimal bng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();  //本道报工总不良数量
                                                        decimal bbad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //本道报工总报废数量
                                                        //本道工序可开工数量=上道工序报工总数-本道工序开工总数
                                                        if (sgood_qty - bstartgood_qty == 0)
                                                {
                                                    mes.code = "300";
                                                    mes.count = 0;
                                                    mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + "无可报数量!";
                                                            mes.Message = "当前工单工序任务暂无可开工数量!";
                                                    mes.data = null;
                                                    return mes;
                                                }
                                                else
                                                {
                                                    if (sgood_qty == null || sgood_qty == 0)
                                                    {
                                                        mes.code = "300";
                                                        mes.count = 0;
                                                        mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " åˆæ ¼äº§å‡ºä¸º0,本道不允许开报工!";
                                                        mes.data = null;
                                                        return mes;
                                                    }
                                                    rt.eqpcode = data1.Rows[0]["code"].ToString();                              //开工设备编码
                                                    rt.eqpname = data1.Rows[0]["name"].ToString();                              //开工设备名称
                                                    rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                    rt.startqty = sybqty;                                                //开工数量=本道剩余可报数量
                                                    rt.noreportqty = sybqty;                                             //未报数量=本道剩余可报数量
                                                    rt.reportqty = good_qty + ng_qty+bad_qty;                            //已报数量=本道报工总数量+本道报工总不良+本道报废总数
                                                        rt.startqty = sgood_qty - bstartgood_qty;//开工数量=上道工序报工总数-本道工序开工总数
                                                        rt.noreportqty = sgood_qty - bstartgood_qty; //未开数量=上道工序报工总数-本道工序开工总数
                                                        rt.reportqty = bstartgood_qty;//已开数量=本道工序开工总数
                                                    mes.code = "200";
                                                    mes.count = 1;
                                                    mes.Message = "弹窗报工界面!";
                                                        mes.count = 0;
                                                        mes.Message = "弹窗开工界面!";
                                                    mes.data = rt;
                                                }
                                            }
                                            else
                                            {
                                                mes.code = "300";
                                                mes.count = 0;
                                                mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " æœªæŠ¥å·¥,本道不允许开报工!";
                                                        mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " æœªæŠ¥å·¥,本道不允许开工!";
                                                mes.data = null;
                                                return mes;
                                            }
@@ -290,46 +250,37 @@
                                            if (data3.Rows.Count > 0) //上道有收料
                                            {
                                                decimal sqty = data3.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();  //上道收料数量
                                                decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道报工总数量
                                                decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();  //本道不良总数量
                                                decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //本道总报废数量
                                                        decimal bstartqty = data1.AsEnumerable().Select(d => d.Field<decimal>("START_QTY")).Sum();  //本道开工总数量
                                                        decimal bgood_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道报工总数量
                                                        decimal bng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();  //本道不良总数量
                                                        decimal bbad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //本道总报废数量
                                                decimal sybqty = sqty - good_qty - ng_qty-bad_qty;//本道剩余可报数量=上道收料总数量-本道报工总数量-本道不良总数量-本道总报废数
                                                if (sybqty <= 0)
                                                        if (sqty - bstartqty == 0)
                                                {
                                                    mes.code = "300";
                                                    mes.count = 0;
                                                    mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + "无可报数量!";
                                                            mes.Message = "当前工单工序任务无可开工数量!";
                                                    mes.data = null;
                                                    return mes;
                                                }
                                                else
                                                {
                                                    if (sqty == null || sqty == 0)
                                                    {
                                                        mes.code = "300";
                                                        mes.count = 0;
                                                        mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " åˆæ ¼æ”¶æ–™ä¸º0,本道不允许开报工!";
                                                        mes.data = null;
                                                        return mes;
                                                    }
                                                    rt.eqpcode = data1.Rows[0]["code"].ToString();                              //开工设备编码
                                                    rt.eqpname = data1.Rows[0]["name"].ToString();                              //开工设备名称
                                                    rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                    rt.startqty = sybqty;                                                //开工数量=本道剩余可报数量
                                                    rt.noreportqty = sybqty;                                             //未报数量=本道剩余可报数量
                                                    rt.reportqty = good_qty + ng_qty+bad_qty;                            //已报数量=本道报工总数量+本道报工总不良+本道总报废数
                                                        //开工数量=上道工序收料总数-本道工序开工总数
                                                        rt.startqty = sqty - bstartqty;
                                                        //未开数量=上道工序收料总数-本道工序开工总数
                                                        rt.noreportqty = sqty - bstartqty;
                                                        //已开数量=本道工序开工总数
                                                        rt.reportqty = bstartqty;
                                                    mes.code = "200";
                                                    mes.count = 1;
                                                    mes.Message = "弹窗报工界面!";
                                                        mes.count = 0;
                                                        mes.Message = "弹窗开工界面!";
                                                    mes.data = rt;
                                                }
                                            }
                                            else
                                            {
                                                mes.code = "300";
                                                mes.count = 0;
                                                mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " æœªæ”¶æ–™,本道不允许开报工,请前往外协操作页执行!";
                                                        mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " æœªæ”¶æ–™,本道不允许开工,请前往外协操作页执行!";
                                                mes.data = null;
                                                return mes;
                                            }
@@ -337,7 +288,7 @@
                                    }
                                    else  //本道无报工记录
                                    {
                                        if (data0.Rows[0]["FLWTYPE"].ToString() == "Z")  //自制工序
                                                if (data0.Rows[0]["FLWTYPE"].ToString() == "Z")  //判断上道工序属性:自制工序
                                        {
                                            //查找上到工序报工记录
                                            sql = @"select *   from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
@@ -347,31 +298,30 @@
                                            if (data3.Rows.Count > 0) //上道有报工
                                            {
                                                decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //上道报工总数量
                                                decimal sybqty = sgood_qty;                                      //本道剩余可报数量=上道报工数量
                                                if (sgood_qty == null || sgood_qty == 0)
                                                        decimal bstart_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("START_QTY")).Sum();  //本道开工总数量
                                                        //上道报工总数-本道开工总数
                                                        if (sgood_qty- bstart_qty == 0)
                                                {
                                                    mes.code = "300";
                                                    mes.count = 0;
                                                    mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " åˆæ ¼äº§å‡ºä¸º0,本道不允许开报工!";
                                                            mes.Message = "当前工单工序任务暂无可开工数量!";
                                                    mes.data = null;
                                                    return mes;
                                                }
                                                rt.eqpcode = data1.Rows[0]["code"].ToString();                              //开工设备编码
                                                rt.eqpname = data1.Rows[0]["name"].ToString();                              //开工设备名称
                                                rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                rt.startqty = sybqty;                                                //开工数量=本道剩余可报数量
                                                rt.noreportqty = sybqty;                                             //未报数量=本道剩余可报数量
                                                rt.reportqty = 0;                                                    //已报数量
                                                        rt.startqty = sgood_qty - bstart_qty;//开工数量=上道工序报工总数-本道工序开工总数
                                                        rt.noreportqty = sgood_qty - bstart_qty; //未开数量=上道工序报工总数-本道工序开工总数
                                                        rt.reportqty = bstart_qty;//已开数量=本道工序开工总数
                                                mes.code = "200";
                                                mes.count = 1;
                                                mes.Message = "弹窗报工界面!";
                                                        mes.count = 0;
                                                        mes.Message = "弹窗开工界面!";
                                                mes.data = rt;
                                            }
                                            else
                                            {
                                                mes.code = "300";
                                                mes.count = 0;
                                                mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " æœªæŠ¥å·¥,本道不允许开报工!";
                                                        mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " æœªæŠ¥å·¥,本道不允许开工!";
                                                mes.data = null;
                                                return mes;
                                            }
@@ -386,24 +336,23 @@
                                            if (data3.Rows.Count > 0) //上道有收料
                                            {
                                                decimal sqty = data3.AsEnumerable().Select(d =>d.Field<decimal>("SQTY")).Sum();//上道收料数量
                                                decimal sybqty = sqty;                   //本道剩余可收数量=上道收料数量
                                                if (sqty == null || sqty == 0)
                                                        decimal bstart_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("START_QTY")).Sum();  //本道开工总数量
                                                        //上道收料总数-本道开工总数
                                                        if (sqty - bstart_qty == 0)
                                                {
                                                    mes.code = "300";
                                                    mes.count = 0;
                                                    mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " åˆæ ¼æ”¶æ–™ä¸º0,本道不允许开报工!";
                                                            mes.Message = "当前工单工序任务暂无可开工数量!";
                                                    mes.data = null;
                                                    return mes;
                                                }
                                                rt.eqpcode = data1.Rows[0]["code"].ToString();                              //开工设备编码
                                                rt.eqpname = data1.Rows[0]["name"].ToString();                              //开工设备名称
                                                rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                rt.startqty = sybqty;                                                //开工数量=本道剩余可收数量
                                                rt.noreportqty = sybqty;                                             //未报数量=本道剩余可收数量
                                                rt.reportqty = 0;                                                    //已报数量
                                                        rt.startqty = sqty - bstart_qty;//开工数量=上道收料总数-本道开工总数
                                                        rt.noreportqty = sqty - bstart_qty; //未开数量=上道收料总数-本道开工总数
                                                        rt.reportqty = bstart_qty;//已开数量=本道开工总数
                                                mes.code = "200";
                                                mes.count = 1;
                                                mes.Message = "弹窗报工界面!";
                                                        mes.count = 0;
                                                        mes.Message = "弹窗开工界面!";
                                                mes.data = rt;
                                            }
                                            else
@@ -419,7 +368,7 @@
                                }
                                else //无开工记录
                                {
                                    if (data0.Rows[0]["FLWTYPE"].ToString() == "Z")  //自制工序
                                            if (data0.Rows[0]["FLWTYPE"].ToString() == "Z")  //当前工序上道自制工序
                                    {
                                        //查找上到工序报工记录
                                        sql = @"select *   from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
@@ -428,21 +377,19 @@
                                        var data2 = DapperHelper.selectdata(sql, dynamicParams);
                                        if (data2.Rows.Count > 0) //上到工序有报工
                                        {
                                            decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();//报工数量
                                            decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// ä¸è‰¯æ•°é‡
                                            decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();// æŠ¥åºŸæ•°é‡
                                                    decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();//上道工序报工总合格数量
                                            if (good_qty == null || good_qty == 0)
                                            {
                                                mes.code = "300";
                                                mes.count = 0;
                                                mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " åˆæ ¼äº§å‡ºä¸º0,本道不允许开报工!";
                                                        mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " åˆæ ¼äº§å‡ºä¸º0,本道不允许开工!";
                                                mes.data = null;
                                                return mes;
                                            }
                                            rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //任务数量
                                            rt.startqty = good_qty;                               //开工数量=(上一道的报工总数量)
                                            rt.noreportqty = good_qty;                            //未报数量=(上一道的报工总数量)
                                            rt.reportqty = 0;                                                    //已报数量
                                                    rt.noreportqty = good_qty;                            //未开数量=(上一道的报工总数量)
                                                    rt.reportqty = 0;                                     //已开数量
                                            mes.code = "200";
                                            mes.count = 0;
                                            mes.Message = "弹窗开工界面!";
@@ -452,7 +399,7 @@
                                        {
                                            mes.code = "300";
                                            mes.count = 0;
                                            mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " æœªæŠ¥å·¥,本道不允许开报工!";
                                                    mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " æœªæŠ¥å·¥,本道不允许开工!";
                                            mes.data = null;
                                            return mes;
                                        }
@@ -479,8 +426,8 @@
                                            }
                                            rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //任务数量
                                            rt.startqty = sqty;                                                  //开工数量=(上一道的收料数量)
                                            rt.noreportqty = sqty;                                               //未报数量=(上一道的收料数量)
                                            rt.reportqty = 0;                                                    //已报数量
                                                    rt.noreportqty = sqty;                                               //未开数量=(上一道的收料数量)
                                                    rt.reportqty = 0;                                                    //已开数量
                                            mes.code = "200";
                                            mes.count = 0;
                                            mes.Message = "弹窗开工界面!";
@@ -517,7 +464,324 @@
                    default:   //自制+外协工序
                        break;
                }
                        break;
                    case "REPORT": //报工
                        switch (flwtype)
                        {
                            case "Z":  //自制工序
                                if (isbott == "Y")  //首道工序
                                {
                                    //1.首道工序时,判断是否有开工记录
                                    sql = @"select *   from TK_Wrk_Record R
                                    left join TEqpInfo E on R.eqp_code=E.code
                                    where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='S'";
                                    dynamicParams.Add("@ordercode", ordercode);
                                    dynamicParams.Add("@stepcode", stepcode);
                                    var data0 = DapperHelper.selectdata(sql, dynamicParams);
                                    if (data0.Rows.Count > 0)  //有开工记录
                                    {
                                        //首道工序时,判断是否有报工记录
                                        sql = @"select *   from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
                                        dynamicParams.Add("@ordercode", ordercode);
                                        dynamicParams.Add("@stepcode", stepcode);
                                        var data1 = DapperHelper.selectdata(sql, dynamicParams);
                                        if (data1.Rows.Count > 0)
                                        {
                                            decimal start_qty = data0.AsEnumerable().Select(d => d.Field<decimal>("START_QTY")).Sum();  //当前开工总数量
                                            decimal good_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //当前报工总数量
                                            decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();  //当前不良数量
                                            decimal bad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //当前工序报废数量
                                            decimal kbqty = start_qty - (good_qty + ng_qty + bad_qty); //剩余可报工数量=开工总数量-(报工数量+不良数量+报废数量)
                                            if (kbqty <= 0)//无可报工数量
                                            {
                                                mes.code = "300";
                                                mes.count = 0;
                                                mes.Message = "当前工序无可报工数量!";
                                                mes.data = null;
                                                return mes;
                                            }
                                            else
                                            {
                                                rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());//任务数量
                                                rt.startqty = start_qty;           //开工数量=当前开工总数量
                                                rt.noreportqty = kbqty;  //未报数量=剩余可报工数量
                                                rt.reportqty = good_qty + ng_qty + bad_qty;//已报数量=报工数量+不良数量+报废数量
                                                mes.code = "200";
                                                mes.count = 1;
                                                mes.Message = "弹窗报工界面!";
                                                mes.data = rt;
                                            }
                                        }
                                        else
                                        {
                                            rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                            rt.startqty = decimal.Parse(data.Rows[0]["START_QTY"].ToString()); //开工数量
                                            rt.noreportqty = decimal.Parse(data.Rows[0]["START_QTY"].ToString()); //未报数量=开工数量
                                            rt.reportqty = 0;                                                    //已报数量
                                            mes.code = "200";
                                            mes.count = 1;
                                            mes.Message = "弹窗报工界面!";
                                            mes.data = rt;
                                        }
                                    }
                                    else
                                    {
                                        mes.code = "300";
                                        mes.count = 0;
                                        mes.Message = "当前工序未开工!";
                                        mes.data = null;
                                        return mes;
                                    }
                                }
                                else   //非首道工序
                                {
                                    //查找当前工序上到工序(自制或者外协)
                                    sql = @"select A.step_code,S.stepname,S.flwtype  from TFlw_Rtdt A
                                               left join TK_Wrk_Man M on A.rout_code=M.route_code
                                               left join TStep S on A.step_code=S.stepcode
                                               where M.wo_code=@wocode  and A.seq=@seq-1";
                                    dynamicParams.Add("@wocode", data.Rows[0]["WO_CODE"].ToString());
                                    dynamicParams.Add("@seq", decimal.Parse(data.Rows[0]["SEQ"].ToString()));
                                    var data0 = DapperHelper.selectdata(sql, dynamicParams);
                                    if (data0.Rows.Count > 0)
                                    {
                                        //1.非首道工序时,判断本道是否有开工记录
                                        sql = @"select *   from TK_Wrk_Record R
                                        left join TEqpInfo E on R.eqp_code=E.code
                                        where R.wo_code=@ordercode and R.step_code=@stepcode   and R.style='S'";
                                        dynamicParams.Add("@ordercode", ordercode);
                                        dynamicParams.Add("@stepcode", stepcode);
                                        var data1 = DapperHelper.selectdata(sql, dynamicParams);
                                        if (data1.Rows.Count > 0)//本道有开工记录
                                        {
                                            //非首道工序时,判断本道是否有报工记录
                                            sql = @"select *   from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
                                            dynamicParams.Add("@ordercode", ordercode);
                                            dynamicParams.Add("@stepcode", stepcode);
                                            var data2 = DapperHelper.selectdata(sql, dynamicParams);
                                            if (data2.Rows.Count > 0) //有报工记录
                                            {
                                                if (data0.Rows[0]["FLWTYPE"].ToString() == "Z")  //判断上道工序属性:自制工序
                                                {
                                                    //查找上到工序报工记录
                                                    sql = @"select *   from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
                                                    dynamicParams.Add("@ordercode", ordercode);
                                                    dynamicParams.Add("@stepcode", data0.Rows[0]["STEP_CODE"].ToString());
                                                    var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                                    if (data3.Rows.Count > 0) //上道有报工
                                                    {
                                                        decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //上道报工总数量
                                                        decimal start_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("START_QTY")).Sum();  //本道开工总数量
                                                        decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道报工总数量
                                                        decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();  //本道不良总数量
                                                        decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //本道总报废数量
                                                        decimal sybqty = start_qty - good_qty - ng_qty - bad_qty;//本道剩余可报数量=本道开工总数量-本道报工总数量-本道不良总数量-本道报废总数
                                                        if (sybqty <= 0)
                                                        {
                                                            mes.code = "300";
                                                            mes.count = 0;
                                                            mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + "无可报数量!";
                                                            mes.data = null;
                                                            return mes;
                                                        }
                                                        else
                                                        {
                                                            if (sgood_qty == null || sgood_qty == 0)
                                                            {
                                                                mes.code = "300";
                                                                mes.count = 0;
                                                                mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " åˆæ ¼äº§å‡ºä¸º0,本道不允许开报工!";
                                                                mes.data = null;
                                                                return mes;
                                                            }
                                                            rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                            rt.startqty = decimal.Parse(data1.Rows[0]["START_QTY"].ToString());//开工数量=本道开工总数量
                                                            rt.noreportqty = sybqty;                                            //未报数量=本道剩余可报数量
                                                            rt.reportqty = good_qty + ng_qty + bad_qty;                         //已报数量=本道报工总数量+本道报工总不良+本道报废总数
                                                            mes.code = "200";
                                                            mes.count = 1;
                                                            mes.Message = "弹窗报工界面!";
                                                            mes.data = rt;
                                                        }
                                                    }
                                                    else
                                                    {
                                                        mes.code = "300";
                                                        mes.count = 0;
                                                        mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " æœªæŠ¥å·¥,本道不允许报工!";
                                                        mes.data = null;
                                                        return mes;
                                                    }
                                                }
                                                if (data0.Rows[0]["FLWTYPE"].ToString() == "W")  //判断上道工序属性:委外工序
                                                {
                                                    //查找上到工序收料记录
                                                    sql = @"select *   from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='S'";
                                                    dynamicParams.Add("@ordercode", ordercode);
                                                    dynamicParams.Add("@stepcode", data0.Rows[0]["STEP_CODE"].ToString());
                                                    var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                                    if (data3.Rows.Count > 0) //上道有收料
                                                    {
                                                        decimal sqty = data3.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();  //上道收料数量
                                                        decimal startqty = data1.AsEnumerable().Select(d => d.Field<decimal>("START_QTY")).Sum();  //本道开工总数量
                                                        decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道报工总数量
                                                        decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();  //本道不良总数量
                                                        decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //本道总报废数量
                                                        decimal sybqty = startqty - good_qty - ng_qty - bad_qty;//本道剩余可报数量=本道开工总数量-本道报工总数量-本道不良总数量-本道总报废数
                                                        if (sybqty <= 0)
                                                        {
                                                            mes.code = "300";
                                                            mes.count = 0;
                                                            mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + "无可报数量!";
                                                            mes.data = null;
                                                            return mes;
                                                        }
                                                        else
                                                        {
                                                            if (sqty == null || sqty == 0)
                                                            {
                                                                mes.code = "300";
                                                                mes.count = 0;
                                                                mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " åˆæ ¼æ”¶æ–™ä¸º0,本道不允许开报工!";
                                                                mes.data = null;
                                                                return mes;
                                                            }
                                                            rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                            rt.startqty = startqty;                                         //开工数量=本道开工总数量
                                                            rt.noreportqty = sybqty;                                        //未报数量=本道剩余可报数量
                                                            rt.reportqty = good_qty + ng_qty + bad_qty;                     //已报数量=本道报工总数量+本道报工总不良+本道总报废数
                                                            mes.code = "200";
                                                            mes.count = 1;
                                                            mes.Message = "弹窗报工界面!";
                                                            mes.data = rt;
                                                        }
                                                    }
                                                    else
                                                    {
                                                        mes.code = "300";
                                                        mes.count = 0;
                                                        mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " æœªæ”¶æ–™,本道不允许开报工,请前往外协操作页执行!";
                                                        mes.data = null;
                                                        return mes;
                                                    }
                                                }
                                            }
                                            else  //本道无报工记录
                                            {
                                                if (data0.Rows[0]["FLWTYPE"].ToString() == "Z")  //自制工序
                                                {
                                                    //查找上到工序报工记录
                                                    sql = @"select *   from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
                                                    dynamicParams.Add("@ordercode", ordercode);
                                                    dynamicParams.Add("@stepcode", data0.Rows[0]["STEP_CODE"].ToString());
                                                    var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                                    if (data3.Rows.Count > 0) //上道有报工
                                                    {
                                                        decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //上道报工总数量
                                                        decimal start_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("START_QTY")).Sum();  //本道开工总数量
                                                        decimal sybqty = start_qty;                                      //本道剩余可报数量=本道开工数量
                                                        if (sgood_qty == null || sgood_qty == 0)
                                                        {
                                                            mes.code = "300";
                                                            mes.count = 0;
                                                            mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " åˆæ ¼äº§å‡ºä¸º0,本道不允许开报工!";
                                                            mes.data = null;
                                                            return mes;
                                                        }
                                                        rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                        rt.startqty = sybqty;                                                //开工数量=本道剩余可报数量
                                                        rt.noreportqty = sybqty;                                             //未报数量=本道剩余可报数量
                                                        rt.reportqty = 0;                                                    //已报数量
                                                        mes.code = "200";
                                                        mes.count = 1;
                                                        mes.Message = "弹窗报工界面!";
                                                        mes.data = rt;
                                                    }
                                                    else
                                                    {
                                                        mes.code = "300";
                                                        mes.count = 0;
                                                        mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " æœªæŠ¥å·¥,本道不允许开报工!";
                                                        mes.data = null;
                                                        return mes;
                                                    }
                                                }
                                                if (data0.Rows[0]["FLWTYPE"].ToString() == "W")  //委外工序
                                                {
                                                    //查找上到工序收料记录
                                                    sql = @"select *   from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='S'";
                                                    dynamicParams.Add("@ordercode", ordercode);
                                                    dynamicParams.Add("@stepcode", data0.Rows[0]["STEP_CODE"].ToString());
                                                    var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                                    if (data3.Rows.Count > 0) //上道有收料
                                                    {
                                                        decimal sqty = data3.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();//上道收料数量
                                                        decimal start_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("START_QTY")).Sum();//本道开工总数量
                                                        decimal sybqty = start_qty;                   //本道剩余报数量=本道开工总数量
                                                        if (sqty == null || sqty == 0)
                                                        {
                                                            mes.code = "300";
                                                            mes.count = 0;
                                                            mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " åˆæ ¼æ”¶æ–™ä¸º0,本道不允许开报工!";
                                                            mes.data = null;
                                                            return mes;
                                                        }
                                                        rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                        rt.startqty = sybqty;                                                //开工数量=本道剩余报数量
                                                        rt.noreportqty = sybqty;                                             //未报数量=本道剩余报数量
                                                        rt.reportqty = 0;                                                    //已报数量
                                                        mes.code = "200";
                                                        mes.count = 1;
                                                        mes.Message = "弹窗报工界面!";
                                                        mes.data = rt;
                                                    }
                                                    else
                                                    {
                                                        mes.code = "300";
                                                        mes.count = 0;
                                                        mes.Message = "当前工序:" + data.Rows[0]["STEPNAME"].ToString() + " çš„上道工序:" + data0.Rows[0]["STEPNAME"].ToString() + " æœªæ”¶æ–™,本道不允许开报工,请前往外协操作页执行!";
                                                        mes.data = null;
                                                        return mes;
                                                    }
                                                }
                                            }
                                        }
                                        else //无开工记录
                                        {
                                            mes.code = "300";
                                            mes.count = 0;
                                            mes.Message = "当前工序未开工!";
                                            mes.data = null;
                                            return mes;
                                        }
                                    }
                                    else
                                    {
                                        mes.code = "300";
                                        mes.count = 0;
                                        mes.Message = "未找到当前工序的上道工序信息,请联系管理员核实!";
                                        mes.data = null;
                                        return mes;
                                    }
                                }
                                break;
                            case "W":  //外协工序
                                mes.code = "300";
                                mes.count = 0;
                                mes.Message = "当前标签为外协标签,请前往外协操作标签页扫码!";
                                mes.data = null;
                                break;
                            default:   //自制+外协工序
                                break;
                        }
                        break;
                    default:
                        break;
                }
            }
            catch (Exception e)
            {
@@ -992,12 +1256,14 @@
                                                rt.startqty = ksqty;                                                  //收料数量=本道发料数量      
                                              
                                                data0.Merge(data1);//将指定的dt合并                                                 
                                                rt.list = data0.AsEnumerable().GroupBy(r => new {
                                                rt.list = data0.AsEnumerable().GroupBy(r => new
                                                {
                                                    wo_code = r["wo_code"],
                                                    step_code = r["step_code"],
                                                    code = r["code"],
                                                    name = r["name"]
                                                }).Select(g => new {
                                                }).Select(g => new
                                                {
                                                    Name = g.Key.code,
                                                    tp = g.Key.name,
                                                    fqty = g.Sum(i => (decimal)i["fqty"]),
@@ -1022,12 +1288,14 @@
                                            rt.startqty = fqty;                                                  //收料数量=本道发料数量
                                                                                                                 //
                                            data0.Merge(data1);//将指定的dt合并                                                 
                                            rt.list = data0.AsEnumerable().GroupBy(r => new {
                                            rt.list = data0.AsEnumerable().GroupBy(r => new
                                            {
                                                wo_code = r["wo_code"],
                                                step_code = r["step_code"],
                                                code = r["code"],
                                                name = r["name"]
                                            }).Select(g => new {
                                            }).Select(g => new
                                            {
                                                Name = g.Key.code,
                                                tp = g.Key.name,
                                                fqty = g.Sum(i => (decimal)i["fqty"]),
@@ -1108,12 +1376,14 @@
                                                    rt.startqty = ksqty;                                                  //收料数量=本道发料数量      
                                                    
                                                    data1.Merge(data2);//将指定的dt合并                                                 
                                                    rt.list = data1.AsEnumerable().GroupBy(r => new {
                                                    rt.list = data1.AsEnumerable().GroupBy(r => new
                                                    {
                                                        wo_code = r["wo_code"], 
                                                        step_code = r["step_code"],
                                                        code= r["code"],
                                                        name = r["name"]
                                                    }).Select(g => new {
                                                    }).Select(g => new
                                                    {
                                                        Name = g.Key.code, 
                                                        tp = g.Key.name, 
                                                        fqty = g.Sum(i => (decimal)i["fqty"]),
@@ -1136,12 +1406,14 @@
                                                rt.reportqty = 0;                                                    //已收数量                                   
                                                rt.startqty = fqty;                                                  //收料数量=本道发料数量      
                                                data1.Merge(data2);//将指定的dt合并                                                 
                                                rt.list = data1.AsEnumerable().GroupBy(r => new {
                                                rt.list = data1.AsEnumerable().GroupBy(r => new
                                                {
                                                    wo_code = r["wo_code"],
                                                    step_code = r["step_code"],
                                                    code = r["code"],
                                                    name = r["name"]
                                                }).Select(g => new {
                                                }).Select(g => new
                                                {
                                                    Name = g.Key.code,
                                                    tp = g.Key.name,
                                                    fqty = g.Sum(i => (decimal)i["fqty"]),
VueWebApi/bin/VueWebApi.pdb
Binary files differ
VueWebApi/bin/VueWebApi.xml
@@ -2737,11 +2737,14 @@
            <param name="orderstepqrcode">扫描的二维码信息</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepSearch(System.String,System.Int32,System.Int32,System.String,System.String)">
        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepSearch(System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            ç”Ÿäº§å¼€æŠ¥å·¥æ‰«ç èŽ·å–å·¥å•å¯¹åº”å·¥åºä»»åŠ¡(自制)
            </summary>
            <param name="orderstepqrcode">扫描的二维码信息</param>
            <param name="wocode">工单号</param>
            <param name="partcode">产品编码</param>
            <param name="partname">产品名称</param>
            <param name="partspec">规格型号</param>
            <param name="page">页码</param>
            <param name="rows">每页显示条数</param>
            <param name="prop">排序字段</param>
@@ -2782,7 +2785,7 @@
            ç”Ÿäº§å¼€æŠ¥å·¥ï¼šå¼€å·¥(开始/报工)/外协(发料/收料)时条件判断及数据返回接口
            </summary>
            <param name="OperType">操作类型:自制(ZZ)/外协(WX)</param>
            <param name="SelectType">操作类型:自制(设备编码)/外协(发料标识(OUT)/收料标识(IN))</param>
            <param name="SelectType">操作类型:自制(开工(START)/报工(REPORT))/外协(发料标识(OUT)/收料标识(IN))</param>
            <param name="orderstepqrcode">扫描二维码信息</param>
            <param name="stu_torgcode">所属组织编码</param>
            <returns></returns>
@@ -4761,7 +4764,7 @@
            æ‰«ç ä¿¡æ¯ä¸ºå·¥å•+工序条码
            </summary>
            <param name="stu_torgcode">所属组织编码</param>
            <param name="SelectType">设备编码</param>
            <param name="SelectType">操作类型(开工:START、报工:REPORT)</param>
            <param name="ordercode">工单编号</param>
            <param name="stepcode">工序编码</param>
            <returns></returns>
VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
Binary files differ
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
@@ -2737,11 +2737,14 @@
            <param name="orderstepqrcode">扫描的二维码信息</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepSearch(System.String,System.Int32,System.Int32,System.String,System.String)">
        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepSearch(System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            ç”Ÿäº§å¼€æŠ¥å·¥æ‰«ç èŽ·å–å·¥å•å¯¹åº”å·¥åºä»»åŠ¡(自制)
            </summary>
            <param name="orderstepqrcode">扫描的二维码信息</param>
            <param name="wocode">工单号</param>
            <param name="partcode">产品编码</param>
            <param name="partname">产品名称</param>
            <param name="partspec">规格型号</param>
            <param name="page">页码</param>
            <param name="rows">每页显示条数</param>
            <param name="prop">排序字段</param>
@@ -2782,7 +2785,7 @@
            ç”Ÿäº§å¼€æŠ¥å·¥ï¼šå¼€å·¥(开始/报工)/外协(发料/收料)时条件判断及数据返回接口
            </summary>
            <param name="OperType">操作类型:自制(ZZ)/外协(WX)</param>
            <param name="SelectType">操作类型:自制(设备编码)/外协(发料标识(OUT)/收料标识(IN))</param>
            <param name="SelectType">操作类型:自制(开工(START)/报工(REPORT))/外协(发料标识(OUT)/收料标识(IN))</param>
            <param name="orderstepqrcode">扫描二维码信息</param>
            <param name="stu_torgcode">所属组织编码</param>
            <returns></returns>
@@ -4761,7 +4764,7 @@
            æ‰«ç ä¿¡æ¯ä¸ºå·¥å•+工序条码
            </summary>
            <param name="stu_torgcode">所属组织编码</param>
            <param name="SelectType">设备编码</param>
            <param name="SelectType">操作类型(开工:START、报工:REPORT)</param>
            <param name="ordercode">工单编号</param>
            <param name="stepcode">工序编码</param>
            <returns></returns>
VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache
Binary files differ
VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
@@ -868,7 +868,6 @@
D:\新凯迪MES\MES项目\MES正清河\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.WebPages.resources.dll
D:\新凯迪MES\MES项目\MES正清河\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.WebPages.Deployment.resources.dll
D:\新凯迪MES\MES项目\MES正清河\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.WebPages.Razor.resources.dll
D:\新凯迪MES\MES项目\MES正清河\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.AssemblyReference.cache
D:\新凯迪MES\MES项目\MES正清河\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.CoreCompileInputs.cache
D:\新凯迪MES\MES项目\MES正清河\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.CopyComplete
D:\新凯迪MES\MES项目\MES正清河\VueWebApi\VueWebApi\obj\Release\VueWebApi.dll
VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ