Files
Gatedge.HuiWei.BOS.JJGZMJ/aoyuPlugIn/汪总监/佳博销售订单验证库存数/jb_xsdd_sh.cs
2025-06-20 09:17:36 +08:00

280 lines
12 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.K3.Core.MFG.EntityHelper;
using System.ComponentModel;
using Kingdee.BOS;
using Kingdee.BOS.Util;
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.Const;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.Operation;
using Kingdee.BOS.Core.List;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.ConvertElement;
using Kingdee.BOS.Core.Metadata.ConvertElement.ServiceArgs;
using Kingdee.BOS.Core.Interaction;
using Kingdee.BOS.Core.Validation;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.App;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Orm;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
namespace aoyuPlugIn
{
[Description("销售订单--审核验证差异数")]
public class jb_xsdd_sh : AbstractOperationServicePlugIn
{
public override void EndOperationTransaction(EndOperationTransactionArgs e)
{
base.EndOperationTransaction(e);
string tsxx = "";
foreach (DynamicObject item in e.DataEntitys)
{
long fid = Convert.ToInt64(item["ID"]);
//String sSql = String.Format(@" insert into pcdn_t_sd_kucunst(id ,beginnum,endnum,ydid,ftype,fbegin) select b.F_PCDN_STORE*100,F_PCDN_BEGINNUM,F_PCDN_ENDNUM,a.FID,'SDIN',F_PCDN_BEGINZF from pcdn_t_sd_sdinentry a, pcdn_t_sd_sdin b where a.FID=b.FID and b.fid={0} ", fid);
//DBUtils.Execute(this.Context, sSql);
var sSql = String.Format("EXEC jb_get_kchz " + fid);
var dr = DBServiceHelper.ExecuteDynamicObject(this.Context, sSql);
foreach (var r in dr)
{
tsxx = "出货单号:" + r[0].ToString() + "|物料编号:" + r[1].ToString() + "|出货数:" + r[2].ToString() + "|差异数:" + r[3].ToString();
OperationResult.OperateResult.Insert(0, new OperateResult()
{
MessageType = MessageType.Normal,
Message = Convert.ToString(tsxx),
Name = "验证结果",
SuccessStatus = true,
}
);
}
}
}
//public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e)
//{
// base.BeforeExecuteOperationTransaction(e);
// return;
// string tsxx = "";
// foreach (ExtendedDataEntity extendedDataEntity in e.SelectedRows)
// {
// int DJID = 0;
// DynamicObject dynamicObjects = extendedDataEntity.DataEntity;
// DJID = Convert.ToInt32(dynamicObjects["Id"]);
// var sSql = String.Format("EXEC jb_get_kchz " + DJID);
// var dr = DBServiceHelper.ExecuteDynamicObject(this.Context, sSql);
// foreach (var r in dr)
// {
// tsxx ="销售订单号:"+r[0].ToString() + "|物料编号:" + r[1].ToString() + "|订单数:"+r[2].ToString()+"|差异数:"+r[3].ToString();
// OperationResult.OperateResult.Insert(0, new OperateResult()
// {
// MessageType = MessageType.Normal,
// Message = Convert.ToString(tsxx),
// Name = "验证结果",
// SuccessStatus = true,
// }
// );
// }
// //if (tsxx != "")
// //{
// // tsxx = "提交失败!\r\n" + tsxx;
// // //throw new KDBusinessException("", tsxx);
// // //e.Cancel = false;
// // //e.CancelMessage = Convert.ToString(tsxx);
// // OperationResult.OperateResult.Insert(0, new OperateResult()
// // {
// // MessageType = MessageType.Normal,
// // Message = Convert.ToString(tsxx),
// // Name = "验证结果",
// // SuccessStatus = true,
// // }
// // );
// // OperationResult.OperateResult.Insert(0, new OperateResult()
// // {
// // MessageType = MessageType.Normal,
// // Message = Convert.ToString(tsxx),
// // Name = "验证结果",
// // SuccessStatus = true,
// // }
// // );
// //}
// //throw new KDBusinessException("", "物料ID为:" + MaterialID.ToString());
// //e.CancelMessage = "物料ID为:"+MaterialID.ToString();
// //string sql = string.Format(@"/*dialect*/select
// // (SELECT case when count(1) > 0 then '在BOM单已使用此物料' else ''end
// // FROM T_ENG_BOM t0 LEFT OUTER JOIN T_ENG_BOMCHILD t1 ON t0.FID = t1.FID
// // where t0.FMATERIALID={0} or t1.FMATERIALID={1})+
// // (SELECT case when count(1) > 0 then '采购订单已使用此物料,' else ''end
// // FROM T_PUR_POORDERENTRY where FMATERIALID = {2}) as result
// // where (select top 1 FAntiCheckControl from PAEZ_t_AntiCheckControl order by fid)=1", MaterialID, MaterialID, MaterialID);
// // string sql = string.Format(@"/*dialect*/select
// // (SELECT case when count(1) > 0 then '在BOM单已使用此物料' else ''end
// // FROM T_ENG_BOM t0 LEFT OUTER JOIN T_ENG_BOMCHILD t1 ON t0.FID = t1.FID
// // where t0.FMATERIALID={0} or t1.FMATERIALID={1})+
// // (SELECT case when count(1) > 0 then '采购订单已使用此物料,' else ''end
// // FROM T_PUR_POORDERENTRY where FMATERIALID = {2}) as result
// // where (select top 1 FAntiCheckControl from PAEZ_t_AntiCheckControl order by fid)=1", MaterialID, MaterialID, MaterialID);
// // DynamicObjectCollection rows = DBUtils.ExecuteDynamicObject(this.Context, sql);
// // string result = "";
// // foreach (DynamicObject row in rows)
// // {
// // result = row["result"].ToString();
// // }
// // if (!"".Equals(result))
// // {
// //e.Cancel = true;
// //e.CancelMessage = Convert.ToString(dynamicObjects["Number"]) + result + "不能反审核的!本次反审核操作失败。";
// //e.CancelMessage = "审核测试不能反审核的!本次反审核操作失败。";
// // break;
// // }
// }
//}
string getjg(BeforeExecuteOperationTransaction e)
{
string tsxx = "";
int k = 0;
foreach (ExtendedDataEntity extendedDataEntity in e.SelectedRows)
{
int DJID = 0;
DynamicObject dynamicObjects = extendedDataEntity.DataEntity;
DJID = Convert.ToInt32(dynamicObjects["Id"]);
var sSql = String.Format("EXEC jb_get_kchz " + DJID);
var dr = DBServiceHelper.ExecuteDynamicObject(this.Context, sSql);
foreach (var r in dr)
{
tsxx = tsxx + "销售订单号:" + r[0].ToString() + "|物料编号:" + r[1].ToString() + "|订单数:" + r[2].ToString() + "|差异数:" + r[3].ToString() + "\r\n";
}
if (tsxx != "")
{
tsxx = "提交失败!\r\n" + tsxx;
//throw new KDBusinessException("", tsxx);
//e.Cancel = false;
//e.CancelMessage = Convert.ToString(tsxx);
OperationResult.OperateResult.Insert(0, new OperateResult()
{
MessageType = MessageType.Normal,
Message = Convert.ToString(tsxx),
Name = "验证结果",
SuccessStatus = true,
}
);
OperationResult.OperateResult.Insert(0, new OperateResult()
{
MessageType = MessageType.Normal,
Message = Convert.ToString(tsxx),
Name = "验证结果1",
SuccessStatus = true,
}
);
}
k++;
}
return "";
}
string getjg2(BeforeExecuteOperationTransaction e)
{
string tsxx = "";
foreach (ExtendedDataEntity extendedDataEntity in e.SelectedRows)
{
int DJID = 0;
DynamicObject dynamicObjects = extendedDataEntity.DataEntity;
DJID = Convert.ToInt32(dynamicObjects["Id"]);
var sSql = String.Format("EXEC jb_get_kchz " + DJID);
var dr = DBServiceHelper.ExecuteDynamicObject(this.Context, sSql);
foreach (var r in dr)
{
tsxx = tsxx + "销售订单号:" + r[0].ToString() + "|物料编号:" + r[1].ToString() + "|订单数:" + r[2].ToString() + "|差异数:" + r[3].ToString() + "\r\n";
}
if (tsxx != "")
{
tsxx = "提交失败!\r\n" + tsxx;
//throw new KDBusinessException("", tsxx);
//e.Cancel = false;
//e.CancelMessage = Convert.ToString(tsxx);
OperationResult.OperateResult.Insert(0, new OperateResult()
{
MessageType = MessageType.Normal,
Message = Convert.ToString(tsxx),
Name = "验证结果",
SuccessStatus = true,
}
);
}
//throw new KDBusinessException("", "物料ID为:" + MaterialID.ToString());
//e.CancelMessage = "物料ID为:"+MaterialID.ToString();
//string sql = string.Format(@"/*dialect*/select
// (SELECT case when count(1) > 0 then '在BOM单已使用此物料' else ''end
// FROM T_ENG_BOM t0 LEFT OUTER JOIN T_ENG_BOMCHILD t1 ON t0.FID = t1.FID
// where t0.FMATERIALID={0} or t1.FMATERIALID={1})+
// (SELECT case when count(1) > 0 then '采购订单已使用此物料,' else ''end
// FROM T_PUR_POORDERENTRY where FMATERIALID = {2}) as result
// where (select top 1 FAntiCheckControl from PAEZ_t_AntiCheckControl order by fid)=1", MaterialID, MaterialID, MaterialID);
// string sql = string.Format(@"/*dialect*/select
// (SELECT case when count(1) > 0 then '在BOM单已使用此物料' else ''end
// FROM T_ENG_BOM t0 LEFT OUTER JOIN T_ENG_BOMCHILD t1 ON t0.FID = t1.FID
// where t0.FMATERIALID={0} or t1.FMATERIALID={1})+
// (SELECT case when count(1) > 0 then '采购订单已使用此物料,' else ''end
// FROM T_PUR_POORDERENTRY where FMATERIALID = {2}) as result
// where (select top 1 FAntiCheckControl from PAEZ_t_AntiCheckControl order by fid)=1", MaterialID, MaterialID, MaterialID);
// DynamicObjectCollection rows = DBUtils.ExecuteDynamicObject(this.Context, sql);
// string result = "";
// foreach (DynamicObject row in rows)
// {
// result = row["result"].ToString();
// }
// if (!"".Equals(result))
// {
//e.Cancel = true;
//e.CancelMessage = Convert.ToString(dynamicObjects["Number"]) + result + "不能反审核的!本次反审核操作失败。";
//e.CancelMessage = "审核测试不能反审核的!本次反审核操作失败。";
// break;
// }
}
return "";
}
}
}