private NcRoll46 Get46(Mod_TMO_ORDER order, Mod_TB_MATRL_MAIN ordMatrl, Mod_TRC_ROLL_WW_MAIN item, Mod_TB_STA tBSta, Mod_TS_USER user) { Mod_TQB_CHECKSTATE mod_TQB_CHECKSTATE = dal_TQB_CHECKSTATE.GetModelByName(item.C_CHECKSTATE_NAME, "1001"); var lineWhItem = dalLineWh.GetModelByCode(item.C_LINEWH_CODE); var ncRoll46 = new NcRoll46 { castunitid = ordMatrl.C_FJLDW, //辅助计量单位ID ccheckstate_bid = mod_TQB_CHECKSTATE.C_ID, //"1001NC100000000052Z3",//质量等级ID cinvbasid = ordMatrl.C_PK_INVBASDOC, //存货基本ID coperatorid = user.C_ACCOUNT, //"17384",//item.C_PRODUCE_EMP_ID,//入库人 cwarehouseid = lineWhItem.C_ID, //仓库ID cworkcenterid = tBSta.C_ERP_PK, dbizdate = DateTime.Now, //入库日期 ninassistnum = (item.N_QUA_REMOVE ?? 0).ToString(), //入库件数 ninnum = (item.N_WGT_REMOVE ?? 0).ToString(), //入库数量 pk_produce = ordMatrl.C_PK_PRODUCE, //物料PK taccounttime = DateTime.Now, //入库签字时间 vbatchcode = item.C_BATCH_NO, vfree1 = order.C_FREE1, vfree2 = order.C_FREE2, vfree3 = order.C_PACK, }; return(ncRoll46); }
public RedirectToRouteResult SetFinish(Mod_TRC_ROLL_WW_MAIN model) { try { // 验证仓库 var list = bll_Product.GetWWCK(); var ckItem = list.FirstOrDefault(x => x.C_LINEWH_CODE == model.C_LINEWH_CODE); if (ckItem == null) { throw new Exception("入库仓库未输入或不存在,请确认数据正确后再完工"); } model.C_LINEWH_NAME = ckItem.C_LINEWH_NAME; var user = System.Web.HttpContext.Current.Session["CurrentUser"] as CurrentUser; if (user == null) { GoToLogin(true); return(null); } bll.SetFinish(model, user?.Id); } catch (Exception ex) { ViewBag.ErrorMsg = ex.Message; } return(RedirectToAction(nameof(Product), new { errorMsg = ViewBag.ErrorMsg, isloadCondition = true })); }
private NcRollA2 GetA2(Mod_TMO_ORDER order, Mod_TB_MATRL_MAIN matrl, Mod_TRC_ROLL_WW_MAIN item, Mod_TB_STA tBSta, Mod_TS_USER user) { var ncRollA2 = new NcRollA2 { bcid = item.C_SHIFT, // 班次ID bzid = item.C_GROUP, // 班组ID fjhsl = (item.N_QUA_REMOVE ?? 0).ToString(), // 辅计量数量 fjlid = matrl.C_FJLDW, // 辅计量ID freeitemvalue1 = order.C_FREE1, // 自由项1 freeitemvalue2 = order.C_FREE2, //自由项2 freeitemvalue3 = order.C_PACK, // 包装要求, freeitemvalue5 = item.C_ID, //PCI计划主键 gzzxid = tBSta.C_ERP_PK, //工作中心ID invcode = matrl.C_ID, //物料编码 jhjssj = item.D_PRODUCE_DATE_E ?? DateTime.Now, // 计划完工时间 jhkgrq = item.D_PRODUCE_DATE_B ?? DateTime.Now, //计划开工日期 jhkssj = item.D_PRODUCE_DATE_B ?? DateTime.Now, //计划开始时间 jhwgrq = item.D_PRODUCE_DATE_E ?? DateTime.Now, //计划完工日期 jhwgsl = (item.N_WGT_TOTAL ?? 0).ToString(), //计划完工数量 jldwid = matrl.C_PK_MEASDOC, //计量单位ID pch = item.C_BATCH_NO, //批次号 pk_produce = matrl.C_PK_PRODUCE, //物料PK scbmid = tBSta.C_SSBMID, //生产部门ID sjjssj = item.D_PRODUCE_DATE_E ?? DateTime.Now, //实际结束时间 sjkgrq = item.D_PRODUCE_DATE_E ?? DateTime.Now, //完工单日期 sjkssj = item.D_PRODUCE_DATE_B ?? DateTime.Now, //实际开始日期 sjwgrq = item.D_PRODUCE_DATE_E ?? DateTime.Now, //实际完工日期 sjwgsl = (item.N_WGT_REMOVE ?? 0).ToString(), //实际完工数量 wlbmid = matrl.C_PK_INVBASDOC, //存货档案主键 zdrid = user.C_ACCOUNT // "17384",//item.C_PRODUCE_EMP_ID,//操作人,用户编码工号 }; return(ncRollA2); }
/// <summary> /// /// </summary> /// <param name="order">合同信息</param> /// <param name="matrl">成品物料信息</param> /// <param name="item">组批信息</param> /// <param name="ssBmid">部门ID</param> /// <returns></returns> private NcRollA1 GetA1(Mod_TMO_ORDER order, Mod_TB_MATRL_MAIN matrl, Mod_TRC_ROLL_WW_MAIN item, Mod_TB_STA tBSta, Mod_TS_USER user) { var ncRollA1 = new NcRollA1 { bmid = tBSta.C_SSBMID, //部门ID jhrq = item.D_MOD_DT, //计划日期 jhxxsl = (item.N_WGT_TOTAL ?? 0).ToString(), //下限数量 jhyid = matrl.C_PLANEMP, // 计划员ID jldwid = matrl.C_PK_MEASDOC, //计量单位 memo = item.C_REMARK, //备注 pk_produce = matrl.C_PK_PRODUCE, //物料PK, scbmid = tBSta.C_SSBMID, //生产部门ID shrid = item.C_PRODUCE_EMP_ID, //操作员 shrq = DateTime.Now, //审核日期 slrq = order.D_DT ?? DateTime.Now, //需求日期 wlbmid = matrl.C_PK_INVBASDOC, // 存货档案主键 xdrq = item.D_MOD_DT, //下单日期 xqrq = order.D_DELIVERY_DT ?? DateTime.Now, //交货日期 xqsl = (item.N_WGT_TOTAL ?? 0).ToString(), //计划量 zdrq = DateTime.Now, //制单日期 zyx1 = order.C_FREE1, //自由项1 zyx2 = order.C_FREE2, //自由项2 zyx3 = order.C_PACK, //包装要求 zyx5 = item.C_ID, //PCI主键 }; return(ncRollA1); }
private NcRollA4 GetA4(Mod_TMO_ORDER order, Mod_TB_MATRL_MAIN ordMatrl, Mod_TRC_ROLL_WW_MAIN item, Mod_TB_STA tBSta, Mod_TS_USER user) { var ncRollA4 = new NcRollA4 { ccxh = item.C_BATCH_NO, //批号 fhgsl = (item.N_QUA_REMOVE ?? 0).ToString(), //完工数量 freeitemvalue1 = order.C_FREE1, //自由项1 freeitemvalue2 = order.C_FREE2, //自由项2 freeitemvalue3 = order.C_PACK, //包装要求 gzzxbmid = tBSta.C_STA_ERPCODE, //工作中心代码 gzzxid = tBSta.C_ERP_PK, //工作中心ID hgsl = (item.N_WGT_REMOVE ?? 0).ToString(), //合格数量 jldwid = ordMatrl.C_PK_MEASDOC, //计量单位ID jsrq = item.D_PRODUCE_DATE_E ?? DateTime.Now, //生产结束日期 ksrq = item.D_PRODUCE_DATE_B ?? DateTime.Now, //生产开始日期 pch = item.C_BATCH_NO, //批次号, pk_produce = ordMatrl.C_PK_PRODUCE, //物料PK rq = item.D_PRODUCE_DATE_E ?? DateTime.Now, //完工日期 scbmid = tBSta.C_SSBMID, //生产部门ID sffsgp = "N", //是否发生改判 sflfcp = "N", //是否联产品 sj = DateTime.Now, //报告时间 wlbmid = ordMatrl.C_PK_INVBASDOC, //物料编码ID zdrid = user.C_ACCOUNT, //item.C_PRODUCE_EMP_ID,//操作人员 }; return(ncRollA4); }
public void SetFinish(Mod_TRC_ROLL_WW_MAIN model) { try { TransactionHelper.BeginTransaction(); string sql = $"UPDATE TRC_ROLL_WW_MAIN SET N_WGT_REMOVE={model.N_WGT_REMOVE}" + $",N_QUA_REMOVE={model.N_QUA_REMOVE}" + $",N_STATUS={model.N_STATUS}" + $",C_PRODUCE_GROUP='{model.C_PRODUCE_GROUP}'" + $",C_CHECKSTATE_NAME='{model.C_CHECKSTATE_NAME}'" + $",C_LINEWH_CODE='{model.C_LINEWH_CODE}'" + $",C_LINEWH_NAME='{model.C_LINEWH_NAME}'" + $",C_PRODUCE_EMP_ID='{model.C_PRODUCE_EMP_ID}'" + $",C_PRODUCE_SHIFT='{model.C_PRODUCE_SHIFT}' WHERE C_ID='{model.C_ID}'"; // // 完工量不等于组批量,回写库存重量 // var amt = model.N_WGT_TOTAL - model.N_WGT_REMOVE; // if (amt > 0) // { // string whereSql = $@" //SELECT MAX(C_ID) FROM TRC_ROLL_PRODCUT //WHERE C_BATCH_NO='{model.C_XC_BATCH_NO}' AND C_LINEWH_CODE='{model.C_XC_LINEWH_CODE}' //AND C_MAT_CODE='{model.C_MAT_XC_CODE}' AND C_BZYQ='{model.C_XC_BZYQ}' //AND C_MOVE_TYPE='QE' //"; // var cId = TransactionHelper.GetSingle(whereSql)?.ToString(); // if (string.IsNullOrEmpty(cId)) // { // throw new Exception("找不到记录库存"); // } // var updateSql = $"UPDATE TRC_ROLL_PRODCUT SET N_WGT={amt} WHERE C_ID='{cId}'"; // var updateRlt = TransactionHelper.ExecuteSql(updateSql); // if (updateRlt != 1) // { // throw new Exception("更新库存失败"); // } // } var rlt = TransactionHelper.ExecuteSql(sql) > 0; if (!rlt) { throw new Exception("完工失败"); } TransactionHelper.Commit(); } catch (Exception ex) { TransactionHelper.RollBack(); throw ex; } }
public bool SetCancel(Mod_TRC_ROLL_WW_MAIN model) { string sql = $"UPDATE TRC_ROLL_WW_MAIN SET N_WGT_REMOVE={model.N_WGT_REMOVE ?? 0}" + $",N_QUA_REMOVE={model.N_QUA_REMOVE ?? 0}" + $",N_STATUS={model.N_STATUS}" + $" WHERE C_ID='{model.C_ID}'"; return(DbHelperOra.ExecuteSql(sql) > 0); }
/// <summary> /// 设置质量标准号 /// </summary> /// <param name="model"></param> public void SetDesignNo(Mod_TRC_ROLL_WW_MAIN model) { string designNo = GetDesignNo(model.C_STD_CODE, model.C_STL_GRD_SLAB); string sql = $"UPDATE trc_roll_prodcut SET " + $"c_design_no='{designNo}'" + $" WHERE c_batch_no='{model.C_BATCH_NO}'"; DbHelperOra.ExecuteSql(sql); }
public bool SetStatu(Mod_TRC_ROLL_WW_MAIN model) { string cId = model.C_ID; decimal status = model.N_STATUS; string sql = $"UPDATE TRC_ROLL_WW_MAIN SET " + $"N_STATUS={status}" + $" WHERE C_ID='{cId}'"; return(DbHelperOra.ExecuteSql(sql) > 0); }
public RedirectToRouteResult SetCancel(Mod_TRC_ROLL_WW_MAIN model) { try { bll.SetCancel(model); } catch (Exception ex) { ViewBag.ErrorMsg = ex.Message; } return(RedirectToAction(nameof(Product), new { errorMsg = ViewBag.ErrorMsg, isloadCondition = true })); }
/// <summary> /// 完工,入库 /// </summary> /// <param name="item">委外计划</param> private void RuKu(Mod_TRC_ROLL_WW_MAIN item, Mod_TB_STA tBSta, Mod_TMO_ORDER contractInfo) { var xcItems = dalWWMain.GetItemList(item.C_ID); if (xcItems.Any() == false) { throw new Exception("未找到组批信息"); } List <Mod_TRC_ROLL_PRODCUT> addItems = new List <Mod_TRC_ROLL_PRODCUT>(); // 单支完工量 var singleAmt = item.N_WGT_REMOVE / item.N_QUA_REMOVE; foreach (var xcItem in xcItems) { // 如果已经满足完工支数退出 if (addItems.Count == item.N_QUA_REMOVE) { continue; } xcItem.C_ID = $"{item.C_BATCH_NO}{(addItems.Count + 1).ToString("0000")}"; xcItem.C_BATCH_NO = item.C_BATCH_NO; xcItem.N_WGT = singleAmt ?? 0; xcItem.C_MOVE_TYPE = "E"; xcItem.C_SHIFT = item.C_PRODUCE_SHIFT; xcItem.C_GROUP = item.C_PRODUCE_GROUP; xcItem.C_STA_ID = tBSta.C_ID; xcItem.C_IS_DEPOT = "Y"; xcItem.C_MAT_CODE = contractInfo.C_MAT_CODE; //item.C_MAT_XC_CODE; xcItem.C_MAT_CODE_BEFORE = string.Empty; xcItem.C_MAT_DESC = contractInfo.C_MAT_NAME; //item.C_MAT_XC_NAME; xcItem.C_CON_NO = contractInfo.C_CON_NO; xcItem.C_ORDER_NO = contractInfo.C_ORDER_NO; xcItem.C_LINEWH_CODE = item.C_LINEWH_CODE; xcItem.C_LINEWH_LOC_CODE = string.Empty; xcItem.C_WWBATCH_NO = item.C_XC_BATCH_NO; xcItem.C_JUDGE_LEV_ZH = item.C_CHECKSTATE_NAME; xcItem.C_BZYQ = contractInfo.C_PACK; xcItem.D_DP_DT = DateTime.Now; bllProduct.Add(xcItem); addItems.Add(xcItem); } }
/// <summary> /// 设置外委加工完工 /// </summary> /// <param name="model">数据包含完工的ID,重量,支数</param> public void SetFinish(Mod_TRC_ROLL_WW_MAIN info, string userId) { var model = dalWWMain.GetModel(info.C_ID); if (model == null) { throw new Exception("数据不存在,可能该计划已撤销,请刷新页面重试"); } if (model.N_QUA_TOTAL < info.N_QUA_REMOVE) { throw new Exception($"完工支数不能大于{model.N_QUA_TOTAL}"); } //if (model.N_WGT_TOTAL < info.N_WGT_REMOVE) //{ // throw new Exception($"完工重量不能大于{model.N_WGT_TOTAL}"); //} // 修改后默认可以多50%,目前先这样,后续可以使用字典表维护超出比例 var percent = 1.5m; if ((model.N_WGT_TOTAL * percent) < info.N_WGT_REMOVE) { throw new Exception($"完工重量不能大于{model.N_WGT_TOTAL}的{(percent - 1) * 100}%"); } if (model.N_STATUS != 0) { throw new Exception($"该计划已经被完工,请刷新页面重试"); } model.N_WGT_REMOVE = Math.Round(info.N_WGT_REMOVE ?? 0, 4); model.N_QUA_REMOVE = info.N_QUA_REMOVE; model.N_STATUS = 1; model.C_PRODUCE_GROUP = info.C_PRODUCE_GROUP; model.C_PRODUCE_SHIFT = info.C_PRODUCE_SHIFT; model.C_CHECKSTATE_NAME = info.C_CHECKSTATE_NAME; model.C_LINEWH_CODE = info.C_LINEWH_CODE; model.C_LINEWH_NAME = info.C_LINEWH_NAME; model.C_PRODUCE_EMP_ID = userId; dalWWMain.SetFinish(model); }
/// <summary> /// 修改批次号,如果录入了成分,需要把成分的批次号更新 /// </summary> /// <param name="model"></param> /// <param name="newBatchNo"></param> public void UpdateBatchNo(Mod_TRC_ROLL_WW_MAIN model, string newBatchNo) { try { // 采取事物控制 TransactionHelper.BeginTransaction(); // 更新成分信息 string updateSql1 = $"UPDATE TQC_COMPRE_ITEM_RESULT SET C_BATCH_NO='{newBatchNo}' WHERE C_BATCH_NO='{model.C_BATCH_NO}'"; // 组批计划更新批号 string updateSql2 = $"UPDATE TRC_ROLL_WW_MAIN SET C_BATCH_NO='{newBatchNo}' WHERE C_BATCH_NO='{model.C_BATCH_NO}'"; TransactionHelper.ExecuteSql(updateSql1); TransactionHelper.ExecuteSql(updateSql2); TransactionHelper.Commit(); } catch (Exception ex) { TransactionHelper.RollBack(); throw new Exception("修改批次号失败"); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Mod_TRC_ROLL_WW_MAIN GetModel(string C_ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select C_ID,C_STA_ID,C_PLANT,C_ORD_ID,C_BATCH_NO,N_QUA_TOTAL,N_WGT_TOTAL,C_STL_GRD_SLAB,C_SPEC_SLAB,C_EMP_ID,C_SHIFT,C_GROUP,D_MOD_DT,N_QUA_REMOVE,N_WGT_REMOVE,C_MAT_SLAB_CODE,C_MAT_SLAB_NAME,C_REMARK,N_STATUS,C_STD_CODE,D_PRODUCE_DATE_B,C_PRODUCE_EMP_ID,C_PRODUCE_SHIFT,C_PRODUCE_GROUP,D_PRODUCE_DATE_E,C_MAT_XC_CODE,C_MAT_XC_NAME,C_XC_BATCH_NO,C_XC_LINEWH_CODE,C_CHECKSTATE_NAME,C_LINEWH_CODE,C_LINEWH_NAME,C_XC_BZYQ from TRC_ROLL_WW_MAIN "); strSql.Append(" where C_ID=:C_ID "); OracleParameter[] parameters = { new OracleParameter(":C_ID", OracleDbType.Varchar2, 100) }; parameters[0].Value = C_ID; Mod_TRC_ROLL_WW_MAIN model = new Mod_TRC_ROLL_WW_MAIN(); DataSet ds = DbHelperOra.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
/// <summary> /// 撤销委外完工 /// </summary> /// <param name="info"></param> public void SetCancel(Mod_TRC_ROLL_WW_MAIN info) { var model = dalWWMain.GetModel(info.C_ID); if (model == null) { throw new Exception("数据不存在,可能该计划已撤销,请刷新页面重试"); } if (model.N_STATUS != 1) { throw new Exception($"未完工状态不能撤销"); } model.N_STATUS = 0; model.N_WGT_REMOVE = null; model.N_QUA_REMOVE = null; var a = dalWWMain.SetCancel(model); if (a == false) { throw new Exception("操作失败,请刷新页面重试,可能该计划已撤销"); } }
/* * /// <summary> * /// 分页获取数据列表 * /// </summary> * public DataSet GetList(int PageSize,int PageIndex,string strWhere) * { * OracleParameter[] parameters = { * new OracleParameter(":tblName", OracleDbType.Varchar2, 255), * new OracleParameter(":fldName", OracleDbType.Varchar2, 255), * new OracleParameter(":PageSize", OracleDbType.Decimal), * new OracleParameter(":PageIndex", OracleDbType.Decimal), * new OracleParameter(":IsReCount", OracleDbType.Clob), * new OracleParameter(":OrderType", OracleDbType.Clob), * new OracleParameter(":strWhere", OracleDbType.Varchar2,1000), * }; * parameters[0].Value = "TRC_ROLL_WW_MAIN"; * parameters[1].Value = "C_ID"; * parameters[2].Value = PageSize; * parameters[3].Value = PageIndex; * parameters[4].Value = 0; * parameters[5].Value = 0; * parameters[6].Value = strWhere; * return DbHelperOra.RunProcedure("UP_GetRecordByPage",parameters,"ds"); * }*/ #endregion BasicMethod #region ExtensionMethod #endregion ExtensionMethod #region 自定义 /// <summary> /// 外委加工组批 /// </summary> /// <param name="zpInfo"></param> public void SetZpInfo( Mod_TMO_ORDER order, WWZPPlanItemInfo zpInfo, List <Mod_TRC_ROLL_PRODCUT> batchInfo, string userId) { UpdateBatchSameToNc( zpInfo.InventoryCode, order.C_STL_GRD, order.C_STD_CODE, order.C_SPEC, zpInfo.CBatchNo, zpInfo.MtrlCode, zpInfo.ZLDJ, zpInfo.BZYQ, batchInfo); TransactionHelper.BeginTransaction(); if (zpInfo.Num < batchInfo.Count) { // 如果组批支数等于库存支数,相当于耗用所有库存,则实际重量等于库存重量 new Dal_TMO_ORDER().UpdateInventory(batchInfo, zpInfo.ZpAmt, zpInfo.Num); } var zpAmt = batchInfo.Take(zpInfo.Num).Sum(w => w.N_WGT); // 生成批次号 var batchInfoItem = batchInfo.FirstOrDefault(); // 构造外委加工组批主表记录 var mainItem = new Mod_TRC_ROLL_WW_MAIN { C_ID = Guid.NewGuid().ToString("N"), C_ORD_ID = zpInfo.Id, N_WGT_TOTAL = zpAmt, N_STATUS = 0, C_EMP_ID = userId, C_GROUP = zpInfo.BZ, C_REMARK = zpInfo.Remark, C_SHIFT = zpInfo.BC, C_SPEC_SLAB = batchInfoItem.C_SPEC, C_CHECKSTATE_NAME = zpInfo.ZLDJ, C_STD_CODE = batchInfoItem.C_STD_CODE, C_STL_GRD_SLAB = batchInfoItem.C_STL_GRD, D_MOD_DT = DateTime.Now, N_QUA_TOTAL = zpInfo.Num, C_MAT_SLAB_CODE = order.C_MAT_CODE, C_MAT_SLAB_NAME = order.C_MAT_NAME, C_MAT_XC_CODE = batchInfoItem.C_MAT_CODE, C_MAT_XC_NAME = batchInfoItem.C_MAT_DESC, C_XC_BATCH_NO = batchInfoItem.C_BATCH_NO, C_XC_LINEWH_CODE = batchInfoItem.C_LINEWH_CODE,// zpInfo.InventoryCode, C_XC_BZYQ = batchInfoItem.C_BZYQ }; if (string.IsNullOrEmpty(zpInfo.BachNo) == false) { var a = ExistBatchNo(zpInfo.BachNo); // 验证批号 //string existsSql = $"SELECT COUNT(C_ID) FROM TRC_ROLL_WW_MAIN WHERE C_BATCH_NO='{zpInfo.BachNo}'"; //var count = int.Parse(TransactionHelper.Query(existsSql).Tables[0].Rows[0][0]?.ToString() ?? "0"); if (a)//count > 0) { TransactionHelper.RollBack(); throw new Exception("批次号重复,请重新输入"); } mainItem.C_BATCH_NO = zpInfo.BachNo; } else { mainItem.C_BATCH_NO = GetMAXWWBatchNo(); } bool success = this.Add(mainItem); if (success == false) { TransactionHelper.RollBack(); throw new Exception("组批失败"); } try { for (int i = 0; i < zpInfo.Num; i++) { // 更新线材库存状态 string updateSql = $"UPDATE TRC_ROLL_PRODCUT SET C_MOVE_TYPE = 'QS' WHERE C_ID='{batchInfo[i].C_ID}'"; TransactionHelper.ExecuteSql(updateSql); // 插入外委加工组批子表记录 string insertSql = $"insert into TRC_ROLL_WW_MAIN_ITEM(C_ID,C_ROLL_WW_MAIN_ID,C_SLAB_MAIN_ID,N_WGT) " + $"VALUES('{Guid.NewGuid().ToString("N")}','{mainItem.C_ID}','{batchInfo[i].C_ID}',{batchInfo[i].N_WGT})"; TransactionHelper.ExecuteSql(insertSql); } } catch (Exception ex) { TransactionHelper.RollBack(); throw ex; } TransactionHelper.Commit(); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Mod_TRC_ROLL_WW_MAIN model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update TRC_ROLL_WW_MAIN set "); strSql.Append("C_STA_ID=:C_STA_ID,"); strSql.Append("C_PLANT=:C_PLANT,"); strSql.Append("C_ORD_ID=:C_ORD_ID,"); strSql.Append("C_BATCH_NO=:C_BATCH_NO,"); strSql.Append("N_QUA_TOTAL=:N_QUA_TOTAL,"); strSql.Append("N_WGT_TOTAL=:N_WGT_TOTAL,"); strSql.Append("C_STL_GRD_SLAB=:C_STL_GRD_SLAB,"); strSql.Append("C_SPEC_SLAB=:C_SPEC_SLAB,"); strSql.Append("C_EMP_ID=:C_EMP_ID,"); strSql.Append("C_SHIFT=:C_SHIFT,"); strSql.Append("C_GROUP=:C_GROUP,"); strSql.Append("D_MOD_DT=:D_MOD_DT,"); strSql.Append("N_QUA_REMOVE=:N_QUA_REMOVE,"); strSql.Append("N_WGT_REMOVE=:N_WGT_REMOVE,"); strSql.Append("C_MAT_SLAB_CODE=:C_MAT_SLAB_CODE,"); strSql.Append("C_MAT_SLAB_NAME=:C_MAT_SLAB_NAME,"); strSql.Append("C_REMARK=:C_REMARK,"); strSql.Append("N_STATUS=:N_STATUS,"); strSql.Append("C_STD_CODE=:C_STD_CODE,"); strSql.Append("D_PRODUCE_DATE_B=:D_PRODUCE_DATE_B,"); strSql.Append("C_PRODUCE_EMP_ID=:C_PRODUCE_EMP_ID,"); strSql.Append("C_PRODUCE_SHIFT=:C_PRODUCE_SHIFT,"); strSql.Append("C_PRODUCE_GROUP=:C_PRODUCE_GROUP,"); strSql.Append("D_PRODUCE_DATE_E=:D_PRODUCE_DATE_E,"); strSql.Append("C_MAT_XC_CODE=:C_MAT_XC_CODE,"); strSql.Append("C_MAT_XC_NAME=:C_MAT_XC_NAME,"); strSql.Append("C_XC_BATCH_NO=:C_XC_BATCH_NO,"); strSql.Append("C_XC_LINEWH_CODE=:C_XC_LINEWH_CODE,"); strSql.Append("C_CHECKSTATE_NAME=:C_CHECKSTATE_NAME,"); strSql.Append("C_LINEWH_CODE=:C_LINEWH_CODE,"); strSql.Append("C_LINEWH_NAME=:C_LINEWH_NAME,"); strSql.Append("C_XC_BZYQ=:C_XC_BZYQ,"); strSql.Append(" where C_ID=:C_ID "); OracleParameter[] parameters = { new OracleParameter(":C_STA_ID", OracleDbType.Varchar2, 100), new OracleParameter(":C_PLANT", OracleDbType.Varchar2, 100), new OracleParameter(":C_ORD_ID", OracleDbType.Varchar2, 100), new OracleParameter(":C_BATCH_NO", OracleDbType.Varchar2, 100), new OracleParameter(":N_QUA_TOTAL", OracleDbType.Decimal, 15), new OracleParameter(":N_WGT_TOTAL", OracleDbType.Decimal, 15), new OracleParameter(":C_STL_GRD_SLAB", OracleDbType.Varchar2, 100), new OracleParameter(":C_SPEC_SLAB", OracleDbType.Varchar2, 100), new OracleParameter(":C_EMP_ID", OracleDbType.Varchar2, 100), new OracleParameter(":C_SHIFT", OracleDbType.Varchar2, 100), new OracleParameter(":C_GROUP", OracleDbType.Varchar2, 100), new OracleParameter(":D_MOD_DT", OracleDbType.Date), new OracleParameter(":N_QUA_REMOVE", OracleDbType.Decimal, 15), new OracleParameter(":N_WGT_REMOVE", OracleDbType.Decimal, 15), new OracleParameter(":C_MAT_SLAB_CODE", OracleDbType.Varchar2, 100), new OracleParameter(":C_MAT_SLAB_NAME", OracleDbType.Varchar2, 100), new OracleParameter(":C_REMARK", OracleDbType.Varchar2, 500), new OracleParameter(":N_STATUS", OracleDbType.Decimal, 15), new OracleParameter(":C_STD_CODE", OracleDbType.Varchar2, 100), new OracleParameter(":D_PRODUCE_DATE_B", OracleDbType.Date), new OracleParameter(":C_PRODUCE_EMP_ID", OracleDbType.Varchar2, 100), new OracleParameter(":C_PRODUCE_SHIFT", OracleDbType.Varchar2, 100), new OracleParameter(":C_PRODUCE_GROUP", OracleDbType.Varchar2, 100), new OracleParameter(":D_PRODUCE_DATE_E", OracleDbType.Date), new OracleParameter(":C_ID", OracleDbType.Varchar2, 100), new OracleParameter(":C_MAT_XC_CODE", OracleDbType.Varchar2, 100), new OracleParameter(":C_MAT_XC_NAME", OracleDbType.Varchar2, 100), new OracleParameter(":C_XC_BATCH_NO", OracleDbType.Varchar2, 100), new OracleParameter(":C_XC_LINEWH_CODE", OracleDbType.Varchar2, 100), new OracleParameter(":C_CHECKSTATE_NAME", OracleDbType.Varchar2, 100), new OracleParameter(":C_LINEWH_CODE", OracleDbType.Varchar2, 100), new OracleParameter(":C_LINEWH_NAME", OracleDbType.Varchar2, 100), new OracleParameter(":C_XC_BZYQ", OracleDbType.Varchar2, 100), }; parameters[0].Value = model.C_STA_ID; parameters[1].Value = model.C_PLANT; parameters[2].Value = model.C_ORD_ID; parameters[3].Value = model.C_BATCH_NO; parameters[4].Value = model.N_QUA_TOTAL; parameters[5].Value = model.N_WGT_TOTAL; parameters[6].Value = model.C_STL_GRD_SLAB; parameters[7].Value = model.C_SPEC_SLAB; parameters[8].Value = model.C_EMP_ID; parameters[9].Value = model.C_SHIFT; parameters[10].Value = model.C_GROUP; parameters[11].Value = model.D_MOD_DT; parameters[12].Value = model.N_QUA_REMOVE; parameters[13].Value = model.N_WGT_REMOVE; parameters[14].Value = model.C_MAT_SLAB_CODE; parameters[15].Value = model.C_MAT_SLAB_NAME; parameters[16].Value = model.C_REMARK; parameters[17].Value = model.N_STATUS; parameters[18].Value = model.C_STD_CODE; parameters[19].Value = model.D_PRODUCE_DATE_B; parameters[20].Value = model.C_PRODUCE_EMP_ID; parameters[21].Value = model.C_PRODUCE_SHIFT; parameters[22].Value = model.C_PRODUCE_GROUP; parameters[23].Value = model.D_PRODUCE_DATE_E; parameters[24].Value = model.C_ID; parameters[25].Value = model.C_MAT_XC_CODE; parameters[26].Value = model.C_MAT_XC_NAME; parameters[27].Value = model.C_XC_BATCH_NO; parameters[28].Value = model.C_XC_LINEWH_CODE; parameters[29].Value = model.C_CHECKSTATE_NAME; parameters[30].Value = model.C_LINEWH_CODE; parameters[31].Value = model.C_LINEWH_NAME; parameters[32].Value = model.C_XC_BZYQ; int rows = DbHelperOra.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
private NcRollA3 GetA3(Mod_TMO_ORDER order, Mod_TB_MATRL_MAIN ordMatrl, Mod_TB_MATRL_MAIN matrl, Mod_TRC_ROLL_WW_MAIN item, Mod_TB_STA tBSta, Mod_TRC_ROLL_PRODCUT xcItem) { var lineWhItem = dalLineWh.GetModelByCode(item.C_XC_LINEWH_CODE); var ncRollA3 = new NcRollA3 { ckckid = lineWhItem.C_ID, //出库仓库ID(TPB_LINEWH线材库ID) fjldwid = matrl.C_FJLDW, //辅助计量单位ID, fljcksl = (item.N_QUA_TOTAL ?? 0).ToString(), // 出库数量 flrq = DateTime.Now.ToString("yyyy-MM-dd"), freeitemvalue1 = xcItem.C_ZYX1, //order.C_FREE1,// 线材自由项1(暂认为委外与线材自由项一致) freeitemvalue2 = xcItem.C_ZYX2, //order.C_FREE2,//线材自由项2(暂认为委外与线材自由项一致) freeitemvalue3 = item.C_XC_BZYQ, // 线材包装要求 gzzxid = tBSta.C_ERP_PK, //工作中心ID hfreeitemvalue1 = order.C_FREE1, // 成品自由项1 hfreeitemvalue2 = order.C_FREE2, //成品自由项2 hfreeitemvalue3 = order.C_PACK, // 成品包装要求, hjldwid = ordMatrl.C_PK_MEASDOC, //主计量单位ID hpch = item.C_BATCH_NO, //批号 hwlbmid = ordMatrl.C_PK_INVBASDOC, //存货档案主键 hzdrid = item.C_PRODUCE_EMP_ID, //操作人 hzdrq = item.D_PRODUCE_DATE_B ?? DateTime.Now, //制单日期 jldwid = matrl.C_PK_MEASDOC, //计量单位 kgyid = item.C_PRODUCE_EMP_ID, //库管员 ljcksl = (item.N_WGT_TOTAL ?? 0).ToString(), //累计出库数量 pch = item.C_XC_BATCH_NO, //线材批号 wlbmid = matrl.C_PK_INVBASDOC, //存货档案主键 zdrq = DateTime.Now, }; return(ncRollA3); }
/// <summary> /// 得到一个对象实体 /// </summary> public Mod_TRC_ROLL_WW_MAIN DataRowToModel(DataRow row) { Mod_TRC_ROLL_WW_MAIN model = new Mod_TRC_ROLL_WW_MAIN(); if (row != null) { if (row["C_ID"] != null) { model.C_ID = row["C_ID"].ToString(); } if (row["C_STA_ID"] != null) { model.C_STA_ID = row["C_STA_ID"].ToString(); } if (row["C_PLANT"] != null) { model.C_PLANT = row["C_PLANT"].ToString(); } if (row["C_ORD_ID"] != null) { model.C_ORD_ID = row["C_ORD_ID"].ToString(); } if (row["C_BATCH_NO"] != null) { model.C_BATCH_NO = row["C_BATCH_NO"].ToString(); } if (row["N_QUA_TOTAL"] != null && row["N_QUA_TOTAL"].ToString() != "") { model.N_QUA_TOTAL = decimal.Parse(row["N_QUA_TOTAL"].ToString()); } if (row["N_WGT_TOTAL"] != null && row["N_WGT_TOTAL"].ToString() != "") { model.N_WGT_TOTAL = decimal.Parse(row["N_WGT_TOTAL"].ToString()); } if (row["C_STL_GRD_SLAB"] != null) { model.C_STL_GRD_SLAB = row["C_STL_GRD_SLAB"].ToString(); } if (row["C_SPEC_SLAB"] != null) { model.C_SPEC_SLAB = row["C_SPEC_SLAB"].ToString(); } if (row["C_EMP_ID"] != null) { model.C_EMP_ID = row["C_EMP_ID"].ToString(); } if (row["C_SHIFT"] != null) { model.C_SHIFT = row["C_SHIFT"].ToString(); } if (row["C_GROUP"] != null) { model.C_GROUP = row["C_GROUP"].ToString(); } if (row["D_MOD_DT"] != null && row["D_MOD_DT"].ToString() != "") { model.D_MOD_DT = DateTime.Parse(row["D_MOD_DT"].ToString()); } if (row["N_QUA_REMOVE"] != null && row["N_QUA_REMOVE"].ToString() != "") { model.N_QUA_REMOVE = decimal.Parse(row["N_QUA_REMOVE"].ToString()); } if (row["N_WGT_REMOVE"] != null && row["N_WGT_REMOVE"].ToString() != "") { model.N_WGT_REMOVE = decimal.Parse(row["N_WGT_REMOVE"].ToString()); } if (row["C_MAT_SLAB_CODE"] != null) { model.C_MAT_SLAB_CODE = row["C_MAT_SLAB_CODE"].ToString(); } if (row["C_MAT_SLAB_NAME"] != null) { model.C_MAT_SLAB_NAME = row["C_MAT_SLAB_NAME"].ToString(); } if (row["C_MAT_XC_CODE"] != null) { model.C_MAT_XC_CODE = row["C_MAT_XC_CODE"].ToString(); } if (row["C_MAT_XC_NAME"] != null) { model.C_MAT_XC_NAME = row["C_MAT_XC_NAME"].ToString(); } if (row["C_REMARK"] != null) { model.C_REMARK = row["C_REMARK"].ToString(); } if (row["N_STATUS"] != null && row["N_STATUS"].ToString() != "") { model.N_STATUS = decimal.Parse(row["N_STATUS"].ToString()); } if (row["C_STD_CODE"] != null) { model.C_STD_CODE = row["C_STD_CODE"].ToString(); } if (row["D_PRODUCE_DATE_B"] != null && row["D_PRODUCE_DATE_B"].ToString() != "") { model.D_PRODUCE_DATE_B = DateTime.Parse(row["D_PRODUCE_DATE_B"].ToString()); } if (row["C_PRODUCE_EMP_ID"] != null) { model.C_PRODUCE_EMP_ID = row["C_PRODUCE_EMP_ID"].ToString(); } if (row["C_PRODUCE_SHIFT"] != null) { model.C_PRODUCE_SHIFT = row["C_PRODUCE_SHIFT"].ToString(); } if (row["C_PRODUCE_GROUP"] != null) { model.C_PRODUCE_GROUP = row["C_PRODUCE_GROUP"].ToString(); } if (row["D_PRODUCE_DATE_E"] != null && row["D_PRODUCE_DATE_E"].ToString() != "") { model.D_PRODUCE_DATE_E = DateTime.Parse(row["D_PRODUCE_DATE_E"].ToString()); } if (row["C_XC_BATCH_NO"] != null) { model.C_XC_BATCH_NO = row["C_XC_BATCH_NO"].ToString(); } if (row["C_XC_LINEWH_CODE"] != null) { model.C_XC_LINEWH_CODE = row["C_XC_LINEWH_CODE"].ToString(); } if (row["C_CHECKSTATE_NAME"] != null) { model.C_XC_LINEWH_CODE = row["C_CHECKSTATE_NAME"].ToString(); } if (row["C_LINEWH_CODE"] != null) { model.C_LINEWH_CODE = row["C_LINEWH_CODE"].ToString(); } if (row["C_LINEWH_NAME"] != null) { model.C_LINEWH_NAME = row["C_LINEWH_NAME"].ToString(); } if (row["C_XC_BZYQ"] != null) { model.C_XC_BZYQ = row["C_XC_BZYQ"].ToString(); } } return(model); }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(Mod_TRC_ROLL_WW_MAIN model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into TRC_ROLL_WW_MAIN("); strSql.Append("C_ID,C_STA_ID,C_PLANT,C_ORD_ID,C_BATCH_NO,N_QUA_TOTAL,N_WGT_TOTAL,C_STL_GRD_SLAB,C_SPEC_SLAB,C_EMP_ID,C_SHIFT,C_GROUP,D_MOD_DT,N_QUA_REMOVE,N_WGT_REMOVE,C_MAT_SLAB_CODE,C_MAT_SLAB_NAME,C_REMARK,N_STATUS,C_STD_CODE,D_PRODUCE_DATE_B,C_PRODUCE_EMP_ID,C_PRODUCE_SHIFT,C_PRODUCE_GROUP,D_PRODUCE_DATE_E,C_MAT_XC_CODE,C_MAT_XC_NAME,C_XC_BATCH_NO,C_XC_LINEWH_CODE,C_CHECKSTATE_NAME,C_LINEWH_CODE,C_LINEWH_NAME,C_XC_BZYQ)"); strSql.Append(" values ("); strSql.Append(":C_ID,:C_STA_ID,:C_PLANT,:C_ORD_ID,:C_BATCH_NO,:N_QUA_TOTAL,:N_WGT_TOTAL,:C_STL_GRD_SLAB,:C_SPEC_SLAB,:C_EMP_ID,:C_SHIFT,:C_GROUP,:D_MOD_DT,:N_QUA_REMOVE,:N_WGT_REMOVE,:C_MAT_SLAB_CODE,:C_MAT_SLAB_NAME,:C_REMARK,:N_STATUS,:C_STD_CODE,:D_PRODUCE_DATE_B,:C_PRODUCE_EMP_ID,:C_PRODUCE_SHIFT,:C_PRODUCE_GROUP,:D_PRODUCE_DATE_E,:C_MAT_XC_CODE,:C_MAT_XC_NAME,:C_XC_BATCH_NO,:C_XC_LINEWH_CODE,:C_CHECKSTATE_NAME,:C_LINEWH_CODE,:C_LINEWH_NAME,:C_XC_BZYQ)"); OracleParameter[] parameters = { new OracleParameter(":C_ID", OracleDbType.Varchar2, 100), new OracleParameter(":C_STA_ID", OracleDbType.Varchar2, 100), new OracleParameter(":C_PLANT", OracleDbType.Varchar2, 100), new OracleParameter(":C_ORD_ID", OracleDbType.Varchar2, 100), new OracleParameter(":C_BATCH_NO", OracleDbType.Varchar2, 100), new OracleParameter(":N_QUA_TOTAL", OracleDbType.Decimal, 15), new OracleParameter(":N_WGT_TOTAL", OracleDbType.Decimal, 15), new OracleParameter(":C_STL_GRD_SLAB", OracleDbType.Varchar2, 100), new OracleParameter(":C_SPEC_SLAB", OracleDbType.Varchar2, 100), new OracleParameter(":C_EMP_ID", OracleDbType.Varchar2, 100), new OracleParameter(":C_SHIFT", OracleDbType.Varchar2, 100), new OracleParameter(":C_GROUP", OracleDbType.Varchar2, 100), new OracleParameter(":D_MOD_DT", OracleDbType.Date), new OracleParameter(":N_QUA_REMOVE", OracleDbType.Decimal, 15), new OracleParameter(":N_WGT_REMOVE", OracleDbType.Decimal, 15), new OracleParameter(":C_MAT_SLAB_CODE", OracleDbType.Varchar2, 100), new OracleParameter(":C_MAT_SLAB_NAME", OracleDbType.Varchar2, 100), new OracleParameter(":C_REMARK", OracleDbType.Varchar2, 500), new OracleParameter(":N_STATUS", OracleDbType.Decimal, 15), new OracleParameter(":C_STD_CODE", OracleDbType.Varchar2, 100), new OracleParameter(":D_PRODUCE_DATE_B", OracleDbType.Date), new OracleParameter(":C_PRODUCE_EMP_ID", OracleDbType.Varchar2, 100), new OracleParameter(":C_PRODUCE_SHIFT", OracleDbType.Varchar2, 100), new OracleParameter(":C_PRODUCE_GROUP", OracleDbType.Varchar2, 100), new OracleParameter(":D_PRODUCE_DATE_E", OracleDbType.Date), new OracleParameter(":C_MAT_XC_CODE", OracleDbType.Varchar2, 100), new OracleParameter(":C_MAT_XC_NAME", OracleDbType.Varchar2, 100), new OracleParameter(":C_XC_BATCH_NO", OracleDbType.Varchar2, 100), new OracleParameter(":C_XC_LINEWH_CODE", OracleDbType.Varchar2, 100), new OracleParameter(":C_CHECKSTATE_NAME", OracleDbType.Varchar2, 100), new OracleParameter(":C_LINEWH_CODE", OracleDbType.Varchar2, 100), new OracleParameter(":C_LINEWH_NAME", OracleDbType.Varchar2, 100), new OracleParameter(":C_XC_BZYQ", OracleDbType.Varchar2, 100), }; parameters[0].Value = model.C_ID; parameters[1].Value = model.C_STA_ID; parameters[2].Value = model.C_PLANT; parameters[3].Value = model.C_ORD_ID; parameters[4].Value = model.C_BATCH_NO; parameters[5].Value = model.N_QUA_TOTAL; parameters[6].Value = model.N_WGT_TOTAL; parameters[7].Value = model.C_STL_GRD_SLAB; parameters[8].Value = model.C_SPEC_SLAB; parameters[9].Value = model.C_EMP_ID; parameters[10].Value = model.C_SHIFT; parameters[11].Value = model.C_GROUP; parameters[12].Value = model.D_MOD_DT; parameters[13].Value = model.N_QUA_REMOVE; parameters[14].Value = model.N_WGT_REMOVE; parameters[15].Value = model.C_MAT_SLAB_CODE; parameters[16].Value = model.C_MAT_SLAB_NAME; parameters[17].Value = model.C_REMARK; parameters[18].Value = model.N_STATUS; parameters[19].Value = model.C_STD_CODE; parameters[20].Value = model.D_PRODUCE_DATE_B; parameters[21].Value = model.C_PRODUCE_EMP_ID; parameters[22].Value = model.C_PRODUCE_SHIFT; parameters[23].Value = model.C_PRODUCE_GROUP; parameters[24].Value = model.D_PRODUCE_DATE_E; parameters[25].Value = model.C_MAT_XC_CODE; parameters[26].Value = model.C_MAT_XC_NAME; parameters[27].Value = model.C_XC_BATCH_NO; parameters[28].Value = model.C_XC_LINEWH_CODE; parameters[29].Value = model.C_CHECKSTATE_NAME; parameters[30].Value = model.C_LINEWH_CODE; parameters[31].Value = model.C_LINEWH_NAME; parameters[32].Value = model.C_XC_BZYQ; int rows = TransactionHelper.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }