/// <summary> /// 设置 /// </summary> public override void EntitySet() { ItemBuyForm entity = new ItemBuyForm(); entity.ID = HTDataID; bool findFlag = entity.SelectByID(); HTDataFormNo = entity.FormNo; txtFormNo.Text = entity.FormNo.ToString(); txtMakeOPName.Text = entity.MakeOPName.ToString(); txtMakeDate.DateTime = entity.MakeDate; txtFormDate.DateTime = entity.FormDate; txtReqDate.DateTime = entity.ReqDate; txtTotalQty.Text = entity.TotalQty.ToString(); txtTotalAmount.Text = entity.TotalAmount.ToString(); drpPayMothodFlag.EditValue = entity.PayMethodFlag; txtRemark.Text = entity.Remark.ToString(); drpVendorID.EditValue = entity.ShopID; txtOrderFormNo.Text = entity.OrderFormNo.ToString(); HTDataSubmitFlag = entity.SubmitFlag; HTDataDelFlag = entity.DelFlag; txtContractDesc.Text = entity.ContractDesc; txtOrderDate.DateTime = entity.OrderDate; drpCGOPID.EditValue = entity.CGOPID; drpSaleOPID.EditValue = entity.SaleOPID; if (!findFlag) { } BindGridDts(); BindOrderInfo(); }
/// <summary> /// 获得实体 /// </summary> /// <returns></returns> private ItemBuyForm EntityGet() { ItemBuyForm entity = new ItemBuyForm(); entity.ID = HTDataID; entity.SelectByID(); entity.FormNo = txtFormNo.Text.Trim(); entity.MakeOPName = txtMakeOPName.Text.Trim(); entity.MakeDate = txtMakeDate.DateTime.Date; entity.FormDate = txtFormDate.DateTime.Date; entity.ReqDate = txtReqDate.DateTime.Date; entity.OrderFormNo = txtOrderFormNo.Text.Trim(); entity.TotalQty = SysConvert.ToDecimal(txtTotalQty.Text.Trim()); entity.TotalAmount = SysConvert.ToDecimal(txtTotalAmount.Text.Trim()); entity.PayMethodFlag = SysConvert.ToInt32(drpPayMothodFlag.EditValue); entity.Remark = SysConvert.ToString(txtRemark.Text.Trim()); entity.ShopID = SysConvert.ToString(drpVendorID.EditValue); entity.OrderFormNo = txtOrderFormNo.Text.Trim(); entity.OrderDate = txtOrderDate.DateTime; entity.ContractDesc = txtContractDesc.Text.Trim(); entity.SaleOPID = SysConvert.ToString(drpSaleOPID.EditValue); entity.CGOPID = SysConvert.ToString(drpCGOPID.EditValue); entity.FormAID = this.FormListAID; entity.MLType = (int)EnumMLType.辅料; return(entity); }
private void frmItemBuyFormEdit_FormClosing(object sender, FormClosingEventArgs e) { try { if (HTDataID > 0) { ItemBuyForm entity = new ItemBuyForm(); entity.ID = HTDataID; entity.SelectByID(); if (entity.SubmitFlag == 0) { if (DialogResult.Yes != ShowConfirmMessage(this.Text + Environment.NewLine + "没有提交单据,是否确认关闭窗体")) { e.Cancel = true; } } } } catch (Exception E) { this.ShowMessage(E.Message); } }
/// <summary> /// 审核 /// </summary> /// <param name="p_FormID">单据ID</param> /// <param name="p_Type">0/1/2/3:弃审/审核</param> public void RSubmit(int p_FormID, int p_Type, IDBTransAccess sqlTrans) { try { int p_TempType = p_Type;//处理状态 string sql = string.Empty; ItemBuyForm entity = new ItemBuyForm(sqlTrans); entity.ID = p_FormID; entity.SelectByID(); if (entity.SubmitFlag == p_Type)//如果相同异常 { throw new Exception("单据状态重复设置,请关闭程序重新打开操作"); } if (p_Type == (int)ConfirmFlag.未提交) //撤销提交验证 { if (SysConvert.ToBoolean(ProductParamSet.GetIntValueByID(5609))) //采购单有仓库单据不允许修改 { bool allowOPFlag = true; string refuseMessage = string.Empty; DataTable dtSOFlow; if (allowOPFlag) { //仓库流程单据 sql = "SELECT TOP 1 ID,FormNo FROM UV1_WH_IOFormDts WHERE DtsSO=" + SysString.ToDBString(entity.FormNo); dtSOFlow = SysUtils.Fill(sql); if (dtSOFlow.Rows.Count != 0) { allowOPFlag = false; refuseMessage = "此单已有仓库单据(单号):" + dtSOFlow.Rows[0]["FormNo"].ToString() + ",不允许撤销"; } } if (!allowOPFlag)//不允许操作 { throw new Exception(refuseMessage); } } } sql = "UPDATE Buy_ItemBuyForm SET SubmitFlag=" + SysString.ToDBString(p_Type); //if (p_Type == (int)ConfirmFlag.审核通过 || p_Type == (int)ConfirmFlag.审核拒绝) //{ //sql += ",SubmitOPID=" + SysString.ToDBString(ParamConfig.LoginName) + ",SubmitTime=" + SysString.ToDBString(DateTime.Now); //} sql += " WHERE ID=" + p_FormID.ToString();//更新单据主表审核状态 sqlTrans.ExecuteNonQuery(sql); int tempSaleProcedureID = 0; switch (entity.FormAID)//1/2/3/4/5:成品,坯布,纱线,色坯,辅料 { case 1: tempSaleProcedureID = (int)EnumSaleProcedure.成品采购单; break; case 2: tempSaleProcedureID = (int)EnumSaleProcedure.坯布采购单; break; case 3: tempSaleProcedureID = (int)EnumSaleProcedure.纱线采购单; break; case 4: tempSaleProcedureID = (int)EnumSaleProcedure.坯布采购单; break; case 5: //辅料 tempSaleProcedureID = (int)EnumSaleProcedure.辅料采购单; break; } if (p_Type == (int)YesOrNo.Yes) { if (tempSaleProcedureID != (int)EnumSaleProcedure.坯布采购单) { sql = "SELECT DtsSO,ItemCode,ColorNum,ColorName FROM Buy_ItemBuyFormDts WHERE MainID=" + p_FormID; DataTable dtDts = sqlTrans.Fill(sql); SaleOrderRule salerule = new SaleOrderRule(); foreach (DataRow dr in dtDts.Rows) { salerule.RUpdateStep(dr["DtsSO"].ToString(), dr["ItemCode"].ToString(), dr["ColorNum"].ToString(), dr["ColorName"].ToString(), tempSaleProcedureID, 0, 0, 0, p_Type, true, sqlTrans); } } else //坯布采购加载订单时候 将订单里的 ItemCode 加载到 CPItemCode { sql = "SELECT DtsSO,CPItemCode,ColorNum,ColorName FROM Buy_ItemBuyFormDts WHERE MainID=" + p_FormID; DataTable dtDts = sqlTrans.Fill(sql); SaleOrderRule salerule = new SaleOrderRule(); foreach (DataRow dr in dtDts.Rows) { salerule.RUpdateStep(dr["DtsSO"].ToString(), dr["CPItemCode"].ToString(), dr["ColorNum"].ToString(), dr["ColorName"].ToString(), tempSaleProcedureID, 0, 0, 0, p_Type, true, sqlTrans); } } } //#region 回填采购完成数 //if (p_Type == (int)YesOrNo.Yes)//提交 //{ // if (entity.MLType == (int)EnumMLType.纱线 || entity.MLType == (int)EnumMLType.白坯) // { // decimal TotalQty = 0m; // sql = "SELECT SUM(Qty) Qty FROM Buy_ItemBuyFormDts WHERE MainID=" + p_FormID; // DataTable dtDts = sqlTrans.Fill(sql); // if (dtDts.Rows.Count != 0) // { // TotalQty = SysConvert.ToDecimal(dtDts.Rows[0]["Qty"]); // } // sql = "SELECT ID FROM Sale_SaleOrderDts WHERE MainID=(SELECT ID FROM Sale_SaleOrder WHERE FormNo=" + SysString.ToDBString(entity.OrderFormNo) + ")"; // DataTable dtorder = sqlTrans.Fill(sql);//寻找原始订单 // if (dtorder.Rows.Count != 0) // { // while (TotalQty > 0m)//开始回填 // { // for (int i = 0; i < dtorder.Rows.Count;i++ ) // { // SaleOrderDts orderentity = new SaleOrderDts(sqlTrans); // orderentity.ID = SysConvert.ToInt32(dtorder.Rows[i]["ID"]); // bool findR=orderentity.SelectByID(); // if (i == dtorder.Rows.Count - 1) // { // switch (entity.MLType) // { // case (int)EnumMLType.纱线: // orderentity.PSCGQty += TotalQty; // TotalQty = 0; // break; // case (int)EnumMLType.白坯: // orderentity.PBCGQty += TotalQty; // TotalQty = 0; // break; // default: // break; // } // } // else // { // // decimal HTQty = DifQty <= TotalQty ? DifQty : TotalQty; // switch (entity.MLType) // { // case (int)EnumMLType.纱线: // decimal DifPSQty = orderentity.Qty - orderentity.PSCGQty; // if (TotalQty <= DifPSQty) // { // orderentity.PSCGQty += TotalQty; // TotalQty = 0; // break; // } // else // { // if (DifPSQty > 0) // { // orderentity.PSCGQty += DifPSQty; // TotalQty -= DifPSQty; // break; // } // } // break; // case (int)EnumMLType.白坯: // decimal DifPBQty = orderentity.Qty - orderentity.PBCGQty; // if (TotalQty <= DifPBQty) // { // orderentity.PBCGQty += TotalQty; // TotalQty = 0; // break; // } // else // { // if (DifPBQty > 0) // { // orderentity.PBCGQty += DifPBQty; // TotalQty -= DifPBQty; // break; // } // } // break; // default: // break; // } // } // if (findR) // { // SaleOrderDtsRule rule = new SaleOrderDtsRule(); // rule.RUpdate(orderentity, sqlTrans); // } // } //For循环结尾 // } //While结尾 // } // else // { // throw new Exception("数据出现异常未找到原始订单"); // } // } // if (entity.MLType == (int)EnumMLType.成品) // { // sql = "SELECT ItemCode,ColorNum,ColorName,Qty FROM Buy_ItemBuyFormDts WHERE MainID=" + p_FormID; // DataTable dtDts1 = sqlTrans.Fill(sql); // foreach(DataRow dr in dtDts1.Rows) // { // sql = "SELECT DtsID FROM UV1_Sale_SaleOrderDts WHERE FormNo=" + SysString.ToDBString(entity.OrderFormNo); // sql += " AND ItemCode=" + SysString.ToDBString(dr["ItemCode"].ToString()); // sql += " AND ColorNum=" + SysString.ToDBString(dr["ColorNum"].ToString()); // sql += " AND ColorName=" + SysString.ToDBString(dr["ColorName"].ToString()); // DataTable dtorder = sqlTrans.Fill(sql);//寻找原始订单 // if (dtorder.Rows.Count == 1) // { // SaleOrderDts orderentity = new SaleOrderDts(sqlTrans); // orderentity.ID = SysConvert.ToInt32(dtorder.Rows[0]["DtsID"]); // bool findR=orderentity.SelectByID(); // orderentity.CPCGQty += SysConvert.ToDecimal(dr["Qty"]); // if (findR) // { // SaleOrderDtsRule rule = new SaleOrderDtsRule(); // rule.RUpdate(orderentity, sqlTrans); // } // } // else // { // throw new Exception("数据出现异常未找到原始订单 订单号:"+entity.FormNo); // } // } // } //} //else //撤销提交回填数量 //{ // if (entity.MLType == (int)EnumMLType.纱线 || entity.MLType == (int)EnumMLType.白坯) // { // decimal TotalQty = 0m; // sql = "SELECT SUM(Qty) Qty FROM Buy_ItemBuyFormDts WHERE MainID=" + p_FormID; // DataTable dtDts = sqlTrans.Fill(sql); // if (dtDts.Rows.Count != 0) // { // TotalQty = SysConvert.ToDecimal(dtDts.Rows[0]["Qty"]); // } // sql = "SELECT ID FROM Sale_SaleOrderDts WHERE MainID=(SELECT ID FROM Sale_SaleOrder WHERE FormNo=" + SysString.ToDBString(entity.OrderFormNo) + ")"; // DataTable dtorder = sqlTrans.Fill(sql);//寻找原始订单 // if (dtorder.Rows.Count != 0) // { // while (TotalQty > 0m)//开始回填 // { // for (int i = 0; i < dtorder.Rows.Count; i++) // { // SaleOrderDts orderentity = new SaleOrderDts(sqlTrans); // orderentity.ID = SysConvert.ToInt32(dtorder.Rows[i]["ID"]); // bool findR=orderentity.SelectByID(); // if (i == dtorder.Rows.Count - 1) // { // switch (entity.MLType) // { // case (int)EnumMLType.纱线: // orderentity.PSCGQty -= TotalQty; // //if (orderentity.PSCGQty < 0) // //{ // // orderentity.PSCGQty = 0; // //} // TotalQty = 0; // break; // case (int)EnumMLType.白坯: // orderentity.PBCGQty -= TotalQty; // //if (orderentity.PBCGQty < 0) // //{ // // orderentity.PBCGQty = 0; // //} // TotalQty = 0; // break; // default: // break; // } // } // else // { // switch (entity.MLType) // { // case (int)EnumMLType.纱线: // // decimal DifPSQty = orderentity.Qty - orderentity.PSCGQty; // if (TotalQty <= orderentity.PSCGQty) // { // orderentity.PSCGQty -= TotalQty; // TotalQty = 0; // break; // } // else // { // if (orderentity.PSCGQty > 0) // { // TotalQty -= orderentity.PSCGQty; // orderentity.PSCGQty =0; // break; // } // } // break; // case (int)EnumMLType.白坯: // //decimal DifPBQty = orderentity.Qty - orderentity.PBCGQty; // if (TotalQty <= orderentity.PBCGQty) // { // orderentity.PBCGQty -= TotalQty; // TotalQty = 0; // break; // } // else // { // if (orderentity.PBCGQty > 0) // { // TotalQty -= orderentity.PBCGQty; // orderentity.PBCGQty= 0; // break; // } // } // break; // default: // break; // } // } // if (findR) // { // SaleOrderDtsRule rule = new SaleOrderDtsRule(); // rule.RUpdate(orderentity, sqlTrans); // } // } //For循环结尾 // } //While结尾 // } // else // { // throw new Exception("数据出现异常未找到原始订单"); // } // } // if (entity.MLType == (int)EnumMLType.成品) // { // sql = "SELECT ItemCode,ColorNum,ColorName,Qty FROM Buy_ItemBuyFormDts WHERE MainID=" + p_FormID; // DataTable dtDts1 = sqlTrans.Fill(sql); // foreach (DataRow dr in dtDts1.Rows) // { // sql = "SELECT DtsID FROM UV1_Sale_SaleOrderDts WHERE FormNo=" + SysString.ToDBString(entity.OrderFormNo); // sql += " AND ItemCode=" + SysString.ToDBString(dr["ItemCode"].ToString()); // sql += " AND ColorNum=" + SysString.ToDBString(dr["ColorNum"].ToString()); // sql += " AND ColorName=" + SysString.ToDBString(dr["ColorName"].ToString()); // DataTable dtorder = sqlTrans.Fill(sql);//寻找原始订单 // if (dtorder.Rows.Count == 1) // { // SaleOrderDts orderentity = new SaleOrderDts(sqlTrans); // orderentity.ID = SysConvert.ToInt32(dtorder.Rows[0]["DtsID"]); // bool findR= orderentity.SelectByID(); // orderentity.CPCGQty -= SysConvert.ToDecimal(dr["Qty"]); // if (findR) // { // SaleOrderDtsRule rule = new SaleOrderDtsRule(); // rule.RUpdate(orderentity, sqlTrans); // } // } // else // { // throw new Exception("数据出现异常未找到原始订单 订单号:" + entity.FormNo); // } // } // } //} //#endregion } catch (BaseException) { throw; } catch (Exception E) { throw new BaseException(E.Message); } }