private static void SetActualProductQty() { string userId = ToolCode.Tool.GetUser().UserNumber; string tempSql = string.Format(@" select t.销售订单号+'^'+t.产品编号+'^'+t.版本+'^'+t.交期+'^'+t.行号+'^'+'{1}' as Id, t.销售订单号,t.产品编号,t.版本, case when t.未交货数量 <0 then 0 else t.未交货数量 end as 未交货数量 , t.库存数量,t.在制品数量,t.需要生产数量,t.交期,t.行号,t.客户产品编号 from ({0})t where 1=1", WorkOrderManager.GetWorkOrderSql(), userId); List <string> sqls = new List <string>(); string error = string.Empty; string sql = string.Format("delete T_WorkOrder_Temp where user_id='{0}'", userId); sqls.Add(sql); sql = string.Format(@" insert into T_WorkOrder_Temp(id,Qty,User_id) select t.Id,t.需要生产数量,'{1}' from ({0})t ", tempSql, userId); sqls.Add(sql); SqlHelper.BatchExecuteSql(sqls, ref error); }
private static void GetPage() { ToolManager.ZDJC(); //SetActualProductQty(); string error = string.Empty; string tdTextTemp = string.Empty; string text = string.Empty; string temp = string.Empty; string sortName = ToolManager.GetQueryString("sortName"); string sortDirection = ToolManager.GetQueryString("sortDirection"); string condition = ToolManager.GetQueryString("condition"); string userId = ToolCode.Tool.GetUser().UserNumber; string tempSql = string.Format(@" select t.销售订单号+'^'+t.产品编号+'^'+t.版本+'^'+t.交期+'^'+t.行号+'^'+'{1}' as Id, t.销售订单号, t.产品编号, t.版本, case when t.未交货数量 <0 then 0 else t.未交货数量 end as 未交货数量 , t.库存数量, t.在制品数量, t.未入库数量, t.送货单未确认数量, t.需要生产数量, t.交期, t.行号, t.客户产品编号 from ({0})t where 1=1" , WorkOrderManager.GetWorkOrderSql(), userId); string sql = string.Format(@" select t.Id, t.销售订单号, so.CustomerOrderNumber as 客户采购订单号, so.OdersType as 订单类型, t.客户产品编号, t.产品编号, t.版本, t.未交货数量, t.库存数量 as 实时库存数量, isnull( t.在制品数量,0), t.未入库数量, t.送货单未确认数量, t.需要生产数量, twt.Qty as 实际生产数量, t.交期, t.行号 from ({0}) t left join SaleOder so on so.OdersNumber=t.销售订单号 left join T_WorkOrder_Temp twt on twt.Id=t.Id {3} and t.需要生产数量>0 order by {1} {2}" , tempSql, sortName, sortDirection, condition); int columCount = 0; DataTable dt = SqlHelper.GetTable(sql); if (dt != null) { columCount = dt.Columns.Count; } else { HttpContext.Current.Response.Write(text); HttpContext.Current.Response.End(); return; } string color = string.Empty; string titileName = string.Empty; foreach (DataRow dr in dt.Rows) { tdTextTemp = ""; temp = ""; for (int i = 0; i < columCount; i++) { //if (i == 7) //{ // string sqlGetQty = string.Format("select StockQty from ProductStock where ProductNumber='{0}' and Version='{1}'", dr["产品编号"], dr["版本"]); // object ob = SqlHelper.GetScalar(sqlGetQty); // ob = ob == null ? 0 : ob; // tdTextTemp += string.Format("<td>{0}</td><td>{1}</td>", ob, dr[i]); //} //else //{ if (!dt.Columns[i].ColumnName.Equals("Id")) { if (dt.Columns[i].ColumnName.Equals("客户产品编号")) { color = HasGX(dr["产品编号"].ToString(), dr["版本"].ToString()) ? "black" : "red"; titileName = HasGX(dr["产品编号"].ToString(), dr["版本"].ToString()) ? "" : "title='该产品没有工序信息'"; tdTextTemp += string.Format("<td><span style='color:{1};' {2}>{0}</span> </td>", dr[i], color, titileName); } else if (dt.Columns[i].ColumnName.Equals("产品编号")) { color = HasBOM(dr["产品编号"].ToString(), dr["版本"].ToString()) ? "black" : "red"; titileName = HasBOM(dr["产品编号"].ToString(), dr["版本"].ToString()) ? "" : "title='该产品没有BOM信息'"; tdTextTemp += string.Format("<td><span style='color:{1};' {2}>{0}</span> </td>", dr[i], color, titileName); } else { tdTextTemp += string.Format("<td>{0}</td>", dr[i]); } } //} } //bool isQueLiao = GetIsQueLiao(dr["产品编号"].ToString(), dr["版本"].ToString(), dr["实际生产数量"].ToString()); //if (isQueLiao) //{ // tdTextTemp += string.Format("<td><a href='###' title='点击查看缺料明细' onclick=\"Check('{0}','{1}','{2}','{3}')\">是</a></td>", dr["产品编号"].ToString(), dr["版本"].ToString(), dr["实际生产数量"].ToString(), dr["客户产品编号"]); //} //else //{ // tdTextTemp += string.Format("<td>否</td>"); //} tdTextTemp += string.Format(@" <td><a href='###' onclick=""EditQty('{0}','{1}')"">编辑</a> </td>", dr["Id"], dr["需要生产数量"]); temp = string.Format(" <input type='checkbox' name='subBox' value='{0}'/> ", dr["Id"]); text += string.Format(@"<tr><td>{0}</td>{1}</tr>", temp, tdTextTemp); } HttpContext.Current.Response.Write(text); HttpContext.Current.Response.End(); return; }