//这里修复OP10、OP40 因为PLC先推 SPC推出、再推 产品下线问题,导致 产品下线更新数据时,把SPC数据覆盖的问题 【Editby shaocx,2024-08-27】
已添加1个文件
已修改3个文件
50 ■■■■■ 文件已修改
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -1295,7 +1295,14 @@
                        }
                        else
                        {
                            //这里修复OP10、OP40 å› ä¸ºPLC先推 SPC推出、再推 äº§å“ä¸‹çº¿é—®é¢˜ï¼Œå¯¼è‡´ äº§å“ä¸‹çº¿æ›´æ–°æ•°æ®æ—¶ï¼ŒæŠŠSPC数据覆盖的问题 ã€Editby shaocx,2024-08-27】
                            var isAlow = SystemBussinessHelper.IsAllowUpdateWorkPieceStateToWip(info, db, logMiddle);
                            if (isAlow)
                            {
                            info.WorkPieceState = (int)WorkPieceState.WIP;
                            }
                            if (info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) + 4 <= info.WorkingProcedurePlan.Length)
                            {
                                info.WorkPieceCurrentPosition = info.WorkingProcedurePlan.Substring(info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure), 8);
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@

using iWare_SCADA_Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWare_SCADA_BusinessLogical.Utils
{
    /// <summary>
    /// ä¸šåŠ¡ç³»ç»Ÿå¸®åŠ©ç±»
    /// </summary>
    public class SystemBussinessHelper
    {
        /// <summary>
        /// æ˜¯å¦å…è®¸ä¿®æ”¹WorkPieceState ä¸ºWIP
        /// </summary>
        /// <param name="info"></param>
        /// <param name="db"></param>
        /// <param name="logMiddle"></param>
        /// <returns></returns>
        public static bool IsAllowUpdateWorkPieceStateToWip(WorkPieceInfo info, DbModel db, WorkPieceLogMiddle logMiddle)
        {
            //这里修复OP10、OP40 å› ä¸ºPLC先推 SPC推出、再推 äº§å“ä¸‹çº¿é—®é¢˜ï¼Œå¯¼è‡´ äº§å“ä¸‹çº¿æ›´æ–°æ•°æ®æ—¶ï¼ŒæŠŠSPC数据覆盖的问题 ã€Editby shaocx,2024-08-27】
            if (logMiddle.WorkingProcedure == "OP10" || logMiddle.WorkingProcedure == "OP40")
            {
                var curPross = db.WorkPieceProcess.Where(x => x.WorkPieceID == info.WorkPieceID).OrderByDescending(x => x.Id).FirstOrDefault();
                if (curPross != null && curPross.OperationType == OperationType.SPC.ToString())
                {
                    return false;
                }
                return true;
            }
            return true;
        }
    }
}
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj
@@ -158,6 +158,7 @@
    </Compile>
    <Compile Include="Utils\QualityStateHelper.cs" />
    <Compile Include="Utils\MonitorHelper.cs" />
    <Compile Include="Utils\SystemBussinessHelper.cs" />
    <Compile Include="Utils\SystemHelper.cs" />
    <Compile Include="Utils\ComboBoxHelper.cs" />
    <Compile Include="Utils\ConfigHelper.cs" />
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs
@@ -58,6 +58,9 @@
        [StringLength(50)]
        public string UpdatedUserName { get; set; }
        /// <summary>
        /// æ“ä½œç±»åž‹ï¼Œä½¿ç”¨æžšä¸¾ OperationType
        /// </summary>
        [StringLength(50)]
        public string OperationType { get; set; }
        [StringLength(255)]