Переглянути джерело

并发更新数据问题。

tangdi 1 рік тому
батько
коміт
ec1d462705

+ 14 - 4
MicroServices/Business/Business.Application/ReplenishmentManagement/ReplenishmentAppService.cs

@@ -1197,7 +1197,10 @@ namespace Business.Replenishment
                     {
                         if (m.distributionchannel == "瑞奇")
                         {
-                            preMonthRQQty.Add(m.number, m.plan_out_qty);
+                            if (!preMonthRQQty.ContainsKey(m.number))
+                            {
+                                preMonthRQQty.Add(m.number, m.plan_out_qty);
+                            }
                             //成品算销售出库数量
                             if (itemGroup.Any(a => a.ContainerItem == m.number))
                             {
@@ -4507,11 +4510,18 @@ namespace Business.Replenishment
                                 weekPlan.TotalHours = weekPlan.AssembleHours + weekPlan.HeatSealHours + weekPlan.PackageHours;
                             }
                         }
+
+                        string sql = "UPDATE mes_morder SET moentry_sys_stime='"+ newinstockdate + "',need_number="+ newqty + ",morder_production_number="+ newqty + " WHERE morder_no='" + weekPlan.ProductionOrder + "';" +
+                            "UPDATE mes_moentry SET need_number="+ newqty + ",morder_production_number="+ newqty + " WHERE moentry_mono='" + weekPlan.ProductionOrder + "';" +
+                            "UPDATE WorkOrdMaster SET OrdDate='"+ newinstockdate + "',Priority="+ newpriority + ",QtyOrded="+ newqty + " WHERE WorkOrd='" + weekPlan.ProductionOrder + "';" +
+                            "UPDATE WorkOrdRouting SET QtyOrded="+ newqty + " WHERE WorkOrd='" + weekPlan.ProductionOrder + "'; ";
+
+                        _businessDbContext.Database.ExecuteSqlRaw(sql);
                         await _replenishmentWeekPlan.UpdateAsync(weekPlan);
-                        await _mysql_mes_morder.UpdateManyAsync(moList);
+                        /*await _mysql_mes_morder.UpdateManyAsync(moList);
                         await _mysql_mes_moentry.UpdateManyAsync(moentryList);
                         _workOrdMaster.Update(workmasterList);
-                        _workOrdRouting.Update(workRoutings);
+                        _workOrdRouting.Update(workRoutings);*/
                     }
                     else
                     {
@@ -6730,7 +6740,7 @@ namespace Business.Replenishment
                                 await _mysql_crm_seorder.HardDeleteAsync(delsoList);
                             }
                         }
-
+                        new NLogHelper("DeleteWeekPlan").WriteLog("DeleteWeekPlan", "删除工单:" + productorder + "__" + workord[0].Status, _currentTenant.Id.ToString());
                         await _replenishmentWeekPlan.HardDeleteAsync(a => a.ProductionOrder == productorder && a.factory_id == factory_id);
                         await _mysql_mes_morder.HardDeleteAsync(a => a.morder_no == productorder && a.factory_id == factory_id);
                         await _mysql_mes_moentry.HardDeleteAsync(a => a.moentry_mono == productorder && a.factory_id == factory_id);