Просмотр исходного кода

上报总审页面展示以及发票添加收款日期筛选项

user5 3 лет назад
Родитель
Сommit
8017c81039

+ 9 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecordsReported.java

@@ -42,6 +42,7 @@ public class RuralProjectRecordsReported extends ActEntity<RuralProjectRecordsRe
 	private String ZiXunShouRu;   //咨询收入
 	private String zaoJiaShiZhengHao;   //造价师注册证号
 	private List<ReportedConsultant> reportedConsultantList= Lists.newArrayList();;//咨询员列表
+	private List<String> chargeCriterionList;	//合同收费标准
 
 
 	//项目信息
@@ -783,4 +784,12 @@ public class RuralProjectRecordsReported extends ActEntity<RuralProjectRecordsRe
 	public void setArchivesNo(String archivesNo) {
 		this.archivesNo = archivesNo;
 	}
+
+	public List<String> getChargeCriterionList() {
+		return chargeCriterionList;
+	}
+
+	public void setChargeCriterionList(List<String> chargeCriterionList) {
+		this.chargeCriterionList = chargeCriterionList;
+	}
 }

+ 18 - 0
src/main/java/com/jeeplus/modules/workinvoice/entity/WorkInvoice.java

@@ -95,6 +95,8 @@ public class WorkInvoice extends ActEntity<WorkInvoice> {
 	private List<Workattachment> workAttachments;//附件
 
 	private Integer projectFlag ;	//1:项目,0:非项目
+	private Date receiptBeginDate ;	//收款开始时间
+	private Date receiptEndDate ;	//收款结束时间
 
 	@Override
 	@ExcelField(title="经办人", fieldType=User.class, value="createBy.name", align=2, sort=7)
@@ -654,4 +656,20 @@ public class WorkInvoice extends ActEntity<WorkInvoice> {
 	public void setProjectFlag(Integer projectFlag) {
 		this.projectFlag = projectFlag;
 	}
+
+	public Date getReceiptBeginDate() {
+		return receiptBeginDate;
+	}
+
+	public void setReceiptBeginDate(Date receiptBeginDate) {
+		this.receiptBeginDate = receiptBeginDate;
+	}
+
+	public Date getReceiptEndDate() {
+		return receiptEndDate;
+	}
+
+	public void setReceiptEndDate(Date receiptEndDate) {
+		this.receiptEndDate = receiptEndDate;
+	}
 }

+ 243 - 1
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java

@@ -1937,8 +1937,246 @@ public class WorkProjectNotifyController extends BaseController {
 					}
 				}else if ("98".equals(workProjectNotify.getType())) {    //新项目上报管理
 					RuralProjectRecordsReported reported = ruralProjectMessageService.getRuralProjectRecordsReported(workProjectNotify.getNotifyId());
+
+					//查询报告信息
+					ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(reported.getId());
+					//查询“配农网”工程类型id
+					String engineeringId = engineeringService.getEngineeringId("202");
+					ProjectReportRecord projectReportRecord = projectReportRecordService.getprojectReportRecord(projectReportData.getId());
+					if(null != projectReportRecord){
+						projectReportRecord.setProjectReportData(projectReportData);
+						projectReportRecord.setReport(projectReportData);
+					}else{
+						projectReportRecord = new ProjectReportRecord();
+					}
+					Projectcontentinfo projectcontentinfo = projectcontentinfoService.getByInfoId(projectReportData.getId());
+					projectcontentinfo.setProjectReportData(projectReportData);
+
+					//获取项目信息
+					RuralProjectRecords ruralProjectRecords = ruralProjectRecordsService.getQueryProjectUsers(projectReportData.getProject().getId());
+					//获取复核标准
+					String reviewId="";
+					if ("2".equals(ruralProjectRecords.getSubmitMoney())){
+						reviewId="1";
+					}else{
+						if(StringUtils.isBlank(ruralProjectRecords.getEmergencyProject()) ||"0".equals(ruralProjectRecords.getEmergencyProject())){
+							reviewId="2";
+						}else if ("1".equals(ruralProjectRecords.getEmergencyProject())){
+							reviewId="3";
+						}
+					}
+					List<WorkReviewAudit> workReviewAudits = projectContentDataService.findListReview(reviewId,"紧急项目");
+					model.addAttribute("list", workReviewAudits);
+
+					//获取子项目列表信息
+					List<SubProjectInfo> subProjectInfos=this.queryReportDetails(ruralProjectRecords.getId());
+					//获取合同信息
+					WorkContractInfo workContractInfo=this.queryWorkContract(ruralProjectRecords.getId());
+					if(null != workContractInfo){
+						WorkClientInfo clientInfo = workClientInfoService.get(workContractInfo.getClient().getId());
+						model.addAttribute("workClientInfo", clientInfo);
+						if(StringUtils.isNotBlank(workContractInfo.getChargeCriterion())){
+							//收费标准
+							String [] biao=workContractInfo.getChargeCriterion().split(",");
+							List<String> chargeCriterionList=new ArrayList<>();
+							for (int i=0;i<biao.length;i++){
+								chargeCriterionList.add(biao[i]);
+							}
+							if(null != projectReportRecord){
+								projectReportRecord.setChargeCriterionList(chargeCriterionList);
+							}
+
+						}
+						reported.setChargeCriterionList(workContractInfo.getChargeCriterionList());
+					}
+
+
+					WorkContractInfo projectContractInfo = ruralProjectMessageService.getProjectContractInfo(ruralProjectRecords.getWorkContractInfo().getId());
+					ruralProjectRecords.setWorkContractInfo(projectContractInfo);
+					MyBeanUtils.copyBeanNotNull2Bean(ruralProjectRecords,projectReportData.getProject());//将编辑表单中的非NULL值覆盖数据库记录中的值
+					if(null != projectContractInfo){
+						if(projectContractInfo.getWorkClientInfoList().size()>0){
+							model.addAttribute("workClientInfoName", projectContractInfo.getWorkClientInfoList().get(0).getName());
+						}
+					}
+
+					ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
+					//添加项目类型
+					relateInfo.setAttachmentProjectType(ruralProjectRecords.getProjectType());
+					relateInfo.setAttachmentProjectSort(ruralProjectRecords.getAttachmentProjectSort());
+					//判断是否为打包项目,打包项目无需查看项目送审金额是否为500w以上判定
+					String money=ruralProjectRecords.getSubmitMoney();
+					Integer approvalMoney=null;
+					if(StringUtils.isBlank(money)){
+						approvalMoney=1;
+					}else{
+						approvalMoney=Integer.parseInt(money);
+					}
+					switch (approvalMoney){
+						case 0:
+							//金额为0
+							relateInfo.setAttachmentProjectApprovalMoney(null);
+							break;
+						case 1:
+							//500w以下金额状态
+							relateInfo.setAttachmentProjectApprovalMoney("1");
+							break;
+						case 2:
+							//500w以上金额状态
+							relateInfo.setAttachmentProjectApprovalMoney("2");
+							break;
+					}
+
+					//添加报告类型
+					//relateInfo.setRequiredStage(2);
+					List<Integer> requiredStageList = Lists.newArrayList();
+					requiredStageList.add(1);
+					requiredStageList.add(2);
+					relateInfo.setRequiredStageList(requiredStageList);
+					relateInfo.setId(ruralProjectRecords.getId());
+					//查询报告文件、依据性文件、其他文件必填列表以及数据
+					List<MainDictDetail> mainDictDetails = projectTemplateService.attachmentTemplateList();
+					for (MainDictDetail mainDict : mainDictDetails) {
+						relateInfo.setAttachType(mainDict.getValue());
+						switch (mainDict.getValue()) {
+							case "11":
+								List<ProjectTemplateInfo> fileAttachmentList = projectTemplateService.getProjectTemplateListByArchive(relateInfo);
+								for (ProjectTemplateInfo info: fileAttachmentList) {
+									info.setAttachTypes(info.getAttachTypes().toLowerCase());
+									if(engineeringId.equals(ruralProjectRecords.getEngineeringType())){
+										if("审定单".equals(info.getAttachName()) || "咨询报告书正文(含附件)  附件一:工程预算或结算汇总表 附件二:编制或审核说明 附件三:工程预算或结算审定单 附件四:工程预算或结算书".equals(info.getAttachName()) ){
+											if(!info.getAttachTypes().contains("zip")){
+												info.setAttachTypes(info.getAttachTypes()+",zip");
+											}
+											if(!info.getAttachTypes().contains("rar")){
+												info.setAttachTypes(info.getAttachTypes()+",rar");
+											}
+										}
+									}
+								}
+								if(null != projectReportRecord){
+									projectReportRecord.setFileAttachmentList(fileAttachmentList);
+								}
+								break;
+							case "12":
+								List<ProjectTemplateInfo> projectTemplateList = projectTemplateService.getProjectTemplateListByArchive(relateInfo);
+								for (ProjectTemplateInfo info: projectTemplateList) {
+									info.setAttachTypes(info.getAttachTypes().toLowerCase());
+									if(engineeringId.equals(ruralProjectRecords.getEngineeringType())){
+										if("投标文件、中标通知书、工程承包合同(协议书记专用条款部分)、补充协议".equals(info.getAttachName()) || "送审工程预算、结算书".equals(info.getAttachName()) ){
+											if(!info.getAttachTypes().contains("zip")){
+												info.setAttachTypes(info.getAttachTypes()+",zip");
+											}
+											if(!info.getAttachTypes().contains("rar")){
+												info.setAttachTypes(info.getAttachTypes()+",rar");
+											}
+										}
+									}
+								}
+								if(null != projectReportRecord){
+									projectReportRecord.setFileGistdataList(projectTemplateList);
+								}
+
+								break;
+							case "13":
+								if(null != projectReportRecord){
+									projectReportRecord.setFileOtherList(projectTemplateService.getProjectTemplateListByArchive(relateInfo));
+								}
+
+								break;
+						}
+
+					}
+					if(null != projectReportRecord){
+						projectReportRecord.setUploadMode(uploadMode);
+					}
+
+					//获取项目基础信息
+					ruralProjectRecordsService.queryProjectDetail(ruralProjectRecords);
+					//工程咨询
+					List<MainDictDetail> mainDictList = Lists.newArrayList();
+					if("1".equals(ruralProjectRecords.getProjectType())){
+						mainDictList = DictUtils.getMainDictList("attachment_project_sort");
+						//造价审核
+					} else if("2".equals(ruralProjectRecords.getProjectType())){
+						mainDictList = DictUtils.getMainDictList("attachment_project_sort_cost");
+					}
+					if(StringUtils.isNotBlank(ruralProjectRecords.getAttachmentProjectSort())){
+						//处理项目类别
+						for (MainDictDetail info: mainDictList) {
+							if(ruralProjectRecords.getAttachmentProjectSort().equals(info.getValue())){
+								ruralProjectRecords.setAttachmentProjectSort(info.getLabel());
+								break;
+							}
+						}
+					}
+					model.addAttribute("projectcontentinfo", projectcontentinfo);
+					model.addAttribute("projectRecords", ruralProjectRecords);
+					model.addAttribute("projectReportData", projectReportData);
+					model.addAttribute("ziXunShouRu", projectReportData.getZiXunShouRu());
+					model.addAttribute("workContractInfo", workContractInfo);
+					model.addAttribute("projectReportRecord", projectReportRecord);
+					model.addAttribute("project", projectReportData.getProject());
+					//tap页
+					//查询所有的工程类型
+					List<ProjectEngineeringInfo> projectEngineeringInfo=engineeringService.findList(new ProjectEngineeringInfo());
+					model.addAttribute("projectEngineeringInfo",projectEngineeringInfo);
+					//项目计划
+					RuralProjectRecords projectRecordPlans = this.planView(ruralProjectRecords.getId());
+					model.addAttribute("projectRecordPlans", projectRecordPlans);
+					//获取质量复核项目组成员
+					List<RuralReportConsultant> consultantinfo =this.qualityView(ruralProjectRecords,projectReportData);
+					model.addAttribute("consultantinfo", consultantinfo);
+					//获取总审人员
+					User user=UserUtils.get(projectReportData.getBzshbUserId());
+					model.addAttribute("bzshbUserName",user.getName());
+					//质量复核标准展示
+					String review="";
+					if ("2".equals(ruralProjectRecords.getSubmitMoney())){
+						review="1";
+					};
+					List<WorkReviewAudit> workReviewAuditList = projectContentDataService.findListReview(review,"质量复核");
+					WorkReviewAudit revAudit = new WorkReviewAudit();
+					String type = "4";
+					revAudit.setCompanyId(UserUtils.getSelectCompany().getId());
+					revAudit.setType(type);
+					revAudit.setReportId(projectReportData.getId());
+					List<WorkReviewAudit> reaudits = workReviewStandardService.findAuditList(revAudit);
+					for(WorkReviewAudit reAudit:workReviewAuditList){
+						for (WorkReviewAudit audit:reaudits){
+							if (reAudit.getId().equals(audit.getStandardId())){
+								reAudit.setDeductOption(audit.getDeductOption());
+								break;
+							}
+						}
+					}
+					model.addAttribute("datalist", workReviewAuditList);
+
+					//拆线呢报告签发评分展示项
+					List<WorkReviewAudit> reviewAuditList = projectContentDataService.findListIssue(reviewId,"报告签发");
+					//查询报告签发评分评论数据
+					WorkReviewAudit workReviewAuditTwo = new WorkReviewAudit();
+					type = "4";
+					workReviewAuditTwo.setCompanyId(UserUtils.getSelectCompany().getId());
+					workReviewAuditTwo.setType(type);
+					workReviewAuditTwo.setReportId(projectReportData.getId());
+					List<WorkReviewAudit> rreviewAuditList = workReviewStandardService.findAuditList(workReviewAuditTwo);
+					for(WorkReviewAudit reAudit:reviewAuditList){
+						for (WorkReviewAudit audit:rreviewAuditList){
+							if (reAudit.getId().equals(audit.getStandardId())){
+								reAudit.setDeductOption(audit.getDeductOption());
+								break;
+							}
+						}
+					}
+					model.addAttribute("datalistTwo", reviewAuditList);
+
+
+
+
+
 					model.addAttribute("projectTypeId",reported.getProjectType());
-					User user = UserUtils.get(reported.getXmFZR());
+					user = UserUtils.get(reported.getXmFZR());
 					if(null != user){
 						model.addAttribute("xmFZRName",user.getName());
 					}
@@ -1974,6 +2212,10 @@ public class WorkProjectNotifyController extends BaseController {
 						model.addAttribute("identificationName","项目上报审核意见");
 						if(StringUtils.isNotBlank(reported.getJingHeJianLv())){
 							if(Double.valueOf(reported.getJingHeJianLv())>30 || Double.valueOf(reported.getJingHeJianLv())< -30 ){
+								projectReportRecord.setFileAttachmentList(ruralProjectRecordsService.disposeDataAttachment(projectReportRecord.getFileAttachmentList()));
+								projectReportRecord.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectReportRecord.getFileGistdataList()));
+								projectReportRecord.setFileOtherList(ruralProjectRecordsService.disposeDataAttachment(projectReportRecord.getFileOtherList()));
+
 								return "modules/ruralprojectrecords/cost/newReported/bzshbReportedAudit";
 							}
 						}

+ 32 - 0
src/main/resources/mappings/modules/workinvoice/WorkInvoiceDao.xml

@@ -260,6 +260,14 @@
 			<if test="beginContractDate != null and endContractDate != null and beginContractDate != '' and endContractDate != ''">
 				AND a.create_date BETWEEN #{beginContractDate} AND #{endContractDate}
 			</if>
+
+			<if test="receiptBeginDate != null and receiptBeginDate != ''">
+				AND date_format(a.receipt_money_date,'%Y-%m-%d') &gt;= date_format(#{receiptBeginDate},'%Y-%m-%d')
+			</if>
+			<if test="receiptEndDate != null and receiptEndDate != ''">
+				AND date_format(a.receipt_money_date,'%Y-%m-%d') &lt;= date_format(#{receiptEndDate},'%Y-%m-%d')
+			</if>
+
 			<if test="client != null and client.id != null and client.id != ''">
 				AND a.client_id = #{client.id}
 			</if>
@@ -400,6 +408,14 @@
 			<if test="beginContractDate != null and endContractDate != null and beginContractDate != '' and endContractDate != ''">
 				AND a.create_date BETWEEN #{beginContractDate} AND #{endContractDate}
 			</if>
+
+			<if test="receiptBeginDate != null and receiptBeginDate != ''">
+				AND date_format(a.receipt_money_date,'%Y-%m-%d') &gt;= date_format(#{receiptBeginDate},'%Y-%m-%d')
+			</if>
+			<if test="receiptEndDate != null and receiptEndDate != ''">
+				AND date_format(a.receipt_money_date,'%Y-%m-%d') &lt;= date_format(#{receiptEndDate},'%Y-%m-%d')
+			</if>
+
 			<if test="client != null and client.id != null and client.id != ''">
 				AND a.client_id = #{client.id}
 			</if>
@@ -655,6 +671,14 @@
 			<if test="beginContractDate != null and endContractDate != null and beginContractDate != '' and endContractDate != ''">
 				AND a.create_date BETWEEN #{beginContractDate} AND #{endContractDate}
 			</if>
+
+			<if test="receiptBeginDate != null and receiptBeginDate != ''">
+				AND date_format(a.receipt_money_date,'%Y-%m-%d') &gt;= date_format(#{receiptBeginDate},'%Y-%m-%d')
+			</if>
+			<if test="receiptEndDate != null and receiptEndDate != ''">
+				AND date_format(a.receipt_money_date,'%Y-%m-%d') &lt;= date_format(#{receiptEndDate},'%Y-%m-%d')
+			</if>
+
 			<if test="client != null and client.id != null and client.id != ''">
 				AND a.client_id = #{client.id}
 			</if>
@@ -800,6 +824,14 @@
 			<if test="beginContractDate != null and endContractDate != null and beginContractDate != '' and endContractDate != ''">
 				AND a.create_date BETWEEN #{beginContractDate} AND #{endContractDate}
 			</if>
+
+			<if test="receiptBeginDate != null and receiptBeginDate != ''">
+				AND date_format(a.receipt_money_date,'%Y-%m-%d') &gt;= date_format(#{receiptBeginDate},'%Y-%m-%d')
+			</if>
+			<if test="receiptEndDate != null and receiptEndDate != ''">
+				AND date_format(a.receipt_money_date,'%Y-%m-%d') &lt;= date_format(#{receiptEndDate},'%Y-%m-%d')
+			</if>
+
 			<if test="client != null and client.id != null and client.id != ''">
 				AND a.client_id = #{client.id}
 			</if>

Разница между файлами не показана из-за своего большого размера
+ 2024 - 378
src/main/webapp/webpage/modules/ruralprojectrecords/cost/newReported/bzshbReportedAudit.jsp


+ 26 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllList.jsp

@@ -38,6 +38,18 @@
                 type : 'date'
 , trigger: 'click'
             });
+			laydate.render({
+				elem: '#receiptBeginDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+				event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+				type : 'date'
+				, trigger: 'click'
+			});
+			laydate.render({
+				elem: '#receiptEndDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+				event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+				type : 'date'
+				, trigger: 'click'
+			});
         });
         function openDialogre(title,url,width,height,target){
             if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
@@ -501,6 +513,20 @@
 																	 title="用户" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
 							</div>
 						</div>
+
+								<div class="layui-item query athird">
+									<label class="layui-form-label">收款日期:</label>
+									<div class="layui-input-block">
+										<input id="receiptBeginDate" name="receiptBeginDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group" style="background-color: #fff"
+											   value="<fmt:formatDate value="${workInvoice.receiptBeginDate}" pattern="yyyy-MM-dd"/>"/>
+										</input>
+										<span class="group-sep">-</span>
+										<input id="receiptEndDate" name="receiptEndDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group" style="background-color: #fff"
+											   value="<fmt:formatDate value="${workInvoice.receiptEndDate}" pattern="yyyy-MM-dd"/>"/>
+										</input>
+									</div>
+								</div>
+
 						<div class="layui-item query athird">
 							<label class="layui-form-label">开票单位:</label>
 							<div class="layui-input-block with-icon">

+ 24 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceTwoList.jsp

@@ -38,6 +38,18 @@
                 type : 'date'
 , trigger: 'click'
             });
+            laydate.render({
+                elem: '#receiptBeginDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+                event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+                type : 'date'
+, trigger: 'click'
+            });
+            laydate.render({
+                elem: '#receiptEndDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+                event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+                type : 'date'
+, trigger: 'click'
+            });
         });
         function openDialogre(title,url,width,height,target){
             if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
@@ -585,6 +597,18 @@
 							</div>
 						</div>
 						<div class="layui-item query athird">
+							<label class="layui-form-label">收款日期:</label>
+							<div class="layui-input-block">
+								<input id="receiptBeginDate" name="receiptBeginDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group" style="background-color: #fff"
+									   value="<fmt:formatDate value="${workInvoice.receiptBeginDate}" pattern="yyyy-MM-dd"/>"/>
+								</input>
+								<span class="group-sep">-</span>
+								<input id="receiptEndDate" name="receiptEndDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group" style="background-color: #fff"
+									   value="<fmt:formatDate value="${workInvoice.receiptEndDate}" pattern="yyyy-MM-dd"/>"/>
+								</input>
+							</div>
+						</div>
+						<div class="layui-item query athird">
 							<label class="layui-form-label">开票单位:</label>
 							<div class="layui-input-block with-icon">
 								<form:input path="client.name" htmlEscape="false"  class=" form-control layui-input"/>