using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Text;
|
using System.Windows.Forms;
|
using gregn6Lib;
|
using SQLHelper;
|
using DBUtility;
|
using System.IO;
|
using System.Reflection;
|
using Pub_Class;
|
|
namespace WorkM
|
{
|
public partial class MES_StationEntrustInBillList : Form
|
{
|
public MES_StationEntrustInBillList()
|
{
|
InitializeComponent();
|
}
|
public DBUtility.frmBillQueryCondition_New frmCondition;
|
public string ViewName = "h_v_MES_StationEntrustInBillList";
|
public string ModCaption = "委外发出列表";
|
public const string ModName = "3792";
|
public const string ModRightName = "MES_StationEntrustInBill";
|
public const string ModRightNameEdit = ModRightName + "_Edit";
|
public const string ModRightNameCheck = ModRightName + "_Check";
|
public const string ModRightNameClose = ModRightName + "_Close";
|
public const string ModRightNameDelete = ModRightName + "_Delete";
|
public const string ModRightNameMoney = ModRightName + "_Money";
|
DAL.ClsSc_StationEntrustInBill oBill = new DAL.ClsSc_StationEntrustInBill();
|
public MES_StationEntrustInBill oFrm;
|
//public MES_StationEntrustInBill_NoLot oFrm2;
|
Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum();
|
public string sDlgWhere = ""; //外窗体递入
|
|
//
|
private void initGrid()
|
{
|
DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name);
|
DBUtility.Xt_BaseBillFun.initGridList(grdSumPrint, this.Name + "123");
|
}
|
//
|
|
private void Display()
|
{
|
try
|
{
|
ClsCN SubCn = new ClsCN();
|
DataSet DSet;
|
string sSql = "";
|
string sWhere = "";
|
|
if (chkWJieAn.Checked == true)
|
{
|
sWhere = " and HBillStatus<>3 ";
|
}
|
|
if (frmCondition.SqlStr.Trim().Length == 0)
|
{
|
sSql = "Select top 5000 * from " + ViewName + " Where 1=1 " + sWhere + sDlgWhere + " order by 日期 desc,单据号 desc ";
|
}
|
else
|
{
|
sSql = frmCondition.SqlStr + sWhere + sDlgWhere + " order by 日期 desc,单据号 desc ";
|
}
|
//
|
DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo);
|
//生成首行标题
|
if (DSet == null)
|
{
|
MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo);
|
return;
|
}
|
//释放冻结
|
DBUtility.Xt_BaseBillFun.CancelFrozenCol(grdMain);
|
//
|
grdMain.DataSource = DSet.Tables[0].DefaultView;
|
//设置合计列
|
string sTotalCol = "";
|
sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(DSet);
|
string[] sT;
|
sT = sTotalCol.Split(Convert.ToChar(","));
|
oSumGrid.BuildTotalCols(sT);
|
//
|
//冻结
|
int FrCol = DBUtility.ClsPub.isInt(frmCondition.txtFrozenCol.Text);
|
string s = frmCondition.cmbHComplete.Text;
|
DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, s, FrCol);
|
//画线
|
GraphLine();
|
|
Total();
|
////判断金额权限
|
//if (!ClsPub.Security_Log(ModRightNameMoney, 1, false, DBUtility.ClsPub.CurUserName))
|
//{
|
|
// grdMain.Columns[Fun_GetCol("单价")].Visible = false;
|
// grdMain.Columns[Fun_GetCol("金额")].Visible = false;
|
// grdMain.Columns[Fun_GetCol("备注")].Visible = false;
|
//}
|
//for (int i = 0; i < grdMain.Rows.Count; i++)
|
//{
|
// if (DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[Fun_GetCol("是否打印")].Value) == "是")
|
// {
|
// grdMain.Rows[i].DefaultCellStyle.BackColor = Color.Violet;
|
// }
|
//}
|
//
|
}
|
catch(Exception e)
|
{
|
MessageBox.Show("显示失败!" + e.Message);
|
|
}
|
}
|
//
|
private void timer1_Tick(object sender, EventArgs e)
|
{
|
timer1.Enabled = false;
|
initGrid();
|
Display();
|
}
|
|
private void tc_Click(object sender, EventArgs e)
|
{
|
this.Close();
|
}
|
|
private void sx_Click(object sender, EventArgs e)
|
{
|
timer1.Enabled = true;
|
}
|
|
private void dj_Click(object sender, EventArgs e)
|
{
|
Sub_ShowBill();
|
}
|
//显示单据
|
private void Sub_ShowBill()
|
{
|
Int64 lngBillKey = 0;
|
string HLotNo = "";
|
if (grdMain.CurrentRow == null)
|
return;
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
HLotNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("流转卡号")].Value);
|
if (lngBillKey == 0)
|
return;
|
DAL.ClsSc_StationEntrustInBill oBill = new DAL.ClsSc_StationEntrustInBill();
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
if (HLotNo == "无Lot卡委外")
|
{
|
//oFrm2 = new MES_StationEntrustInBill_NoLot();
|
//oFrm2.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View;
|
//oFrm2.BillOld = oBill;
|
//oFrm2.ShowDialog();
|
//if (oFrm2.BillChange)
|
//{
|
// if (MessageBox.Show("单据列表已经发生变化,是否刷新", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
|
// {
|
// timer1.Enabled = true;
|
// }
|
//}
|
}
|
else
|
{
|
oFrm = new MES_StationEntrustInBill();
|
oFrm.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View;
|
oFrm.BillOld = oBill;
|
oFrm.ShowDialog();
|
if (oFrm.BillChange)
|
{
|
if (MessageBox.Show("单据列表已经发生变化,是否刷新", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
|
{
|
timer1.Enabled = true;
|
}
|
}
|
}
|
}
|
else
|
{
|
MessageBox.Show("单据未找到", "提示");
|
}
|
oBill = null;
|
}
|
//
|
private Int32 Fun_GetCol(string sCol)
|
{
|
return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain);
|
}
|
//
|
private Int32 Fun_GetCol2(string sCol)
|
{
|
return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdSub1);
|
}
|
//
|
private void MES_StationEntrustInBillList_Load(object sender, EventArgs e)
|
{
|
//
|
frmCondition = new frmBillQueryCondition_New();
|
this.Text = ModCaption;
|
lblCaption.Text = ModCaption;
|
oSumGrid.ogrdMain = grdMain; //初始化 new
|
oSumGrid.oGridsum = grdSum;
|
initGrid();
|
chkWJieAn.Checked = true;
|
}
|
|
private void grdMain_DblClick(object sender, EventArgs e)
|
{
|
Sub_ShowBill();
|
}
|
|
private void cx_Click(object sender, EventArgs e)
|
{
|
frmCondition = new frmBillQueryCondition_New();
|
SetCondition(frmCondition, ViewName, this.Name);
|
frmCondition.ShowDialog();
|
if (frmCondition.Tag.ToString() == "OK")
|
{
|
Display();
|
}
|
}
|
|
public void SetCondition(frmBillQueryCondition_New frmCondition, string ViewName, string Name)
|
{
|
frmCondition.Tag = "";
|
frmCondition.ViewName = ViewName;
|
frmCondition.ModName = Name;
|
}
|
|
private void xz_Click(object sender, EventArgs e)
|
{
|
//
|
oFrm = new MES_StationEntrustInBill();
|
oFrm.ShowDialog();
|
}
|
|
private void sc_Click(object sender, EventArgs e)
|
{
|
Sub_DeleteBill();
|
}
|
//删除
|
private void Sub_DeleteBill()
|
{
|
//编辑权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName))
|
{
|
return;
|
}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.CurrentRow == null)
|
return;
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
DAL.ClsSc_StationEntrustInBill oBill = new DAL.ClsSc_StationEntrustInBill();
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
if (MessageBox.Show("确定要删除当前单据?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
|
{
|
ClsXt_SystemParameter oClsXt_SystemParameter = new ClsXt_SystemParameter();
|
string DeleteCtl = oClsXt_SystemParameter.GetSingleSystemParameter("MES_StationEntrustInBill_DeleteCtl", ref DBUtility.ClsPub.sExeReturnInfo);
|
|
if (DeleteCtl == "Y" && oBill.omodel.HMaker != DBUtility.ClsPub.CurUserName && DBUtility.ClsPub.CurUserName != "admin" && DBUtility.ClsPub.CurUserName != "Admin")
|
{
|
MessageBox.Show("登录用户与制单人不一致,不允许删除", "提示");
|
return;
|
}
|
|
string c = "";
|
//if (oBill.DeleteCheck(oBill.omodel.HInterID, "委外发出单", ref c) == false)
|
//{
|
// MessageBox.Show(c, "提示");
|
// return;
|
//}
|
//判断会计期是否合理
|
string s = "";
|
int sYear = 0;
|
int sPeriod = 0;
|
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(DBUtility.ClsPub.isDate(oBill.omodel.HDate), ref sYear, ref sPeriod, ref s) == false)
|
{
|
MessageBox.Show(s, "提示");
|
return;
|
}
|
|
|
if (oBill.omodel.HChecker != "")
|
{
|
MessageBox.Show("单据已经审核,不能删除!", "提示");
|
return;
|
|
|
}
|
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
DataSet ds;
|
//判断是否存在 相同单据号 的领料单 判断生产订单是否已结案,要求计划手工反结案
|
ds = oCn.RunProcReturn("exec h_p_MES_StationInBill_DelCtrl '" + oBill.omodel.HBillNo + "'", "h_p_MES_StationInBill_DelCtrl");
|
if (ds == null)
|
{
|
MessageBox.Show("判断关联失败!");
|
return;
|
}
|
if (ds.Tables[0].Rows.Count > 0 && Pub_Class.ClsPub.isInt(ds.Tables[0].Rows[0][0]) == 2)
|
{
|
MessageBox.Show(Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]));
|
return;
|
}
|
|
//if (!oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
|
//写入删除日志
|
string WorkList = "删除委外发出单:" + oBill.omodel.HBillNo;
|
//BLL.ClsPub_BLL.System_Log_DropAdd(WorkList);
|
if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
MessageBox.Show(DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
else
|
{
|
Display();
|
}
|
|
}
|
}
|
else
|
{
|
MessageBox.Show("单据未找到", "提示");
|
}
|
}
|
|
private void timer2_Tick(object sender, EventArgs e)
|
{
|
timer2.Enabled = false;
|
frmCondition = new frmBillQueryCondition_New();
|
SetCondition(frmCondition, ViewName, this.Name);
|
frmCondition.ShowDialog();
|
if (frmCondition.Tag.ToString() == "OK")
|
{
|
timer1.Enabled = true;
|
}
|
}
|
|
|
|
private void bclk_Click(object sender, EventArgs e)
|
{
|
//保存列宽
|
DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name);
|
}
|
|
private void mrlk_Click(object sender, EventArgs e)
|
{
|
DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name);
|
}
|
//
|
private void GraphLine()
|
{
|
int MainIDCol = Fun_GetCol("hmainid");
|
int SubIDCol = Fun_GetCol("hsubid");
|
string s = frmCondition.cmbHComplete.Text;
|
long n = 0;
|
DBUtility.Xt_BaseBillFun.GraphLine(grdMain, MainIDCol, SubIDCol, s, ref n);
|
//显示
|
lbldj.Text = "查询出 " + n.ToString() + " 张单据";
|
lbljl.Text = "共有 " + grdMain.RowCount.ToString() + " 条记录";
|
}
|
//审核
|
private void sh_Click(object sender, EventArgs e)
|
{
|
this.Sub_CheckBill();
|
}
|
|
//审核单据
|
private void Sub_CheckBill()
|
{
|
//审核权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, DBUtility.ClsPub.CurUserName))
|
{
|
return;
|
}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.CurrentRow == null)
|
return;
|
for (int i = 0; i < grdMain.SelectedRows.Count; i++)
|
{
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
continue;
|
DAL.ClsSc_StationEntrustInBill oBill = new DAL.ClsSc_StationEntrustInBill();
|
//查看是否已审核,关闭,作废
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
if (oBill.omodel.HChecker.Trim() != "")
|
{
|
//MessageBox.Show("单据已审核!不能再次审核", "提示");
|
continue;
|
}
|
}
|
else
|
{
|
//MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
continue;
|
}
|
//审核
|
if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
//MessageBox.Show("审核成功!", "提示");
|
continue;
|
}
|
else
|
{
|
//MessageBox.Show("审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
continue;
|
}
|
}
|
MessageBox.Show("审核完毕!", "提示");
|
Display();
|
}
|
//反审单据
|
private void Sub_AbandonCheck()
|
{
|
//审核权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, DBUtility.ClsPub.CurUserName))
|
{
|
return;
|
}
|
//
|
Int64 lngBillKey = 0;
|
string sBillNo = "";
|
if (grdMain.CurrentRow == null)
|
return;
|
for (int i = 0; i < grdMain.SelectedRows.Count; i++)
|
{
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value);
|
sBillNo = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("单据号")].Value);
|
if (lngBillKey == 0)
|
continue;
|
DAL.ClsSc_StationEntrustInBill oBill = new DAL.ClsSc_StationEntrustInBill();
|
////检查是否开票
|
//string d = "";
|
//if (oBill.CheckIsKP(lngBillKey, ref d) == false)
|
//{
|
// MessageBox.Show("单据号:" + sBillNo+"已开票,未进行反审核!", "提示");
|
// continue;
|
//}
|
//查看是否已审核,关闭,作废
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
if (oBill.omodel.HChecker.Trim() == "")
|
{
|
//MessageBox.Show("单据未审核!不需要反审核!", "提示");
|
continue;
|
}
|
}
|
else
|
{
|
//MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
continue;
|
}
|
//反审核
|
if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
//MessageBox.Show("反审核成功!", "提示");
|
continue;
|
}
|
else
|
{
|
//MessageBox.Show("反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
continue;
|
}
|
}
|
MessageBox.Show("反审核完毕!", "提示"); ;
|
Display();
|
}
|
//反审核
|
private void qsh_Click(object sender, EventArgs e)
|
{
|
Sub_AbandonCheck();
|
}
|
|
private void GraphicsGrid()
|
{
|
DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain);
|
}
|
|
#region //打印设置
|
|
GridppReport Report;
|
//预览
|
private void yl_Click(object sender, EventArgs e)
|
{
|
Int64 lngBillKey = 0;
|
string sInterID = "";
|
if (grdMain.CurrentRow == null)
|
return;
|
for (int i = 0; i < grdMain.SelectedRows.Count; i++)
|
{
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
sInterID = sInterID + lngBillKey.ToString() + ",";
|
}
|
if (sInterID.Length > 1)
|
{
|
sInterID = sInterID.Remove(sInterID.Length - 1, 1);
|
}
|
if (dy_Check() == false)
|
{
|
MessageBox.Show("不允许打印不同送货单号!");
|
return;
|
}
|
|
//SQLHelper.ClsCN oCn = new ClsCN();
|
//DataSet Ds;
|
//Ds = oCn.RunProcReturn("exec h_p_MES_StationEntrustInBill_DY '" + sInterID + "','" + ClsPub.CurUserName + "'", "h_p_MES_StationEntrustInBill_DY");
|
|
//grdSub1.DataSource = Ds.Tables[0].DefaultView;
|
|
//选择打印模板
|
BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp();
|
oFrm.sBillName = ModName;
|
oFrm.sBillModel = ModCaption;
|
oFrm.ShowDialog();
|
if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
|
{
|
//
|
Sub_SetReport(oFrm.sOpenTmp);
|
Report.PrintPreview(false);
|
}
|
}
|
public bool dy_Check()
|
{
|
string sHInnerBillNo = "";
|
for (int i = 0; i < grdMain.SelectedRows.Count; i++)
|
{
|
if (i == 0)
|
{
|
sHInnerBillNo = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("送货单号")].Value);
|
}
|
else
|
{
|
if (sHInnerBillNo != DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("送货单号")].Value))
|
{
|
return false;
|
}
|
}
|
}
|
return true;
|
}
|
|
private void Sub_SetReport(string sOpenTmp)
|
{
|
//判断行数
|
//
|
Report = new GridppReport();
|
Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + sOpenTmp + ".grf"); //here .
|
Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord);
|
Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable);
|
}
|
|
private void Sub_SetReport2(string sOpenTmp)
|
{
|
//判断行数
|
//
|
Report = new GridppReport();
|
Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + sOpenTmp + ".grf"); //here .
|
Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord2);
|
Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable2);
|
}
|
|
public string sHSUPNAME;
|
public string sHFHBILLNO;
|
public string sHDATE;
|
|
|
//打印赋值表头
|
private void ReportBeforePostRecord2()//
|
{
|
Report.FieldByName("客户").AsString = sHSUPNAME;
|
Report.FieldByName("发货单号").AsString = sHFHBILLNO;
|
Report.FieldByName("日期").AsString = sHDATE;
|
}
|
|
private void ReportFetchRecordByDataTable2()
|
{
|
DataTable oDt = new DataTable();
|
BLL.Utility.FillRecordToReport(Report, grdSumPrint, oDt, 0);
|
}
|
|
//打印赋值表头
|
private void ReportBeforePostRecord()//
|
{
|
//Report.FieldByName("供应商名称").AsString = DBUtility.ClsPub.isStrNull(grdSub1.Rows[0].Cells[Fun_GetCol2("供应商名称")].Value);
|
Report.FieldByName("供应商").AsString = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells[Fun_GetCol("供应商")].Value);
|
Report.FieldByName("日期").AsString = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells[Fun_GetCol("日期")].Value);
|
//Report.FieldByName("接受人").AsString = DBUtility.ClsPub.isStrNull(grdSub1.Rows[0].Cells[Fun_GetCol2("接受人")].Value);
|
//Report.FieldByName("供应商电话1").AsString = DBUtility.ClsPub.isStrNull(grdSub1.Rows[0].Cells[Fun_GetCol2("供应商电话1")].Value);
|
//Report.FieldByName("供应商电话2").AsString = DBUtility.ClsPub.isStrNull(grdSub1.Rows[0].Cells[Fun_GetCol2("供应商电话2")].Value);
|
//Report.FieldByName("币别").AsString = DBUtility.ClsPub.isStrNull(grdSub1.Rows[0].Cells[Fun_GetCol2("币别")].Value);
|
Report.FieldByName("单据号").AsString = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells[Fun_GetCol("单据号")].Value);
|
Report.FieldByName("订单跟踪号").AsString = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells[Fun_GetCol("订单跟踪号")].Value);
|
}
|
private void ReportFetchRecordByDataTable()
|
{
|
DataTable oDt = new DataTable();
|
BLL.Utility.FillRecordToReport(Report, grdMain, oDt, 0);
|
}
|
//预览引出
|
private void Sub_SetReportYc(string sOpenTmp)
|
{
|
//判断行数
|
//
|
Report = new GridppReport();
|
Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + sOpenTmp + ".grf"); //here .
|
Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecordYc);
|
Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTableYc);
|
}
|
|
//打印赋值表头
|
private void ReportBeforePostRecordYc()//
|
{
|
|
}
|
private void ReportFetchRecordByDataTableYc()
|
{
|
DataTable oDt = new DataTable();
|
BLL.Utility.FillRecordToReport(Report, grdMain, oDt, Fun_GetCol2("hmainid"));
|
}
|
//
|
#endregion
|
//
|
private void grdMain_Paint(object sender, PaintEventArgs e)
|
{
|
GraphicsGrid();
|
}
|
|
//合计 new
|
private void Total()
|
{
|
if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0)
|
{
|
oSumGrid.SetGridsum();
|
oSumGrid.TotalAll();
|
//oSumGrid.Total();
|
}
|
}
|
//合计 new
|
private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
|
{
|
Total();
|
}
|
//合计 new
|
private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
|
{
|
//Total();
|
}
|
//引出EXCEL
|
private void dc_Click(object sender, EventArgs e)
|
{
|
//DataGridViewToExcel2();
|
ylyc();
|
}
|
//打印模板预览引出
|
private void ylyc()
|
{
|
Sub_SetReportYc("委外工序转出单引出");
|
Report.PrintPreview(false);
|
}
|
|
private void dy_Click(object sender, EventArgs e)
|
{
|
Int64 lngBillKey = 0;
|
string sInterID = "";
|
if (grdMain.CurrentRow == null)
|
return;
|
for (int i = 0; i < grdMain.SelectedRows.Count; i++)
|
{
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
sInterID = sInterID + lngBillKey.ToString() + ",";
|
}
|
if (sInterID.Length > 1)
|
{
|
sInterID = sInterID.Remove(sInterID.Length - 1, 1);
|
}
|
|
if (dy_Check() == false)
|
{
|
MessageBox.Show("不允许打印不同送货单号!");
|
return;
|
}
|
//SQLHelper.ClsCN oCn = new ClsCN();
|
//DataSet Ds;
|
//Ds = oCn.RunProcReturn("exec h_p_MES_StationEntrustInBill_DY '" + sInterID + "','" + ClsPub.CurUserName + "'", "h_p_MES_StationEntrustInBill_DY");
|
|
//grdSub1.DataSource = Ds.Tables[0].DefaultView;
|
|
//选择打印模板
|
BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp();
|
oFrm.sBillName = ModName;
|
oFrm.sBillModel = ModCaption;
|
oFrm.ShowDialog();
|
if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
|
{
|
//
|
Sub_SetReport(oFrm.sOpenTmp);
|
Report.Print(false);
|
//更新 打印次数
|
for (int i = 0; i < grdMain.SelectedRows.Count; i++)
|
{
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
//oCn.RunProc("update Sc_StationInBillMain set HPrintQty=isnull(HPrintQty,0)+1 where HInterID=" + lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo);
|
grdMain.SelectedRows[i].Cells[Fun_GetCol("是否打印")].Value = "是";
|
grdMain.SelectedRows[i].DefaultCellStyle.BackColor = Color.Violet;
|
}
|
}
|
}
|
|
private void txtHBillNo_KeyDown(object sender, KeyEventArgs e)
|
{
|
if (e.KeyCode == Keys.Enter)
|
{
|
Sub_FastQuery();
|
}
|
}
|
//快速过滤
|
private void Sub_FastQuery()
|
{
|
string sFastSQL = "";
|
//单据号
|
if (txtHBillNo.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 单据号 like '%" + txtHBillNo.Text + "%'";
|
}
|
//流转卡号
|
if (txtHLotNo.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 流转卡号 like '%" + txtHLotNo.Text + "%'";
|
}
|
//产品
|
if (txtHMaterID.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and (产品代码 like '%" + txtHMaterID.Text + "%' or 产品名称 like '%" + txtHMaterID.Text + "%')";
|
}
|
//订单跟踪号
|
if (txtHOrderProcNO.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 订单跟踪号 like '%" + txtHOrderProcNO.Text + "%'";
|
}
|
//送货单号
|
if (txtHInnerBillNo.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 送货单号 like '%" + txtHInnerBillNo.Text + "%'";
|
}
|
//if (sFastSQL.Trim() == "")
|
//{
|
// MessageBox.Show("没有输入条件!");
|
// return;
|
//}
|
sDlgWhere = sFastSQL;
|
Display();
|
}
|
|
private void DataGridViewToExcel2()
|
{
|
SaveFileDialog saveFileDialog = new SaveFileDialog();
|
saveFileDialog.Filter = "Execl文件(*.xls)|*.xls";
|
saveFileDialog.FilterIndex = 0;
|
saveFileDialog.RestoreDirectory = true;
|
saveFileDialog.CreatePrompt = true;
|
saveFileDialog.Title = "数据视图导出EXCEL文件";
|
saveFileDialog.ShowDialog();
|
if (saveFileDialog.FileName == "")
|
{
|
return;
|
}
|
Stream myStream;
|
myStream = saveFileDialog.OpenFile();
|
StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312"));
|
string str = "";
|
DateTime start = DateTime.Now;
|
try
|
{
|
//写标题
|
bool sFirstCol = true;
|
for (int i = 0; i < grdMain.ColumnCount; i++)
|
{
|
if (i > 0 && grdMain.Columns[i].HeaderText.Substring(0, 1) != "h" && grdMain.Columns[i].HeaderText.Substring(0, 1) != "H" && sFirstCol != true)
|
{
|
str += "\t";
|
}
|
if (grdMain.Columns[i].HeaderText.Substring(0, 1) != "h" && grdMain.Columns[i].HeaderText.Substring(0, 1) != "H")
|
{
|
sFirstCol = false;
|
str += grdMain.Columns[i].HeaderText;
|
}
|
}
|
sw.WriteLine(str);
|
|
//写内容
|
for (int j = 0; j < grdMain.Rows.Count; j++)
|
{
|
string tempStr = "";
|
sFirstCol = true;
|
for (int k = 0; k < grdMain.Columns.Count; k++)
|
{
|
if (k > 0 && grdMain.Columns[k].HeaderText.Substring(0, 1) != "h" && grdMain.Columns[k].HeaderText.Substring(0, 1) != "H" && sFirstCol != true)
|
{
|
tempStr += "\t";
|
}
|
if (grdMain.Columns[k].HeaderText.Substring(0, 1) != "h" && grdMain.Columns[k].HeaderText.Substring(0, 1) != "H")
|
{
|
sFirstCol = false;
|
if (grdMain.Rows[j].Cells[k].Value == null)
|
{
|
tempStr += string.Empty;
|
}
|
else
|
{
|
tempStr += grdMain.Rows[j].Cells[k].Value.ToString();
|
}
|
}
|
}
|
sw.WriteLine(tempStr);
|
}
|
sw.Close();
|
myStream.Close();
|
}
|
catch (Exception ex)
|
{
|
MessageBox.Show(ex.Message);
|
}
|
finally
|
{
|
sw.Close();
|
myStream.Close();
|
}
|
MessageBox.Show("将此工作表导出为excel共耗时:" + DateTime.Now.Subtract(start).TotalMilliseconds.ToString() + "毫秒");
|
}
|
|
private void txtHLotNo_KeyDown(object sender, KeyEventArgs e)
|
{
|
if (e.KeyCode == Keys.Enter)
|
{
|
Sub_FastQuery();
|
}
|
}
|
|
private void txtHOrderProcNO_KeyDown(object sender, KeyEventArgs e)
|
{
|
if (e.KeyCode == Keys.Enter)
|
{
|
Sub_FastQuery();
|
}
|
}
|
|
private void txtHMaterID_KeyDown(object sender, KeyEventArgs e)
|
{
|
if (e.KeyCode == Keys.Enter)
|
{
|
Sub_FastQuery();
|
}
|
}
|
|
private void txtHInnerBillNo_KeyDown(object sender, KeyEventArgs e)
|
{
|
if (e.KeyCode == Keys.Enter)
|
{
|
Sub_FastQuery();
|
}
|
}
|
|
private void gb_Click(object sender, EventArgs e)
|
{
|
//审核权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, DBUtility.ClsPub.CurUserName))
|
{
|
return;
|
}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.CurrentRow == null)
|
return;
|
for (int i = 0; i < grdMain.SelectedRows.Count; i++)
|
{
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
continue;
|
DAL.ClsSc_StationEntrustInBill oBill = new DAL.ClsSc_StationEntrustInBill();
|
//查看是否已审核,关闭,作废
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
//if (oBill.omodel.HChecker.Trim() != "")
|
//{
|
// //MessageBox.Show("单据已审核!不能再次审核", "提示");
|
// continue;
|
//}
|
}
|
else
|
{
|
//MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
continue;
|
}
|
//关闭
|
if (oBill.CloseBill(lngBillKey) == true)
|
{
|
//MessageBox.Show("审核成功!", "提示");
|
continue;
|
}
|
else
|
{
|
//MessageBox.Show("审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
continue;
|
}
|
}
|
MessageBox.Show("关闭完毕!", "提示");
|
Display();
|
}
|
|
private void hf_Click(object sender, EventArgs e)
|
{
|
//审核权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, DBUtility.ClsPub.CurUserName))
|
{
|
return;
|
}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.CurrentRow == null)
|
return;
|
for (int i = 0; i < grdMain.SelectedRows.Count; i++)
|
{
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
continue;
|
DAL.ClsSc_StationEntrustInBill oBill = new DAL.ClsSc_StationEntrustInBill();
|
//查看是否已审核,关闭,作废
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
//if (oBill.omodel.HChecker.Trim() == "")
|
//{
|
// //MessageBox.Show("单据未审核!不需要反审核!", "提示");
|
// continue;
|
//}
|
}
|
else
|
{
|
//MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
continue;
|
}
|
//反审核
|
if (oBill.CancelClose(lngBillKey) == true)
|
{
|
//MessageBox.Show("反审核成功!", "提示");
|
continue;
|
}
|
else
|
{
|
//MessageBox.Show("反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
continue;
|
}
|
}
|
MessageBox.Show("反关闭完毕!", "提示"); ;
|
Display();
|
}
|
|
private void yc_Click(object sender, EventArgs e)
|
{
|
DataGridViewToExcel2();
|
}
|
|
private void grdMain_Scroll(object sender, ScrollEventArgs e)
|
{
|
if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
|
{
|
Total();
|
}
|
}
|
|
//根据选择的委外发出列表 回填发货单号
|
private void fahuo_Click(object sender, EventArgs e)
|
{
|
//判断是否选择了不同供应商
|
Int64 sSupID = 0;
|
string sInterID_Mul = "";
|
for (int i = 0; i < grdMain.SelectedRows.Count; i++)
|
{
|
if (sSupID == 0)
|
{
|
sSupID=DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.SelectedRows[i].Index].Cells[Fun_GetCol("HSUPID")].Value);
|
}
|
if(sSupID!=DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.SelectedRows[i].Index].Cells[Fun_GetCol("HSUPID")].Value))
|
{
|
MessageBox.Show("选择了不同的供应商!", "提示");
|
return ;
|
}
|
//判断是否选择了已接收的单据
|
if (DBUtility.ClsPub.isDoule(grdMain.Rows[grdMain.SelectedRows[i].Index].Cells[Fun_GetCol("已接收合格PNL数")].Value) > 0)
|
{
|
MessageBox.Show("选择的发出单已经被接收不能编制!", "提示");
|
return ;
|
}
|
//叠加单据内码
|
sInterID_Mul = sInterID_Mul + ",'" + DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.SelectedRows[i].Index].Cells[Fun_GetCol("HMainID")].Value) + "'";
|
}
|
//根据单据规则自动生成发货单号(年月日+‘-’+流水号0001),找到最大的单据号加1
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
//获取单据号
|
DataSet ds;
|
int iSNO = 0;
|
string sNo = "";
|
string sTodayDate = DBUtility.ClsPub.GetServerDate(0).Replace("-", "");
|
string sFHBillNo = "";
|
|
ds = oCn.RunProcReturn("select top 1 a.HInnerBillNo,a.HDate from Sc_StationInBillMain a Where a.HInnerBillNo<>'' " +
|
" and a.HInnerBillNo like '" + sTodayDate + "-%' " +
|
" order by a.HInnerBillNo desc ", "Sc_StationInBillMain");
|
if (ds == null || ds.Tables[0].Rows.Count == 0 || DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0][0]).Contains("-") == false)
|
{
|
iSNO = 1;
|
}
|
else
|
{
|
sFHBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0][0]);
|
iSNO = DBUtility.ClsPub.isInt(sFHBillNo.Substring(sFHBillNo.Length - 4, 4));
|
iSNO = iSNO + 1;
|
sFHBillNo = "";
|
}
|
sNo = "0000" + iSNO.ToString();
|
sNo = sNo.Substring(sNo.Length - 4, 4);
|
sFHBillNo = sTodayDate + "-" + sNo;
|
//循环回填发货单并写入变量
|
if (sInterID_Mul.Trim() != "")
|
{
|
sInterID_Mul = sInterID_Mul.Substring(1, sInterID_Mul.Length - 1);
|
}
|
oCn.RunProc("update Sc_StationInBillMain set HInnerBillNo='" + sFHBillNo + "' Where HinterID in (" + sInterID_Mul + ")");
|
//写入日志
|
DBUtility.ClsPub.Add_Log(DBUtility.ClsPub.CurUserName, "生成发货单" + sFHBillNo + "-" + sInterID_Mul.Replace("'", ""), DBUtility.ClsPub.CurUserName);
|
//刷新界面
|
Display();
|
}
|
|
//根据选择某个发货单打印
|
private void fhdy_Click(object sender, EventArgs e)
|
{
|
//判断是否选择了多个发货单
|
string sFHBillNo = "";
|
for (int i = 0; i < grdMain.SelectedRows.Count; i++)
|
{
|
if (sFHBillNo == "")
|
{
|
sFHBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.SelectedRows[i].Index].Cells[Fun_GetCol("送货单号")].Value);
|
}
|
if (sFHBillNo != DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.SelectedRows[i].Index].Cells[Fun_GetCol("送货单号")].Value))
|
{
|
MessageBox.Show("选择了不同的发货单!", "提示");
|
return;
|
}
|
}
|
//根据发货单号 合并数据 并打印 h_p_MES_StationEntrustInBillPrint
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
DataSet ds = oCn.RunProcReturn("exec h_p_MES_StationEntrustInBillPrint '" + sFHBillNo + "'", "h_p_MES_StationEntrustInBillPrint");
|
if (ds == null)
|
{
|
MessageBox.Show("打印错误1", "提示");
|
return;
|
}
|
grdSumPrint.DataSource = ds.Tables[0].DefaultView;
|
sHSUPNAME = DBUtility.ClsPub.isStrNull(ds.Tables[1].Rows[0]["供应商"]);
|
sHDATE = DBUtility.ClsPub.isStrNull(ds.Tables[1].Rows[0]["日期"]);
|
sHFHBILLNO = DBUtility.ClsPub.isStrNull(ds.Tables[1].Rows[0]["发货单号"]);
|
//
|
Sub_SetReport2("委外发货单合并打印");
|
Report.PrintPreview(false);
|
//写入日志
|
DBUtility.ClsPub.Add_Log(DBUtility.ClsPub.CurUserName, "打印了发货单" + sFHBillNo , DBUtility.ClsPub.CurUserName);
|
//刷新界面
|
Display();
|
}
|
|
private void btnOK_Click(object sender, EventArgs e)
|
{
|
Sub_FastQuery();
|
}
|
|
private void eXCELToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
|
DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain);
|
}
|
|
private void cSVToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
|
DBUtility.Gy_BaseFun.DataGridViewToExcel2(grdMain, this.Text, this.Text);
|
}
|
|
|
}
|
}
|