/// <summary> /// 把PanelInfo的板号和层,赋予当前标签。 /// 如果pinfo为null, 则产生新的板号。 /// </summary> /// <param name="pinfo"></param> public void SetupPanelInfo(PanelInfo pinfo) { PanelNo = pinfo != null ? pinfo.PanelNo : PanelGen.NewPanelNo(); Floor = pinfo != null ? pinfo.CurrFloor : 1; FloorIndex = 0; Coordinates = ""; }
public static bool UpdateEdgeExceed(FloorPerformance fp, PanelInfo pInfo, LableCode cur, LableCode fromcache) { var cps = new List <CommandParameter>(); cps.Add(CreateLableCodeUpdate(fromcache)); switch (fp) { case FloorPerformance.BothFinish: if (fromcache.floor == pInfo.MaxFloor || clsSetting.SplintHeight < GetFloorMaxDiameter(cur.PanelNo, cur.floor + 1) + 50) //板满 { cps.Add(new CommandParameter("UPDATE Panel SET Status = @Status,MaxFloor=CurrFloor," + "UpdateDate = @UpdateDate WHERE PanelNo = @PanelNo", new SqlParameter[] { new SqlParameter("@PanelNo", pInfo.PanelNo), new SqlParameter("@Status", LableState.PanelFill), new SqlParameter("@UpdateDate", DateTime.Now) })); cur.PanelNo = PanelGen.NewPanelNo(); cur.floor = 1; cur.floorIndex = 0; cur.Coordinates = null; cur.Crz = 0; cur.Cx = 0; cur.Cy = 0; cur.Cz = 0; cps.Add(CreateLableCodeUpdate(cur)); cps.Add(new CommandParameter("UPDATE LableCode SET Floor = @Floor,PanelNo = @NewPanelNo," + "UpdateDate = @UpdateDate WHERE PanelNo = @PanelNo and FloorIndex=0", new SqlParameter[] { new SqlParameter("@NewPanelNo", cur.PanelNo), new SqlParameter("@PanelNo", pInfo.PanelNo), new SqlParameter("@Floor", cur.floor), new SqlParameter("@UpdateDate", DateTime.Now) })); cps.Add(CreateInsertPanel(cur.PanelNo, cur.ToLocation)); } else //层满 { cur.floor++; cps.Add(CreateLableCodeUpdate(cur)); cps.Add(new CommandParameter("UPDATE LableCode SET Floor = @Floor," + "UpdateDate = @UpdateDate WHERE PanelNo = @PanelNo and FloorIndex=0", new SqlParameter[] { new SqlParameter("@PanelNo", pInfo.PanelNo), new SqlParameter("@Floor", cur.floor), new SqlParameter("@UpdateDate", DateTime.Now) })); cps.Add(new CommandParameter("UPDATE Panel SET CurrFloor = @CurrFloor,OddStatus = @OddStatus,EvenStatus = @EvenStatus," + "UpdateDate = @UpdateDate WHERE PanelNo = @PanelNo", new SqlParameter[] { new SqlParameter("@PanelNo", pInfo.PanelNo), new SqlParameter("@CurrFloor", cur.floor), new SqlParameter("@OddStatus", false), new SqlParameter("@EvenStatus", false), new SqlParameter("@UpdateDate", DateTime.Now) })); } break; case FloorPerformance.None: default: break; } cps.Add(new CommandParameter("UPDATE Panel SET HasExceed=@HasExceed,UpdateDate = @UpdateDate WHERE PanelNo = @PanelNo", new SqlParameter[] { new SqlParameter("@PanelNo", pInfo.PanelNo), new SqlParameter("@HasExceed", pInfo.HasExceed), new SqlParameter("@UpdateDate", DateTime.Now) })); return(DataAccess.CreateDataAccess.sa.NonQueryTran(cps)); }
public static bool Update(FloorPerformance fp, PanelInfo pInfo, LableCode c, LableCode c2 = null) { var cps = new List <CommandParameter>(); cps.Add(CreateLableCodeUpdate(c)); if (c2 != null) { cps.Add(new CommandParameter(@"update LableCode set FloorIndex=@FloorIndex,Coordinates=@Coordinates, Cx=@Cx,Cy=@Cy,Cz=@Cz,Crz=@Crz,Status=@Status,Remark=@Remark,UpdateDate=@UpdateDate where LCode=@LCode", new SqlParameter[] { new SqlParameter("@LCode", c2.LCode), new SqlParameter("@FloorIndex", c2.floorIndex), new SqlParameter("@Coordinates", c2.Coordinates), new SqlParameter("@Cx", c2.cx), new SqlParameter("@Cy", c2.cy), new SqlParameter("@Cz", c2.cz), new SqlParameter("@Crz", c2.crz), new SqlParameter("@Status", c2.Status), c2.Remark == null?new SqlParameter("@Remark", DBNull.Value):new SqlParameter("@Remark", c2.Remark), new SqlParameter("@UpdateDate", DateTime.Now) })); } switch (fp) { case FloorPerformance.OddFinish: case FloorPerformance.EvenFinish: cps.Add(new CommandParameter("UPDATE Panel SET CurrFloor = @CurrFloor,OddStatus = @OddStatus,EvenStatus = @EvenStatus," + "UpdateDate = @UpdateDate WHERE PanelNo = @PanelNo", new SqlParameter[] { new SqlParameter("@PanelNo", c.PanelNo), new SqlParameter("@CurrFloor", c.floor), new SqlParameter("@OddStatus", fp == FloorPerformance.OddFinish), new SqlParameter("@EvenStatus", fp == FloorPerformance.EvenFinish), new SqlParameter("@UpdateDate", DateTime.Now) })); break; case FloorPerformance.BothFinish: if (c.floor == pInfo.MaxFloor || clsSetting.SplintHeight < GetFloorMaxDiameter(c.PanelNo, c.floor + 1) + 50) { cps.Add(new CommandParameter("UPDATE Panel SET Status = @Status,MaxFloor=CurrFloor," + "UpdateDate = @UpdateDate WHERE PanelNo = @PanelNo", new SqlParameter[] { new SqlParameter("@PanelNo", c.PanelNo), new SqlParameter("@Status", LableState.PanelFill), new SqlParameter("@UpdateDate", DateTime.Now) })); if (pInfo.HasExceed) { var panelno = PanelGen.NewPanelNo(); cps.Add(new CommandParameter("UPDATE LableCode SET Floor = 1,PanelNo = @NewPanelNo," + "UpdateDate = @UpdateDate WHERE PanelNo = @PanelNo and FloorIndex=0", new SqlParameter[] { new SqlParameter("@NewPanelNo", panelno), new SqlParameter("@PanelNo", pInfo.PanelNo), new SqlParameter("@UpdateDate", DateTime.Now) })); cps.Add(CreateInsertPanel(panelno, c.ToLocation)); } } else { cps.Add(new CommandParameter("UPDATE Panel SET CurrFloor = @CurrFloor,OddStatus = @OddStatus,EvenStatus = @EvenStatus," + "UpdateDate = @UpdateDate WHERE PanelNo = @PanelNo", new SqlParameter[] { new SqlParameter("@PanelNo", c.PanelNo), new SqlParameter("@CurrFloor", c.floor + 1), new SqlParameter("@OddStatus", false), new SqlParameter("@EvenStatus", false), new SqlParameter("@UpdateDate", DateTime.Now) })); if (pInfo.HasExceed) { cps.Add(new CommandParameter("UPDATE LableCode SET Floor = @Floor," + "UpdateDate = @UpdateDate WHERE PanelNo = @PanelNo and FloorIndex=0", new SqlParameter[] { new SqlParameter("@PanelNo", pInfo.PanelNo), new SqlParameter("@Floor", c.floor + 1), new SqlParameter("@UpdateDate", DateTime.Now) })); } } break; case FloorPerformance.None: default: break; } cps.Add(new CommandParameter("UPDATE Panel SET HasExceed=@HasExceed,UpdateDate = @UpdateDate WHERE PanelNo = @PanelNo", new SqlParameter[] { new SqlParameter("@PanelNo", pInfo.PanelNo), new SqlParameter("@HasExceed", pInfo.HasExceed), new SqlParameter("@UpdateDate", DateTime.Now) })); return(DataAccess.CreateDataAccess.sa.NonQueryTran(cps)); }