添加项目文件。
This commit is contained in:
393
aoyuPlugIn/汇威/zp_plyg.cs
Normal file
393
aoyuPlugIn/汇威/zp_plyg.cs
Normal file
@@ -0,0 +1,393 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Kingdee.BOS;
|
||||
using Kingdee.BOS.Core.Bill.PlugIn;
|
||||
using Kingdee.BOS.Core.Bill.PlugIn.Args;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
using Kingdee.BOS.Core.Metadata;
|
||||
using Kingdee.BOS.Core.Metadata.EntityElement;
|
||||
using Kingdee.BOS.Core.SqlBuilder;
|
||||
using Kingdee.BOS.Orm.DataEntity;
|
||||
using Kingdee.BOS.ServiceHelper;
|
||||
using Kingdee.BOS.Util;
|
||||
using Kingdee.BOS.Core.DynamicForm;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||
using System.Collections;
|
||||
using System.Data;
|
||||
|
||||
namespace aoyuPlugIn
|
||||
{
|
||||
[HotUpdate]
|
||||
[Description("装配批录员工")]
|
||||
public class zp_plyg : AbstractBillPlugIn
|
||||
{
|
||||
public override void BeforeSave(BeforeSaveEventArgs e)
|
||||
{
|
||||
|
||||
base.BeforeSave(e);
|
||||
if (check_data() == false)
|
||||
e.Cancel = true;
|
||||
}
|
||||
//检测数据
|
||||
bool check_data()
|
||||
{
|
||||
bool isok = true;
|
||||
try
|
||||
{
|
||||
string djno ="";int isAdd=0;
|
||||
if (this.View.OpenParameter.Status == OperationStatus.ADDNEW) //新增
|
||||
{
|
||||
isAdd = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
djno = this.Model.GetValue("FBillNo").ToString();
|
||||
isAdd = 1;
|
||||
}
|
||||
string FEntity_nm = "F_GAT_Entity1";
|
||||
//取表体最大行数
|
||||
int tol = this.Model.GetEntryRowCount(FEntity_nm);
|
||||
if (tol > 0)
|
||||
{
|
||||
//集体计件
|
||||
isok = yzdata(getJTJJ(), djno, isAdd);
|
||||
}
|
||||
else
|
||||
{
|
||||
//个人计件
|
||||
isok = yzdata(getGRJJ(), djno, isAdd);
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{ this.View.ShowMessage("检测数据时发生错误为:" + ex.Message); }
|
||||
return isok;
|
||||
}
|
||||
//验证数据
|
||||
bool yzdata(DataTable tb,string djno,int isAdd)
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (DataRow r in tb.Rows)
|
||||
{
|
||||
string rwdID = r["rwdID"].ToString();
|
||||
string gxID = r["gxID"].ToString();
|
||||
string sl = r["sl"].ToString();
|
||||
string[] jg = tolsl(djno, rwdID, gxID, sl, isAdd);
|
||||
if (jg[0] == "1")
|
||||
{
|
||||
this.View.ShowErrMessage(jg[1].ToString() + "!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}catch(Exception ex) { this.View.ShowMessage("验证数据时发生错误为:" + ex.Message); }
|
||||
return true;
|
||||
}
|
||||
//bool check_data1()
|
||||
//{
|
||||
// bool isok = true;
|
||||
// try
|
||||
// {
|
||||
// string djno = ""; int isAdd = 0;
|
||||
// if (this.View.OpenParameter.Status == OperationStatus.ADDNEW) //新增
|
||||
// {
|
||||
// isAdd = 0;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// djno = this.Model.GetValue("FBillNo").ToString();
|
||||
// isAdd = 1;
|
||||
// }
|
||||
// string FEntity_nm = "F_GAT_Entity1";
|
||||
|
||||
// //取表体最大行数
|
||||
// int tol = this.Model.GetEntryRowCount(FEntity_nm);
|
||||
|
||||
// for (int i = 0; i < tol; i++)
|
||||
// {
|
||||
// DynamicObject fgt = this.View.Model.GetValue("F_SCNO", i) as DynamicObject;
|
||||
// string rwdID = fgt["ID"].ToString();
|
||||
|
||||
// DynamicObject fgt1 = this.View.Model.GetValue("F_DJGWID", i) as DynamicObject;
|
||||
// string gxID = fgt1["Number"].ToString();
|
||||
// string sl = this.Model.GetValue("F_FQTY").ToString();
|
||||
// Double[] jg = tolsl(djno, rwdID, gxID, sl, isAdd);
|
||||
// if (jg[0] == 1)
|
||||
// {
|
||||
// isok = false;
|
||||
// this.View.ShowErrMessage("第" + (i + 1).ToString() + "行超过订单数" + jg[1].ToString() + "!");
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// //个人计件
|
||||
// DataTable tbgr = getGRJJ();
|
||||
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// { this.View.ShowMessage("验证数据时发生错误为:" + ex.Message); }
|
||||
// return isok;
|
||||
//}
|
||||
//取集体计件数量
|
||||
DataTable getJTJJ ()
|
||||
{
|
||||
ArrayList data1 = new ArrayList();
|
||||
DataTable tb = new DataTable();
|
||||
tb.Columns.Add("rwdID");
|
||||
tb.Columns.Add("gxID");
|
||||
tb.Columns.Add("sl");
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
string FEntity_nm = "F_GAT_Entity1";
|
||||
//取表体最大行数
|
||||
int tol = this.Model.GetEntryRowCount(FEntity_nm);
|
||||
|
||||
for (int i = 0; i < tol; i++)
|
||||
{
|
||||
DynamicObject fgt = this.View.Model.GetValue("F_SCNO", i) as DynamicObject;
|
||||
string rwdID = fgt["ID"].ToString();
|
||||
|
||||
DynamicObject fgt1 = this.View.Model.GetValue("F_DJGWID", i) as DynamicObject;
|
||||
string gxID = fgt1["Number"].ToString();
|
||||
string sl = this.Model.GetValue("F_FQTY",i).ToString();
|
||||
string p = rwdID + "*" + gxID;
|
||||
if (data1.Contains(p) == false)
|
||||
{
|
||||
data1.Add(p);
|
||||
DataRow nr = tb.NewRow();
|
||||
nr[0] = rwdID;
|
||||
nr[1] = gxID;
|
||||
nr[2] = sl;
|
||||
tb.Rows.Add(nr);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (DataRow r2 in tb.Rows)
|
||||
{
|
||||
if (rwdID == r2["rwdID"].ToString() && gxID == r2["gxID"].ToString())
|
||||
{
|
||||
r2["sl"] = Convert.ToInt16(sl) + Convert.ToInt16(r2["sl"].ToString());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{ this.View.ShowMessage("验证数据时发生错误为:" + ex.Message); }
|
||||
return tb;
|
||||
}
|
||||
//取个人计件数据
|
||||
DataTable getGRJJ()
|
||||
{
|
||||
//int index = this.View.Model.GetEntryCurrentRowIndex("你的单据体标识");
|
||||
//DynamicObject obj = this.Model.DataObject;
|
||||
//DynamicObjectCollection rows = obj["你的单据体ORM实体名"] as DynamicObjectCollection;
|
||||
//rows[index];// 就是你要的
|
||||
|
||||
//取表体最大行数
|
||||
//int tol = this.Model.GetEntryRowCount(FEntity_nm);
|
||||
|
||||
ArrayList data1 = new ArrayList();
|
||||
DataTable tb = new DataTable();
|
||||
tb.Columns.Add("rwdID");
|
||||
tb.Columns.Add("gxID");
|
||||
tb.Columns.Add("sl");
|
||||
try
|
||||
{
|
||||
string ORM_NM = "GAT_DAY_GR_ZP";//你的单据体ORM实体名
|
||||
DynamicObject obj = this.Model.DataObject;
|
||||
DynamicObjectCollection rows = obj[ORM_NM] as DynamicObjectCollection;
|
||||
int i = 0;
|
||||
foreach (var r in rows)
|
||||
{
|
||||
|
||||
DynamicObject fgt = r["F_SCNO1"] as DynamicObject;
|
||||
string rwdID = fgt["ID"].ToString();
|
||||
DynamicObject fgt1 = r["F_GWID"] as DynamicObject;
|
||||
string gxID = fgt1["Number"].ToString();
|
||||
string p = rwdID + "*" + gxID;
|
||||
string sl = r["F_FQ1TY1"].ToString();
|
||||
if (data1.Contains(p) == false)
|
||||
{
|
||||
data1.Add(p);
|
||||
DataRow nr = tb.NewRow();
|
||||
nr[0] = rwdID;
|
||||
nr[1] = gxID;
|
||||
nr[2] = sl;
|
||||
tb.Rows.Add(nr);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (DataRow r2 in tb.Rows)
|
||||
{
|
||||
if (rwdID == r2["rwdID"].ToString() && gxID == r2["gxID"].ToString())
|
||||
{
|
||||
int kk = Convert.ToInt16(sl) + Convert.ToInt16(r2["sl"].ToString());
|
||||
r2["sl"] = kk;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch(Exception ex) { this.View.ShowMessage("组合表数据时发生错误为:" + ex.Message); }
|
||||
return tb;
|
||||
}
|
||||
string[] tolsl(string djno,string rwdID,string gxID,string sl, int isAdd)
|
||||
{
|
||||
string[] isok = new string[2];
|
||||
isok[0] = "0";
|
||||
isok[1] = "0";
|
||||
|
||||
|
||||
|
||||
string sql = String.Format("exec hw_zp_yzsl '{0}',{1},{2},'{3}',{4}",djno, rwdID,gxID,sl,isAdd);
|
||||
var dr1 = DBServiceHelper.ExecuteDynamicObject(this.Context, sql);
|
||||
string jg = "0";
|
||||
if (dr1.Count > 0)
|
||||
jg = dr1[0][0].ToString();
|
||||
|
||||
if ( jg!="0") {
|
||||
isok[0] = "1";
|
||||
isok[1] = jg;
|
||||
}
|
||||
return isok;
|
||||
}
|
||||
//单据头菜单点击
|
||||
//public override void BarItemClick(BarItemClickEventArgs e)
|
||||
//{
|
||||
// base.BarItemClick(e);
|
||||
// //if (e.BarItemKey == "tbApprove" || e.BarItemKey == "tbSplitApprove")
|
||||
// //{
|
||||
// // fx_yscs(e, "1");
|
||||
// //}else if(e.BarItemKey== "tbReject") {
|
||||
// // fx_yscs(e, "0");
|
||||
|
||||
|
||||
// //}
|
||||
//}
|
||||
//public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
|
||||
//{
|
||||
// base.AfterBarItemClick(e);
|
||||
// //if (e.BarItemKey == "tbReject")
|
||||
// //{
|
||||
// // //隐藏审核菜单
|
||||
// // this.View.GetMainBarItem("tbApprove").Visible = false;
|
||||
// // this.View.GetMainBarItem("tbSplitApprove").Visible = false;
|
||||
// //}
|
||||
//}
|
||||
//public override void AfterBindData(EventArgs e)
|
||||
//{
|
||||
// base.AfterBindData(e);
|
||||
|
||||
|
||||
//// var baseObj1 = this.Model.GetValue("FBT005");
|
||||
// if (baseObj1.ToString() =="0")
|
||||
// {
|
||||
// var sSql = String.Format("exec hw_get_btbz");
|
||||
// var dr = DBServiceHelper.ExecuteDynamicObject(this.Context, sSql);
|
||||
// int i = 0;
|
||||
// if (dr.Count > 0)
|
||||
// {
|
||||
// //string k = item[0].ToString();
|
||||
// //this.Model.SetValue("F_YGNO3", item[0], i);
|
||||
|
||||
// this.Model.SetValue("FBT005", dr[0][1].ToString());
|
||||
// this.View.UpdateView("FBT005");
|
||||
// this.Model.SetValue("FBT006", dr[1][1].ToString());
|
||||
// this.View.UpdateView("FBT006");
|
||||
// this.Model.SetValue("FBT012", dr[2][1].ToString());
|
||||
// this.View.UpdateView("FBT012");
|
||||
|
||||
|
||||
|
||||
// }
|
||||
|
||||
|
||||
|
||||
// }
|
||||
|
||||
|
||||
//}
|
||||
//反写已生产数据
|
||||
void fx_yscs(BarItemClickEventArgs e,string sh)
|
||||
{
|
||||
string fbillno = this.View.Model.GetValue("FBillNo").ToString();
|
||||
var sSql = String.Format("EXEC hw_zplr_fx_scdd " + fbillno + ","+sh);
|
||||
var dr = DBServiceHelper.ExecuteDynamicObject(this.Context, sSql);
|
||||
string t = "生产数量大于订单数量,不能审核!";
|
||||
|
||||
if (dr.Count > 0)
|
||||
{
|
||||
foreach (var item in dr)
|
||||
{
|
||||
string k = "生产订单:" + item["rwdNo"].ToString() + "|工序编号:" + item["gxNo"].ToString()
|
||||
+ "|订单数:" + item["dds"].ToString() + "|已生产数:" + item["yscs"].ToString();
|
||||
t = t + "\r\n" + k;
|
||||
}
|
||||
|
||||
this.View.ShowMessage(t);
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
}
|
||||
//点击单据体菜单
|
||||
public override void EntryBarItemClick(BarItemClickEventArgs e)
|
||||
{
|
||||
base.BarItemClick(e);
|
||||
if (e.BarItemKey == "tbPLYG")
|
||||
{
|
||||
//string t =this.View.Model.GetValue("F_CBM").ToString();
|
||||
//string t = this.View.Model.DataObject["F_CBM"].ToString();
|
||||
DynamicObject fgt = this.View.Model.GetValue("F_CBM") as DynamicObject;
|
||||
string t = fgt["ID"].ToString();
|
||||
add_data_stort(t);
|
||||
}
|
||||
|
||||
}
|
||||
void del_data(string FEntity_nm)
|
||||
{
|
||||
try
|
||||
{
|
||||
//取表体最大行数
|
||||
int tol = this.Model.GetEntryRowCount(FEntity_nm);
|
||||
tol--;
|
||||
for (int i = tol; i > -1; i--)
|
||||
{
|
||||
this.View.Model.DeleteEntryRow(FEntity_nm, i); //先删除空行
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{ this.View.ShowMessage("删除表体数据时发生错误为:" + ex.Message); }
|
||||
}
|
||||
public void add_data_stort(string cs)
|
||||
{
|
||||
try
|
||||
{
|
||||
del_data("F_JTJJ");
|
||||
var sSql = String.Format("EXEC hw_get_plyg " + cs);
|
||||
var dr = DBServiceHelper.ExecuteDynamicObject(this.Context, sSql);
|
||||
int i = 0;
|
||||
if (dr.Count > 0)
|
||||
{
|
||||
this.View.Model.BatchCreateNewEntryRow("F_JTJJ", dr.Count);
|
||||
}
|
||||
foreach (var item in dr)
|
||||
{
|
||||
string k = item[0].ToString();
|
||||
this.Model.SetValue("F_YGNO3", item[0], i);
|
||||
//this.Model.SetValue("F_REM", "1", i);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { this.View.ShowMessage("加表体数据时发生错误为:" + ex.Message); }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user