fcx
4 天以前 7ee2e58c300374a15c212f9145ba9d762d64e0e6
StandardPda/MES.Service/service/Warehouse/WorkdaaManager .cs
@@ -48,6 +48,34 @@
                        //string lineNo = apiResult.data.lineNo;
                        int quantity = apiResult.data.qualifiedQuantity;  // 合格数量
                        int mUTEROOMTESTQUANTITY = apiResult.data.MUTEROOMTESTQUANTITY; // 静音房检测数
                        int mUTEROOMTESTPASSQUANTITY = apiResult.data.MUTEROOMTESTPASSQUANTITY; // 静音房合格数
                        //2.1新表
                        //2.2 查询已有数量
                        string selectSql = $"select NVL(sum(Quantity),0) from mes_Report_Subtable where Production_line = '{lineNo}'and TRUNC(CREATE_DATE) = TRUNC(SYSDATE)";
                        int existedQty = Convert.ToInt32(SQLHelper.ExecuteScalar(selectSql));
                        //2.3 计算需要插入的数量
                        int insertQty = quantity - existedQty;
                        //计算静音房合格率
                        double Passrate = mUTEROOMTESTPASSQUANTITY / mUTEROOMTESTQUANTITY;
                        //2.4 插入新记录
                        if (insertQty >= 0)
                        {
                            string insertSql1 = $@"INSERT INTO mes_Report_Subtable (ID, CREATE_DATE, Production_line, Quantity)
                                              VALUES (SEQ_MES_REPORT_Subtable_ID.NEXTVAL, SYSDATE, '{lineNo}', {insertQty})";
                            SQLHelper.ExecuteQuery(insertSql1);
                        }
                        // 3️⃣ 检查数据库当天是否已有数据
                        var checkSql = $"SELECT COUNT(1) FROM mes_Report " +
                               $"WHERE TRUNC(CREATE_DATE) = TRUNC(SYSDATE) AND Production_line = '{lineNo}'";
@@ -63,15 +91,15 @@
                        if (count == 0)
                        {
                            // 插入新数据
                            var insertSql = $"INSERT INTO mes_Report (ID, CREATE_DATE, Production_line, Quantity) " +
                                            $"VALUES (SEQ_MES_REPORT_ID.NEXTVAL,SYSDATE, '{lineNo}', {quantity})";
                            var insertSql = $"INSERT INTO mes_Report (ID, CREATE_DATE, Production_line, Quantity,MUTEROOMTESTQUANTITY,MUTEROOMTESTPASSQUANTITY,Passrate) " +
                                            $"VALUES (SEQ_MES_REPORT_ID.NEXTVAL,SYSDATE, '{lineNo}','{quantity}','{mUTEROOMTESTQUANTITY}','{mUTEROOMTESTPASSQUANTITY}','{Passrate}')";
                            SQLHelper.ExecuteQuery(insertSql);
                        }
                        else
                        {
                            // 更新当天的数据   当天已经有这个线体 → 更新该线体的数据
                            var updateSql = $"UPDATE mes_Report " +
                                            $"SET Production_line = '{lineNo}', Quantity = {quantity} , CREATE_DATE = SYSDATE  " +
                                            $"SET Production_line = '{lineNo}', Quantity = '{quantity}',mUTEROOMTESTQUANTITY='{mUTEROOMTESTQUANTITY}',mUTEROOMTESTPASSQUANTITY='{mUTEROOMTESTPASSQUANTITY}' ,Passrate='{Passrate}', CREATE_DATE = SYSDATE  " +
                                            $"WHERE TRUNC(CREATE_DATE) = TRUNC(SYSDATE) and Production_line = '{lineNo}' ";
                            SQLHelper.ExecuteQuery(updateSql);
                        }
@@ -103,6 +131,10 @@
        {
            public string lineNo { get; set; }
            public int qualifiedQuantity { get; set; }
            public int MUTEROOMTESTQUANTITY { get; set; }
            public int MUTEROOMTESTPASSQUANTITY { get; set; }
        }