protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (ToolManager.CheckQueryString("productNumber") && ToolManager.CheckQueryString("version") && ToolManager.CheckQueryString("qty")) { string productNumber = ToolManager.GetQueryString("productNumber"); string version = ToolManager.GetQueryString("version"); string qty = ToolManager.GetQueryString("qty"); string customerProductNumber = ToolManager.GetQueryString("customerProductNumber"); string sql = string.Format(@"select Type from Product where ProductNumber ='{0}' and Version ='{1}'", productNumber, version); if (SqlHelper.GetScalar(sql).Equals("包")) { rpList.DataSource = WorkOrderManager.GetQuLiaoDetailForBao(productNumber, qty, customerProductNumber); rpList.DataBind(); show = "inline"; } else { show = "none"; rpList.DataSource = WorkOrderManager.GetQuLiaoDetail(productNumber, version, qty, customerProductNumber); rpList.DataBind(); } return; } } }
/// <summary> /// 写入工序临时表 /// </summary> private void SetGX() { string error = string.Empty; string userId = ToolCode.Tool.GetUser().UserNumber; string ids = ToolManager.GetParamsString("Ids"); string sql = string.Format(" delete T_Process_Temp where userId='{0}'", userId); SqlHelper.ExecuteSql(sql, ref error); string tempSql = string.Format(@"select * from ( select t.销售订单号+'^'+t.产品编号+'^'+t.版本+'^'+t.交期+'^'+t.行号 as Id,t.* from ({0} ) t)h where h.Id+'^'+'{2}' in ({1})", WorkOrderManager.GetOrderNofinesfinishedDetail(), ids, userId); tempSql = string.Format(@" select two.*,twt.Qty as 实际生产数量 from ({0})two inner join T_WorkOrder_Temp twt on twt.Id =two.Id +'^'+'{1}' where twt.User_id ='{1}' ", tempSql, userId); sql = string.Format(@" insert into T_Process_Temp(Id,UserId ,Team ,OrdersNumber ,ProductNumber ,Version ,CustomerProductNumber ,NonDeliveryQty , StockQty ,WorkInProgressQty ,NeedToProduceQty,LeadTime ,RowNumber ,WorkSnNumber,WorkSnName,SN,qty) select a.Id ,'{1}','',a.销售订单号,a.产品编号,a.版本,a.客户产品编号,a.未交货数量,a.库存数量,a.在制品数量, a.需要生产数量,a.交期,a.行号,a.工序编号,ws.WorkSnName,a.工序序号,a.实际生产数量 from ( select '{1}'+'-'+t.销售订单号+'-'+t.产品编号+'-'+t.客户产品编号+'-'+t.版本+'-'+t.行号+'-'+ISNULL ( pwsp.WorkSnNumber,'') as Id, t.销售订单号,t.产品编号,t.版本, t.未交货数量,t.库存数量,t.在制品数量,t.需要生产数量,t.交期,t.行号,t.客户产品编号,ISNULL ( pwsp.WorkSnNumber,'') as 工序编号 ,pwsp.RowNumber as 工序序号,t.实际生产数量 from ( {0} )t left join ProductWorkSnProperty pwsp on t.产品编号=pwsp .ProductNumber and t.版本=pwsp .Version where t.需要生产数量>0) a left join WorkSn ws on a.工序编号=ws.WorkSnNumber order by a.销售订单号 asc,a.产品编号,a.版本,a.行号 asc ,a.工序序号 asc ", tempSql, userId); SqlHelper.ExecuteSql(sql, ref error); }
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); }
public static string GetProductProcessProductNumber() { string sqlproduct = string.Format(@" select distinct t.产品编号 from (select t.*,so.CustomerId ,p.Description from ({0})t left join SaleOder so on t.销售订单号=so.OdersNumber left join Product p on t.产品编号=p.ProductNumber and t.版本=p.Version ) t left join Customer c on t.CustomerId=c.CustomerId left join ProductCustomerProperty pcp on t.CustomerId=pcp.CustomerId and t.产品编号=pcp.ProductNumber and t.版本=pcp.Version", WorkOrderManager.GetOrderNofinesfinishedDetail()); return(GetOption(sqlproduct, "产品编号", "产品编号")); }
//添加小组临时表信息 private void LoadXZ(bool isZZ, string productId) { string userId = ToolCode.Tool.GetUser().UserNumber; List <string> sqls = new List <string>(); string error = string.Empty; string sql = string.Format(" delete T_XZWorkOrderTemp where UserId='{0}'", userId); sqls.Add(sql); sql = string.Format(@"select t.销售订单号+'^'+t.产品编号+'^'+t.版本+'^'+t.交期+'^'+t.行号+'^'+'{1}' as Id, t.销售订单号,t.产品编号,t.版本, t.未交货数量,t.库存数量,t.在制品数量,t.需要生产数量,t.交期,t.行号,t.客户产品编号 from ({0})t where t.需要生产数量>0", WorkOrderManager.GetOrderNofinesfinishedDetail(), userId); sql = string.Format(@" insert into T_XZWorkOrderTemp(Id,OrdersNumber,ProductNumber,Version ,NonDeliveryQty,StockQty,WorkInProgressQty,NeedToProduceQty,LeadTime,RowNumber,CustomerProductNumber,UserId) select *,'{2}' from ({0})t where t.Id in ({1})", sql, productId, userId); sqls.Add(sql); SqlHelper.BatchExecuteSql(sqls, ref error); Response.Write(LoadData(isZZ)); Response.End(); return; }
protected void btnSubmit_Click(object sender, EventArgs e) { string plannumber = lblPlanNumber.Text; string team = lblTeam.Text; string ordersnumber = lblOrdersNumber.Text; string productnumber = lblProductNumber.Text; string version = lblVersion.Text; string rownumber = lblRowNumber.Text; string finishqty = txtFinishQty.Text; int fiqty = string.IsNullOrEmpty(finishqty) ? 0 : Convert.ToInt32(finishqty); string takeline = txtTakeLine.Text; string remark = txtRemark.Text; string nextteam = txtNextTeam.Text; string sql = string.Empty; string error = string.Empty; List <string> sqls = new List <string>(); ProductPlanSubDetail productplansubdetail = new ProductPlanSubDetail(); productplansubdetail.IsHalfProduct = drpHalf.SelectedValue == "是" ? true : false; productplansubdetail.OrdersNumber = ordersnumber; productplansubdetail.PlanNumber = plannumber; productplansubdetail.ProductNumber = productnumber; productplansubdetail.Version = version; productplansubdetail.Team = team; productplansubdetail.QLMareialNumbers = txtQL.Text; productplansubdetail.RowNumber = rownumber; string userId = ToolCode.Tool.GetUser().UserNumber; int oldQty = string.IsNullOrEmpty(txtOldQty.Text) ? 0 : Convert.ToInt32(txtOldQty.Text); int oldFQty = string.IsNullOrEmpty(txtOldFQty.Text) ? 0 : Convert.ToInt32(txtOldFQty.Text); int nowFQty = string.IsNullOrEmpty(txtFinishQty.Text) ? 0 : Convert.ToInt32(txtFinishQty.Text); if ((nowFQty + oldFQty) > oldQty) { lbSubmit.Text = "完成数量<=套数-已完成数量"; return; } else { nowFQty += oldFQty; } yqty = nowFQty; //int fqty = allqty - yqty; //if (fiqty > fqty) //{ // lbSubmit.Text = "完成数量<=套数-已完成数量"; // return; //} //if (yqty == 0) //{ // yqty = fiqty;//如果完成数量为0,则已完成数量等入输入的数量 //} //else //{ // yqty = yqty + fiqty;//已完成数量=完成数量+已经完成数量 //} sql = string.Format(@"update ProductPlanSubDetail set FinishQty={0},TakeLine='{1}',Remark='{2}' ,NextTeam='{9}',UpdateTime='{10}' where PlanNumber='{3}' and Team='{4}' and OrdersNumber='{5}' and ProductNumber='{6}' and Version='{7}' and RowNumber='{8}'", yqty, takeline, remark, plannumber, team, ordersnumber, productnumber, version, rownumber, nextteam, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); sqls.Add(sql); productplansubdetail.Qty = txtFinishQty.Text.Trim().Equals("") ? "0" : txtFinishQty.Text.Trim(); sqls.Add(WorkOrderManager.GetRecordSql(productplansubdetail)); if (team == "检验") { List <string> temps = WorkOrderManager.GetGenerateProductWarehouseLogSql(productplansubdetail, userId); sqls.AddRange(temps); } else if (team != "检验" && drpHalf.SelectedValue == "是") { if (txtQL.Text == "") { lbSubmit.Text = "缺料原材料编号不允许为空!"; return; } } bool result = SqlHelper.BatchExecuteSql(sqls, ref error); lbSubmit.Text = result == true ? "修改成功" : "修改失败!原因:" + error; if (result) { Tool.WriteLog(Tool.LogType.Operating, "编辑开工单分表明细" + lblPlanNumber.Text, "编辑成功"); Response.Write(@" <script> window.close(); </script>"); Response.End(); return; } else { Tool.WriteLog(Tool.LogType.Operating, "编辑开工单分表明细" + lblPlanNumber.Text, "编辑失败!原因:" + error); return; } }
// Use this for initialization void Start() { workOrderManager = GameObject.Find("WorkOrderManager").GetComponent <WorkOrderManager> (); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (ToolManager.CheckParams("IsDelete")) { List <string> sqls = new List <string>(); string planNumber = ToolManager.GetParamsString("PlanNumber"); string sql = string.Format(@"delete ProductPlanSubDetail where PlanNumber='{0}' ", planNumber); sqls.Add(sql); sql = string.Format(@" delete ProductPlanSub where PlanNumber='{0}' ", planNumber); sqls.Add(sql); sql = string.Format(@" delete ProductPlanDetail where PlanNumber='{0}' ", planNumber); sqls.Add(sql); sql = string.Format(@" delete ProductPlan where PlanNumber='{0}' ", planNumber); sqls.Add(sql); string error = string.Empty; string result = SqlHelper.BatchExecuteSql(sqls, ref error) ? "ok" : error; Tool.WriteLog(Tool.LogType.Operating, "删除开工单" + planNumber, result); Response.Write(result); Response.End(); return; } //确认领料 if (ToolManager.CheckQueryString("IsConfirmCollar")) { string type = ToolManager.GetQueryString("IsConfirmCollar"); type = type.Equals("sc") ? "生产出库" : "包装出库"; string error = string.Empty; string result = string.Empty; string userId = ToolCode.Tool.GetUser().UserNumber; string[] array = ToolManager.GetQueryString("PlanNumbers").Split(','); foreach (string str in array) { if (!WorkOrderManager.EnterKGD(str, userId, ref error, type)) { result += error; } } if (string.IsNullOrEmpty(result)) { Response.Write("1"); Response.End(); return; } else { Response.Write(result); Response.End(); return; } } //查询 if (ToolManager.CheckQueryString("pageIndex")) { GetPageOperation("btnSearch", "EditProductPlan.aspx", "ProductPlanDetailList.aspx", "ProductPlanSubList.aspx"); } //审核 if (ToolManager.CheckQueryString("check")) { string check = ToolManager.GetQueryString("check"); string temp = ProductPlan.check(ToolManager.GetQueryString("check")); bool result = temp == "1" ? true : false; if (result) { Tool.WriteLog(Tool.LogType.Operating, "审核开工单信息" + ToolManager.ReplaceSingleQuotesToBlank(check), "审核成功"); Response.Write(temp); Response.End(); return; } else { Tool.WriteLog(Tool.LogType.Operating, "审核开工单信息" + ToolManager.ReplaceSingleQuotesToBlank(check), "审核失败!原因" + temp); Response.Write(temp); Response.End(); return; } } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { WorkOrderManager.RepairData(); //设置工序开工班组 if (ToolManager.CheckParams("GXPRdouctId")) { string ids = ToolManager.GetParamsString("GXPRdouctId"); string team = ToolManager.GetParamsString("Team"); SetGXTeam(ids, team); } //显示工序信息 if (ToolManager.CheckParams("IsLoadGX")) { SetGX(); Response.Write(LoadGX()); Response.End(); return; } //生成工序开工单 if (ToolManager.CheckQueryString("IsGenerateGX")) { string userId = ToolCode.Tool.GetUser().UserNumber; WorkOrderManager.RepairData(); var result = WorkOrderManager.GenerateGX(userId); WorkOrderManager.RepairData(); Response.Write(result); Response.End(); return; } //生成小组开工单 if (ToolManager.CheckQueryString("IsGenerateXZ")) { string userId = ToolCode.Tool.GetUser().UserNumber; WorkOrderManager.RepairData(); var result = WorkOrderManager.GenerateXZ(userId); WorkOrderManager.RepairData(); Response.Write(result); Response.End(); return; } //更新小组开工单班组【制造】 if (ToolManager.CheckParams("SetType")) { string setType = ToolManager.GetParamsString("SetType"); UpdateTem(setType); } //检验 if (ToolManager.CheckParams("IsJY")) { LoadXZ(false, ToolManager.GetParamsString("ProductId")); } //加载小组临时数据[制造] if (ToolManager.CheckParams("ProductId")) { LoadXZ(true, ToolManager.GetParamsString("ProductId")); } //第四步【小组开工单,不拆分】 if (ToolManager.CheckParams("Four")) { Four(); } //往工序临时表插入数据 if (ToolManager.CheckQueryString("GetGX")) { SetGX(); } //加载未完成订单明细 LoadPage(); } }
public static void GetPageOperation(string btnId) { string tempSql = WorkOrderManager.GetOrderNofinesfinishedDetail(); string sql = string.Format(@" select t.销售订单号,t.CustomerOrderNumber as 客户采购订单号,t.OdersType as 订单类型, pcp.CustomerProductNumber as 客户产成品编号,t.产品编号,t.版本,t.订单数量, t.已交货数量, case when t.未交货数量 <0 then 0 else t.未交货数量 end as 未交货数量 ,t.库存数量,t.在制品数量, case when t.未交货数量 <0 then 0-t.库存数量-isnull(noAddQty.qty,0)-producting.productQty else t.未交货数量-t.库存数量-isnull(noAddQty.qty,0)-producting.productQty end as 需要生产数量, t.交期,t.行号,t.Description as 产品描述,c.CustomerName as 客户名称 from ( select t.*,so.CustomerId,so.OdersType ,p.Description,so . CustomerOrderNumber from ({0})t left join SaleOder so on t.销售订单号=so.OdersNumber left join Product p on t.产品编号=p.ProductNumber and t.版本=p.Version ) t left join Customer c on t.CustomerId=c.CustomerId left join ProductCustomerProperty pcp on t.CustomerId=pcp.CustomerId and t.产品编号=pcp.ProductNumber and t.版本=pcp.Version left join ( select ProductNumber,Version,SUM(qty) as qty from ProductWarehouseLogDetail where WarehouseNumber in ( select WarehouseNumber from ProductWarehouseLog where ChangeDirection='入库' and ISNULL(CheckTime,'')='' ) group by ProductNumber,Version) as noAddQty on t.产品编号=noAddQty.ProductNumber and t.版本=noAddQty.Version left join ( select ProductNumber,Version , case when sum(Qty)-SUM(StorageQty)<0 then 0 else sum(Qty)-SUM(StorageQty) end as productQty from ProductPlanDetail group by ProductNumber,Version ) as producting on t.产品编号=producting.ProductNumber and t.版本=producting.Version ", tempSql); if (string.IsNullOrEmpty(tempSql)) { string responseValue1 = "" + "^" + "" + "^" + "" + "^" + "0"; HttpContext.Current.Response.Write(responseValue1); HttpContext.Current.Response.End(); return; } int pageCount = 0; //总页数 int totalRecords = 0; //总行数 string error = string.Empty; string text = string.Empty; string tdTextTemp = string.Empty; string pageIndex = ToolManager.GetQueryString("pageIndex"); string pageSize = ToolManager.GetQueryString("pageSize"); string sortName = ToolManager.GetQueryString("sortName"); string sortDirection = ToolManager.GetQueryString("sortDirection"); string querySql = ToolManager.GetQueryString("querySql"); //querySql += querySql + "and t.需要生产数量>0"; DataTable dt = SqlHelper.GetDataForPage(pageIndex, pageSize, sql + " " + querySql, string.Format(" order by {0} {1},产品编号 asc,版本 asc,交期 asc", sortName, sortDirection), ref totalRecords); int columCount = dt.Columns.Count; foreach (DataRow dr in dt.Rows) { tdTextTemp = ""; for (int i = 0; i < columCount; i++) { if (i == 0) { tdTextTemp += string.Format("<td style='display:none;'>{0}</td>", dr[i]); } else { if (dt.Columns[i].ColumnName.Equals("需要生产数量")) { int temp = 0; if (dr[i] != null && dr[i] != DBNull.Value && Convert.ToInt32(dr[i]) > 0) { temp = Convert.ToInt32(dr[i]); } tdTextTemp += "<td>" + temp + "</td>"; } else { tdTextTemp += string.Format("<td>{0}</td>", dr[i]); } } } text += string.Format(@"<tr>{1}</tr> ", dr[1], tdTextTemp); } string pageing = ToolManager.PagerGetAjax("http://www.baidu.com", totalRecords, Convert.ToInt32(pageIndex), Convert.ToInt32(pageSize), ref pageCount); string responseValue = pageCount.ToString() + "^" + text + "^" + pageing + "^" + totalRecords; HttpContext.Current.Response.Write(responseValue); HttpContext.Current.Response.End(); }
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; }