You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

307 lines
12 KiB

using System;
using System.Collections.Generic;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CK.SCP.Models.AppBoxEntity;
using CK.SCP.Models.ScpEntity;
using CK.SCP.Controller;
using CK.SCP.Models;
using CK.SCP.Models.Enums;
namespace SCP.admin
{
public partial class _default : PageBase
{
List<TB_PENING_ITEMS> _list = new List<TB_PENING_ITEMS>();
List<TB_PENING_ITEMS> _list1 = new List<TB_PENING_ITEMS>();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TranslatorAgents(Panel5);
TranslatorAgents(Panel2);
InitPendingItems();
BindData();
}
}
public void BindData()
{
SearchData(ret => {
if (CurrentUser.RoleList !=null && CurrentUser.RoleList.Contains("供应商"))
{
ret = SetV_INFO(ret);
}
Grid2.RecordCount = ret.Count();
Grid2.DataSource = ret.OrderByDescending("ID");
Grid2.DataBind();
});
}
public void SearchData(Action<IQueryable<V_INFO>> p_action)
{
V_INFO _info = new V_INFO();
//_info.Title = txtTitle.Text;
//_info.InfoType = txtInfoType.Text;
//_info.SupplierName = txtSupplierName.Text;
//_info.UserName = txtUserName.Text;
//如果是供应商角色,只能看到自己发布的和发给自己的,
//同时发给自己的信息里,只能看到供应商的名称是自己名字,不能有其它供应商名字
if (CurrentUser.RoleList.Contains("供应商") && !CurrentUser.RoleList.Contains("采购人员") && !CurrentUser.RoleList.Contains("计划人员") )
{
//string name = GetIdentityName();
//User modelUsers = DB.Users.FirstOrDefault(p => p.Name == name);
//if (modelUsers != null)
//{
// VenderUsers vu = DB.VenderUsers.FirstOrDefault(p => p.UserId == modelUsers.ID);
// if (vu != null)
// {
// _info.SupplierCode = vu.VenderId;
// }
//}
//if (string.IsNullOrEmpty(_info.UserName))
//{
// _info.UserName = name;
//}
//if (!string.IsNullOrEmpty(_info.SupplierCode))
//{
// SCP_INFO_CONTROLLER.Get_V_INFO_List(_info, (ret) =>
// {
// if (ret.State == ReturnStatus.Succeed)
// {
// p_action(ret.Result);
// }
// });
//}
//var _vendid = CurrentUser.VenderList.FirstOrDefault();
//string _sql1 = "SELECT COUNT(distinct(askbillnum)) Number,VendName,VendId ,datepart(yyyy,ENDTIME) as Year FROM TB_UNCOMPLETE_TEMPASK\n" +
//"WHERE VendId='{0}' AND Site='{1}'\n" +
//"GROUP BY VendId,VendName,datepart(yyyy,ENDTIME)";
//var _str = string.Format(_sql1 ,_vendid, CurrentUser.UsedDomain);
//var _ls = SCPDB.Database.SqlQuery<UNCOMPLETE_TASK>(_str).ToList();
//Grid4.Hidden = false;
//Grid4.DataSource = _ls;
//Grid4.DataBind();
//string _sql2 = "SELECT COUNT(*) Number,VendName,VendId ,datepart(yyyy,BillDate) year\n" +
//" FROM [SCP_CS].[dbo].[V_TM_HYANTOLIN_REVIEW]\n" +
//" where UltimateName='{0}' AND Domain='{1}' AND STATE<4\n" +
//" group by datepart(yyyy,BillDate),VendId,VendName";
//var _str1 = string.Format(_sql2, _vendid, CurrentUser.UsedDomain);
//var _ls1 = SCPDB.Database.SqlQuery<UNCOMPLETE_TASK>(_str1).ToList();
//Grid5.Hidden = false;
//Grid5.DataSource = _ls1;
//Grid5.DataBind();
}
else if (CurrentUser.RoleList.Contains("计划人员"))
{
SCP_INFO_CONTROLLER.Get_V_INFO_List(_info, (ret) =>
{
if (ret.State == ReturnStatus.Succeed)
{
p_action(ret.Result);
}
});
string _sqlString = "SELECT Number, VendId, VendName,Year\n" +
"FROM (SELECT COUNT(DISTINCT AskBillNum) AS Number, VendId, VendName,datepart(yyyy,ENDTIME) Year \n" +
" FROM TB_UNCOMPLETE_TEMPASK\n" +
" WHERE (Buyer = '{0}') and site='{1}'\n" +
" GROUP BY VendId, VendName,datepart(yyyy,ENDTIME)) AS a\n" +
"ORDER BY VendId DESC";
var _str = string.Format(_sqlString, CurrentUser.ChineseName, CurrentUser.UsedDomain);
var _ls = SCPDB.Database.SqlQuery<UNCOMPLETE_TASK>(_str).ToList();
Grid3.Hidden = false;
Grid3.DataSource = _ls;
Grid3.DataBind();
//string sqlString = "\n" +
//"select A.VendId, A.VendName,isnull(Number,0) Number,Number1 ,A.Site ,round( cast(isnull(Number,0) as decimal(18,2))/cast(Number1 as decimal(18,2)) ,2 ) FROM\n" +
//"\n" +
//"(SELECT COUNT(DISTINCT(ASKBILLNUM)) as Number1,VendId,VendName,Site\n" +
//" FROM [SCP_CS].[dbo].[TB_ASK_RECEIVE] WHERE datepart(yyyy,ENDTIME)=2020 GROUP BY VendId,VendName, Site) A\n" +
//"\n" +
//"LEFT JOIN\n" +
//"\n" +
//"\n" +
//"(SELECT COUNT(DISTINCT(ASKBILLNUM)) as Number,VendId,VendName,site\n" +
//" FROM [SCP_CS].[dbo].[TB_UNCOMPLETE_TEMPASK] WHERE datepart(yyyy,ENDTIME)=2020 GROUP BY VendId,VendName,Site) B\n" +
//" ON A.Site=B.site AND A.VendId=B.VendId";
}
if (CurrentUser.RoleList.Contains("质检人员"))
{
//string sqlString = "select Sum() NUMBER , datepart(yyyy,BillDate) year,VendId,VendName FROM [SCP_CS].[dbo].[V_TM_HYANTOLIN_REVIEW] where State<4 and VendId is not null\n" +
//"group by VendId,VendName,datepart(yyyy,BillDate)";
//var _ls1 = SCPDB.Database.SqlQuery<UNCOMPLETE_TASK>(sqlString).ToList();
//Grid5.Hidden = false;
//Grid5.DataSource = _ls1;
//Grid5.DataBind();
}
}
private IQueryable<V_INFO> SetV_INFO(IQueryable<V_INFO> ret)
{
if (!CurrentUser.RoleList.Contains("分厂管理员"))
{
string name = GetIdentityName();
User modelUsers = DB.Users.FirstOrDefault(p => p.Name == name);
VenderUsers vu = null;
TA_VENDER tv = null;
if (modelUsers != null)
{
vu = DB.VenderUsers.FirstOrDefault(p => p.UserId == modelUsers.ID);
if (vu != null)
{
tv = SCPDB.TA_VENDER.FirstOrDefault(p => p.VendId == vu.VenderId);
}
//_info.SupplierCode = vu.VenderId;
}
foreach (V_INFO info in ret)
{
if (!string.IsNullOrEmpty(info.UserName) && !info.UserName.Equals(name))
{
if (!string.IsNullOrEmpty(info.SupplierCode) && info.SupplierCode.Contains(vu.VenderId))
{
if (tv != null)
{
info.SupplierName = tv.VendName;
}
}
}
}
}
return ret;
}
private void InitPublish()
{
}
private void InitPendingItems()
{
#region 代办
var _itmWaiting = new TB_PENING_ITEMS();
_itmWaiting.ITEM_STATE = (int)PENDING_STATE.WAITING;
_itmWaiting.UserInVendIds = CurrentUser.VenderList;
_itmWaiting.UserInAddress = CurrentUser.FactoryList;
_itmWaiting.UserInRoles = CurrentUser.RoleList;
var _ret = SCP_PENING_ITEMS_CONTROLLER.Get_TB_PENING_ITEMS_List(_itmWaiting);
if (_ret.State == ReturnStatus.Succeed)
{
_list = _ret.Result;
var list = Sort<TB_PENING_ITEMS>(_list.AsQueryable(), Grid1);
Grid1.DataSource = list.OrderByDescending("UID");
Grid1.RecordCount = list.Count();
Grid1.DataBind();
Grid1.Columns[0].Hidden = true;
}
#endregion
}
protected void btnRead_Click(object sender, EventArgs e)
{
Button btnRead = (Button)sender;
// 获取点击按钮所在的行索引
int rowIndex = (btnRead.NamingContainer as IDataItemContainer).DisplayIndex;
// 从 DataKeys 获取行数据
string strUID = Grid1.DataKeys[rowIndex][2].ToString();
int uid = Int32.Parse(strUID);
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
TB_PENING_ITEMS invoice = db.TB_PENING_ITEMS.Where(p => p.UID == uid).FirstOrDefault();
if (invoice != null)
{
invoice.MESSAGE_STATE = (int)PENDING_STATE.COMPLETED;
db.TB_PENING_ITEMS.AddOrUpdate(invoice);
if (db.SaveChanges() != -1)
{
//FineUI.Alert.Show("已阅状态设置成功!");
InitPendingItems();
Grid1.Columns[0].Hidden = true;
return;
}
else
{
//FineUI.Alert.Show("已阅状态设置失败!");
return;
}
}
else
{
//FineUI.Alert.Show("已阅状态设置失败!");
return;
}
}
}
protected void Grid1_RowClick(object sender, FineUI.GridRowClickEventArgs e)
{
}
protected void Grid2_OnRowDoubleClick(object sender, FineUI.GridRowClickEventArgs e)
{
string roleID = GetSelectedDataKey(Grid1, 1);
string username = GetSelectedDataKey(Grid1, 2);
string url = String.Format("../Views/BasicData/SCP_INFO_EDIT.aspx?ID={0}&username={1}", roleID, username);
FineUI.PageContext.RegisterStartupScript(Window1.GetShowReference(url, "查看"));
}
protected void Grid2_PageIndexChange(object sender, FineUI.GridPageEventArgs e)
{
BindData();
}
protected void Grid3_RowDoubleClick(object sender, FineUI.GridRowClickEventArgs e)
{
string _vendId = GetSelectedDataKey(Grid3, 0);
string _year = GetSelectedDataKey(Grid3, 3);
string url = String.Format("../Views/PlanData/SCP_ASK_UNCOMPLETE.aspx?Vendid={0}&&Year={1}",_vendId,_year+"-01"+"-01");
FineUI.PageContext.RegisterStartupScript(Window2.GetShowReference(url, "未完成看板明细"));
}
protected void Grid4_RowDoubleClick(object sender, FineUI.GridRowClickEventArgs e)
{
string _vendId = GetSelectedDataKey(Grid4, 0);
string _year = GetSelectedDataKey(Grid4, 3);
string url = String.Format("../Views/PlanData/SCP_ASK_UNCOMPLETE.aspx?Vendid={0}&&Year={1}", _vendId, _year + "-01" + "-01");
FineUI.PageContext.RegisterStartupScript(Window2.GetShowReference(url, "未完成看板明细"));
}
protected void Grid5_RowDoubleClick(object sender, FineUI.GridRowClickEventArgs e)
{
}
}
}