using System;
using System.Collections.Generic;
using System.Text;
// using System.Linq;
using H3;
public class D125209slxbfl79prkgnv1suwjy6: H3.SmartForm.SmartFormController
{
public D125209slxbfl79prkgnv1suwjy6(H3.SmartForm.SmartFormRequest request): base(request)
{
}
protected override void OnLoad(H3.SmartForm.LoadSmartFormResponse response)
{
base.OnLoad(response);
}
protected override void OnSubmit(string actionName, H3.SmartForm.SmartFormPostValue postValue, H3.SmartForm.SubmitSmartFormResponse response)
{
try
{
H3.DataModel.BizObject[] biz = (H3.DataModel.BizObject[]) this.Request.BizObject["D125209szc6ricnlaei6lyminjd"];
if(actionName == "cz")
{
response.ReturnData = new Dictionary<string, object>();
string sql = "select * from i_D125209slxbfl79prkgnv1suwjy6 where F0000038='" + this.Request["obj"] + "'";
System.Data.DataTable tb = this.Request.Engine.Query.QueryTable(sql, null);
System.Data.DataRowCollection t0 = tb.Rows;
if(t0 != null && t0.Count > 0)
{
List < string > objs = new List<string>();
foreach(System.Data.DataRow row in t0)
{
H3.DataModel.BizObject bi = H3.DataModel.BizObject.Load(this.Request.UserContext.UserId, this.Request.Engine, "D125209slxbfl79prkgnv1suwjy6", row["objectid"] + "", false);
H3.DataModel.BizObject[] zibs = (H3.DataModel.BizObject[]) bi["D125209szc6ricnlaei6lyminjd"];
foreach(H3.DataModel.BizObject b in zibs)
{
objs.Add(b["F0000006"] + "");
}
}
H3.DataModel.BizObject sq = H3.DataModel.BizObject.Load(this.Request.UserContext.UserId, this.Request.Engine, "D125209sn8ds0wakikkdmitkfmqf", this.Request["obj"] + "", false);
H3.DataModel.BizObject[] bs = (H3.DataModel.BizObject[]) sq["D125209sqnu2kfazeuevfgju438"];
List < string > objid = new List<string>();
foreach(H3.DataModel.BizObject b in bs)
{
foreach(string o in objs)
{
if(o.Equals(b.ObjectId + ""))
{
continue;
}
objid.Add(b.ObjectId);
break;
}
}
response.ReturnData.Add("objid", string.Join(", ", objid));
}
}
//当最后一个节点同意后,且分解采购单号为空---这段也不一致(这段在248行)
if(actionName == "Submit" && this.Request.ActivityCode != null && this.Request.ActivityCode.Equals("Activity15") && (this.Request.BizObject["F0000043"] == null || this.Request.BizObject["F0000043"].Equals("")))
{
string SeqNoCode = this.Request.BizObject["SeqNo"].ToString();
string tab = "D125209sn8ds0wakikkdmitkfmqf";
if(this.Request.BizObject["F0000060"].Equals("专用采购")) { tab = "D125209shyx4vc8mtk6hjgdo0"; }
string sql = "select * from i_" + tab + " where F0000069='" + this.Request.BizObject["F0000039"] + "'";
System.Data.DataTable tb = this.Request.Engine.Query.QueryTable(sql, null);
System.Data.DataRowCollection t0 = tb.Rows;
System.Data.DataRow t = t0[0];
H3.DataModel.BizObject dh = H3.DataModel.BizObject.Load(H3.Organization.User.SystemUserId, this.Request.Engine, tab, t["objectid"] + "", false);
int num = string.IsNullOrEmpty(dh["F0000053"] + "") ? 0 : Convert.ToInt32(dh["F0000053"]);
dh["F0000053"] = num + 1;
this.Request.BizObject["F0000043"] = this.Request.BizObject["F0000039"] + "-" + ++num;//赋值给采购分解单号
H3.ErrorCode code = dh.Update();
//生成的分解单号同步到辅助表
//先根据生成的合同编号(无用)设计到业务 这个值去采购分解及合同中查询到该数据
string sqlSeqNo = " select * from i_D125209slxbfl79prkgnv1suwjy6 where SeqNo =@SeqNoCode";
List < H3.Data.Database.Parameter > vall = new List<H3.Data.Database.Parameter>();
vall.Add(
new H3.Data.Database.Parameter(
"@SeqNoCode",
System.Data.DbType.String,
SeqNoCode
)
);
System.Data.DataTable rows = this.Request.Engine.Query.QueryTable(sqlSeqNo, vall.ToArray());
string ht = rows.Rows[0]["F0000067"].ToString();
//判断供应商类型不为空值
if(rows.Rows[0]["F0000067"].ToString() != null && rows.Rows[0]["F0000067"].ToString() != "")
{
//如果供应商类型是单次就去单次辅助表把采购分解单号补充上
if(rows.Rows[0]["F0000067"].ToString() == "单次签订合同")
{
string sqlFJDH = " update i_D125209sag9aurp7m0q5vnuiiztq set F0000001 = @cgfjdh where F0000003 = @lsh";
List < H3.Data.Database.Parameter > list = new List<H3.Data.Database.Parameter>();
list.Add(
new H3.Data.Database.Parameter(
"@lsh",
System.Data.DbType.String,
SeqNoCode
)
);
list.Add(
new H3.Data.Database.Parameter(
"@cgfjdh",
System.Data.DbType.String,
this.Request.BizObject["F0000043"].ToString()
)
);
//执行sql语句
System.Data.DataTable dc = this.Request.Engine.Query.QueryTable(sqlFJDH, list.ToArray());
}
if(rows.Rows[0]["F0000067"].ToString() == "年度协议")
{
string sqlFJDH = " update i_D125209sgbfklptbyuq21af1rr9c set F0000001 = @cgfjdh where F0000003 = @lsh";
List < H3.Data.Database.Parameter > list = new List<H3.Data.Database.Parameter>();
list.Add(
new H3.Data.Database.Parameter(
"@lsh",
System.Data.DbType.String,
SeqNoCode
)
);
list.Add(
new H3.Data.Database.Parameter(
"@cgfjdh",
System.Data.DbType.String,
this.Request.BizObject["F0000043"].ToString()
)
);
System.Data.DataTable dc = this.Request.Engine.Query.QueryTable(sqlFJDH, list.ToArray());
}
if(rows.Rows[0]["F0000067"].ToString() == "批量签订合同")
{
string sqlFJDH = " update i_D125209sl3afqe5cekkxak5hlivj set F0000001 = @cgfjdh where F0000003 = @lsh";
List < H3.Data.Database.Parameter > list = new List<H3.Data.Database.Parameter>();
list.Add(
new H3.Data.Database.Parameter(
"@lsh",
System.Data.DbType.String,
SeqNoCode
)
);
list.Add(
new H3.Data.Database.Parameter(
"@cgfjdh",
System.Data.DbType.String,
this.Request.BizObject["F0000043"].ToString()
)
);
System.Data.DataTable dc = this.Request.Engine.Query.QueryTable(sqlFJDH, list.ToArray());
}
}
}
if(actionName == "Submit" && this.Request.BizObject.Status == H3.DataModel.BizObjectStatus.Effective) // 这段对应的106行
{
//根据分解流水号,采购分解单号,关联采购通用申请。关联采购专用申请
string sqlWZRL = "select * from i_D125209skrt4lsjxl0udjuh4651z where F0000114 = @lsh AND F0000097 = @fjdh AND F0000096 = @tysq AND F0000095 = @zysq ";
//定义参数集合
List < H3.Data.Database.Parameter > parameters = new List<H3.Data.Database.Parameter>();
//将参数添加到参数集合
parameters.Add(new H3.Data.Database.Parameter(
"@lsh", //参数名
System.Data.DbType.String, //参数值类型
this.Request.BizObject["SeqNo"]//参数值
));
parameters.Add(new H3.Data.Database.Parameter(
"@fjdh", //参数名
System.Data.DbType.String, //参数值类型
this.Request.BizObject["F0000043"]//参数值
));
parameters.Add(new H3.Data.Database.Parameter(
"@tysq", //参数名
System.Data.DbType.String, //参数值类型
this.Request.BizObject["F0000038"]//参数值
));
parameters.Add(new H3.Data.Database.Parameter(
"@zysq", //参数名
System.Data.DbType.String, //参数值类型
this.Request.BizObject["F0000059"]//参数值
));
//传入sql和参数查询结果
System.Data.DataTable dt = this.Request.Engine.Query.QueryTable(sqlWZRL, parameters.ToArray());
//判断是否存在数据
if(dt != null && dt.Rows.Count > 0)
{
//取第一行数据
System.Data.DataRowCollection d = dt.Rows;
System.Data.DataRow row = d[0];
//获取物资入库加载的实例对象 D125209skrt4lsjxl0udjuh4651z
H3.DataModel.BizObject dz = H3.DataModel.BizObject.Load(H3.Organization.User.SystemUserId, this.Request.Engine, "D125209skrt4lsjxl0udjuh4651z", row["objectid"] + "", false);
//发货地址,供应商,入库总数量
dz["F0000094"] = this.Request.BizObject["F0000061"];
dz["F0000099"] = this.Request.BizObject["F0000019"];
dz["F0000044"] = this.Request.BizObject["F0000049"];
dz["F0000114"] = this.Request.BizObject["SeqNo"];
dz["F0000097"] = this.Request.BizObject["F0000043"];
dz["F0000096"] = this.Request.BizObject["F0000038"];
dz["F0000095"] = this.Request.BizObject["F0000059"];
//目标子表数据 D125209syosdgo2cpem8fhgkza0
H3.DataModel.BizObject[] mizs = (H3.DataModel.BizObject[]) dz["D125209syosdgo2cpem8fhgkza0"];
//本表单子表数据 D125209sn6jsu01xweigvdpdh9df
H3.DataModel.BizObject[] bizs = (H3.DataModel.BizObject[]) this.Request.BizObject["D125209szc6ricnlaei6lyminjd"];
foreach(H3.DataModel.BizObject bo in bizs)
{
foreach(H3.DataModel.BizObject miz in mizs)
{
//D125209sxr1jfg40r0sp6yuqpf2g.F0000084 D125209sn6jsu01xweigvdpdh9df.F0000055
if(bo["F0000055"] == miz["F0000084"])
{
miz["F0000007"] = bo["F0000007"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000007 物资设备名称 D125209sn6jsu01xweigvdpdh9df.F0000007
miz["F0000008"] = bo["F0000008"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000008 产品编号 D125209sn6jsu01xweigvdpdh9df.F0000008
miz["F0000009"] = bo["F0000009"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000009 材料库分类名称 D125209sn6jsu01xweigvdpdh9df.F0000009
miz["F0000010"] = bo["F0000010"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000010 易耗品分类名称 D125209sn6jsu01xweigvdpdh9df.F0000010
miz["F0000011"] = bo["F0000011"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000011 合金牌号 D125209sn6jsu01xweigvdpdh9df.F0000011
miz["F0000012"] = bo["F0000012"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000012 材料标准 D125209sn6jsu01xweigvdpdh9df.F0000012
miz["F0000013"] = bo["F0000013"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000013 计量单位 D125209sn6jsu01xweigvdpdh9df.F0000013
miz["F0000015"] = bo["F0000015"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000015 规格型号 D125209sn6jsu01xweigvdpdh9df.F0000015
miz["F0000016"] = bo["F0000016"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000016 工作令号 D125209sn6jsu01xweigvdpdh9df.F0000016
miz["F0000017"] = bo["F0000017"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000017 产品图号 D125209sn6jsu01xweigvdpdh9df.F0000017
miz["F0000045"] = bo["F0000069"];// D125209sxr1jfg40r0sp6yuqpf2g.F0000045 采购数量 D125209sn6jsu01xweigvdpdh9df.F0000069
miz["F0000051"] = bo["F0000071"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000051 未入库数量 D125209sn6jsu01xweigvdpdh9df.F0000071
miz["F0000070"] = bo["F0000026"];// D125209sxr1jfg40r0sp6yuqpf2g.F0000070 采购类型 D125209sn6jsu01xweigvdpdh9df.F0000026
miz["F0000069"] = bo["F0000028"];// D125209sxr1jfg40r0sp6yuqpf2g.F0000069 备注 D125209sn6jsu01xweigvdpdh9df.F0000028
miz["F0000049"] = bo["F0000029"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000049 单价 D125209sn6jsu01xweigvdpdh9df.F0000029
miz["F0000064"] = bo["F0000022"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000064 材料编号 D125209sn6jsu01xweigvdpdh9df.F0000022
miz["F0000072"] = bo["F0000031"];// D125209sxr1jfg40r0sp6yuqpf2g.F0000072 数据标题1 物资名称辅助 D125209sn6jsu01xweigvdpdh9df.F0000031
miz["F0000084"] = bo["F0000055"];// D125209sxr1jfg40r0sp6yuqpf2g.F0000084 obj D125209sn6jsu01xweigvdpdh9df.F0000055
miz["F0000087"] = bo["F0000058"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000087 代号 D125209sn6jsu01xweigvdpdh9df.F0000058
miz["F0000100"] = bo["F0000079"];// D125209sxr1jfg40r0sp6yuqpf2g.F0000100 选择材料辅助 D125209sn6jsu01xweigvdpdh9df.F0000079
miz["F0000101"] = bo["F0000080"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000101 选择易耗品辅助 D125209sn6jsu01xweigvdpdh9df.F0000080
miz["F0000102"] = bo["F0000081"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000102 选择设备辅助 D125209sn6jsu01xweigvdpdh9df.F0000081
miz["F0000105"] = bo["F0000083"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000105 板厚 D125209sn6jsu01xweigvdpdh9df.F0000083
miz["F0000106"] = bo["F0000085"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000106 宽幅 D125209sn6jsu01xweigvdpdh9df.F0000085
miz["F0000107"] = bo["F0000084"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000107 长度 D125209sn6jsu01xweigvdpdh9df.F0000084
double dj = Convert.ToDouble(bo["F0000029"]);
double sl = Convert.ToDouble(miz["F0000034"]);
miz["F0000050"] = dj * sl;//D125209sxr1jfg40r0sp6yuqpf2g.F0000050 公式 单价* 入库数量 D125209sxr1jfg40r0sp6yuqpf2g.F0000034
miz["F0000110"] = bo["F0000019"];//D125209sxr1jfg40r0sp6yuqpf2g.F0000110 供应商名称 F0000019
miz["F0000115"] = bo["F0000067"];// 供应商类型
}
}
}
dz["D125209syosdgo2cpem8fhgkza0"] = mizs;
dz.Update();
}
}
//数据作废时,更新表单---这个是后面添加的
if(this.Request.BizObject.Status == H3.DataModel.BizObjectStatus.Canceled)
{
foreach(H3.DataModel.BizObject bo in biz)
{
//更新采购申请清单 根据obj D125209sjwgadx0tgecduldjblnu.F0000055 物资名称 D125209sjwgadx0tgecduldjblnu.F0000031 采购单号 F0000039 判断是否存在,有则修改
string sqlCGFJ = "select * from i_D125209sn4tj5acjuee0gfl87mr where F0000034 = @no AND F0000045 = @obj AND F0000020 = @cgdh";
//定义参数集合
List < H3.Data.Database.Parameter > parameterCGFJ = new List<H3.Data.Database.Parameter>();
//将参数添加到参数集合
parameterCGFJ.Add(new H3.Data.Database.Parameter(
"@no", //参数名
System.Data.DbType.String, //参数值类型
bo["F0000031"]//参数值 D125209sjwgadx0tgecduldjblnu.F0000031//物资名称
));
parameterCGFJ.Add(new H3.Data.Database.Parameter(
"@obj", //参数名
System.Data.DbType.String, //参数值类型
bo["F0000055"]//参数值
));
parameterCGFJ.Add(new H3.Data.Database.Parameter(
"@cgdh", //参数名
System.Data.DbType.String, //参数值类型
this.Request.BizObject["F0000039"]//参数值
));
//传入sql和参数查询结果
System.Data.DataTable CGFJ = this.Request.Engine.Query.QueryTable(sqlCGFJ, parameterCGFJ.ToArray());
//判断是否存在数据
if(CGFJ != null && CGFJ.Rows.Count > 0)
{
//取第一行数据
System.Data.DataRowCollection d = CGFJ.Rows;
System.Data.DataRow row = d[0];
//获取采购申请清单加载的实例对象
H3.DataModel.BizObject sq = H3.DataModel.BizObject.Load(H3.Organization.User.SystemUserId, this.Request.Engine, "D125209sn4tj5acjuee0gfl87mr", row["objectid"] + "", false);
double bsj = Convert.ToDouble(sq["F0000041"]);
double cg = Convert.ToDouble(bo["F0000027"]);
bsj = bsj - cg;
sq["F0000041"] = bsj;// 本次分解数量 = 本次分解数量 F0000041 - 采购数量 F0000027
double ssl = Convert.ToDouble(sq["F0000042"]);
ssl = ssl + cg;
sq["F0000042"] = ssl;// 剩余生产数量 = 剩余生产数量 + 采购数量 F0000042
double zsl = Convert.ToDouble(sq["F0000046"]);
zsl = zsl + cg;
sq["F0000046"] = zsl; //占用数量(辅助) F0000046 + 采购数量
sq.Update();
}
}
}
base.OnSubmit(actionName, postValue, response);
if(actionName == "Submit" && (this.Request.BizObject["F0000067"] != null || this.Request.BizObject["F0000067"] != "") && this.Request.ActivityCode == "Activity150")
{
if(this.Request.BizObject["F0000067"] != null || this.Request.BizObject["F0000067"] != "")
{
H3.DataModel.BizObjectSchema aSchema = this.Engine.BizObjectManager.GetPublishedSchema("D125209sag9aurp7m0q5vnuiiztq"); /**合同编号辅助表 */
H3.DataModel.BizObject kc = new H3.DataModel.BizObject(this.Engine, aSchema, H3.Organization.User.SystemUserId);
} else
{
H3.DataModel.BizObjectSchema aSchema = this.Engine.BizObjectManager.GetPublishedSchema("D125209sag9aurp7m0q5vnuiiztq"); /**合同编号辅助表 */
H3.DataModel.BizObject kc = new H3.DataModel.BizObject(this.Engine, aSchema, H3.Organization.User.SystemUserId);
}
//单次签订合同编号辅助表 D125209sag9aurp7m0q5vnuiiztq
if(this.Request.BizObject["F0000067"].ToString() == "单次签订合同")
{
//获取表单 Schema ,用于新建表单时,获取表单实例 获取表单的结构对象
H3.DataModel.BizObjectSchema aSchema = this.Engine.BizObjectManager.GetPublishedSchema("D125209sag9aurp7m0q5vnuiiztq"); /**合同编号辅助表 */
H3.DataModel.BizObject kc = new H3.DataModel.BizObject(this.Engine, aSchema, H3.Organization.User.SystemUserId);
kc["OwnerId"] = this.Request.BizObject["OwnerId"]; //拥有者
kc["F0000002"] = this.Request.BizObject["F0000067"]; //供应商类型
kc["F0000003"] = this.Request.BizObject["SeqNo"]; //流水号 F0000003 合同编号(无用)
string kcc = kc["F0000003"].ToString();
//this.Request.BizObject["F0000087"]=kc["SeqNo"].ToString();
kc.Status = H3.DataModel.BizObjectStatus.Effective;
kc.Create();
try
{
H3.DataModel.BizObjectSchema ZBaSchema = this.Engine.BizObjectManager.GetPublishedSchema("D125209slxbfl79prkgnv1suwjy6");
H3.DataModel.BizObject ZBSL = new H3.DataModel.BizObject(this.Engine, ZBaSchema, H3.Organization.User.SystemUserId);
//辅助表生成的合同编号
string zshtbh = kc["SeqNo"].ToString();
ZBSL["F0000087"] = zshtbh;
//根据合同编号(无用,但不可删除,涉及业务规则)在年度辅助表中查询该数据 ---辅助表
string year = " select * from i_D125209sag9aurp7m0q5vnuiiztq where F0000003 = @ND";
List < H3.Data.Database.Parameter > lis=new List<H3.Data.Database.Parameter>();
H3.Data.Database.Parameter ss = new H3.Data.Database.Parameter();
ss.Name = "@ND";
ss.DBType = System.Data.DbType.String;
ss.Value = this.Request.BizObject["SeqNo"].ToString();
lis.Add(ss);
System.Data.DataTable ND = this.Engine.Query.QueryTable(year, lis.ToArray());
string NDval = ND.Rows[0]["SeqNo"].ToString();
//拿到这条数据
//System.Data.DataRow dataRow = ND.Rows[0];
//string ZB = " select * from i_D125209slxbfl79prkgnv1suwjy6 where SeqNo =@code"; //主表
//List < H3.Data.Database.Parameter > lis2=new List<H3.Data.Database.Parameter>();
//H3.Data.Database.Parameter ss2 = new H3.Data.Database.Parameter();
//ss2.DBType = System.Data.DbType.String;
//ss2.Name = "@code";
//ss2.Value = this.Request.BizObject["SeqNo"].ToString();
//System.Data.DataTable ZBdata = this.Engine.Query.QueryTable(ZB, lis2.ToArray());
//System.Data.DataRow ZBrow = ZBdata.Rows[0];
//主表数据同步,把单次辅助表中的合同编号同步到采购分解及合同签订
string UpdateZB = " Update i_D125209slxbfl79prkgnv1suwjy6 SET F0000087 =@htbh where SeqNo =@htbnwy";
List < H3.Data.Database.Parameter > lis3=new List<H3.Data.Database.Parameter>();
H3.Data.Database.Parameter up = new H3.Data.Database.Parameter();
up.DBType = System.Data.DbType.String;
up.Name = "@htbh"; //辅助表中的合同编号
up.Value = zshtbh;
H3.Data.Database.Parameter upp = new H3.Data.Database.Parameter();
upp.DBType = System.Data.DbType.String;
upp.Name = "@htbnwy";
upp.Value = kcc;
lis3.Add(up);
lis3.Add(upp);
System.Data.DataTable dataUp = this.Engine.Query.QueryTable(UpdateZB, lis3.ToArray());
//辅助表同步 把采购单号同步到辅助表
//string UpdateZB2 = " Update i_D125209sag9aurp7m0q5vnuiiztq SET F0000001 =@fjdh where F0000003 =@kcc";
//List < H3.Data.Database.Parameter > lis4=new List<H3.Data.Database.Parameter>();
// H3.Data.Database.Parameter up2 = new H3.Data.Database.Parameter();
// up2.DBType = System.Data.DbType.String;
// up2.Name = "@fjdh";
// up2.Value = this.Request.BizObject["F0000039"].ToString();
// lis4.Add(new H3.Data.Database.Parameter(
// "@kcc", //参数名
// System.Data.DbType.String, //参数值类型
// kcc //参数值
//));
// lis4.Add(up2);
// System.Data.DataTable dataUp2 = this.Engine.Query.QueryTable(UpdateZB2, lis4.ToArray());
} catch(Exception ex)
{
}
}
//年度签订合同编号辅助表 D125209sgbfklptbyuq21af1rr9c
if(this.Request.BizObject["F0000067"].ToString() == "年度协议")
{
//获取表单 Schema ,用于新建表单时,获取表单实例
H3.DataModel.BizObjectSchema aSchema = this.Engine.BizObjectManager.GetPublishedSchema("D125209sgbfklptbyuq21af1rr9c"); /**合同编号辅助表 */
H3.DataModel.BizObject kc = new H3.DataModel.BizObject(this.Engine, aSchema, H3.Organization.User.SystemUserId);
kc["OwnerId"] = this.Request.BizObject["OwnerId"]; //拥有者
kc["F0000002"] = this.Request.BizObject["F0000067"]; //供应商类型
kc["F0000003"] = this.Request.BizObject["SeqNo"]; //流水号 F0000003 合同编号(无用)
string kcc1 = kc["F0000003"].ToString();
kc.Status = H3.DataModel.BizObjectStatus.Effective;
kc.Create();
try
{
H3.DataModel.BizObjectSchema ZBaSchema = this.Engine.BizObjectManager.GetPublishedSchema("D125209slxbfl79prkgnv1suwjy6");
H3.DataModel.BizObject ZBSL = new H3.DataModel.BizObject(this.Engine, ZBaSchema, H3.Organization.User.SystemUserId);
string zshtbh = kc["SeqNo"].ToString();
ZBSL["F0000087"] = zshtbh;
//根据合同编号(无用,但不可删除,涉及业务规则)在年度辅助表中查询该数据 ---年度辅助表
string year = " select * from i_D125209sgbfklptbyuq21af1rr9c where F0000003 = @ND";
List < H3.Data.Database.Parameter > lis=new List<H3.Data.Database.Parameter>();
H3.Data.Database.Parameter ss = new H3.Data.Database.Parameter();
ss.Name = "@ND";
ss.DBType = System.Data.DbType.String;
ss.Value = this.Request.BizObject["SeqNo"].ToString();
lis.Add(ss);
System.Data.DataTable ND = this.Engine.Query.QueryTable(year, lis.ToArray());
string NDval = ND.Rows[0]["SeqNo"].ToString();
//拿到这条数据
//System.Data.DataRow dataRow = ND.Rows[0];
//string ZB = " select * from i_D125209slxbfl79prkgnv1suwjy6 where SeqNo =@code"; //主表
//List < H3.Data.Database.Parameter > lis2=new List<H3.Data.Database.Parameter>();
//H3.Data.Database.Parameter ss2 = new H3.Data.Database.Parameter();
//ss2.DBType = System.Data.DbType.String;
//ss2.Name = "@code";
//ss2.Value = this.Request.BizObject["SeqNo"].ToString();
//System.Data.DataTable ZBdata = this.Engine.Query.QueryTable(ZB, lis2.ToArray());
//System.Data.DataRow ZBrow = ZBdata.Rows[0];
//年度辅助表同步
//string UpdateZB2 = " Update i_D125209sgbfklptbyuq21af1rr9c SET F0000003 =@wyht where F0000003 =@lsh";
//List < H3.Data.Database.Parameter > lis4=new List<H3.Data.Database.Parameter>();
//H3.Data.Database.Parameter up2 = new H3.Data.Database.Parameter();
//up2.DBType = System.Data.DbType.String;
// up2.Name = "@lsh";
//up2.Value = this.Request.BizObject["SeqNo"].ToString();
// lis4.Add(new H3.Data.Database.Parameter(
// "@lsh", //参数名
// System.Data.DbType.String, //参数值类型
//参数值
//));
// System.Data.DataTable dataUp2 = this.Engine.Query.QueryTable(UpdateZB2, lis4.ToArray());
//主表数据同步
string UpdateZB = " Update i_D125209slxbfl79prkgnv1suwjy6 SET F0000087 =@htbh where SeqNo =@htbnwy";
List < H3.Data.Database.Parameter > lis3=new List<H3.Data.Database.Parameter>();
H3.Data.Database.Parameter up = new H3.Data.Database.Parameter();
up.DBType = System.Data.DbType.String;
up.Name = "@htbh";
up.Value = zshtbh;
H3.Data.Database.Parameter upp = new H3.Data.Database.Parameter();
upp.DBType = System.Data.DbType.String;
upp.Name = "@htbnwy";
upp.Value = kcc1;
lis3.Add(up);
lis3.Add(upp);
System.Data.DataTable dataUp = this.Engine.Query.QueryTable(UpdateZB, lis3.ToArray());
//辅助表同步 把采购单号同步到辅助表
//string UpdateZB2 = " Update i_D125209sgbfklptbyuq21af1rr9c SET F0000001 =@fjdh where F0000003 =@kcc1";
//List < H3.Data.Database.Parameter > lis4=new List<H3.Data.Database.Parameter>();
//H3.Data.Database.Parameter up2 = new H3.Data.Database.Parameter();
//up2.DBType = System.Data.DbType.String;
// up2.Name = "@fjdh";
// up2.Value = this.Request.BizObject["F0000039"].ToString();
// lis4.Add(new H3.Data.Database.Parameter(
// "@kcc1", //参数名
// System.Data.DbType.String, //参数值类型
// kcc1 //参数值
//));
// lis4.Add(up2);
//System.Data.DataTable dataUp2 = this.Engine.Query.QueryTable(UpdateZB2, lis4.ToArray());
} catch(Exception ex)
{
}
}
//批量签订合同编号辅助表 D125209sl3afqe5cekkxak5hlivj
if(this.Request.BizObject["F0000067"].ToString() == "批量签订合同")
{
try
{
//获取表单 Schema ,用于新建表单时,获取表单实例
H3.DataModel.BizObjectSchema aSchema = this.Engine.BizObjectManager.GetPublishedSchema("D125209sl3afqe5cekkxak5hlivj"); /**合同编号辅助表 */
H3.DataModel.BizObject kc = new H3.DataModel.BizObject(this.Engine, aSchema, H3.Organization.User.SystemUserId);
kc["OwnerId"] = this.Request.BizObject["OwnerId"]; //拥有者
kc["F0000002"] = this.Request.BizObject["F0000067"]; //供应商类型
kc["F0000003"] = this.Request.BizObject["SeqNo"]; //流水号 F0000003 合同编号(无用)
string kcc2 = kc["F0000003"].ToString();
kc.Status = H3.DataModel.BizObjectStatus.Effective;
kc.Create();
//获取主表的数据结构
H3.DataModel.BizObjectSchema ZBaSchema = this.Engine.BizObjectManager.GetPublishedSchema("D125209slxbfl79prkgnv1suwjy6");
H3.DataModel.BizObject ZBSL = new H3.DataModel.BizObject(this.Engine, ZBaSchema, H3.Organization.User.SystemUserId);
//拿到辅助表生成的合同编号
string zshtbh = kc["SeqNo"].ToString();
ZBSL["F0000087"] = zshtbh;
//根据合同编号(无用,但不可删除,涉及业务规则)在年度辅助表中查询该数据 ---年度辅助表
string year = " select * from i_D125209sl3afqe5cekkxak5hlivj where F0000003 = @ND";
List < H3.Data.Database.Parameter > lis=new List<H3.Data.Database.Parameter>();
H3.Data.Database.Parameter ss = new H3.Data.Database.Parameter();
ss.Name = "@ND";
ss.DBType = System.Data.DbType.String;
ss.Value = this.Request.BizObject["SeqNo"].ToString();
lis.Add(ss);
System.Data.DataTable ND = this.Engine.Query.QueryTable(year, lis.ToArray());
string NDval = ND.Rows[0]["SeqNo"].ToString();
//拿到这条数据
//System.Data.DataRow dataRow = ND.Rows[0];
//string ZB = " select * from i_D125209slxbfl79prkgnv1suwjy6 where SeqNo =@code"; //主表
//List < H3.Data.Database.Parameter > lis2=new List<H3.Data.Database.Parameter>();
//H3.Data.Database.Parameter ss2 = new H3.Data.Database.Parameter();
//ss2.DBType = System.Data.DbType.String;
//ss2.Name = "@code";
//ss2.Value = this.Request.BizObject["SeqNo"].ToString();
//System.Data.DataTable ZBdata = this.Engine.Query.QueryTable(ZB, lis2.ToArray());
//System.Data.DataRow ZBrow = ZBdata.Rows[0];
//年度辅助表同步
//string UpdateZB2 = " Update i_D125209sgbfklptbyuq21af1rr9c SET F0000003 =@wyht where F0000003 =@lsh";
//List < H3.Data.Database.Parameter > lis4=new List<H3.Data.Database.Parameter>();
//H3.Data.Database.Parameter up2 = new H3.Data.Database.Parameter();
//up2.DBType = System.Data.DbType.String;
// up2.Name = "@lsh";
//up2.Value = this.Request.BizObject["SeqNo"].ToString();
// lis4.Add(new H3.Data.Database.Parameter(
// "@lsh", //参数名
// System.Data.DbType.String, //参数值类型
//参数值
//));
// System.Data.DataTable dataUp2 = this.Engine.Query.QueryTable(UpdateZB2, lis4.ToArray());
//主表数据同步
string UpdateZB = " Update i_D125209slxbfl79prkgnv1suwjy6 SET F0000087 =@htbh where SeqNo =@htbnwy";
List < H3.Data.Database.Parameter > lis3=new List<H3.Data.Database.Parameter>();
H3.Data.Database.Parameter up = new H3.Data.Database.Parameter();
up.DBType = System.Data.DbType.String;
up.Name = "@htbh";
up.Value = zshtbh;
H3.Data.Database.Parameter upp = new H3.Data.Database.Parameter();
upp.DBType = System.Data.DbType.String;
upp.Name = "@htbnwy";
upp.Value = kcc2;
lis3.Add(up);
lis3.Add(upp);
System.Data.DataTable dataUp = this.Engine.Query.QueryTable(UpdateZB, lis3.ToArray());
//辅助表同步 把采购单号同步到辅助表
//string UpdateZB2 = " Update i_D125209sl3afqe5cekkxak5hlivj SET F0000001 =@fjdh where F0000003 =@kcc2";
//List < H3.Data.Database.Parameter > lis4=new List<H3.Data.Database.Parameter>();
//H3.Data.Database.Parameter up2 = new H3.Data.Database.Parameter();
//up2.DBType = System.Data.DbType.String;
//up2.Name = "@fjdh";
//up2.Value = this.Request.BizObject["F0000039"].ToString();
//lis4.Add(new H3.Data.Database.Parameter(
// "@kcc2", //参数名
// System.Data.DbType.String, //参数值类型
// kcc2 //参数值
//));
//lis4.Add(up2);
//System.Data.DataTable dataUp2 = this.Engine.Query.QueryTable(UpdateZB2, lis4.ToArray());
} catch(Exception ex)
{
}
}
}
} catch(Exception ex)
{
}
}
protected override void OnWorkflowInstanceStateChanged(H3.Workflow.Instance.WorkflowInstanceState oldState, H3.Workflow.Instance.WorkflowInstanceState newState)
{
if(oldState == H3.Workflow.Instance.WorkflowInstanceState.Running && newState == H3.Workflow.Instance.WorkflowInstanceState.Finished)
{
H3.DataModel.BizObject[] biz = (H3.DataModel.BizObject[]) this.Request.BizObject["D125209szc6ricnlaei6lyminjd"];
//根据objectid更新通用采购申请 D125209sn8ds0wakikkdmitkfmqf
string sqlTY = "select * from i_D125209sn8ds0wakikkdmitkfmqf where objectid = @no ";
//定义参数集合
List < H3.Data.Database.Parameter > parameterTY = new List<H3.Data.Database.Parameter>();
//将参数添加到参数集合
parameterTY.Add(new H3.Data.Database.Parameter(
"@no", //参数名
System.Data.DbType.String, //参数值类型
this.Request.BizObject["F0000038"]//参数值 选择通用采购单号
));
//传入sql和参数查询结果
System.Data.DataTable TY = this.Request.Engine.Query.QueryTable(sqlTY, parameterTY.ToArray());
//判断是否存在数据
if(TY != null && TY.Rows.Count > 0)
{
//取第一行数据
System.Data.DataRowCollection d = TY.Rows;
System.Data.DataRow row = d[0];
//获取更新通用采购申请加载的实例对象 D125209sn8ds0wakikkdmitkfmqf
H3.DataModel.BizObject sq = H3.DataModel.BizObject.Load(H3.Organization.User.SystemUserId, this.Request.Engine, "D125209sn8ds0wakikkdmitkfmqf", row["objectid"] + "", false);
double zsl = Convert.ToDouble(sq["F0000053"]) + 1;
sq["F0000053"] = zsl; //占用数量(辅助) F0000046 + 采购数量
sq.Update();
}
//根据objectid更新专用采购申请 D125209shyx4vc8mtk6hjgdo0
string sqlZY = "select * from i_D125209shyx4vc8mtk6hjgdo0 where objectid = @no ";
//定义参数集合
List < H3.Data.Database.Parameter > parameterZY = new List<H3.Data.Database.Parameter>();
//将参数添加到参数集合
parameterZY.Add(new H3.Data.Database.Parameter(
"@no", //参数名
System.Data.DbType.String, //参数值类型
this.Request.BizObject["F0000038"]//参数值 选择通用采购单号
));
//传入sql和参数查询结果
System.Data.DataTable ZY = this.Request.Engine.Query.QueryTable(sqlZY, parameterTY.ToArray());
//判断是否存在数据
if(ZY != null && ZY.Rows.Count > 0)
{
//取第一行数据
System.Data.DataRowCollection d = ZY.Rows;
System.Data.DataRow row = d[0];
//获取专用采购申请加载的实例对象 D125209shyx4vc8mtk6hjgdo0
H3.DataModel.BizObject sq = H3.DataModel.BizObject.Load(H3.Organization.User.SystemUserId, this.Request.Engine, "D125209shyx4vc8mtk6hjgdo0", row["objectid"] + "", false);
double zsl = Convert.ToDouble(sq["F0000053"]) + 1;
sq["F0000053"] = zsl; //占用数量(辅助) F0000046 + 采购数量
sq.Update();
}
//更新物资入库 D125209skrt4lsjxl0udjuh4651z
//根据采购分解单号 F0000043 , 合同编号无用但不可删 SeqNo 数据状态 不等于 已取消 判断是否存在,有则修改
string sqlWZRL = "select * from i_D125209skrt4lsjxl0udjuh4651z where F0000097 = @no AND F0000019 = @obj ";
//定义参数集合
List < H3.Data.Database.Parameter > parameters = new List<H3.Data.Database.Parameter>();
//将参数添加到参数集合
parameters.Add(new H3.Data.Database.Parameter(
"@no", //参数名
System.Data.DbType.String, //参数值类型
this.Request.BizObject["F0000043"]//参数值
));
parameters.Add(new H3.Data.Database.Parameter(
"@obj", //参数名
System.Data.DbType.String, //参数值类型
this.Request.BizObject["SeqNo"]//参数值
));
//传入sql和参数查询结果
System.Data.DataTable dt = this.Request.Engine.Query.QueryTable(sqlWZRL, parameters.ToArray());
//判断是否存在数据
if(dt != null && dt.Rows.Count > 0)
{
//取第一行数据
System.Data.DataRowCollection d = dt.Rows;
System.Data.DataRow row = d[0];
//获取物资入库加载的实例对象 D125209skrt4lsjxl0udjuh4651z
H3.DataModel.BizObject dz = H3.DataModel.BizObject.Load(H3.Organization.User.SystemUserId, this.Request.Engine, "D125209skrt4lsjxl0udjuh4651z", row["objectid"] + "", true);
//目标子表数据 D125209syosdgo2cpem8fhgkza0
H3.DataModel.BizObject[] mizs = (H3.DataModel.BizObject[]) dz["D125209syosdgo2cpem8fhgkza0"];
//本表单子表数据 D125209sn6jsu01xweigvdpdh9df
H3.DataModel.BizObject[] bizs = (H3.DataModel.BizObject[]) this.Request.BizObject["D125209szc6ricnlaei6lyminjd"];
//目标表单子表数据不为空时进行更新
if(mizs != null)
{
foreach(H3.DataModel.BizObject miz in mizs)
{
foreach(H3.DataModel.BizObject bo in bizs)
{ //D125209sn6jsu01xweigvdpdh9df.F0000055 根据obj D125209sxr1jfg40r0sp6yuqpf2g.F0000084
if(miz["F0000084"] == bo["F0000055"])
{
miz["F0000016"] = bo["F0000016"];//工作令号 D125209sn6jsu01xweigvdpdh9df.F0000016 D125209sxr1jfg40r0sp6yuqpf2g.F0000016
miz["F0000008"] = bo["F0000008"];//产品编号 D125209sn6jsu01xweigvdpdh9df.F0000008 D125209sxr1jfg40r0sp6yuqpf2g.F0000008
miz["F0000017"] = bo["F0000017"];//产品图号 D125209sn6jsu01xweigvdpdh9df.F0000017 D125209sxr1jfg40r0sp6yuqpf2g.F0000017
};
}
}
dz["D125209syosdgo2cpem8fhgkza0"] = mizs;
dz.Update();
}
}
// 采购申请清单 D125209sn4tj5acjuee0gfl87mr
// 更新状态
foreach(H3.DataModel.BizObject bo in biz)
{
//根据obj F0000055 数据状态 等于 已生效 判断是否存在,有则修改
string sqlCGFJ = "select * from i_D125209sn4tj5acjuee0gfl87mr where F0000045 = @no AND Status = @obj";
//定义参数集合
List < H3.Data.Database.Parameter > parameterCGFJ = new List<H3.Data.Database.Parameter>();
//将参数添加到参数集合
parameterCGFJ.Add(new H3.Data.Database.Parameter(
"@no", //参数名
System.Data.DbType.String, //参数值类型
bo["F0000055"]//参数值
));
parameterCGFJ.Add(new H3.Data.Database.Parameter(
"@obj", //参数名
System.Data.DbType.String, //参数值类型
"1"//参数值
));
//传入sql和参数查询结果
System.Data.DataTable CGFJ = this.Request.Engine.Query.QueryTable(sqlCGFJ, parameterCGFJ.ToArray());
//判断是否存在数据
if(CGFJ != null && CGFJ.Rows.Count > 0)
{
//取第一行数据
System.Data.DataRowCollection d = CGFJ.Rows;
System.Data.DataRow row = d[0];
//获取采购申请清单加载的实例对象
H3.DataModel.BizObject sq = H3.DataModel.BizObject.Load(H3.Organization.User.SystemUserId, this.Request.Engine, "D125209sn4tj5acjuee0gfl87mr", row["objectid"] + "", false);
sq["F0000027"] = "已采购"; //采购状态后期可删除
sq.Update();
}
}
// 采购申请清单
// 更新状态
foreach(H3.DataModel.BizObject bo in biz)
{
//根据obj D125209sjwgadx0tgecduldjblnu.F0000055 物资名称 D125209sjwgadx0tgecduldjblnu.F0000031 采购单号 F0000039 判断是否存在,有则修改
string sqlCGFJ = "select * from i_D125209sn4tj5acjuee0gfl87mr where F0000034 = @no AND F0000045 = @obj AND F0000020 = @cgdh";
//定义参数集合
List < H3.Data.Database.Parameter > parameterCGFJ = new List<H3.Data.Database.Parameter>();
//将参数添加到参数集合
parameterCGFJ.Add(new H3.Data.Database.Parameter(
"@no", //参数名
System.Data.DbType.String, //参数值类型
bo["F0000031"]//参数值 D125209sjwgadx0tgecduldjblnu.F0000031//物资名称
));
parameterCGFJ.Add(new H3.Data.Database.Parameter(
"@obj", //参数名
System.Data.DbType.String, //参数值类型
bo["F0000055"]//参数值
));
parameterCGFJ.Add(new H3.Data.Database.Parameter(
"@cgdh", //参数名
System.Data.DbType.String, //参数值类型
this.Request.BizObject["F0000039"]//参数值
));
//传入sql和参数查询结果
System.Data.DataTable CGFJ = this.Request.Engine.Query.QueryTable(sqlCGFJ, parameterCGFJ.ToArray());
//判断是否存在数据
if(CGFJ != null && CGFJ.Rows.Count > 0)
{
//取第一行数据
System.Data.DataRowCollection d = CGFJ.Rows;
System.Data.DataRow row = d[0];
//获取采购申请清单加载的实例对象
H3.DataModel.BizObject sq = H3.DataModel.BizObject.Load(H3.Organization.User.SystemUserId, this.Request.Engine, "D125209sn4tj5acjuee0gfl87mr", row["objectid"] + "", false);
sq["F0000026"] = bo["F0000027"];//使用地点 F0000026 D125209sjwgadx0tgecduldjblnu.F0000027
sq["F0000032"] = bo["F0000028"];//备注 F0000032 D125209sjwgadx0tgecduldjblnu.F0000028
sq["F0000041"] = bo["F0000069"];//采购数量 = 本次分解数量 F0000041 D125209sjwgadx0tgecduldjblnu.F0000069
double zl = Convert.ToDouble(sq["F0000042"]);
double sl = Convert.ToDouble(bo["F0000069"]);
double sum = zl - sl;
sq["F0000042"] = sum;// 剩余生产数量 = 剩余生产数量 - 采购数量 F0000042
sq["F0000048"] = this.Request.BizObject["F0000062"]; //需求到货时间 F0000048 F0000062
sq.Update();
}
}
}
base.OnWorkflowInstanceStateChanged(oldState, newState);
}
public void selectUp() {
string sql = "select * from i_D125209slxbfl79prkgnv1suwjy6";
System.Data.DataTable datalIst = this.Engine.Query.QueryTable(sql, null);
if(datalIst != null && datalIst.Rows.Count > 0)
{
foreach(System.Data.DataRow row in datalIst.Rows)
{
}
}
}
}
帮我检查这个代码