This commit is contained in:
gaofei 2022-04-23 22:49:21 +08:00
parent da4ee22341
commit 2bfaab2157
6 changed files with 446 additions and 282 deletions

View File

@ -0,0 +1,31 @@
alter table [dbo].[JDGL_QuantityList] add SortIndex int null
GO
ALTER VIEW [dbo].[View_JDGL_QuantityCompletion]
AS
select qc.*,ql.DesignNum,ql.Name,ql.Unit,ql.SortIndex,
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate())) as TotalPlanNum,
CONVERT(FLOAT,(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate())) as TotalRealNum,
CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(qc.PlanNum,0) WHEN 0 THEN 0
ELSE 100*ISNULL(qc.RealNum,0) / (1.0 *qc.PlanNum) END AS DECIMAL(9,2)))))+'%'
AS Rate,
CONVERT(NVARCHAR(10),((CAST(CASE (select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate()) WHEN 0 THEN 0
ELSE 100*(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate()) / (1.0 *(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate())) END AS DECIMAL(9,2)))))+'%'
AS TotalRate,
CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(ql.DesignNum,0) WHEN 0 THEN 0
ELSE 100*(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate()) / (1.0 *ql.DesignNum) END AS DECIMAL(9,2)))))+'%'
AS SumRate,
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months<qc.Months)) as LastTotalPlanNum,
CONVERT(FLOAT,(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months<qc.Months)) as LastTotalRealNum
from [dbo].JDGL_QuantityList ql
left join dbo.[JDGL_QuantityCompletion] qc on ql.QuantityListId=qc.QuantityListId
where qc.QuantityCompletionId=(select top 1 QuantityCompletionId from [JDGL_QuantityCompletion] q where q.QuantityListId=qc.QuantityListId order by q.EndDate desc)
GO

View File

@ -92,7 +92,7 @@ namespace FineUIPro.Web.JDGL.Check
//GetQuantityCompletion();
string strSql = @"select *
from dbo.View_JDGL_QuantityCompletion qc
where qc.ProjectId=@ProjectId order by qc.Name";
where qc.ProjectId=@ProjectId order by qc.SortIndex, qc.Name";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
SqlParameter[] parameter = listStr.ToArray();

View File

@ -13,98 +13,122 @@
height: 100%;
padding: 15px;
}
.top-wrap {
height: 100%;
}
.bw-b-bottom {
width: 100%;
height: 100%;
}
.bw-b-bottom-up {
height: 100%;
margin: 0;
box-shadow: rgb(0,162,233) 0px 0px 50px inset;
border-radius: 10px;
}
.bottom-wrap {
padding: 0;
}
.pdtb0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.tit-center {
text-align: center;
font-size: 12px;
}
.tit-one {
padding: 10px 0;
}
.pdl {
padding-left: 15px;
font-size: 12px;
}
.more {
cursor: pointer;
text-align: right;
padding: 10px;
font-size: 10px;
}
.bg-img {
width: 100%;
max-height: 225px;
}
.item {
margin-bottom: 5px;
font-size: 10px;
}
.item:last-child {
margin-bottom: 0;
}
.item-two {
margin: 5px 0;
}
.jd-list-wrap {
padding: 10px 10px;
}
.jd-list-long {
width: 100%;
}
.jd-list {
height: 100%;
/*background-color:#1A5A92;*/
font-size: 10px;
}
.jd-list .jd-title {
color: #fff;
}
.jd-list .jd-item {
display: flex;
align-items: center;
border-bottom: 1px solid #1D6FA9;
padding: 5px 0;
}
.jd-list .jd-item .item {
flex: 1;
display: flex;
justify-content: center;
}
.pd10 {
padding: 10px !important;
}
.bg-img-1 {
height: 100%;
background: url(../Images/siteProject.jpg) center center no-repeat;
background-size: 100% 100%;
}
.tab-wrap-hastit {
position: relative;
}
.tab-wrap-pos {
left: auto;
right: 30px;
top: 5px;
}
.content-ul .c-item .tit {
display: block;
position: relative;
@ -139,6 +163,7 @@ padding-left: 2em;
width: 0;
border-radius: 50%
}
.content-ul .c-item .tit .tit-t {
flex: 1;
min-width: 0;
@ -156,6 +181,7 @@ padding-left: 2em;
margin-left: 12px;
width: 80px;
}
.project-list-wrap {
position: absolute;
left: 50%;
@ -169,6 +195,7 @@ padding-left: 2em;
min-height: 500px;
z-index: 9999;
}
.projectList_btn {
position: fixed;
bottom: 0;
@ -176,41 +203,47 @@ padding-left: 2em;
text-align: right;
width: 100%;
padding: 10px;
}
.projectList_btn .pl_btn {
color: #ccc;
cursor: pointer;
width: 32px;
float: right;
}
.tit-right-wrap {
position: relative;
}
.tit-right-wrap .tit-right {
position: absolute;
right: 20px;
top: 10px;
}
.zl-list {
justify-content: space-around;
width: 100%;
}
.zl-list .zl-item {
margin-bottom: 15px;
justify-content: flex-end;
}
.zl-list .zl-item .zl-tit, .zl-list .zl-item .zl-val {
font-size: 15px;
}
.zl-list .zl-item .zl-tit{
.zl-list .zl-item .zl-tit {
}
.zl-list .zl-item .zl-val {
color: #fff;
margin-left: 8px;
}
.bubble-wrap {
border-radius: 50%;
border: 1px solid #00a2e9;
@ -228,12 +261,34 @@ padding-left: 2em;
font-size: 20px;
color: #fff;
}
.b-txt {
font-size: 12px;
}
.flexOne {
min-height: 200px;
}
.tab-wrap {
position: absolute;
left: auto;
right: 15px;
top: 5px;
font-size: 12px;
}
.tab .t-item {
width: auto;
padding: 5px 10px;
}
.tit-item {
padding: 0 10px;
color: #fff;
justify-content: space-between;
font-size: 12px;
}
</style>
</head>
<body>
@ -269,7 +324,14 @@ padding-left: 2em;
<div class="item flex1">
<div class="bw-b-bottom">
<div class="bw-b-bottom-up flex flexV">
<div class="tit-one tit-center pdl" style="color:#fff">关键事项<form runat="server"><asp:HiddenField runat="server" ID="hdNoticeId" /><asp:Button ID="imgBtn" runat="server" OnClick="imgBtn_Click" style="display:none;"/></form></div>
<div class="tit-one tit-center pdl" style="color: #fff">
关键事项<form runat="server">
<asp:HiddenField runat="server" ID="hdNoticeId" />
<asp:Button ID="imgBtn" runat="server" OnClick="imgBtn_Click" Style="display: none;" />
</form>
<input id="hdContractQuantitySheets" type="hidden" runat="server" />
<input id="hdMaterialRecords" type="hidden" runat="server" />
</div>
<div class="bw-item-content flex1 pdtb0">
<div class="" style="padding: 0 10px 0; overflow: hidden;">
<div class="swiper-container " id='swiper2' runat="server">
@ -358,7 +420,18 @@ padding-left: 2em;
<div class="item flex2">
<div class="bw-b-bottom">
<div class="bw-b-bottom-up flex flexV">
<div class="tit-one tit-center" runat="server" id="divMonth" style="color:#fff">专业工作量表</div>
<div class="tit-one tit-center" runat="server" id="divMonth" style="color: #fff; margin-left: 15px; text-align: left;">&nbsp;</div>
<div class="tab-wrap">
<div class="tab" data-value="2">
<div class="t-item active">材料到货情况</div>
<div class="spline"></div>
<div class="t-item ">材料出库情况</div>
<div class="spline"></div>
<div class="t-item">建筑单位工程</div>
<div class="spline"></div>
<div class="t-item">专业</div>
</div>
</div>
<div class="bw-item-content flex1 flex jd-list-wrap">
<div class="jd-list jd-list-long" runat="server" id="divGZL" style="overflow: scroll; max-height: 200px;">
<div class="jd-item">
@ -849,6 +922,25 @@ padding-left: 2em;
}
}
}
else if (value == 2) {
if (index == 0) {
//alert($('#hdContractQuantitySheets')[0].value);
$('#divGZL').html($('#hdContractQuantitySheets')[0].value);
//alert(swiper_One);
//$('#divGZL').html("1");
} else if (index == 2) {
//alert($('#hdMaterialRecords')[0].value);
$('#divGZL').html($('#hdMaterialRecords')[0].value);
//$('#divGZL').html("无");
//$('#divGZL').reload();
//$('#divGZL').html($('#hdMaterialRecords').value);
//$('#divGZL').html("2");
} else if (index == 4) {
} else if (index == 6) {
}
}
})
$("#swiper2").on('click', 'li', function () {

View File

@ -63,70 +63,93 @@ namespace FineUIPro.Web.common
//签证
var siteVisas = from x in db.Comprehensive_SiteVisaManagement where x.ProjectId == this.CurrUser.LoginProjectId && cns.Contains(x.CNProfessionalId) select x;
this.divQZ.InnerHtml = siteVisas.Count().ToString();
//工程量完成情况
string date = string.Empty;
var quantityCompletions = from x in Funs.DB.View_JDGL_QuantityCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Name select x;
if (quantityCompletions.Count() > 0)
//材料到货情况
string contractQuantitySheetsStr = string.Empty;
long projectId = BLL.ProjectService.GetCLProjectCodeByProjectId(this.CurrUser.LoginProjectId);
var contractQuantitySheets = from x in Funs.DB.CLGL_ContractQuantitySheet where x.ProjectId == projectId.ToString() select x;
if (contractQuantitySheets.Count() > 0)
{
string quantityCompletionStr = "<div class='jd-item'><div class='item jd-title'>序号</div><div class='item jd-title'>类型</div><div class='item jd-title'>单位</div><div class='item jd-title'>设计数量</div><div class='item jd-title'>计划完成</div><div class='item jd-title'>实际完成</div><div class='item jd-title'>计划完成率</div><div class='item jd-title'>累计计划完成</div><div class='item jd-title'>累计实际完成</div><div class='item jd-title'>累计计划完成率</div><div class='item jd-title'>总完成率</div></div>";
contractQuantitySheetsStr = "<div class='jd-item'><div class='item jd-title'>序号</div><div class='item jd-title'>材料用途</div><div class='item jd-title'>合同号</div><div class='item jd-title'>专业</div><div class='item jd-title'>材料编码</div><div class='item jd-title'>位号</div><div class='item jd-title'>采购量</div><div class='item jd-title'>装置号</div><div class='item jd-title'>主项号</div><div class='item jd-title'>企业中文名称</div><div class='item jd-title'>备注</div></div>";
int i = 1;
foreach (var item in quantityCompletions)
foreach (var item in contractQuantitySheets)
{
quantityCompletionStr += "<div class='jd-item'><div class='item'>"
contractQuantitySheetsStr += "<div class='jd-item'><div class='item'>"
+ i + "</div><div class='item'>"
+ item.Name + "</div><div class='item'>"
+ item.Unit + "</div><div class='item'>"
+ (item.DesignNum != null ? item.DesignNum.Value.ToString("F0") : "0") + "</div><div class='item'>"
+ (item.PlanNum != null ? item.PlanNum.Value.ToString("F0") : "0") + "</div><div class='item'>"
+ (item.RealNum != null ? item.RealNum.Value.ToString("F0") : "0") + "</div><div class='item'>"
+ item.Rate + "</div><div class='item'>"
+ item.TotalPlanNum + "</div><div class='item'>"
+ item.TotalRealNum + "</div><div class='item'>"
+ item.TotalRate + "</div><div class='item'>"
+ item.SumRate + "</div></div>";
+ item.MaterialUse + "</div><div class='item'>"
+ item.ContractCode + "</div><div class='item'>"
+ item.Major + "</div><div class='item'>"
+ item.MaterialCode + "</div><div class='item'>"
+ item.TagNo + "</div><div class='item'>"
+ item.BuyQuantity + "</div><div class='item'>"
+ item.DeviceCode + "</div><div class='item'>"
+ item.MainItemCode + "</div><div class='item'>"
+ item.UnitName + "</div><div class='item'>"
+ item.Remark + "</div></div>";
i++;
}
divGZL.InnerHtml = quantityCompletionStr;
if (quantityCompletions.Count() > 0)
{
if (quantityCompletions.First() != null && quantityCompletions.First().EndDate != null)
{
date = " (" + string.Format("{0:yyyy-MM}", quantityCompletions.First().EndDate) + ")";
}
}
}
else //低温储罐项目显示低温储罐数据
this.divGZL.InnerHtml= contractQuantitySheetsStr;
this.hdContractQuantitySheets.Value = contractQuantitySheetsStr;
//材料出库情况
string materialRecordsStr = string.Empty;
var materialRecords= from x in db.CLGL_PickMaterialRecord where x.ProjectId == projectId.ToString() select x;
if (contractQuantitySheets.Count() > 0)
{
var lowTankCompletions = from x in Funs.DB.View_JDGL_LowTankCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Code select x;
string quantityCompletionStr = "<div class='jd-item'><div class='item jd-title'>序号</div><div class='item jd-title'>储罐编号</div><div class='item jd-title'>类型</div><div class='item jd-title'>单位</div><div class='item jd-title'>设计数量</div><div class='item jd-title'>计划完成</div><div class='item jd-title'>实际完成</div><div class='item jd-title'>计划完成率</div><div class='item jd-title'>累计计划完成</div><div class='item jd-title'>累计实际完成</div><div class='item jd-title'>累计计划完成率</div><div class='item jd-title'>总完成率</div></div>";
materialRecordsStr = "<div class='jd-item'><div class='item jd-title'>序号</div><div class='item jd-title'>领料单号</div><div class='item jd-title'>领料时间</div><div class='item jd-title'>领料单位</div><div class='item jd-title'>领料截止时间</div><div class='item jd-title'>专业</div><div class='item jd-title'>材料编码</div><div class='item jd-title'>位号</div><div class='item jd-title'>申领量</div><div class='item jd-title'>批准量</div><div class='item jd-title'>实发量</div><div class='item jd-title'>装置号</div><div class='item jd-title'>主项号</div><div class='item jd-title'>发料备注</div></div>";
int i = 1;
foreach (var item in lowTankCompletions)
foreach (var item in materialRecords)
{
quantityCompletionStr += "<div class='jd-item'><div class='item'>"
materialRecordsStr += "<div class='jd-item'><div class='item'>"
+ i + "</div><div class='item'>"
+ item.Code + "</div><div class='item'>"
+ item.Name + "</div><div class='item'>"
+ item.Unit + "</div><div class='item'>"
+ (item.TotalNum != null ? item.TotalNum.Value.ToString("F0") : "0") + "</div><div class='item'>"
+ (item.PlanNum != null ? item.PlanNum.Value.ToString("F0") : "0") + "</div><div class='item'>"
+ (item.RealNum != null ? item.RealNum.Value.ToString("F0") : "0") + "</div><div class='item'>"
+ item.Rate + "</div><div class='item'>"
+ item.TotalPlanNum + "</div><div class='item'>"
+ item.TotalRealNum + "</div><div class='item'>"
+ item.TotalRate + "</div><div class='item'>"
+ item.SumRate + "</div></div>";
+ item.PickCode + "</div><div class='item'>"
+ (item.PickDate.HasValue?string.Format("{0:yyyy-MM-dd}", item.PickDate.Value) :"") + "</div><div class='item'>"
+ item.PickUnit + "</div><div class='item'>"
+ (item.PickLimitDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.PickLimitDate.Value) : "") + "</div><div class='item'>"
+ item.Major + "</div><div class='item'>"
+ item.MaterialCode + "</div><div class='item'>"
+ item.TagNo + "</div><div class='item'>"
+ item.ClaimQuantity + "</div><div class='item'>"
+ item.ApproveQuantity + "</div><div class='item'>"
+ item.ActualQuantity + "</div><div class='item'>"
+ item.DeviceCode + "</div><div class='item'>"
+ item.MainItemCode + "</div><div class='item'>"
+ item.Remark + "</div></div>";
i++;
}
divGZL.InnerHtml = quantityCompletionStr;
if (lowTankCompletions.Count() > 0)
}
this.hdMaterialRecords.Value = materialRecordsStr;
}
}
protected string swiper_One1
{
if (lowTankCompletions.First() != null && lowTankCompletions.First().EndDate != null)
get
{
date = " (" + string.Format("{0:yyyy-MM}", lowTankCompletions.First().EndDate) + ")";
string contractQuantitySheetsStr = string.Empty;
long projectId = BLL.ProjectService.GetCLProjectCodeByProjectId(this.CurrUser.LoginProjectId);
var contractQuantitySheets = from x in Funs.DB.CLGL_ContractQuantitySheet where x.ProjectId == projectId.ToString() select x;
if (contractQuantitySheets.Count() > 0)
{
contractQuantitySheetsStr = "<div class='jd-item'><div class='item jd-title'>序号</div><div class='item jd-title'>材料用途</div><div class='item jd-title'>合同号</div><div class='item jd-title'>专业</div><div class='item jd-title'>材料编码</div><div class='item jd-title'>位号</div><div class='item jd-title'>采购量</div><div class='item jd-title'>装置号</div><div class='item jd-title'>主项号</div><div class='item jd-title'>企业中文名称</div><div class='item jd-title'>备注</div></div>";
int i = 1;
foreach (var item in contractQuantitySheets)
{
contractQuantitySheetsStr += "<div class='jd-item'><div class='item'>"
+ i + "</div><div class='item'>"
+ item.MaterialUse + "</div><div class='item'>"
+ item.ContractCode + "</div><div class='item'>"
+ item.Major + "</div><div class='item'>"
+ item.MaterialCode + "</div><div class='item'>"
+ item.TagNo + "</div><div class='item'>"
+ item.BuyQuantity + "</div><div class='item'>"
+ item.DeviceCode + "</div><div class='item'>"
+ item.MainItemCode + "</div><div class='item'>"
+ item.UnitName + "</div><div class='item'>"
+ item.Remark + "</div></div>";
i++;
}
}
}
divMonth.InnerHtml = "专业工作量表" + date;
return contractQuantitySheetsStr;
}
}

View File

@ -39,6 +39,24 @@ namespace FineUIPro.Web.common {
/// </remarks>
protected global::System.Web.UI.WebControls.Button imgBtn;
/// <summary>
/// hdContractQuantitySheets 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputHidden hdContractQuantitySheets;
/// <summary>
/// hdMaterialRecords 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputHidden hdMaterialRecords;
/// <summary>
/// swiper2 控件。
/// </summary>

View File

@ -53,7 +53,7 @@ namespace FineUIPro.Web.common
this.divBG.InnerHtml = designChangeOrders.Count().ToString();
//工程量完成情况
string date = string.Empty;
var quantityCompletions = from x in Funs.DB.View_JDGL_QuantityCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Name select x;
var quantityCompletions = from x in Funs.DB.View_JDGL_QuantityCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.SortIndex, x.Name select x;
if (quantityCompletions.Count() > 0)
{
string quantityCompletionStr = "<div class='jd-item'><div class='item jd-title'>序号</div><div class='item jd-title'>类型</div><div class='item jd-title'>单位</div><div class='item jd-title'>设计数量</div><div class='item jd-title'>计划完成</div><div class='item jd-title'>实际完成</div><div class='item jd-title'>计划完成率</div><div class='item jd-title'>累计计划完成</div><div class='item jd-title'>累计实际完成</div><div class='item jd-title'>累计计划完成率</div><div class='item jd-title'>总完成率</div></div>";