Browse Source

冲压件 材料订单增补初步测试

SCP_CYJ
qian 6 months ago
parent
commit
9870629ef4
  1. 48
      Common/MyWebSmtpMail.cs
  2. 1
      Controller/CK.SCP.Controller.csproj
  3. 577
      Controller/SCP_MPO_CONTROLLER.cs
  4. 6
      Models/CK.SCP.Models.csproj
  5. 7
      Models/Enums/DataState.cs
  6. 5
      Models/ScpEntities.cs
  7. 52
      Models/ScpEntity/TB_MATERIALORDERS.cs
  8. 62
      Models/ScpEntity/TB_MATERIALORDERS_DETAIL.cs
  9. 25
      Models/ScpEntity/TS_Email.cs
  10. 38
      Models/ScpEntity/V_MPO_PRINT.cs
  11. 61
      Models/ScpEntity/V_TB_MPO.cs
  12. 64
      Models/ScpEntity/V_TB_MPO_DETAIL.cs
  13. 20
      SCP/Common/ReportHelper.cs
  14. 20
      SCP/SCP.csproj
  15. 75
      SCP/Views/富维冲压件/SCP_MPO_DETAIL.aspx
  16. 175
      SCP/Views/富维冲压件/SCP_MPO_DETAIL.aspx.cs
  17. 116
      SCP/Views/富维冲压件/SCP_MPO_DETAIL.aspx.designer.cs
  18. 119
      SCP/Views/富维冲压件/SCP_PO_MATERIAL.aspx
  19. 242
      SCP/Views/富维冲压件/SCP_PO_MATERIAL.aspx.cs
  20. 188
      SCP/Views/富维冲压件/SCP_PO_MATERIAL.aspx.designer.cs
  21. 11
      UniApiGroup/App.config
  22. 1
      UniApiGroup/Config/DurationConfig.cs
  23. 1
      UniApiGroup/Config/UniApiConfig.cs
  24. 38
      UniApiGroup/Controller/MailController.cs
  25. 145
      UniApiGroup/Controller/OdbcApiQadController.cs
  26. 103
      UniApiGroup/Controller/PoBillNumcontroller.cs
  27. 2
      UniApiGroup/Controller/Vendercontroller.cs
  28. 165
      UniApiGroup/FormMain.Designer.cs
  29. 10
      UniApiGroup/FormMain.cs
  30. 38
      UniApiGroup/FormMain.resx
  31. 1
      UniApiGroup/IApi.cs
  32. 42
      UniApiGroup/QadOdbcApi.cs

48
Common/MyWebSmtpMail.cs

@ -87,6 +87,54 @@ namespace CK.SCP.Common
}
}
}
public void SendOrdersEmail(string To, string Body, string Title)
{
mailMessage = new MailMessage();
mailMessage.To.Add(To);
mailMessage.From = new System.Net.Mail.MailAddress(this.from);
mailMessage.Subject = Title;
mailMessage.Body = Body;
mailMessage.IsBodyHtml = true;
mailMessage.BodyEncoding = System.Text.Encoding.UTF8;
mailMessage.Priority = System.Net.Mail.MailPriority.Normal;
if (mailMessage != null)
{
smtpClient = new SmtpClient();
if (!credentials)
{
smtpClient.Credentials = new System.Net.NetworkCredential(username, password);
}
smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtpClient.Host = server;
smtpClient.Port = port;
smtpClient.EnableSsl = enablessl;
//smtpClient.Send(mailMessage);
//smtpClient.SendAsync(mailMessage, null);
//如果服务器支持安全连接,则将安全连接设为true
//smtpClient.EnableSsl = true;
try
{
//是否使用默认凭据,若为false,则使用自定义的证书,就是下面的networkCredential实例对象
smtpClient.UseDefaultCredentials = false;
//指定邮箱账号和密码,需要注意的是,这个密码是你在QQ邮箱设置里开启服务的时候给你的那个授权码
System.Net.NetworkCredential networkCredential = new System.Net.NetworkCredential(username, password);
smtpClient.Credentials = networkCredential;
//发送邮件
smtpClient.Send(mailMessage);
}
catch (System.Net.Mail.SmtpException ex)
{
throw ex;
}
}
}
}
public class EmailAddress

1
Controller/CK.SCP.Controller.csproj

@ -80,6 +80,7 @@
<Compile Include="SCP_MoldSharing_Controller.cs" />
<Compile Include="SCP_PALLET_CONTROLLER.cs" />
<Compile Include="SCP_PLAN_CONTROLLER.cs" />
<Compile Include="SCP_MPO_CONTROLLER.cs" />
<Compile Include="SCP_QUALITY_CONTROLLER.cs" />
<Compile Include="SCP_REPORT_CONTROLLER.cs" />
<Compile Include="SCP_TB_PRICE_CONTROLLER.cs" />

577
Controller/SCP_MPO_CONTROLLER.cs

@ -0,0 +1,577 @@
using System;
using System.Collections.Generic;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.Enums;
using CK.SCP.Models.ScpEntity;
using CK.SCP.Models.ScpEntity.ExcelImportEntity;
using CK.SCP.Utils;
using System.Data.Entity.Core;
using CK.SCP.Models.ScpEntity.ExcelExportEnttity;
using System.Text.RegularExpressions;
using System.Threading;
using System.Data;
using Newtonsoft.Json;
using CK.SCP.Models.UniApiEntity;
using CK.SCP.Models.AppBoxEntity;
namespace CK.SCP.Controller
{
public class SCP_MPO_CONTROLLER
{
/// <summary>
/// 获取一般材料订单
/// </summary>
/// <param name="p_entity"></param>
/// <param name="p_action"></param>
public static void Get_V_TB_MPO_List(V_TB_MPO p_entity, Action<ResultObject<IQueryable<V_TB_MPO>>> p_action)
{
ResultObject<IQueryable<V_TB_MPO>> _ret = new ResultObject<IQueryable<V_TB_MPO>>();
try
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
IQueryable<V_TB_MPO> q = db.V_TB_MPO;
if (p_entity.DocDateBegin != DateTime.MinValue)
{
q = q.Where(p => p.DocDate >= p_entity.DocDateBegin);
}
if (p_entity.DocDateEnd != DateTime.MinValue)
{
q = q.Where(p => p.DocDate <= p_entity.DocDateEnd);
}
if (!string.IsNullOrEmpty(p_entity.PurdocNO))
{
q = q.Where(p => p.PurdocNO == p_entity.PurdocNO.Trim());
}
if (p_entity.UserInVendIds != null && p_entity.UserInVendIds.Count > 0)
{
q = q.Where(p => p_entity.UserInVendIds.Contains(p.VendorNO));
}
_ret.State = ReturnStatus.Succeed;
_ret.Result = q;
p_action(_ret);
}
}
catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
{
var sb = new StringBuilder();
foreach (var error in dbEx.EntityValidationErrors.ToList())
{
error.ValidationErrors.ToList().ForEach(i =>
{
sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
});
}
_ret.State = ReturnStatus.Failed;
_ret.ErrorList.Add(dbEx);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Get_V_TB_MPO_List", sb.ToString());
throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
}
catch (OptimisticConcurrencyException ex)//并发冲突异常
{
_ret.State = ReturnStatus.Failed;
_ret.ErrorList.Add(ex);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Get_V_TB_MPO_List", ex.ToString());
throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
}
catch (ScpException ex)
{
_ret.State = ReturnStatus.Failed;
_ret.ErrorList.Add(ex);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Get_V_TB_MPO_List", ex.ToString());
if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
{
var inner = (UpdateException)ex.InnerException;
throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
}
else
{
if (ex.InnerException != null) throw ex.InnerException;
}
}
catch (Exception e)
{
_ret.State = ReturnStatus.Failed;
_ret.ErrorList.Add(e);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Get_V_TB_MPO_List", e.Message);
throw e;
}
}
/// <summary>
/// 获取一般材料订单明细
/// </summary>
/// <param name="p_entity"></param>
/// <param name="p_action"></param>
public static void Get_V_TB_MPO_DETAIL_List(V_TB_MPO_DETAIL p_entity, Action<ResultObject<IQueryable<V_TB_MPO_DETAIL>>> p_action)
{
ResultObject<IQueryable<V_TB_MPO_DETAIL>> _ret = new ResultObject<IQueryable<V_TB_MPO_DETAIL>>();
try
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
IQueryable<V_TB_MPO_DETAIL> q = db.V_TB_MPO_DETAIL;
if (p_entity.purdocnolist != null && p_entity.purdocnolist.Count > 0)
{
q = q.Where(p => p_entity.purdocnolist.Contains(p.PurdocNO));
}
_ret.State = ReturnStatus.Succeed;
_ret.Result = q;
p_action(_ret);
}
}
catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
{
var sb = new StringBuilder();
foreach (var error in dbEx.EntityValidationErrors.ToList())
{
error.ValidationErrors.ToList().ForEach(i =>
{
sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
});
}
_ret.State = ReturnStatus.Failed;
_ret.ErrorList.Add(dbEx);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Get_V_TB_MPO_DETAIL_List", sb.ToString());
throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
}
catch (OptimisticConcurrencyException ex)//并发冲突异常
{
_ret.State = ReturnStatus.Failed;
_ret.ErrorList.Add(ex);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Get_V_TB_MPO_DETAIL_List", ex.ToString());
throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
}
catch (ScpException ex)
{
_ret.State = ReturnStatus.Failed;
_ret.ErrorList.Add(ex);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Get_V_TB_MPO_DETAIL_List", ex.ToString());
if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
{
var inner = (UpdateException)ex.InnerException;
throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
}
else
{
if (ex.InnerException != null) throw ex.InnerException;
}
}
catch (Exception e)
{
_ret.State = ReturnStatus.Failed;
_ret.ErrorList.Add(e);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Get_V_TB_MPO_DETAIL_List", e.Message);
throw e;
}
}
/// <summary>
/// 一般材料订单明细列表
/// </summary>
/// <param name="p_lst">PurdocNOlist</param>
/// <returns></returns>
public static List<V_TB_MPO_DETAIL> GetMPODetailList(List<String> p_lst)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_TB_MPO_DETAIL.Where(p => p_lst.Contains(p.PurdocNO) && p.Ctype != "D").ToList();
}
}
/// <summary>
/// 作废传接口
/// </summary>
/// <param name="ls"></param>
/// <returns></returns>
public static ResultObject<bool> Save_ts_uni_api(List<string> ls)
{
ResultObject<bool> _ret = new ResultObject<bool>();
try
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
{
List<string> lineError = new List<string>();
List<string> ErrorList = new List<string>();
foreach (var po in ls)
{
var po1 = db.TB_MATERIALORDERS.FirstOrDefault(t => t.PurdocNO == po && t.Ctype != "D");
po1.AcceptStatus = (int)GeneralMaterialOrderState.Finish;
db.TB_MATERIALORDERS.AddOrUpdate(po1);
var po2 = db.TB_MATERIALORDERS_DETAIL.Where(t => t.PurdocNO == po && t.Ctype != "D").ToList();
foreach (var po3 in po2)
{
po3.AcceptStatus = (int)GeneralMaterialOrderState.Finish;
db.TB_MATERIALORDERS_DETAIL.AddOrUpdate(po3);
}
var lx = db.TS_UNI_API.Where(t => t.BillNum == po && t.Receiver == "I").ToList();
foreach (var po4 in lx)
{
po4.State = 1;
po4.Receiver = "D";
db.TS_UNI_API.AddOrUpdate(po4);
}
}
}
if (_ret.MessageList.Count == 0)
{
int state = db.SaveChanges();
if (state != -1)
{
_ret.State = ReturnStatus.Succeed;
_ret.Result = true;
}
else
{
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
}
}
else
{
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
}
}
}
catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
{
var sb = new StringBuilder();
foreach (var error in dbEx.EntityValidationErrors.ToList())
{
error.ValidationErrors.ToList().ForEach(i =>
{
sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
});
}
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.ErrorList.Add(dbEx);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Save_PO_TO_ASK", sb.ToString());
throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
}
catch (OptimisticConcurrencyException ex)//并发冲突异常
{
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.ErrorList.Add(ex);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Save_PO_TO_ASK", ex.ToString());
throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
}
catch (ScpException ex)
{
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.ErrorList.Add(ex);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Save_PO_TO_ASK", ex.ToString());
if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
{
var inner = (UpdateException)ex.InnerException;
throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
}
else
{
if (ex.InnerException != null) throw ex.InnerException;
}
}
catch (Exception e)
{
_ret.State = ReturnStatus.Failed;
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Save_PO_TO_ASK", e.Message);
_ret.Result = false;
_ret.ErrorList.Add(e);
throw e;
}
return _ret;
}
/// <summary>
/// 保存状态
/// </summary>
/// <param name="p_list"></param>
/// <param name="p_state"></param>
/// <returns></returns>
public static ResultObject<bool> Save_MPO_STATE(List<string> p_list, GeneralMaterialOrderState p_state)
{
ResultObject<bool> _ret = new ResultObject<bool>();
try
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
switch (p_state)
{
case GeneralMaterialOrderState.Finish:
var orblist = db.TB_MATERIALORDERS.Where(q => p_list.Contains(q.PurdocNO)).ToList();
var ctylist = orblist.Select(q => q.Ctype).ToList();
if (ctylist.Contains("D"))
{
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.Message = "存在已经作废的数据,请重新选择!";
_ret.MessageList.Add(_ret.Message);
return _ret;
}
var acclist = orblist.Select(q => q.AcceptStatus).ToList();
if (acclist.Contains((int)GeneralMaterialOrderState.Finish))
{
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.Message = "存在已经确认的数据,请重新选择!";
_ret.MessageList.Add(_ret.Message);
return _ret;
}
foreach (var item in p_list)
{
var tbMater = db.TB_MATERIALORDERS.FirstOrDefault(q => q.PurdocNO == item);
tbMater.AcceptStatus = (int)GeneralMaterialOrderState.Finish;
var tbMaterList = db.TB_MATERIALORDERS_DETAIL.Where(q => q.PurdocNO == item).ToList();
tbMaterList.ForEach(q =>
{
q.AcceptStatus = (int)GeneralMaterialOrderState.Finish;
});
db.TB_MATERIALORDERS.AddOrUpdate(itm1 => itm1.UID, tbMater);
db.TB_MATERIALORDERS_DETAIL.AddOrUpdate(itm => itm.UID, tbMaterList.ToArray());
}
break;
case GeneralMaterialOrderState.New:
var MAblist = db.TB_MATERIALORDERS.Where(q => p_list.Contains(q.PurdocNO)).ToList();
var ctypelist = MAblist.Select(q => q.Ctype).ToList();
if (ctypelist.Contains("D"))
{
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.Message = "存在已经作废的数据,请重新选择!";
_ret.MessageList.Add(_ret.Message);
return _ret;
}
var acceplist = MAblist.Select(q => q.AcceptStatus).ToList();
if (acceplist.Contains((int)GeneralMaterialOrderState.New))
{
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.Message = "存在已经待确认的数据,请重新选择!";
_ret.MessageList.Add(_ret.Message);
return _ret;
}
foreach (var item in p_list)
{
var tbMater = db.TB_MATERIALORDERS.FirstOrDefault(q => q.PurdocNO == item);
tbMater.AcceptStatus = (int)GeneralMaterialOrderState.New;
var tbMaterList = db.TB_MATERIALORDERS_DETAIL.Where(q => q.PurdocNO == item).ToList();
tbMaterList.ForEach(q =>
{
q.AcceptStatus = (int)GeneralMaterialOrderState.New;
q.UpdateTime = DateTime.Now.ToString();
});
db.TB_MATERIALORDERS.AddOrUpdate(itm1 => itm1.UID, tbMater);
db.TB_MATERIALORDERS_DETAIL.AddOrUpdate(itm => itm.UID, tbMaterList.ToArray());
}
break;
}
if (db.SaveChanges() != -1)
{
_ret.State = ReturnStatus.Succeed;
_ret.Result = true;
return _ret;
}
else
{
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.Message = "数据更新失败!";
_ret.MessageList.Add(_ret.Message);
return _ret;
}
}
}
catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
{
var sb = new StringBuilder();
foreach (var error in dbEx.EntityValidationErrors.ToList())
{
error.ValidationErrors.ToList().ForEach(i =>
{
sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
});
}
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.ErrorList.Add(dbEx);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_MPO_CONTROLLER), "Save_MPO_STATE", sb.ToString());
throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
}
catch (OptimisticConcurrencyException ex)//并发冲突异常
{
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.ErrorList.Add(ex);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_MPO_CONTROLLER), "Save_MPO_STATE", ex.ToString());
throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
}
catch (ScpException ex)
{
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.ErrorList.Add(ex);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_MPO_CONTROLLER), "Save_MPO_STATE", ex.ToString());
if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
{
var inner = (UpdateException)ex.InnerException;
throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
}
else
{
if (ex.InnerException != null) throw ex.InnerException;
}
}
catch (Exception e)
{
_ret.State = ReturnStatus.Failed;
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_MPO_CONTROLLER), "Save_MPO_STATE", e.Message);
_ret.Result = false;
_ret.ErrorList.Add(e);
}
return _ret;
}
/// <summary>
/// 获取材料订单主表数据
/// </summary>
/// <param name="PurdocNO"></param>
/// <returns></returns>
public static TB_MATERIALORDERS GetTbMaterialorders(string PurdocNO)
{
TB_MATERIALORDERS MATERIALORDERS = new TB_MATERIALORDERS();
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
MATERIALORDERS = db.TB_MATERIALORDERS.FirstOrDefault(q => q.PurdocNO == PurdocNO);
}
return MATERIALORDERS;
}
/// <summary>
/// 获取材料订单明细表数据
/// </summary>
/// <param name="PurdocNO"></param>
/// <returns></returns>
public static List<TB_MATERIALORDERS_DETAIL> GetTbMaterialordersDetailList(string PurdocNO)
{
List<TB_MATERIALORDERS_DETAIL> MATERIALORDERS = new List<TB_MATERIALORDERS_DETAIL>();
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
MATERIALORDERS = db.TB_MATERIALORDERS_DETAIL.Where(q => q.PurdocNO == PurdocNO).ToList();
}
return MATERIALORDERS;
}
/// <summary>
/// 打印数据
/// </summary>
/// <param name="p_AsnBillNum"></param>
/// <returns></returns>
public static DataSet MPO_REPORT(string PurdocNO)
{
DataSet ds = new DataSet();
TB_MATERIALORDERS order = GetTbMaterialorders(PurdocNO);
V_MPO_PRINT print = new V_MPO_PRINT();
print.PURDOCNO = order.PurdocNO;
print.DOCDATE = order.DocDate.ToString("yyyy-MM-dd");
print.PHONE = order.PHONE;
print.FAXNUM = order.FAXNUM;
print.PURGRPDESC = order.PurgrpDesc;
print.VendorNO = order.VendorNO;
print.FIRSTTELNO = order.FIRSTTELNO;
print.STAGEDESC = order.STAGEDESC;
TA_VENDER vender = GET_TA_VENDER(order.VendorNO);
if (vender != null)
{
print.CAAIFax = vender.VendName;
print.CurrentUserAdress = vender.Address;
print.RESPONSIBLESALESPERSON = vender.Contacter;
print.SupplierFax = vender.Fax;
}
List<TB_MATERIALORDERS_DETAIL> detailList = GetTbMaterialordersDetailList(PurdocNO);
List<V_MPO_PRINT_DETAIL> lsDetail = new List<V_MPO_PRINT_DETAIL>();
decimal SUM = 0.00M;
detailList.ForEach(p =>
{
V_MPO_PRINT_DETAIL _detail = new V_MPO_PRINT_DETAIL();
_detail.PURCHASEREQNO = p.PurchaseReqNO;
_detail.PROPOSERDESC = p.ProposerDesc;
_detail.MTLNO = p.MtlNO;
_detail.SHORTTEXT = p.Shorttext;
_detail.SIZECOL = p.SizeCol;
_detail.UNITDES = p.Unitdes;
_detail.QUANTITY = p.Quantity.ToString("#.####");
_detail.PRICE = p.PRICE.ToString("#.######");
_detail.NETVALUE = p.NetValue.ToString("#.######");
_detail.PURINFORECORD = p.PurinfoReCord;
_detail.ITEMDELIVERYDATE = p.ItemDeliveryDate.ToString("yyyy-MM-dd");
_detail.GLACCTNODES = p.Glaccnum;
_detail.COSTCENTERDES = p.CostCenterDes;
lsDetail.Add(_detail);
SUM += p.NetValue;
});
print.Total = SUM.ToString("F6");
var dt = ConvertHelper.ToDataTable(new List<V_MPO_PRINT> { print });
ds.Tables.Add(dt);
var dt1 = ConvertHelper.ToDataTable(lsDetail);
ds.Tables.Add(dt1);
return ds;
}
/// <summary>
/// 获取打印相关的供应商信息
/// </summary>
/// <param name="VENDID"></param>
/// <returns></returns>
public static TA_VENDER GET_TA_VENDER (string VENDID)
{
TA_VENDER _VENDER = new TA_VENDER();
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
_VENDER = db.TA_VENDER.FirstOrDefault(q => q.VendId == VENDID);
}
return _VENDER;
}
}
}

6
Models/CK.SCP.Models.csproj

@ -360,6 +360,10 @@
<Compile Include="ScpEntity\TA_CarModel.cs" />
<Compile Include="ScpEntity\TA_MoldSharing.cs" />
<Compile Include="ScpEntity\TA_MOLDSHARING_INVOICE.cs" />
<Compile Include="ScpEntity\V_MPO_PRINT.cs" />
<Compile Include="ScpEntity\V_TB_MPO_DETAIL.cs" />
<Compile Include="ScpEntity\TB_MATERIALORDERS_DETAIL.cs" />
<Compile Include="ScpEntity\TB_MATERIALORDERS.cs" />
<Compile Include="ScpEntity\TA_PinFan.cs" />
<Compile Include="ScpEntity\TA_ProductionLine.cs" />
<Compile Include="ScpEntity\TA_PurchasGroup.cs" />
@ -410,6 +414,7 @@
<Compile Include="ScpEntity\TB_PALLET_DETAIL.cs" />
<Compile Include="ScpEntity\TB_SUPPLIER_MAIL.cs" />
<Compile Include="ScpEntity\TM_CYJ_BOM.cs" />
<Compile Include="ScpEntity\TS_Email.cs" />
<Compile Include="ScpEntity\TS_BARCODE_CUSTOM.cs" />
<Compile Include="ScpEntity\TS_BARCODE_RULE_CUSTOM.cs" />
<Compile Include="ScpEntity\TS_BARCODE_RULE_SMALL.cs" />
@ -475,6 +480,7 @@
<Compile Include="ScpEntity\V_TB_INVOICE_RED.cs" />
<Compile Include="ScpEntity\V_TB_INVOICE.cs" />
<Compile Include="ScpEntity\V_TB_INVOICE_DETAIL_RED.cs" />
<Compile Include="ScpEntity\V_TB_MPO.cs" />
<Compile Include="ScpEntity\V_TB_PO.cs" />
<Compile Include="ScpEntity\V_TB_PO_DETAIL.cs" />
<Compile Include="ScpEntity\V_TB_PO_PLAN.cs" />

7
Models/Enums/DataState.cs

@ -26,4 +26,11 @@ namespace CK.SCP.Models.Enums
Process = 1,
Finish = 2,
}
public enum GeneralMaterialOrderState
{
Cancel = -1,
New = 0,
Finish = 1,
}
}

5
Models/ScpEntities.cs

@ -169,6 +169,11 @@ namespace CK.SCP.Models
public virtual DbSet<V_TB_ASK_RECEIVE> V_TB_ASK_RECEIVE { get; set; }
public virtual DbSet<TB_ASK_RECEIVE> TB_ASK_RECEIVE { get; set; }
public virtual DbSet<TB_UNCOMPLETE_TEMPASK> TB_UNCOMPLETE_TEMPASK { get; set; }
public virtual DbSet<TB_MATERIALORDERS> TB_MATERIALORDERS { get; set; }
public virtual DbSet<TB_MATERIALORDERS_DETAIL> TB_MATERIALORDERS_DETAIL { get; set; }
public virtual DbSet<V_TB_MPO> V_TB_MPO { get; set; }
public virtual DbSet<V_TB_MPO_DETAIL> V_TB_MPO_DETAIL { get; set; }
public virtual DbSet<TS_Email> TS_Email { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<TA_MOLDSHARING>()

52
Models/ScpEntity/TB_MATERIALORDERS.cs

@ -0,0 +1,52 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CK.SCP.Models.ScpEntity
{
public partial class TB_MATERIALORDERS
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long UID { get; set; }
[DisplayName("采购凭证号")]
public string PurdocNO { get; set; }
[DisplayName("采购凭证类型描述")]
public string BuyListStrdes { get; set; }
[DisplayName("凭证日期(订货日期)")]
public DateTime DocDate { get; set; }
[DisplayName("供应商代码")]
public string VendorNO { get; set; }
[DisplayName("供应商描述")]
public string VendorDesc { get; set; }
[DisplayName("采购组描述(收货人)")]
public string PurgrpDesc { get; set; }
[DisplayName("审批状态 4=审批通过")]
public string ApprovalStatus { get; set; }
[DisplayName("供应商状态")]
public int AcceptStatus { get; set; }
[DisplayName("交货日程日期")]
public DateTime ItemdeliveryDate { get; set; }
[DisplayName("创建人描述")]
public string CreatedByDesc{ get; set; }
[DisplayName("创建人")]
public string CreatedBy { get; set; }
[DisplayName("状态")]
public string Ctype { get; set; }
[DisplayName("供应商的联系电话")]
public string FIRSTTELNO { get; set; }
[DisplayName("电话")]
public string PHONE { get; set; }
[DisplayName("购组传真")]
public string FAXNUM { get; set; }
[DisplayName("付款条件描述")]
public string STAGEDESC { get; set; }
}
}

62
Models/ScpEntity/TB_MATERIALORDERS_DETAIL.cs

@ -0,0 +1,62 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CK.SCP.Models.ScpEntity
{
public partial class TB_MATERIALORDERS_DETAIL
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long UID { get; set; }
[DisplayName("采购凭证号")]
public string PurdocNO { get; set; }
[DisplayName("申请单号")]
public string PurchaseReqNO { get; set; }
[DisplayName("申请人")]
public string ProposerDesc { get; set; }
[DisplayName("物料号")]
public string MtlNO { get; set; }
[DisplayName("审批状态 4=审批通过")]
public string ApprovalStatus { get; set; }
[DisplayName("供应商状态")]
public int AcceptStatus { get; set; }
[DisplayName("物料描述")]
public string Shorttext { get; set; }
[DisplayName("型号规格")]
public string SizeCol { get; set; }
[DisplayName("材料牌号")]
public string Matbrand { get; set; }
[DisplayName("单位")]
public string Unitdes { get; set; }
[DisplayName("数量")]
public decimal Quantity { get; set; }
[DisplayName("价格")]
public decimal PRICE { get; set; }
[DisplayName("金额")]
public decimal NetValue { get; set; }
[DisplayName("采购信息")]
public string PurinfoReCord { get; set; }
[DisplayName("要求到货日期")]
public DateTime ItemDeliveryDate { get; set; }
[DisplayName("科目")]
public string Glaccnum { get; set; }
[DisplayName("状态")]
public string Ctype { get; set; }
[DisplayName("成本中心")]
public string CostCenterDes { get; set; }
[DisplayName("存储地点")]
public string StoreLocation { get; set; }
[DisplayName("更新时间")]
public string UpdateTime { get; set; }
}
}

25
Models/ScpEntity/TS_Email.cs

@ -0,0 +1,25 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CK.SCP.Models.ScpEntity
{
public partial class TS_Email
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long UID { get; set; }
[DisplayName("发送的人")]
[StringLength(50)]
public string EmailToUser { get; set; }
[DisplayName("发送的地址")]
public string EmailAddress { get; set; }
[DisplayName("发送内容")]
public string EmailString { get; set; }
[DisplayName("发送状态 0待发送 1发送成功 2发送失败")]
public int EmailSendState { get; set; }
[DisplayName("失败原因")]
public string EmailSendFailReason { get; set; }
}
}

38
Models/ScpEntity/V_MPO_PRINT.cs

@ -0,0 +1,38 @@
namespace CK.SCP.Models.ScpEntity
{
public class V_MPO_PRINT
{
public string PURDOCNO { get; set; }
public string DOCDATE { get; set; }
public string PHONE { get; set; }
public string FAXNUM { get; set; }
public string VendorNO { get; set; }
public string PURGRPDESC { get; set; }
public string CAAIFax { get; set; }
public string CurrentUserAdress { get; set; }
public string RESPONSIBLESALESPERSON { get; set; }
public string SupplierFax { get; set; }
public string FIRSTTELNO { get; set; }
public string STAGEDESC { get; set; }
public string Total { get; set; }
}
public class V_MPO_PRINT_DETAIL
{
public string PURCHASEREQNO { get; set; }
public string PROPOSERDESC { get; set; }
public string MTLNO { get; set; }
public string SHORTTEXT { get; set; }
public string SIZECOL { get; set; }
public string UNITDES { get; set; }
public string QUANTITY { get; set; }
public string PRICE { get; set; }
public string NETVALUE { get; set; }
public string PURINFORECORD { get; set; }
public string ITEMDELIVERYDATE { get; set; }
public string GLACCTNODES { get; set; }
public string COSTCENTERDES { get; set; }
}
}

61
Models/ScpEntity/V_TB_MPO.cs

@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CK.SCP.Models.ScpEntity
{
public partial class V_TB_MPO
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long UID { get; set; }
[DisplayName("订单号")]
public string PurdocNO { get; set; }
[DisplayName("采购凭证类型描述")]
public string BuyListStrdes { get; set; }
[DisplayName("凭证日期(订货日期)")]
public DateTime DocDate { get; set; }
[DisplayName("供应商代码")]
public string VendorNO { get; set; }
[DisplayName("供应商描述")]
public string VendorDesc { get; set; }
[DisplayName("采购组描述(收货人)")]
public string PurgrpDesc { get; set; }
public string ApprovalStatus { get; set; }
[DisplayName("当前确认状态")]
public int AcceptStatus { get; set; }
[DisplayName("OA审批状态")]
public string OASTATUS { get; set; }
[DisplayName("交货日程日期")]
public DateTime ItemdeliveryDate { get; set; }
[DisplayName("创建人描述")]
public string CreatedByDesc { get; set; }
[DisplayName("创建人")]
public string CreatedBy { get; set; }
[DisplayName("创建人电话")]
public string CreatedByPhone { get; set; }
[DisplayName("状态")]
public string Ctype { get; set; }
[DisplayName("供应商的联系电话")]
public string FIRSTTELNO { get; set; }
[DisplayName("当前状态")]
public string State_DESC { get; set; }
[DisplayName("单据类型")]
public string CType_DESC { get; set; }
[NotMapped]
public DateTime DocDateBegin { get; set; }
[NotMapped]
public DateTime DocDateEnd { get; set; }
[NotMapped]
public List<string> UserInVendIds { get; set; }
}
}

64
Models/ScpEntity/V_TB_MPO_DETAIL.cs

@ -0,0 +1,64 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CK.SCP.Models.ScpEntity
{
public partial class V_TB_MPO_DETAIL
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long UID { get; set; }
[DisplayName("订单号")]
public string PurdocNO { get; set; }
[DisplayName("申请单号")]
public string PurchaseReqNO { get; set; }
[DisplayName("申请人")]
public string ProposerDesc { get; set; }
[DisplayName("物料号")]
public string MtlNO { get; set; }
public string ApprovalStatus { get; set; }
[DisplayName("当前确认状态")]
public int AcceptStatus { get; set; }
[DisplayName("OA审批状态")]
public string OASTATUS { get; set; }
[DisplayName("物料描述")]
public string Shorttext { get; set; }
[DisplayName("型号规格")]
public string SizeCol { get; set; }
[DisplayName("材料牌号")]
public string Matbrand { get; set; }
[DisplayName("单位")]
public string Unitdes { get; set; }
[DisplayName("数量")]
public decimal Quantity { get; set; }
[DisplayName("价格")]
public decimal PRICE { get; set; }
[DisplayName("金额")]
public decimal NetValue { get; set; }
[DisplayName("采购信息")]
public string PurinfoReCord { get; set; }
[DisplayName("要求到货日期")]
public DateTime ItemDeliveryDate { get; set; }
[DisplayName("科目")]
public string Glaccnum { get; set; }
[DisplayName("状态")]
public string Ctype { get; set; }
[DisplayName("成本中心")]
public string CostCenterDes { get; set; }
[DisplayName("存储地点")]
public string StoreLocation { get; set; }
public string State_DESC { get; set; }
public string CType_DESC { get; set; }
[NotMapped]
public List<string> purdocnolist { get; set; }
}
}

20
SCP/Common/ReportHelper.cs

@ -25,6 +25,7 @@ namespace SCP.Common
ASN_PALLET =107,
PALLET=105,
SmallBARCODE = 106,
PO_MATERIAL = 131,
}
public class TextProvider
{
@ -72,6 +73,9 @@ namespace SCP.Common
case (int)PrintType.SmallBARCODE:
ds = GET_TS_BAR_Small(p_request);
break;
case (int)PrintType.PO_MATERIAL:
ds = GET_PO_MATERIAL(p_request);
break;
}
return ds;
}
@ -290,6 +294,22 @@ namespace SCP.Common
}
return ds;
}
/// <summary>
/// 获取材料订单打印
/// </summary>
/// <param name="p_request"></param>
/// <returns></returns>
private static DataSet GET_PO_MATERIAL(HttpRequest p_request)
{
DataSet ds = new DataSet();
if (!string.IsNullOrEmpty(p_request["PurdocNO"]))
{
var PurdocNO = p_request["PurdocNO"].ToString();
ds = SCP_MPO_CONTROLLER.MPO_REPORT(PurdocNO);
}
return ds;
}
private static DataSet GET_CUSTOM_PAGE(HttpRequest p_request)
{
DataSet ds = new DataSet();

20
SCP/SCP.csproj

@ -67,6 +67,9 @@
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="MailKit, Version=3.1.0.0, Culture=neutral, PublicKeyToken=4e064fe7c44a8f1b, processorArchitecture=MSIL">
<HintPath>..\packages\MailKit.3.1.0\lib\net452\MailKit.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.3\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
</Reference>
@ -92,6 +95,7 @@
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.ServiceModel" />
@ -4572,6 +4576,8 @@
<Content Include="Views\WarehouseData\SCP_RECEIVE_DETAIL.aspx" />
<Content Include="Views\富维冲压件\SCP_MAXPO_INCOMPLETE.aspx" />
<Content Include="Views\富维冲压件\SCP_MAXPO_INCOMPLETE_DETAIL.aspx" />
<Content Include="Views\富维冲压件\SCP_MPO_DETAIL.aspx" />
<Content Include="Views\富维冲压件\SCP_PO_MATERIAL.aspx" />
<Content Include="Views\富维冲压件\SCP_PO.aspx" />
<Content Include="Views\富维冲压件\SCP_PO_EXTEND.aspx" />
<Content Include="Views\富维冲压件\SCP_PO_MAX.aspx" />
@ -6034,6 +6040,20 @@
<Compile Include="Views\富维冲压件\SCP_MAXPO_INCOMPLETE_DETAIL.aspx.designer.cs">
<DependentUpon>SCP_MAXPO_INCOMPLETE_DETAIL.aspx</DependentUpon>
</Compile>
<Compile Include="Views\富维冲压件\SCP_MPO_DETAIL.aspx.cs">
<DependentUpon>SCP_MPO_DETAIL.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Views\富维冲压件\SCP_MPO_DETAIL.aspx.designer.cs">
<DependentUpon>SCP_MPO_DETAIL.aspx</DependentUpon>
</Compile>
<Compile Include="Views\富维冲压件\SCP_PO_MATERIAL.aspx.cs">
<DependentUpon>SCP_PO_MATERIAL.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Views\富维冲压件\SCP_PO_MATERIAL.aspx.designer.cs">
<DependentUpon>SCP_PO_MATERIAL.aspx</DependentUpon>
</Compile>
<Compile Include="Views\富维冲压件\SCP_PO.aspx.cs">
<DependentUpon>SCP_PO.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

75
SCP/Views/富维冲压件/SCP_MPO_DETAIL.aspx

@ -0,0 +1,75 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_MPO_DETAIL.aspx.cs" Inherits="SCP.Views.富维冲压件.SCP_MPO_DETAIL" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager runat="server" AutoSizePanelID="Panel1" />
<f:Panel ID="Panel1" runat="server" Title="" Layout="VBox" BoxConfigAlign="Stretch" BoxConfigPosition="Start">
<Toolbars>
<f:Toolbar ID="Toolbar2" runat="server">
<Items>
<f:Button ID="BTN_REFRESH" runat="server" EnablePostBack="True" Text="刷新" Icon="box">
</f:Button>
<f:Button ID="btnAccept" runat="server" Text="确认订单" Icon="Accept" OnClick="btnAccept_Click" Hidden="true">
</f:Button>
<f:Button ID="btnCancel" runat="server" Text="取消订单" Icon="Cancel" OnClick="btnCancel_Click" Hidden="true">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:HiddenField ID="HF_GRID_INDEX" runat="server"></f:HiddenField>
<f:Grid ID="Grid_V_TB_MPO_DETAIL" EnableCollapse="true" ShowBorder="true" EnableMultiSelect="true" ShowHeader="false" runat="server" EnableCheckBoxSelect="true"
DataKeyNames="UID,PurdocNO,PurchaseReqNO,AcceptStatus,Ctype"
SortField="PurdocNO" AllowSorting="true" BoxFlex="1" SortDirection="ASC"
AllowPaging="True"
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid_V_TB_PO_DETAIL_PageIndexChange">
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList ID="ddlGridPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlGridPageSize_SelectedIndexChanged"
runat="server">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="40" Value="40" />
<f:ListItem Text="80" Value="80" />
<f:ListItem Text="100" Value="100" />
<f:ListItem Text="200" Value="200" />
</f:DropDownList>
</PageItems>
<Columns>
<f:BoundField Width="70px" DataField="CType_DESC" DataFormatString="{0}" HeaderText="是否作废" />
<f:BoundField Width="100px" DataField="PurdocNO" HeaderText="订单号" DataFormatString="{0}"/>
<f:BoundField Width="100px" DataField="PurchaseReqNO" HeaderText="申请单号" DataFormatString="{0}"/>
<f:BoundField Width="100px" DataField="State_DESC" HeaderText="状态" DataFormatString="{0}"/>
<f:BoundField Width="80px" DataField="ProposerDesc" HeaderText="申请人" DataFormatString="{0}"/>
<f:BoundField Width="100px" DataField="MtlNO" HeaderText="物料号" DataFormatString="{0}"/>
<f:BoundField Width="150px" DataField="Shorttext" DataFormatString="{0}" HeaderText="物料描述" />
<f:BoundField Width="80px" DataField="SizeCol" DataFormatString="{0}" HeaderText="型号规格" />
<f:BoundField Width="80px" DataField="Unitdes" DataFormatString="{0}" HeaderText="单位" />
<f:BoundField Width="100px" DataField="Quantity" DataFormatString="{0:F6}" HeaderText="数量" />
<f:BoundField Width="80px" DataField="PRICE" DataFormatString="{0:F8}" HeaderText="价格" />
<f:BoundField Width="80px" DataField="NetValue" DataFormatString="{0:F8}" HeaderText="金额" />
<f:BoundField Width="100px" DataField="PurinfoReCord" DataFormatString="{0}" HeaderText="采购信息" />
<f:BoundField Width="100px" DataField="ItemDeliveryDate" DataFormatString="{0:yyyy-MM-dd}" HeaderText="要求到货日期" />
<f:BoundField Width="80px" DataField="Glaccnum" DataFormatString="{0}" HeaderText="科目" />
<f:BoundField Width="80px" DataField="CostCenterDes" DataFormatString="{0}" HeaderText="成本中心" />
<f:BoundField Width="80px" DataField="StoreLocation" DataFormatString="{0}" HeaderText="存储地点" />
<f:BoundField Width="80px" DataField="AcceptStatus" DataFormatString="{0}" Hidden="true" />
</Columns>
</f:Grid>
</Items>
</f:Panel>
</form>
</body>
</html>

175
SCP/Views/富维冲压件/SCP_MPO_DETAIL.aspx.cs

@ -0,0 +1,175 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.UI.WebControls;
using CK.SCP.Models.ScpEntity;
using CK.SCP.Controller;
using FineUI;
using CK.SCP.Models.Enums;
namespace SCP.Views.
{
public partial class SCP_MPO_DETAIL : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (!string.IsNullOrEmpty(Request["PurdocNO"]))
{
BindDetail();
}
else
{
Alert.Show("请选择数据后再查看明细!");
return;
}
}
}
public void SearchV_TB_PO_DETAIL(Action<IQueryable<V_TB_MPO_DETAIL>> p_action)
{
V_TB_MPO_DETAIL _entity = new V_TB_MPO_DETAIL();
string purdocnolist =Request["PurdocNO"];
_entity.purdocnolist = purdocnolist.Split(',').ToList();
SCP_MPO_CONTROLLER.Get_V_TB_MPO_DETAIL_List(_entity,(_ret)=> {
if (_ret.State == ReturnStatus.Succeed)
{
p_action(_ret.Result);
}
});
}
public void BindDetail()
{
if (CurrentUser.RoleList.Contains("供应商"))
{
//确认订单
btnAccept.Hidden = false;
btnCancel.Hidden = false;
}
SearchV_TB_PO_DETAIL((ret)=>{
this.Grid_V_TB_MPO_DETAIL.RecordCount = ret.Count();
var list = SortAndPage<V_TB_MPO_DETAIL>(ret, Grid_V_TB_MPO_DETAIL);
Grid_V_TB_MPO_DETAIL.DataSource = list.ToList();
Grid_V_TB_MPO_DETAIL.DataBind();
});
}
protected void Grid_V_TB_PO_DETAIL_PageIndexChange(object sender, GridPageEventArgs e)
{
BindDetail();
}
protected void ddlGridPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid_V_TB_MPO_DETAIL.PageSize = Convert.ToInt32(ddlGridPageSize.SelectedValue);
BindDetail();
}
/// <summary>
/// 审批通过
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAccept_Click(object sender, EventArgs e)
{
int[] selections = Grid_V_TB_MPO_DETAIL.SelectedRowIndexArray;
List<string> NOList = new List<string>();
List<string> ctylist = new List<string>();
List<int> AcceptStatusList = new List<int>();
if (selections.Count() ==0 )
{
Alert.Show("您未选择数据进行审批");
return;
}
else
{
foreach (int rowIndex in selections)
{
NOList.Add(Grid_V_TB_MPO_DETAIL.DataKeys[rowIndex][1] as string);
ctylist.Add(Grid_V_TB_MPO_DETAIL.DataKeys[rowIndex][4] as string);
var app = Grid_V_TB_MPO_DETAIL.DataKeys[rowIndex][3].ToString();
AcceptStatusList.Add(int.Parse(app));
}
NOList = NOList.Distinct().ToList();
if (ctylist.Contains("D"))
{
Alert.Show("选择的数据包含已经作废的数据");
return;
}
if (AcceptStatusList.Contains((int)GeneralMaterialOrderState.Finish))
{
Alert.Show("选择的数据包含已确认的数据");
return;
}
var ret = SCP_MPO_CONTROLLER.Save_MPO_STATE(NOList, GeneralMaterialOrderState.Finish);
if (ret.State == ReturnStatus.Succeed)
{
Alert.Show("确认成功");
BindDetail();
}
else
{
Alert.Show(string.Join("<br>", ret.MessageList));
return;
}
}
}
/// <summary>
/// 取消审批
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCancel_Click(object sender, EventArgs e)
{
int[] selections = Grid_V_TB_MPO_DETAIL.SelectedRowIndexArray;
List<string> NOList = new List<string>();
List<string> ctylist = new List<string>();
List<int> AcceptStatusList = new List<int>();
if (selections.Count() == 0)
{
Alert.Show("您未选择数据进行取消审批");
return;
}
else
{
foreach (int rowIndex in selections)
{
NOList.Add(Grid_V_TB_MPO_DETAIL.DataKeys[rowIndex][1] as string);
ctylist.Add(Grid_V_TB_MPO_DETAIL.DataKeys[rowIndex][4] as string);
AcceptStatusList.Add(int.Parse(Grid_V_TB_MPO_DETAIL.DataKeys[rowIndex][3].ToString()));
}
NOList = NOList.Distinct().ToList();
if (ctylist.Contains("D"))
{
Alert.Show("选择的数据包含已经作废的数据");
return;
}
if (AcceptStatusList.Contains((int)GeneralMaterialOrderState.New))
{
Alert.Show("选择的数据包含新建的数据");
return;
}
var ret = SCP_MPO_CONTROLLER.Save_MPO_STATE(NOList, GeneralMaterialOrderState.New);
if (ret.State == ReturnStatus.Succeed)
{
Alert.Show("取消成功");
BindDetail();
}
else
{
Alert.Show(string.Join("<br>", ret.MessageList));
return;
}
}
}
}
}

116
SCP/Views/富维冲压件/SCP_MPO_DETAIL.aspx.designer.cs

@ -0,0 +1,116 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace SCP.Views.
{
public partial class SCP_MPO_DETAIL
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Panel Panel1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Toolbar Toolbar2;
/// <summary>
/// BTN_REFRESH 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button BTN_REFRESH;
/// <summary>
/// btnAccept 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button btnAccept;
/// <summary>
/// btnCancel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button btnCancel;
/// <summary>
/// HF_GRID_INDEX 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.HiddenField HF_GRID_INDEX;
/// <summary>
/// Grid_V_TB_MPO_DETAIL 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Grid Grid_V_TB_MPO_DETAIL;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.ToolbarText ToolbarText1;
/// <summary>
/// ddlGridPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.DropDownList ddlGridPageSize;
}
}

119
SCP/Views/富维冲压件/SCP_PO_MATERIAL.aspx

@ -0,0 +1,119 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_PO_MATERIAL.aspx.cs" Inherits="SCP.Views.富维冲压件.SCP_PO_MATERIAL" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager runat="server" AutoSizePanelID="Panel1" />
<f:Panel ID="Panel1" runat="server" Title="" Layout="VBox" BoxConfigAlign="Stretch" BoxConfigPosition="Start">
<Items>
<f:Form runat="server">
<Toolbars>
<f:Toolbar ID="Toolbar2" runat="server">
<Items>
<f:ToolbarSeparator runat="server" />
<f:Button ID="Button3" runat="server" EnablePostBack="false" Text="刷新" Icon="Reload" OnClientClick="location.reload();">
</f:Button>
<f:ToolbarSeparator runat="server" />
<f:Button ID="btnOutput" runat="server" Text="导出" Icon="PageExcel" OnClick="btnOutput_Click">
</f:Button>
<f:Button ID="btnDetail" runat="server" Text="明细" Icon="Zoom" OnClick="btnDetail_Click">
</f:Button>
<f:ToolbarSeparator runat="server" />
<f:Button ID="btnShow" runat="server" Text="显示查询面板" OnClick="btnShow_Click">
</f:Button>
<f:ToolbarSeparator runat="server" />
<f:Button ID="btnPrinter" runat="server" Text="打印" Icon="Printer" OnClick="btnPrinter_Click" Hidden="true"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:GroupPanel runat="server" ID="gp1" Hidden="true" Layout="HBox">
<Items>
<f:Form runat="server">
<Rows>
<f:FormRow runat="server" ColumnWidths="25% 25% 25% 25%">
<Items>
<f:TextBox runat="server" Label="订单号" EmptyText="" ID="TXT_PurdocNO" />
<f:DatePicker runat="server" Required="true" DateFormatString="yyyy-MM-dd" Label="订货日期" EmptyText="请选择日期" ID="DP_StartDate" />
<f:DatePicker runat="server" Required="true" DateFormatString="yyyy-MM-dd" Label="至" EmptyText="请选择日期" ID="DP_EndDate" />
</Items>
</f:FormRow>
<f:FormRow runat="server">
<Items>
<f:Button runat="server" Text="关闭" ID="BtnClose" OnClick="BtnClose_Click"></f:Button>
<f:Button ID="BtnSearch" runat="server" OnClick="BtnSearch_Click" Text="快速查找订单">
</f:Button>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>
</f:GroupPanel>
<f:Grid ID="Grid_V_TB_MPO" EnableCollapse="true" ShowBorder="true" ShowHeader="true" runat="server" EnableCheckBoxSelect="true" EnableTextSelection="true"
DataKeyNames="UID,PurdocNO,BuyListStrdes,DocDate,VendorNO,VendorDesc,PurgrpDesc,AcceptStatus,ItemdeliveryDate,CreatedByDesc,CreatedBy,CreatedByPhone,Ctype,FIRSTTELNO"
CssClass="maingrid" EnableRowDoubleClickEvent="True" SortField="ApprovalStatus"
IsDatabasePaging="True" AllowPaging="True" OnRowDoubleClick="Grid_V_TB_MPO_RowDoubleClick" BoxFlex="1"
AutoScroll="True" PageSize="50" SortDirection="DESC" OnPageIndexChange="Grid_V_TB_MPO_PageIndexChange">
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList ID="ddlGridPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlGridPageSize_SelectedIndexChanged"
runat="server">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="100" Value="100" />
<f:ListItem Text="500" Value="500" />
<f:ListItem Text="1000" Value="1000" />
<f:ListItem Text="5000" Value="5000" />
<f:ListItem Text="10000" Value="10000" />
</f:DropDownList>
</PageItems>
<Columns>
<f:BoundField Width="90px" DataField="State_DESC" DataFormatString="{0}" HeaderText="状态" />
<f:BoundField Width="80px" DataField="OASTATUS" DataFormatString="{0}" HeaderText="OA状态" />
<f:BoundField Width="100px" DataField="PurdocNO" DataFormatString="{0}" HeaderText="订单号" />
<f:BoundField Width="100px" DataField="BuyListStrdes" DataFormatString="{0}" HeaderText="凭证类型" />
<f:BoundField Width="100px" SortField="DocDate" DataField="DocDate" DataFormatString="{0:yyyy-MM-dd}" HeaderText="订货日期" />
<f:BoundField Width="100px" DataField="VendorNO" DataFormatString="{0}" HeaderText="供应商编码" />
<f:BoundField Width="100px" DataField="VendorDesc" HeaderText="供应商描述" />
<f:BoundField Width="100px" DataField="PurgrpDesc" DataFormatString="{0}" HeaderText="收货人" />
<f:BoundField Width="100px" DataField="ItemdeliveryDate" DataFormatString="{0:yyyy-MM-dd}" HeaderText="交货日程日期" />
<f:BoundField Width="100px" DataField="CreatedByDesc" DataFormatString="{0}" HeaderText="创建人" />
<f:BoundField Width="100px" DataField="CreatedByPhone" DataFormatString="{0}" HeaderText="创建人电话" />
<f:BoundField Width="100px" DataField="FIRSTTELNO" DataFormatString="{0}" HeaderText="供应商联系电话" />
<f:BoundField Width="100px" DataField="CType_DESC" DataFormatString="{0}" HeaderText="是否已作废" />
</Columns>
</f:Grid>
</Items>
</f:Panel>
<f:Window runat="server" ID="Window1" Hidden="True" Height="600px" Width="1000px" AutoScroll="True" OnClose="Window1_Close" CloseAction="HidePostBack"
WindowPosition="Center" IsModal="true" Title="明细详情" Target="Parent" EnableIFrame="true"
IFrameUrl="about:blank" />
</form>
</body>
</html>

242
SCP/Views/富维冲压件/SCP_PO_MATERIAL.aspx.cs

@ -0,0 +1,242 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.UI.WebControls;
using CK.SCP.Models.ScpEntity;
using CK.SCP.Controller;
using FineUI;
using System.Text;
using CK.SCP.Models.Enums;
namespace SCP.Views.
{
public partial class SCP_PO_MATERIAL : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadData();
}
}
public void LoadData()
{
if (CurrentUser.RoleList.Contains("供应商"))
{
btnPrinter.Hidden = false;
}
if (CurrentUser.FactoryList == null || CurrentUser.FactoryList.Count == 0)
{
Alert.Show("当前用户未选择地点");
return;
}
BindOrder();
}
public void BindOrder()
{
SearchV_TB_MPO((result) =>
{
Grid_V_TB_MPO.RecordCount = result.Count();
var list = SortAndPage<V_TB_MPO>(result, Grid_V_TB_MPO);
Grid_V_TB_MPO.DataSource = list;
Grid_V_TB_MPO.DataBind();
});
}
public void SearchV_TB_MPO(Action<IQueryable<V_TB_MPO>> p_action)
{
V_TB_MPO _entity = new V_TB_MPO();
if (this.DP_StartDate.SelectedDate != null)
{
_entity.DocDateBegin = Convert.ToDateTime(DP_StartDate.SelectedDate);
}
if (DP_EndDate.SelectedDate != null)
{
_entity.DocDateEnd = Convert.ToDateTime(DP_EndDate.SelectedDate);
}
_entity.PurdocNO = TXT_PurdocNO.Text;
_entity.UserInVendIds = CurrentUser.VenderList;
SCP_MPO_CONTROLLER.Get_V_TB_MPO_List(_entity, (_ret) =>
{
if (_ret.State == ReturnStatus.Succeed)
{
p_action(_ret.Result);
}
});
}
protected void Grid_V_TB_MPO_RowDoubleClick(object sender, FineUI.GridRowClickEventArgs e)
{
int[] selections = Grid_V_TB_MPO.SelectedRowIndexArray;
List<string> NOList = new List<string>();
if (selections.Count() > 0)
{
foreach (int rowIndex in selections)
{
NOList.Add(Grid_V_TB_MPO.DataKeys[rowIndex][1] as string);
}
string BillNum = String.Join(",", NOList);
string url = string.Format("../富维冲压件/SCP_MPO_DETAIL.aspx?PurdocNO={0}", BillNum);
PageContext.RegisterStartupScript(Window1.GetShowReference(url));
}
else
{
Alert.Show("请选择数据后再进行查看明细");
return;
}
}
protected void Grid_V_TB_MPO_PageIndexChange(object sender, FineUI.GridPageEventArgs e)
{
BindOrder();
}
/// <summary>
/// 导出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOutput_Click(object sender, EventArgs e)
{
int[] selections = Grid_V_TB_MPO.SelectedRowIndexArray;
List<string> NOList = new List<string>();
if (selections.Count() > 0)
{
foreach (int rowIndex in selections)
{
var ctypesta = Grid_V_TB_MPO.DataKeys[rowIndex][13] as string;
if (ctypesta == "D")
{
PageContext.RegisterStartupScript(Alert.GetShowInTopReference("选中的数据包含作废信息,请重新选择!"));
return;
}
NOList.Add(Grid_V_TB_MPO.DataKeys[rowIndex][1] as string);
}
}
else
{
PageContext.RegisterStartupScript(Alert.GetShowInTopReference("没有选择数据!"));
return;
}
NOList = NOList.Distinct().ToList();
var ret = SCP_MPO_CONTROLLER.GetMPODetailList(NOList);
Dictionary<string, string> cellheader = new Dictionary<string, string>
{
{ "PurdocNO", "订单号" },
{ "PurchaseReqNO", "申请单号" },
{ "ProposerDesc", "申请人" },
{ "OASTATUS", "OA审批状态" },
{ "MtlNO", "物料号" },
{ "Shorttext", "物料描述" },
{ "SizeCol", "型号规格" },
{ "Matbrand", "材料牌号" },
{ "Unitdes", "单位" },
{ "Quantity", "数量" },
{ "PRICE", "价格" },
{ "NetValue", "金额" },
{ "PurinfoReCord", "采购信息" },
{ "ItemDeliveryDate", "要求到货日期" },
{ "Glaccnum", "科目" },
{ "CostCenterDes", "成本中心" },
{ "StoreLocation", "存储地点" },
};
string url = EntityListToExcel2003(cellheader, ret.ToList(), "一般材料采购订单明细");
}
protected void btnDetail_Click(object sender, EventArgs e)
{
int[] selections = Grid_V_TB_MPO.SelectedRowIndexArray;
List<string> NOList = new List<string>();
if (selections.Count() > 0)
{
foreach (int rowIndex in selections)
{
NOList.Add(Grid_V_TB_MPO.DataKeys[rowIndex][1] as string);
}
string BillNum = String.Join(",", NOList);
string url = string.Format("../富维冲压件/SCP_MPO_DETAIL.aspx?PurdocNO={0}", BillNum);
PageContext.RegisterStartupScript(Window1.GetShowReference(url));
}
else
{
Alert.Show("请选择数据后再进行查看明细");
return;
}
}
protected void btnShow_Click(object sender, EventArgs e)
{
gp1.Hidden = false;
}
protected void BtnClose_Click(object sender, EventArgs e)
{
gp1.Hidden = true;
}
protected void BtnSearch_Click(object sender, EventArgs e)
{
BindOrder();
}
protected void ddlGridPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid_V_TB_MPO.PageSize = Convert.ToInt32(ddlGridPageSize.SelectedValue);
BindOrder();
}
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindOrder();
}
/// <summary>
/// 打印
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPrinter_Click(object sender, EventArgs e)
{
int[] selections = Grid_V_TB_MPO.SelectedRowIndexArray;
string PurdocNO = "";
int acc = 0;
if (selections.Count() == 0)
{
Alert.Show("请选择要打印的数据");
return;
}
else if (selections.Count() > 1)
{
Alert.Show("只能选择一条数据进行打印");
return;
}
else
{
foreach (int rowIndex in selections)
{
PurdocNO = Grid_V_TB_MPO.DataKeys[rowIndex][1] as string;
acc = int.Parse(Grid_V_TB_MPO.DataKeys[rowIndex][7].ToString());
}
if (acc == (int)GeneralMaterialOrderState.New)
{
Alert.Show("供应商确认过的数据才可以打印");
return;
}
var str = string.Format("window.open(\"../../Handlers/GenerateReport.ashx?report=GeneralMaterialOrder&data=131&type=pdf&filename=标签.pdf&PurdocNO={0}&open=\")", PurdocNO);
PageContext.RegisterStartupScript(str);
}
}
}
}

188
SCP/Views/富维冲压件/SCP_PO_MATERIAL.aspx.designer.cs

@ -0,0 +1,188 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace SCP.Views.
{
public partial class SCP_PO_MATERIAL
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Panel Panel1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Toolbar Toolbar2;
/// <summary>
/// Button3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button Button3;
/// <summary>
/// btnOutput 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button btnOutput;
/// <summary>
/// btnDetail 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button btnDetail;
/// <summary>
/// btnShow 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button btnShow;
/// <summary>
/// btnPrinter 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button btnPrinter;
/// <summary>
/// gp1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.GroupPanel gp1;
/// <summary>
/// TXT_PurdocNO 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.TextBox TXT_PurdocNO;
/// <summary>
/// DP_StartDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.DatePicker DP_StartDate;
/// <summary>
/// DP_EndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.DatePicker DP_EndDate;
/// <summary>
/// BtnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button BtnClose;
/// <summary>
/// BtnSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button BtnSearch;
/// <summary>
/// Grid_V_TB_MPO 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Grid Grid_V_TB_MPO;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.ToolbarText ToolbarText1;
/// <summary>
/// ddlGridPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.DropDownList ddlGridPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Window Window1;
}
}

11
UniApiGroup/App.config

@ -5,11 +5,12 @@
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections>
<appSettings>
<add key="MailSender" value="scp@jinhengairbag.com" />
<add key="MailServer" value="smtp.qiye.aliyun.com" />
<add key="MailUserName" value="scp@jinhengairbag.com" />
<add key="MailPassword" value="SCPscp2020" />
<add key="MailPort" value="25" />
<add key="MailSender" value="scp_1@jinhengsafety.com"/>
<add key="MailServer" value="smtp.qiye.aliyun.com"/>
<add key="MailUserName" value="scp_1@jinhengsafety.com"/>
<add key="MailPassword" value="Jh@123789"/>
<add key="MailPort" value="25"/>
<add key="ResetPassWord" value="61.161.175.186:55556" />
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />

1
UniApiGroup/Config/DurationConfig.cs

@ -12,5 +12,6 @@
public int CqBmptMES接口 { get; set; } = 300;
public int CqBmptEdiPut接口 { get; set; } = 600;
public int CqBmptEdiGet接口 { get; set; } = 600;
public int { get; set; } = 10;
}
}

1
UniApiGroup/Config/UniApiConfig.cs

@ -24,5 +24,6 @@
public bool Wms库存质量 { get; set; } = true;
public bool Wms评审单 { get; set; } = true;
public bool Qad材料订单 { get; set; } = true;
}
}

38
UniApiGroup/Controller/MailController.cs

@ -5,6 +5,7 @@ using CK.SCP.Models.AppBoxEntity;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Reflection;
using System.Text;
@ -175,5 +176,42 @@ namespace CK.SCP.UniApi.Controller
sb.Append("</body></html>");
return sb.ToString();
}
/// <summary>
/// 发送材料订单邮件
/// </summary>
public static void SendOrderMail()
{
AppBoxContext DB = EntitiesFactory.CreateAppBoxInstance();
ScpEntities SDB = EntitiesFactory.CreateScpInstance();
var emailList = SDB.TS_Email.Where(q => q.EmailSendState == 0).ToList();
try
{
foreach (var item in emailList)
{
MyWebSmtpMail webmail = new MyWebSmtpMail();
webmail.SendOrdersEmail(item.EmailAddress, item.EmailString, "材料订单提醒");
Console.WriteLine($"发送邮件:供应商编码为{ item.EmailToUser}");
}
emailList.ForEach(q =>
{
q.EmailSendState = 1;
});
SDB.TS_Email.AddOrUpdate(q => q.UID, emailList.ToArray());
SDB.SaveChanges();
}
catch(Exception ex)
{
emailList.ForEach(q =>
{
q.EmailSendState = -1;
q.EmailSendFailReason = ex.Message;
});
Console.WriteLine(ex.Message);
SDB.TS_Email.AddOrUpdate(q => q.UID, emailList.ToArray());
SDB.SaveChanges();
}
}
}
}

145
UniApiGroup/Controller/OdbcApiQadController.cs

@ -28,6 +28,7 @@ using static CK.SCP.UniApi.Controller.Vendercontroller;
using static CK.SCP.UniApi.Controller.vendidpartcontroller;
using static CK.SCP.UniApi.Controller.PoBillNumcontroller;
using static CK.SCP.UniApi.Controller.NetPriceController;
using System.Xml.Linq;
namespace CK.SCP.GrupUniApi.Controller
{
@ -142,6 +143,15 @@ namespace CK.SCP.GrupUniApi.Controller
else
continue;
break;
case "GeneralMaterialOrder": //材料订单
if (GlobalVar.ApiConfig.Qad材料订单)
{
GeneralMaterialOrder(idb, wdb, qadCtrl, authdb);
EntitiesFactory.SaveDb(wdb);
}
else
continue;
break;
}
@ -1437,8 +1447,10 @@ namespace CK.SCP.GrupUniApi.Controller
wmsData.VendType = qadData.providerType.ToUpper().ToString();
wmsData.Country = qadData.country;
wmsData.Phone = qadData.firstTelNO;
wmsData.Fax = qadData.FAXNUMBER;
wmsData.Fax = qadData.FAXNUMBER;//传真
wmsData.Site = ScpCache.Config.QAD域;
wmsData.Address = qadData.COMMUADDRESS;// 地址
wmsData.Contacter = qadData.RESPONSIBLESALESPERSON;//联系人
wmsDataList.Add(wmsData);
item.Remark = ((int)UniApiState.).ToString();
// item.MaxdibatchNO = Convert.ToInt32(qadData.DI_BATCHNO);
@ -1614,6 +1626,137 @@ namespace CK.SCP.GrupUniApi.Controller
Console.WriteLine($"更新 零件信息 数据:{list.Count}");
}
/// <summary>
/// 材料订单
/// </summary>
/// <param name="idb"></param>
/// <param name="sdb"></param>
/// <param name="item"></param>
/// <param name="authdb"></param>
private static void GeneralMaterialOrder(UniApiEntities idb, ScpEntities sdb, xxerp_MaxbatchNO item, AppBoxContext authdb)
{
try
{
var max = idb.xxDiMaxes_Po.OrderByDescending(r => r.Di_Batchno).FirstOrDefault();
int a = max.Di_Batchno;
var FATCTORY = sdb.TB_FACTORY.FirstOrDefault();
// 读取一般材料订单
DataTable b = GetGeneralMaterialOrder(a, FATCTORY.FactoryId);
List<GeneralMaterialOrder> list = ChangKeTec.Utils.ListHelper.DataTableToList<GeneralMaterialOrder>(b);
var PoList = new List<TB_MATERIALORDERS>();
var PoDetailList = new List<TB_MATERIALORDERS_DETAIL>();
var InPoList = new List<TB_MATERIALORDERS>();
var InPoDetailList = new List<TB_MATERIALORDERS_DETAIL>();
var xxMaxbath = new List<xxDiMaxes_Po>();
var emails = new List<TS_Email>();
var Dlist = list.Where(p => p.CTYPE == "D");
var Ilist = list.Where(p => p.CTYPE != "D").GroupBy(p => p.PURDOCNO).Distinct();
var _Dlist = Dlist.GroupBy(p => p.PURDOCNO).Distinct();
foreach (var DeleteItem in _Dlist)
{
var _list = DeleteItem.ToList();
var _entity = _list.First();
// 根据 订单号作废
var MATERIALORDERList = sdb.TB_MATERIALORDERS.Where(q => q.PurdocNO == _entity.PURDOCNO).ToList();
MATERIALORDERList.ForEach(p =>
{
p.Ctype = "D" ;
p.AcceptStatus = (int)GeneralMaterialOrderState.Cancel;
PoList.Add(p);
});
var MATERIALORDERDETAILList = sdb.TB_MATERIALORDERS_DETAIL.Where(q => q.PurdocNO == _entity.PURDOCNO).ToList();
MATERIALORDERDETAILList.ForEach(p =>
{
p.Ctype = "D";
p.AcceptStatus = (int)GeneralMaterialOrderState.Cancel;
PoDetailList.Add(p);
});
}
foreach (var InsertItem in Ilist)
{
var inlist = InsertItem.ToList();
var inentity = inlist.First();
#region 添加主子表数据
TB_MATERIALORDERS order = new TB_MATERIALORDERS();
order.PurdocNO = inentity.PURDOCNO;
order.BuyListStrdes = inentity.BUYLISTSTRDES;
order.DocDate = inentity.DOCDATE != null? (DateTime)inentity.DOCDATE: DateTime.Now;
order.VendorNO = inentity.VENDORNO;
order.VendorDesc = inentity.VENDORDESC;
order.PurgrpDesc = inentity.PURGRPDESC;
order.ApprovalStatus = inentity.APPROVALSTATUS;
order.ItemdeliveryDate = inentity.ITEMDELIVERYDATE != null?(DateTime)inentity.ITEMDELIVERYDATE:DateTime.Now;
order.CreatedByDesc = inentity.CREATEDBYDESC;
order.CreatedBy = inentity.CREATEDBY;
order.Ctype = "new";
order.FIRSTTELNO = inentity.FIRSTTELNO;
order.PHONE = inentity.PHONE;
order.FAXNUM = inentity.FAXNUM;
InPoList.Add(order);
foreach (var initem in inlist)
{
TB_MATERIALORDERS_DETAIL orderdetail = new TB_MATERIALORDERS_DETAIL();
orderdetail.PurdocNO = initem.PURDOCNO;
orderdetail.PurchaseReqNO = initem.PURCHASEREQNO;
orderdetail.ProposerDesc = initem.PROPOSERDESC;
orderdetail.MtlNO = initem.MTLNO;
orderdetail.ApprovalStatus = initem.APPROVALSTATUS;
orderdetail.Shorttext = initem.SHORTTEXT;
orderdetail.SizeCol = initem.SIZECOL;
orderdetail.Matbrand = initem.MATBRAND;
orderdetail.Unitdes = initem.UNITDES;
orderdetail.Quantity = initem.QUANTITY!=null?(decimal)initem.QUANTITY:0.000000m;
orderdetail.PRICE = initem.PRICE != null ?(decimal) initem.PRICE : 0.00000m;
orderdetail.NetValue = initem.NETVALUE != null ? (decimal)initem.NETVALUE : 0.00000m;
orderdetail.PurinfoReCord = initem.PURINFORECORD;
orderdetail.ItemDeliveryDate = initem.ITEMDELIVERYDATE != null ? (DateTime)initem.ITEMDELIVERYDATE : DateTime.Now;
orderdetail.Glaccnum = initem.GLACCNUM;
orderdetail.Ctype = "N";
orderdetail.CostCenterDes = initem.COSTCENTERDES;
orderdetail.StoreLocation = initem.STORELOCATION;
InPoDetailList.Add(orderdetail);
}
#endregion
// 添加发邮件数据
TS_Email email = new TS_Email();
email.EmailToUser = inentity.VENDORDESC;
string mailbody = "";
mailbody += "尊敬的供应商<br>";
mailbody += "你好!<br><br>";
mailbody += "一般材料订单 <b>" + inentity.PURDOCNO + "</b> 已经发布,请到供应商协同网站打开查看!<br>";
mailbody += "<br><br><br><br>日期:" + DateTime.Now;
email.EmailString = mailbody;
var user = authdb.Users.FirstOrDefault(q => inentity.VENDORNO.Contains(q.Name));
if (user == null)
{
email.EmailSendState = 2;
email.EmailSendFailReason = "该供应商邮箱未维护";
}
else
{
email.EmailAddress = user.Email;
email.EmailSendState = 0;
}
emails.Add(email);
}
sdb.BulkInsert(emails);// 添加一般材料订单的邮件
sdb.BulkInsert(InPoList);// 添加插入的数据
sdb.BulkInsert(InPoDetailList);// 添加明细
item.Remark = ((int)UniApiState.).ToString();
idb.xxDiMaxes_Po.AddOrUpdate(xxMaxbath.ToArray());
// 按照uid进行更新
sdb.TB_MATERIALORDERS.AddOrUpdate(q=> q.UID, PoList.ToArray());
sdb.TB_MATERIALORDERS_DETAIL.AddOrUpdate(q => q.UID,PoDetailList.ToArray());
Console.WriteLine($"更新 一般材料订单 数据:{list.Count}");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}

103
UniApiGroup/Controller/PoBillNumcontroller.cs

@ -65,5 +65,108 @@ namespace CK.SCP.UniApi.Controller
/// </summary>
}
/// <summary>
/// 获取一般材料订单
/// </summary>
/// <param name="di_d"></param>
/// <param name="site"></param>
/// <returns></returns>
public static DataTable GetGeneralMaterialOrder(int di_d, string site)
{
string Sql = $"select * from PURStockBill";
Sql += $" Where ((ordType='CY02'AND APPROVALSTATUS = '4') OR (ordType='CY04' AND APPROVALSTATUS = '4') OR (ordType='CY05' AND APPROVALSTATUS = '4') OR ( ordType='CY08'AND APPROVALSTATUS = '4' ) OR (ordType='CY09' AND APPROVALSTATUS = '4') ) and plant='W21' and di_batchNO>{di_d}";
var dt_Part = DBControllerByOracle.GetDataTable(Sql);
return dt_Part;
}
public class GeneralMaterialOrder
{
public int PURSTOCKBILLID { get; set; }
public DateTime? CREATEDDATE { get; set; }
public decimal? NETVALUE { get; set; }
public string PURGRP { get; set; }
public string ORDTYPE { get; set; }
public string MTLNO { get; set; }
public DateTime? ITEMDELIVERYDATE { get; set; }
public string PURDOCITEMNO { get; set; }
public string CLIENT { get; set; }
public string REMARK { get; set; }
public string ORDPRICEUNIT { get; set; }
public string VENDORDESC { get; set; }
public string VENDORNO { get; set; }
public decimal? PRICE { get; set; }
public string PURDOCNO { get; set; }
public decimal? QUANTITY { get; set; }
public string DI_OPERTYPE { get; set; }
public string PURORG { get; set; }
public string PLANT { get; set; }
public string PURCHASEREQNO { get; set; }
public string ITEMNO { get; set; }
public string BUYLISTSTRDES { get; set; }
public DateTime? DOCDATE { get; set; }
public string PURGRPDESC { get; set; }
public string STORELOCATION { get; set; }
public string PROPOSERDESC { get; set; }
public string REMARK1 { get; set; }
public string CREATEDBY { get; set; }
public string PROMOTION { get; set; }
public string MATBRAND { get; set; }
public DateTime? DI_UPDATETIME { get; set; }
public string PURORGDESC { get; set; }
public string DI_BATCHNO { get; set; }
public string VOLUMEWEIGHT { get; set; }
public string CTYPE { get; set; }
public DateTime? DINDATE { get; set; }
public int? BATCHNO { get; set; }
public string SHORTTEXT { get; set; }
public string PLANTDES { get; set; }
public string SIZECOL { get; set; }
public string PHONE { get; set; }
public string STORELOCATIONDES { get; set; }
public string REQPHONE { get; set; }
public string UNITDES { get; set; }
public DateTime? DI_WRITETIME { get; set; }
public string CREATEDBYDESC { get; set; }
public string RESPONSIBLESALESPERSON { get; set; }
public string COSTCENTERDES { get; set; }
public string FAXNUM { get; set; }
public string GLACCTNODES { get; set; }
public string FAXNUMBER { get; set; }
public string PRODUCTIONCATEGORY { get; set; }
public string GLACCNUM { get; set; }
public string FIRSTTELNO { get; set; }
public string ADDRESSINFO { get; set; }
public string ISSECURITY { get; set; }
public string COSTCENTER { get; set; }
public string ORDERNUM { get; set; }
public string RETURNSITEM { get; set; }
public string BASEUNITMEASURE { get; set; }
public string PURDOCITEMCTG { get; set; }
public string APPROVALSTATUS { get; set; }
public string PMTKEYTERMS { get; set; }
public string DESCRIPTION { get; set; }
public string PURINFORECORD { get; set; }
public string STAGEDESC { get; set; }
public string CONFIRMFLAG { get; set; }
public string CONFALSEREASON { get; set; }
public string CONSUCCESSID { get; set; }
public string ESTIMATEDPRICEINDIC { get; set; }
public string PROPOSERID { get; set; }
public int? PURDOCHEADERID { get; set; }
public int? PURDOCITEMID { get; set; }
public string DISPLANTLOCATION { get; set; }
public DateTime? PRICONFIDATE { get; set; }
public string ACTDELIVLOCA { get; set; }
public string STOADRESS { get; set; }
public decimal? RECEIPTQUANTITY { get; set; }
public string STATEDESC { get; set; }
public string CLOSESTATE { get; set; }
public string DI_STATUS { get; set; }
public string EXTITEMNO { get; set; }
public string EXTREQNO { get; set; }
public string STAFFNO { get; set; }
}
}
}

2
UniApiGroup/Controller/Vendercontroller.cs

@ -61,7 +61,7 @@ namespace CK.SCP.UniApi.Controller
public string providerType { get; set; }
public string FAXNUMBER { get; set; }
public string PURORG { get; set; }
public string RESPONSIBLESALESPERSON { get; set; }
}
}
}

165
UniApiGroup/FormMain.Designer.cs

@ -45,9 +45,10 @@
this.btnSetting = new DevComponents.DotNetBar.ButtonX();
this.pnlCtrl = new DevComponents.DotNetBar.PanelEx();
this.panelEx2 = new DevComponents.DotNetBar.PanelEx();
this.BtnErpPut = new CktUniApiButton();
this.BtnErpGet = new CktUniApiButton();
this.BtnErpMail = new CktUniApiButton();
this.BtnErpPut = new CK.SCP.GrupUniApi.CktUniApiButton();
this.BtnErpGet = new CK.SCP.GrupUniApi.CktUniApiButton();
this.BtnErpMail = new CK.SCP.GrupUniApi.CktUniApiButton();
this.BtnErpOrderMail = new CK.SCP.GrupUniApi.CktUniApiButton();
this.bar1 = new DevComponents.DotNetBar.Bar();
this.labelItem1 = new DevComponents.DotNetBar.LabelItem();
this.txtDomain = new DevComponents.DotNetBar.TextBoxItem();
@ -65,13 +66,13 @@
//
this.txtLog.Dock = System.Windows.Forms.DockStyle.Bottom;
this.txtLog.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtLog.Location = new System.Drawing.Point(0, 512);
this.txtLog.Margin = new System.Windows.Forms.Padding(2);
this.txtLog.Location = new System.Drawing.Point(0, 646);
this.txtLog.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.txtLog.Multiline = true;
this.txtLog.Name = "txtLog";
this.txtLog.ReadOnly = true;
this.txtLog.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.txtLog.Size = new System.Drawing.Size(614, 139);
this.txtLog.Size = new System.Drawing.Size(818, 173);
this.txtLog.TabIndex = 5;
//
// styleManager1
@ -83,15 +84,16 @@
//
this.layoutControl1.Location = new System.Drawing.Point(0, 0);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.Size = new System.Drawing.Size(200, 200);
this.layoutControl1.TabIndex = 0;
//
// listLog
//
this.listLog.Dock = System.Windows.Forms.DockStyle.Fill;
this.listLog.HideSelection = false;
this.listLog.Location = new System.Drawing.Point(0, 0);
this.listLog.Margin = new System.Windows.Forms.Padding(4);
this.listLog.Name = "listLog";
this.listLog.Size = new System.Drawing.Size(614, 508);
this.listLog.Size = new System.Drawing.Size(818, 641);
this.listLog.TabIndex = 9;
this.listLog.UseCompatibleStateImageBehavior = false;
this.listLog.View = System.Windows.Forms.View.Details;
@ -128,10 +130,10 @@
this.expandableSplitter2.HotGripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.expandableSplitter2.HotGripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(232)))), ((int)(((byte)(246)))));
this.expandableSplitter2.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
this.expandableSplitter2.Location = new System.Drawing.Point(0, 508);
this.expandableSplitter2.Margin = new System.Windows.Forms.Padding(2);
this.expandableSplitter2.Location = new System.Drawing.Point(0, 641);
this.expandableSplitter2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.expandableSplitter2.Name = "expandableSplitter2";
this.expandableSplitter2.Size = new System.Drawing.Size(614, 4);
this.expandableSplitter2.Size = new System.Drawing.Size(818, 5);
this.expandableSplitter2.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007;
this.expandableSplitter2.TabIndex = 59;
this.expandableSplitter2.TabStop = false;
@ -148,10 +150,10 @@
this.panelEx1.Controls.Add(this.btnSetting);
this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty;
this.panelEx1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panelEx1.Location = new System.Drawing.Point(0, 495);
this.panelEx1.Margin = new System.Windows.Forms.Padding(2);
this.panelEx1.Location = new System.Drawing.Point(0, 624);
this.panelEx1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panelEx1.Name = "panelEx1";
this.panelEx1.Size = new System.Drawing.Size(170, 156);
this.panelEx1.Size = new System.Drawing.Size(227, 195);
this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
this.panelEx1.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.panelEx1.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
@ -167,10 +169,10 @@
this.btnStart.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnStart.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnStart.Font = new System.Drawing.Font("微软雅黑", 16.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnStart.Location = new System.Drawing.Point(11, 10);
this.btnStart.Margin = new System.Windows.Forms.Padding(2);
this.btnStart.Location = new System.Drawing.Point(15, 12);
this.btnStart.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.btnStart.Name = "btnStart";
this.btnStart.Size = new System.Drawing.Size(150, 45);
this.btnStart.Size = new System.Drawing.Size(200, 56);
this.btnStart.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnStart.TabIndex = 0;
this.btnStart.Text = "启动";
@ -181,10 +183,10 @@
this.btnClose.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnClose.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnClose.Location = new System.Drawing.Point(89, 132);
this.btnClose.Margin = new System.Windows.Forms.Padding(2);
this.btnClose.Location = new System.Drawing.Point(119, 165);
this.btnClose.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(72, 20);
this.btnClose.Size = new System.Drawing.Size(96, 25);
this.btnClose.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClose.TabIndex = 3;
this.btnClose.Text = "退出";
@ -195,10 +197,10 @@
this.btnRefresh.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnRefresh.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnRefresh.Location = new System.Drawing.Point(11, 133);
this.btnRefresh.Margin = new System.Windows.Forms.Padding(2);
this.btnRefresh.Location = new System.Drawing.Point(15, 166);
this.btnRefresh.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.btnRefresh.Name = "btnRefresh";
this.btnRefresh.Size = new System.Drawing.Size(72, 20);
this.btnRefresh.Size = new System.Drawing.Size(96, 25);
this.btnRefresh.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnRefresh.TabIndex = 23;
this.btnRefresh.Text = "更新数据";
@ -210,10 +212,10 @@
this.btnStop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnStop.ColorTable = DevComponents.DotNetBar.eButtonColor.MagentaWithBackground;
this.btnStop.Font = new System.Drawing.Font("微软雅黑", 16.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnStop.Location = new System.Drawing.Point(11, 58);
this.btnStop.Margin = new System.Windows.Forms.Padding(2);
this.btnStop.Location = new System.Drawing.Point(15, 72);
this.btnStop.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.btnStop.Name = "btnStop";
this.btnStop.Size = new System.Drawing.Size(150, 45);
this.btnStop.Size = new System.Drawing.Size(200, 56);
this.btnStop.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnStop.TabIndex = 1;
this.btnStop.Text = "停止";
@ -224,10 +226,10 @@
this.btnClearLog.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnClearLog.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnClearLog.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnClearLog.Location = new System.Drawing.Point(11, 108);
this.btnClearLog.Margin = new System.Windows.Forms.Padding(2);
this.btnClearLog.Location = new System.Drawing.Point(15, 135);
this.btnClearLog.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.btnClearLog.Name = "btnClearLog";
this.btnClearLog.Size = new System.Drawing.Size(72, 20);
this.btnClearLog.Size = new System.Drawing.Size(96, 25);
this.btnClearLog.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClearLog.TabIndex = 10;
this.btnClearLog.Text = "清空日志";
@ -238,10 +240,10 @@
this.btnSetting.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnSetting.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnSetting.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnSetting.Location = new System.Drawing.Point(89, 108);
this.btnSetting.Margin = new System.Windows.Forms.Padding(2);
this.btnSetting.Location = new System.Drawing.Point(119, 135);
this.btnSetting.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.btnSetting.Name = "btnSetting";
this.btnSetting.Size = new System.Drawing.Size(72, 20);
this.btnSetting.Size = new System.Drawing.Size(96, 25);
this.btnSetting.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnSetting.TabIndex = 2;
this.btnSetting.Text = "设置";
@ -255,10 +257,10 @@
this.pnlCtrl.Controls.Add(this.panelEx1);
this.pnlCtrl.DisabledBackColor = System.Drawing.Color.Empty;
this.pnlCtrl.Dock = System.Windows.Forms.DockStyle.Right;
this.pnlCtrl.Location = new System.Drawing.Point(614, 0);
this.pnlCtrl.Margin = new System.Windows.Forms.Padding(2);
this.pnlCtrl.Location = new System.Drawing.Point(818, 0);
this.pnlCtrl.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.pnlCtrl.Name = "pnlCtrl";
this.pnlCtrl.Size = new System.Drawing.Size(170, 651);
this.pnlCtrl.Size = new System.Drawing.Size(227, 819);
this.pnlCtrl.Style.Alignment = System.Drawing.StringAlignment.Center;
this.pnlCtrl.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.pnlCtrl.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
@ -276,12 +278,13 @@
this.panelEx2.Controls.Add(this.BtnErpPut);
this.panelEx2.Controls.Add(this.BtnErpGet);
this.panelEx2.Controls.Add(this.BtnErpMail);
this.panelEx2.Controls.Add(this.BtnErpOrderMail);
this.panelEx2.DisabledBackColor = System.Drawing.Color.Empty;
this.panelEx2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelEx2.Location = new System.Drawing.Point(0, 0);
this.panelEx2.Margin = new System.Windows.Forms.Padding(2);
this.panelEx2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panelEx2.Name = "panelEx2";
this.panelEx2.Size = new System.Drawing.Size(170, 495);
this.panelEx2.Size = new System.Drawing.Size(227, 624);
this.panelEx2.Style.Alignment = System.Drawing.StringAlignment.Center;
this.panelEx2.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.panelEx2.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
@ -291,53 +294,69 @@
this.panelEx2.Style.GradientAngle = 90;
this.panelEx2.TabIndex = 29;
//
// BtnErpMail
//
this.BtnErpMail.Count = 0;
this.BtnErpMail.Dock = System.Windows.Forms.DockStyle.Top;
this.BtnErpMail.EnableManual = true;
this.BtnErpMail.InitCount = 0;
this.BtnErpMail.Location = new System.Drawing.Point(0, 100);
this.BtnErpMail.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.BtnErpMail.Name = "BtnErpMail";
this.BtnErpMail.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.BtnErpMail.Size = new System.Drawing.Size(170, 50);
this.BtnErpMail.SwitchEnabled = false;
this.BtnErpMail.TabIndex = 40;
this.BtnErpMail.Title = "发送邮件";
this.BtnErpMail.RunOnceExecute += new CktUniApiButton.RunOnceHandler(this.BtnErpMail_RunOnceExecute);
//
// BtnErpPut
//
this.BtnErpPut.Count = 0;
this.BtnErpPut.Dock = System.Windows.Forms.DockStyle.Top;
this.BtnErpPut.EnableManual = true;
this.BtnErpPut.InitCount = 0;
this.BtnErpPut.Location = new System.Drawing.Point(0, 50);
this.BtnErpPut.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.BtnErpPut.Location = new System.Drawing.Point(0, 186);
this.BtnErpPut.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.BtnErpPut.Name = "BtnErpPut";
this.BtnErpPut.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.BtnErpPut.Size = new System.Drawing.Size(170, 50);
this.BtnErpPut.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.BtnErpPut.Size = new System.Drawing.Size(227, 62);
this.BtnErpPut.SwitchEnabled = false;
this.BtnErpPut.TabIndex = 40;
this.BtnErpPut.Title = "发送业务数据到ERP";
this.BtnErpPut.RunOnceExecute += new CktUniApiButton.RunOnceHandler(this.BtnErpPut_RunOnceExecute);
this.BtnErpPut.RunOnceExecute += new CK.SCP.GrupUniApi.CktUniApiButton.RunOnceHandler(this.BtnErpPut_RunOnceExecute);
//
// BtnErpGet
//
this.BtnErpGet.Count = 0;
this.BtnErpGet.Dock = System.Windows.Forms.DockStyle.Top;
this.BtnErpGet.EnableManual = true;
this.BtnErpGet.EnableManual = true;
this.BtnErpGet.InitCount = 0;
this.BtnErpGet.Location = new System.Drawing.Point(0, 0);
this.BtnErpGet.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.BtnErpGet.Location = new System.Drawing.Point(0, 124);
this.BtnErpGet.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.BtnErpGet.Name = "BtnErpGet";
this.BtnErpGet.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.BtnErpGet.Size = new System.Drawing.Size(170, 50);
this.BtnErpGet.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.BtnErpGet.Size = new System.Drawing.Size(227, 62);
this.BtnErpGet.SwitchEnabled = false;
this.BtnErpGet.TabIndex = 39;
this.BtnErpGet.Title = "从ERP接收基础数据";
this.BtnErpGet.RunOnceExecute += new CktUniApiButton.RunOnceHandler(this.BtnErpGet_RunOnceExecute);
this.BtnErpGet.RunOnceExecute += new CK.SCP.GrupUniApi.CktUniApiButton.RunOnceHandler(this.BtnErpGet_RunOnceExecute);
//
// BtnErpMail
//
this.BtnErpMail.Count = 0;
this.BtnErpMail.Dock = System.Windows.Forms.DockStyle.Top;
this.BtnErpMail.EnableManual = true;
this.BtnErpMail.InitCount = 0;
this.BtnErpMail.Location = new System.Drawing.Point(0, 62);
this.BtnErpMail.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.BtnErpMail.Name = "BtnErpMail";
this.BtnErpMail.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.BtnErpMail.Size = new System.Drawing.Size(227, 62);
this.BtnErpMail.SwitchEnabled = false;
this.BtnErpMail.TabIndex = 40;
this.BtnErpMail.Title = "发送邮件";
this.BtnErpMail.RunOnceExecute += new CK.SCP.GrupUniApi.CktUniApiButton.RunOnceHandler(this.BtnErpMail_RunOnceExecute);
//
// BtnErpOrderMail
//
this.BtnErpOrderMail.Count = 0;
this.BtnErpOrderMail.Dock = System.Windows.Forms.DockStyle.Top;
this.BtnErpOrderMail.EnableManual = true;
this.BtnErpOrderMail.InitCount = 0;
this.BtnErpOrderMail.Location = new System.Drawing.Point(0, 0);
this.BtnErpOrderMail.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.BtnErpOrderMail.Name = "BtnErpOrderMail";
this.BtnErpOrderMail.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.BtnErpOrderMail.Size = new System.Drawing.Size(227, 62);
this.BtnErpOrderMail.SwitchEnabled = false;
this.BtnErpOrderMail.TabIndex = 88;
this.BtnErpOrderMail.Title = "发送材料订单邮件";
this.BtnErpOrderMail.RunOnceExecute += new CK.SCP.GrupUniApi.CktUniApiButton.RunOnceHandler(this.BtnErpOrderMail_RunOnceExecute);
//
// bar1
//
@ -352,10 +371,10 @@
this.txtSite,
this.labelItem4,
this.txtVersion});
this.bar1.Location = new System.Drawing.Point(0, 651);
this.bar1.Margin = new System.Windows.Forms.Padding(2);
this.bar1.Location = new System.Drawing.Point(0, 819);
this.bar1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.bar1.Name = "bar1";
this.bar1.Size = new System.Drawing.Size(784, 24);
this.bar1.Size = new System.Drawing.Size(1045, 25);
this.bar1.Stretch = true;
this.bar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.bar1.TabIndex = 87;
@ -371,7 +390,6 @@
//
this.txtDomain.Name = "txtDomain";
this.txtDomain.TextBoxWidth = 80;
this.txtDomain.WatermarkColor = System.Drawing.SystemColors.GrayText;
//
// labelItem2
//
@ -382,7 +400,6 @@
//
this.txtSite.Name = "txtSite";
this.txtSite.TextBoxWidth = 80;
this.txtSite.WatermarkColor = System.Drawing.SystemColors.GrayText;
//
// labelItem4
//
@ -394,13 +411,12 @@
//
this.txtVersion.Name = "txtVersion";
this.txtVersion.TextBoxWidth = 200;
this.txtVersion.WatermarkColor = System.Drawing.SystemColors.GrayText;
//
// FormMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(784, 675);
this.ClientSize = new System.Drawing.Size(1045, 844);
this.Controls.Add(this.listLog);
this.Controls.Add(this.expandableSplitter2);
this.Controls.Add(this.txtLog);
@ -408,8 +424,8 @@
this.Controls.Add(this.bar1);
this.DoubleBuffered = true;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(2);
this.MinimumSize = new System.Drawing.Size(800, 596);
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.MinimumSize = new System.Drawing.Size(1061, 733);
this.Name = "FormMain";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "通用接口自动处理程序";
@ -449,6 +465,7 @@
private DevComponents.DotNetBar.TextBoxItem txtSite;
private DevComponents.DotNetBar.LabelItem labelItem4;
private DevComponents.DotNetBar.TextBoxItem txtVersion;
private CktUniApiButton BtnErpOrderMail;
}
}

10
UniApiGroup/FormMain.cs

@ -64,10 +64,12 @@ namespace CK.SCP.GrupUniApi
BtnErpGet.Count = GlobalVar.DurationConfig.ERP接口接收;
BtnErpPut.Count = GlobalVar.DurationConfig.ERP接口发送;
BtnErpMail.Count = GlobalVar.DurationConfig.;
BtnErpOrderMail.Count = GlobalVar.DurationConfig.;
BtnErpGet.InitCount = GlobalVar.DurationConfig.ERP接口接收;
BtnErpPut.InitCount = GlobalVar.DurationConfig.ERP接口发送;
BtnErpMail.InitCount = GlobalVar.DurationConfig.;
BtnErpOrderMail.InitCount = GlobalVar.DurationConfig.;
_timer = new Timer { Interval = 1000 };
@ -83,6 +85,7 @@ namespace CK.SCP.GrupUniApi
{
BtnErpGet.RunOnce();
BtnErpPut.RunOnce();
BtnErpOrderMail.RunOnce();
RefreshGlobalCache();
}
@ -133,6 +136,7 @@ namespace CK.SCP.GrupUniApi
Console.WriteLine(@"系统启动");
BtnErpGet.Start();
BtnErpPut.Start();
BtnErpOrderMail.Start();
_timer.Start();
btnStart.Enabled = false;
@ -146,6 +150,7 @@ namespace CK.SCP.GrupUniApi
BtnErpPut.Stop();
_timer.Stop();
BtnErpOrderMail.Stop();
btnStart.Enabled = true;
btnStop.Enabled = false;
@ -203,5 +208,10 @@ namespace CK.SCP.GrupUniApi
{
_iApi.Mail();
}
private void BtnErpOrderMail_RunOnceExecute()
{
_iApi.OrderMail();
}
}
}

38
UniApiGroup/FormMain.resx

@ -118,10 +118,46 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="styleManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1603, 17</value>
</metadata>
<metadata name="layoutControl1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>156, 17</value>
<value>1769, 17</value>
</metadata>
<metadata name="expandableSplitter2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>184, 17</value>
</metadata>
<metadata name="panelEx1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>388, 17</value>
</metadata>
<metadata name="btnStart.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>511, 17</value>
</metadata>
<metadata name="btnClose.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>628, 17</value>
</metadata>
<metadata name="btnRefresh.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>750, 17</value>
</metadata>
<metadata name="btnStop.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>887, 17</value>
</metadata>
<metadata name="btnClearLog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1003, 17</value>
</metadata>
<metadata name="btnSetting.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1150, 17</value>
</metadata>
<metadata name="pnlCtrl.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1284, 17</value>
</metadata>
<metadata name="panelEx2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1390, 17</value>
</metadata>
<metadata name="bar1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1513, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

1
UniApiGroup/IApi.cs

@ -6,5 +6,6 @@
void Get();
void Put();
void Mail();
void OrderMail();
}
}

42
UniApiGroup/QadOdbcApi.cs

@ -17,6 +17,7 @@ namespace CK.SCP.GrupUniApi
private readonly BackgroundWorker _bgwGet = new BackgroundWorker();
private readonly BackgroundWorker _bgwPut = new BackgroundWorker();
private readonly BackgroundWorker _bgwMail = new BackgroundWorker();
private readonly BackgroundWorker _bgwOrderMail = new BackgroundWorker();
public QadOdbcApi()
{
InitBgw();
@ -32,6 +33,10 @@ namespace CK.SCP.GrupUniApi
//发邮件
_bgwMail.DoWork += BgwMailDoWork;
_bgwMail.RunWorkerCompleted += BgwMailRunWorkerCompleted;
// 发送材料订单邮件
_bgwOrderMail.DoWork += bgwOrderMail;
_bgwOrderMail.RunWorkerCompleted += BgwOrderMailRunWorkerCompleted;
}
private void BgwPutRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
@ -42,6 +47,13 @@ namespace CK.SCP.GrupUniApi
{
Console.WriteLine(@"邮件发送完成<<<<<<<<<<");
}
private void BgwOrderMailRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
Console.WriteLine(@"材料订单邮件发送完成<<<<<<<<<<");
}
private void BgwPutDoWork(object sender, DoWorkEventArgs e)
{
var idb = EntitiesFactory.CreateUniApiInstance();
@ -111,6 +123,22 @@ namespace CK.SCP.GrupUniApi
}
}
/// <summary>
/// 材料订单发邮件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void bgwOrderMail(object sender, DoWorkEventArgs e)
{
try
{
MailController.SendOrderMail();
}
catch (Exception ex)
{
Console.WriteLine(string.Format("错误:{0}", ex.InnerException.Message));
}
}
private void BgwGetRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
Console.WriteLine(@"Odbc接口数据接收完成<<<<<<<<<<");
@ -170,6 +198,20 @@ namespace CK.SCP.GrupUniApi
Console.WriteLine(ex);
}
}
public void OrderMail()
{
try
{
if (_bgwOrderMail.IsBusy) return;
Console.WriteLine(@"发送材料订单邮件>>>>>>>>>>");
_bgwOrderMail.RunWorkerAsync();
}
catch (ScpException ex)
{
Console.WriteLine(ex);
}
}
}
}
Loading…
Cancel
Save