/// <summary> /// 将校验合格的条码分包,并将条码状态设置为已经装箱,并设置对应的条码所在箱子位置 /// </summary> /// <param name="p_PackISN"></param> /// <param name="sqlTrans"></param> private void InsertPackISN(DataTable p_PackISN, IDBTransAccess sqlTrans) { PackISNRule rule = new PackISNRule(); PackISNDtsRule rule2 = new PackISNDtsRule(); DataRow[] packs = p_PackISN.Select("ISN=" + SysString.ToDBString(APack));//先找到对应的箱数 foreach (DataRow dr in packs) { PackISN pack = new PackISN(sqlTrans); pack.PackDate = DateTime.Now; pack.PackOPID = FParamConfig.LoginName; pack.PackISNS = GetPackCode("P" + pack.PackDate.ToString("yyMMdd"), sqlTrans);//BaseCode; rule.RAdd(pack, sqlTrans); DataRow[] packISN = p_PackISN.Select("ISN<>" + SysString.ToDBString(APack) + " AND PackIndex=" + SysString.ToDBString(dr["PackIndex"].ToString())); int Seq = 1; foreach (DataRow drdts in packISN) { PackISNDts dts = new PackISNDts(sqlTrans); dts.ID = pack.ID; dts.Seq = Seq; Seq++; dts.ISN = drdts["ISN"].ToString(); rule2.RAdd(dts, sqlTrans); string ISN = "UPDATE WO_Fabric SET PackFlag=1,BoxID=" + pack.ID + " WHERE ISN=" + SysString.ToDBString(dts.ISN); sqlTrans.ExecuteNonQuery(ISN); } } string sql = "UPDATE WO_ISNTemp SET Status=2 WHERE Status=1"; sqlTrans.ExecuteNonQuery(sql); }
/// <summary> /// 删除 /// </summary> /// <param name="p_Entity">实体类</param> /// <returns>操作影响的记录行数</returns> public override int Delete(BaseEntity p_Entity) { try { PackISNDts MasterEntity = (PackISNDts)p_Entity; if (MasterEntity.ID == 0) { return(0); } //删除主表数据 string Sql = ""; Sql = "DELETE FROM WO_PackISNDts WHERE " + "ID=" + SysString.ToDBString(MasterEntity.ID) + " AND Seq=" + SysString.ToDBString(MasterEntity.Seq); //执行 int AffectedRows = 0; if (!this.sqlTransFlag) { AffectedRows = this.ExecuteNonQuery(Sql); } else { AffectedRows = sqlTrans.ExecuteNonQuery(Sql); } return(AffectedRows); } catch (BaseException E) { throw new BaseException(E.Message, E); } catch (Exception E) { throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBDelete), E); } }
/// <summary> /// 检验字段值是否已存在 /// </summary> /// <param name="p_TableName">表名</param> /// <param name="p_FieldName">字段名</param> /// <param name="p_FieldValue">字段值</param> /// <param name="p_KeyField">主键(只考虑主键为ID的情况)</param> /// <param name="p_KeyValue">主键值</param> /// <param name="p_sqlTrans"></param> /// <returns></returns> private bool CheckFieldValueIsExist(BaseEntity p_BE, string p_FieldName, string p_FieldValue, IDBTransAccess p_sqlTrans) { PackISNDts entity = (PackISNDts)p_BE; bool ret = false; string sql = string.Format(" SELECT {0} FROM {1} WHERE 1=1 AND {0}={2} AND {3}<>{4}", p_FieldName, PackISNDts.TableName, SysString.ToDBString(p_FieldValue), "ID", entity.ID); DataTable dt = p_sqlTrans.Fill(sql); if (dt.Rows.Count != 0) { ret = true; } return ret; }
/// <summary> /// 新增 /// </summary> /// <param name="p_Entity">实体类</param> /// <returns>操作影响的记录行数</returns> public override int AddNew(BaseEntity p_Entity) { try { PackISNDts MasterEntity = (PackISNDts)p_Entity; if (MasterEntity.ID == 0) { return(0); } //新增主表数据 StringBuilder MasterField = new StringBuilder(); StringBuilder MasterValue = new StringBuilder(); MasterField.Append("INSERT INTO WO_PackISNDts("); MasterValue.Append(" VALUES("); MasterField.Append("ID" + ","); MasterValue.Append(SysString.ToDBString(MasterEntity.ID) + ","); MasterField.Append("Seq" + ","); MasterValue.Append(SysString.ToDBString(MasterEntity.Seq) + ","); MasterField.Append("ISN" + ")"); MasterValue.Append(SysString.ToDBString(MasterEntity.ISN) + ")"); //执行 int AffectedRows = 0; if (!this.sqlTransFlag) { AffectedRows = this.ExecuteNonQuery(MasterField.Append(MasterValue.ToString()).ToString()); } else { AffectedRows = sqlTrans.ExecuteNonQuery(MasterField.Append(MasterValue.ToString()).ToString()); } return(AffectedRows); } catch (BaseException E) { throw new BaseException(E.Message, E); } catch (Exception E) { throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBInsert), E); } }
/// <summary> /// 修改 /// </summary> /// <param name="p_BE">要修改的实体</param> /// <param name="sqlTrans">事务类</param> public void RUpdate(BaseEntity p_BE,IDBTransAccess sqlTrans) { try { this.CheckCorrect(p_BE); PackISNDts entity=(PackISNDts)p_BE; PackISNDtsCtl control=new PackISNDtsCtl(sqlTrans); control.Update(entity); } catch(BaseException) { throw; } catch(Exception E) { throw new BaseException(E.Message); } }
/// <summary> /// 新增(传入事务处理) /// </summary> /// <param name="p_BE">要新增的实体</param> /// <param name="sqlTrans">事务类</param> public void RAdd(BaseEntity p_BE,IDBTransAccess sqlTrans) { try { this.CheckCorrect(p_BE); PackISNDts entity=(PackISNDts)p_BE; PackISNDtsCtl control=new PackISNDtsCtl(sqlTrans); entity.ID=(int)EntityIDTable.GetID((long)SysEntity.WO_PackISNDts,sqlTrans); control.AddNew(entity); } catch(BaseException) { throw; } catch(Exception E) { throw new BaseException(E.Message); } }
/// <summary> /// 修改 /// </summary> /// <param name="p_Entity">实体类</param> /// <returns>操作影响的记录行数</returns> public override int Update(BaseEntity p_Entity) { try { PackISNDts MasterEntity = (PackISNDts)p_Entity; if (MasterEntity.ID == 0) { return(0); } //更新主表数据 StringBuilder UpdateBuilder = new StringBuilder(); UpdateBuilder.Append("UPDATE WO_PackISNDts SET "); UpdateBuilder.Append(" ID=" + SysString.ToDBString(MasterEntity.ID) + ","); UpdateBuilder.Append(" Seq=" + SysString.ToDBString(MasterEntity.Seq) + ","); UpdateBuilder.Append(" ISN=" + SysString.ToDBString(MasterEntity.ISN)); UpdateBuilder.Append(" WHERE " + "ID=" + SysString.ToDBString(MasterEntity.ID) + " AND Seq=" + SysString.ToDBString(MasterEntity.Seq)); //执行 int AffectedRows = 0; if (!this.sqlTransFlag) { AffectedRows = this.ExecuteNonQuery(UpdateBuilder.ToString()); } else { AffectedRows = sqlTrans.ExecuteNonQuery(UpdateBuilder.ToString()); } return(AffectedRows); } catch (BaseException E) { throw new BaseException(E.Message, E); } catch (Exception E) { throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBUpdate), E); } }
/// <summary> /// 检查将要操作的数据是否符合业务规则 /// </summary> /// <param name="p_BE"></param> private void CheckCorrect(BaseEntity p_BE) { PackISNDts entity=(PackISNDts)p_BE; }