/// 开始导入单据体
///
/// Excel文件
///
/// 特别说明:此函数仅演示如何把Excel转换为DataSet,
/// 并读取DataSet内容,填写到单据体,
/// 未进行任何的安全处理,实际生产环境,需要对数据的合法性进行严格的判断
///
private void DoImportEntry(string fullFileName)
{
using (ExcelOperation helper = new ExcelOperation(this.View))
{
// 利用ExcelOperation对象,把xml文件,转为DataSet对象
// 参数说明:
// filePath : 完整的文件名,包含了物理目录
// dataStartIndex : 数据开始行索引,从0开始。通常第一行为标题,第二行开始为数据行
// colNameIndex : 列名所在行索引,从0开始。如此参数为0,表明第一行为列名行
DataSet ds = helper.ReadFromFile(fullFileName, 1, 0);
// 取第一个表格中的数据导入
DataTable dt = ds.Tables[0];
FormMetadata formMeta = MetaDataServiceHelper.Load(this.Context, "XDUA_CGCBSCDJ") as FormMetadata;
DynamicObject model = new DynamicObject(formMeta.BusinessInfo.GetDynamicObjectType());
//添加一行数据
DynamicObjectCollection rows = model["FEntity"] as DynamicObjectCollection;
int rowIndex = 1;
foreach (DataRow dataRow in dt.Rows)
{
// 单据体增加新行,并更新行索引
DynamicObject row = new DynamicObject(formMeta.BusinessInfo.GetEntity("FEntity").DynamicObjectType);
if (!dataRow["年份"].IsNullOrEmptyOrWhiteSpace())
{
row["F_XDUA_Year"] = dataRow["年份"].ToString();
}
if (!dataRow["月份"].IsNullOrEmptyOrWhiteSpace())
{
row["F_XDUA_Month"] = dataRow["月份"].ToString();
}
if (!dataRow["代码"].IsNullOrEmptyOrWhiteSpace())
{
row["F_XDUA_MATERIALNUMBER"] = dataRow["代码"].ToString();
}
if (!dataRow["名称"].IsNullOrEmptyOrWhiteSpace())
{
row["F_XDUA_MATERIALNAME"] = dataRow["名称"].ToString();
}
if (!dataRow["全名"].IsNullOrEmptyOrWhiteSpace())
{
row["F_XDUA_QM"] = dataRow["全名"].ToString();
}
if (!dataRow["规格型号"].IsNullOrEmptyOrWhiteSpace())
{
row["F_XDUA_MATERIALMODEL"] = dataRow["规格型号"].ToString();
}
if (!dataRow["市场含税平均单价"].IsNullOrEmptyOrWhiteSpace())
{
row["F_XDUA_SCPJDJ"] = dataRow["市场含税平均单价"].ToString();
}
if (!dataRow["税率"].IsNullOrEmptyOrWhiteSpace())
{
row["F_XDUA_SL"] = dataRow["税率"];
}
if (!dataRow["市场平均单价"].IsNullOrEmptyOrWhiteSpace())
{
row["F_XDUA_SCPJDJ2"] = dataRow["市场平均单价"];
}
if (!dataRow["全年市场平均价"].IsNullOrEmptyOrWhiteSpace())
{
row["F_XDUA_QNSCPJDJ"] = dataRow["全年市场平均价"];
}
row["Seq"] = rowIndex;
rows.Add(row);
rowIndex++;
}
IOperationResult result= Utils.SaveDynamicObject(this.Context, "XDUA_CGCBSCDJ", model);
if (result.IsSuccess)
{
string billID = result.SuccessDataEnity.FirstOrDefault()["Id"].GetString();
string billNo = result.SuccessDataEnity.FirstOrDefault()["BillNo"].GetString();
//执行提交
ISubmitService submitService = ServiceHelper.GetService<ISubmitService>();
// 忽略全部需要交互性质的提示
OperateOption operateOption = OperateOption.Create();
operateOption.SetIgnoreWarning(false);//不弹出警告信息
operateOption.SetValidateFlag(false);//不走验证事件
IOperationResult submitResult = submitService.Submit(this.Context, formMeta.BusinessInfo,
new object[] { billID }, "Submit", operateOption);
//if (submitResult.IsSuccess)
//{
// //审核
// IAuditService aduitService = ServiceHelper.GetService<IAuditService>();
// IOperationResult aduitResult = aduitService.Audit(this.Context, formMeta.BusinessInfo,
// new object[] { billID }, operateOption);
//}
this.View.ShowMessage("市场单价导入成功!");
this.View.Refresh();
}
}
}
推荐阅读