You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
6.8 KiB
139 lines
6.8 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Text.RegularExpressions;
|
|
using System.Threading.Tasks;
|
|
using ICS.WCF.Base;
|
|
using ICSSoft.Entity;
|
|
|
|
namespace ICS.IFeaturesValue
|
|
{
|
|
public class FeaturesValue
|
|
{
|
|
public FormICSCreatedArrivalNoticeModel FindByApproveDate(ValueModel d)
|
|
{
|
|
StringBuilder strHead = new StringBuilder();
|
|
strHead.AppendLine("***************接口传入参数记录****************:");
|
|
strHead.AppendLine("开始时间:" + d.StartTime);
|
|
strHead.AppendLine("结束时间:" + d.EndTime);
|
|
strHead.AppendLine("***************接口传入参数记录****************:");
|
|
Appconfig.WriteLogFile(strHead.ToString(), "U9采购/委外信息接口日志");
|
|
StringBuilder resultlog = new StringBuilder();
|
|
FormICSCreatedArrivalNoticeModel result = new FormICSCreatedArrivalNoticeModel();
|
|
List<FeaturesValueModel> returnValue = new List<FeaturesValueModel>();
|
|
|
|
try
|
|
{
|
|
//判断是否有时间戳传入
|
|
|
|
DateTime time1 = Appconfig.TimestampToDateTime(d.StartTime);
|
|
|
|
DateTime time2 = Appconfig.TimestampToDateTime(d.EndTime);
|
|
string ERPDB = Appconfig.GetBPERPStr();
|
|
DataTable _dt_ = new DataTable();
|
|
string sql_new = @" select DISTINCT d.Code,a.ID,a.DocNo,a.SubType,a.ModifiedOn,c.Description from PM_PurchaseOrder a
|
|
LEFT JOIN PM_POMemo b on a.ID=b.PurchaseOrder
|
|
LEFT JOIN PM_POMemo_Trl c on b.ID=c.ID
|
|
LEFT JOIN Base_Organization d on a.Org=d.ID
|
|
WHERE 1 = 1 and d.Code='02'
|
|
";
|
|
//写入传入内容数据
|
|
if (!string.IsNullOrEmpty(d.StartTime.ToString()) && d.StartTime != 0)
|
|
sql_new += " and a.ModifiedOn >= '" + time1 + "'";
|
|
if (!string.IsNullOrEmpty(d.StartTime.ToString()) && d.EndTime != 0)
|
|
sql_new += " and a.[ModifiedOn] <= '" + time2 + "'";
|
|
|
|
sql_new = string.Format(sql_new,ERPDB);
|
|
_dt_ = DBhlper.Query(sql_new, Appconfig.GetU9ConnStr());
|
|
if (_dt_ == null || _dt_.Rows.Count <= 0)
|
|
{
|
|
throw new Exception("该采购/委外信息不存在");
|
|
}
|
|
//循环获取数据入返回集合内
|
|
foreach (DataRow dr in _dt_.Rows)
|
|
{
|
|
FeaturesValueModel model = new FeaturesValueModel();
|
|
model.OrgID = dr["Code"].ToString();
|
|
model.POID = dr["ID"].ToString();
|
|
model.PONo = dr["DocNo"].ToString();
|
|
model.POType = Convert.ToInt32(dr["SubType"].ToString());
|
|
model.CreateDate = Convert.ToDateTime(dr["ModifiedOn"].ToString());
|
|
model.Remarks = dr["Description"].ToString();
|
|
|
|
string sql_new1 = @"select DISTINCT a.ID,a.DocLineNo,a.ItemInfo_ItemCode,a.PurQtySU as RequireQty,a.PurQtySU as AcceptQty,g.DeliveryDate,
|
|
(case a.Status WHEN '2' THEN '1' ELSE '0' end) as Status,f.Code,
|
|
e.Description from PM_POLine a
|
|
LEFT JOIN PM_PurchaseOrder b on a.PurchaseOrder=b.ID
|
|
LEFT JOIN CBO_ItemMaster c on a.ItemInfo_ItemCode=c.Code
|
|
LEFT JOIN PM_POMemo d on a.ID=d.PurchaseOrder
|
|
LEFT JOIN PM_POMemo_Trl e on d.ID=e.ID
|
|
LEFT JOIN Base_UOM f on c.InventoryUOM=f.ID
|
|
LEFT JOIN PM_POShipLine g on a.DocLineNo=g.POLine
|
|
|
|
where a.PurchaseOrder='" + dr["ID"].ToString() + @"' ";
|
|
|
|
sql_new1 = string.Format(sql_new1);
|
|
DataTable _dt_1 = DBhlper.Query(sql_new1, Appconfig.GetU9ConnStr());
|
|
List<POs> lstpo = new List<POs>();
|
|
foreach (DataRow dr1 in _dt_1.Rows)
|
|
{
|
|
POs pomodel = new POs();
|
|
pomodel.RowNo = dr1["DocLineNo"].ToString();
|
|
pomodel.POSID = dr1["ID"].ToString();
|
|
pomodel.ItemNo = dr1["ItemInfo_ItemCode"].ToString();
|
|
pomodel.Postdate = dr1["DeliveryDate"].ToString();
|
|
pomodel.RequireQty = Convert.ToDecimal(dr1["RequireQty"].ToString());
|
|
pomodel.AcceptQty = Convert.ToDecimal(dr1["AcceptQty"].ToString());
|
|
pomodel.UomNo = dr1["Code"].ToString();
|
|
pomodel.IsClose = Convert.ToInt32(dr1["Status"].ToString());
|
|
pomodel.Remarks = dr1["Description"].ToString();
|
|
lstpo.Add(pomodel);
|
|
}
|
|
|
|
|
|
model.POS = lstpo;
|
|
|
|
|
|
|
|
returnValue.Add(model);
|
|
}
|
|
result.Code = 0;
|
|
result.ResMsg = "获取U9采购/委外信息成功";
|
|
result.ResData = returnValue;
|
|
result.IsCompress = false;
|
|
result.IsSuccess = true;
|
|
return result;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
result.Code = -1;
|
|
result.ResMsg = ex.Message;
|
|
result.ResData = null;
|
|
result.IsCompress = false;
|
|
result.IsSuccess = false;
|
|
StringBuilder str = new StringBuilder();
|
|
str.AppendLine("U9采购/委外信息获取失败");
|
|
str.AppendLine("开始时间:" + d.StartTime);
|
|
str.AppendLine("结束时间:" + d.EndTime);
|
|
str.AppendLine("失败原因:" + ex.Message);
|
|
Appconfig.WriteLogFile(str.ToString(), "U9采购/委外信息接口日志");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 返回值
|
|
/// </summary>
|
|
public class FormICSCreatedArrivalNoticeModel
|
|
{
|
|
//0 :正常数据,-1:失败。
|
|
public int Code { get; set; }
|
|
public string ResMsg { get; set; }
|
|
public List<FeaturesValueModel> ResData { get; set; }
|
|
public bool IsCompress { get; set; }
|
|
public bool IsSuccess { get; set; }
|
|
}
|
|
}
|
|
}
|