Pārlūkot izejas kodu

项目添加生成报告号功能

user5 4 gadi atpakaļ
vecāks
revīzija
327c06fe20

+ 10 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java

@@ -197,6 +197,8 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	private String newRecordNotifyId; //新归档代办判定条件
 	private Integer newRecordAuditNotifyFlag; //新归档(审批)判定条件
 
+	private Integer reportDataFlag; //报告号是否存在判定条件
+
 
 	private Integer planCount;	//项目计划数量
 	private BigDecimal submitScale;	//送审规模
@@ -1416,4 +1418,12 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	public void setPrdtProcessinstanceId(String prdtProcessinstanceId) {
 		this.prdtProcessinstanceId = prdtProcessinstanceId;
 	}
+
+	public Integer getReportDataFlag() {
+		return reportDataFlag;
+	}
+
+	public void setReportDataFlag(Integer reportDataFlag) {
+		this.reportDataFlag = reportDataFlag;
+	}
 }

+ 59 - 14
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java

@@ -485,7 +485,7 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 			}
 		}
 
-		//项目添加报告号
+		/*//项目添加报告号
 		//查询该项目是否已经存在报告号,若存在则不进行添加
 		ProjectReportData reportData = projectReportDataDao.getProjectReportData(projectRecords.getId());
 		if(null == reportData){
@@ -509,19 +509,18 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 				projectReportData.setCreateDate(new Date());
 				projectReportDataDao.insert(projectReportData);
 			}
-			//添加项目工作内容表
-			Projectcontentinfo projectcontentinfo = new Projectcontentinfo();
-			projectcontentinfo.setProjectOnRural(projectRecords);
-			projectcontentinfo.setCompanyId(projectRecords.getCompany().getId());
-			projectcontentinfo.setOfficeId(projectRecords.getOffice().getId());
-			projectcontentinfo.setSort(30);
-			projectcontentinfo.setParentIds("0,");
-			projectcontentinfo.setParent(new Projectcontentinfo("0"));
-			projectcontentinfo.setName(projectRecords.getProjectId());
-			projectcontentinfo.preInsert();
-			projectcontentinfoDao.insertOnRural(projectcontentinfo);
-		}
-
+		}*/
+		//添加项目工作内容表
+		Projectcontentinfo projectcontentinfo = new Projectcontentinfo();
+		projectcontentinfo.setProjectOnRural(projectRecords);
+		projectcontentinfo.setCompanyId(projectRecords.getCompany().getId());
+		projectcontentinfo.setOfficeId(projectRecords.getOffice().getId());
+		projectcontentinfo.setSort(30);
+		projectcontentinfo.setParentIds("0,");
+		projectcontentinfo.setParent(new Projectcontentinfo("0"));
+		projectcontentinfo.setName(projectRecords.getProjectId());
+		projectcontentinfo.preInsert();
+		projectcontentinfoDao.insertOnRural(projectcontentinfo);
 		logger.info("保存项目耗时:{}ms;启动流程耗时:{}ms",t4-t1,System.currentTimeMillis()-t4);
 	}
 
@@ -2140,4 +2139,50 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 		String msg = projectReportNumService.saveNumber(bizCode);//保存
 		return msg;
 	}
+
+	/**
+	 * 生成报告号
+	 * @param projectRecords
+	 */
+	@Transactional(readOnly = false)
+	public void createReportDataId(RuralProjectRecords projectRecords) {
+		//项目添加报告号
+		//查询该项目是否已经存在报告号,若存在则不进行添加
+		ProjectReportData reportData = projectReportDataDao.getProjectReportData(projectRecords.getId());
+		if(null == reportData){
+			//添加查询报告号模板的bizCode参数
+			ProjectReportData projectReportData = new ProjectReportData();
+			if("1".equals(projectRecords.getProjectType())){
+				projectReportData.setConditionType("10");
+			}else if("2".equals(projectRecords.getProjectType())){
+				projectReportData.setConditionType("1003");
+			}
+			synchronized (SYN_BYTE) {
+				String reportNo = createReportNo(projectReportData.getConditionType());
+				projectReportData.setNumber(reportNo);
+				ProjectRecords project = new ProjectRecords();
+				project.setId(projectRecords.getId());
+				projectReportData.setProject(project);
+				projectReportData.setCompanyId(UserUtils.getSelectCompany().getId());
+				projectReportData.setOfficeId(UserUtils.getSelectOffice().getId());
+				projectReportData.setName(projectRecords.getProjectName());
+				projectReportData.preInsert();
+				projectReportData.setCreateDate(new Date());
+				projectReportDataDao.insert(projectReportData);
+			}
+		}else if(StringUtils.isBlank(reportData.getNumber())){
+			//添加查询报告号模板的bizCode参数
+			if("1".equals(projectRecords.getProjectType())){
+				reportData.setConditionType("10");
+			}else if("2".equals(projectRecords.getProjectType())){
+				reportData.setConditionType("1003");
+			}
+			synchronized (SYN_BYTE) {
+				String reportNo = createReportNo(reportData.getConditionType());
+				reportData.setNumber(reportNo);
+				reportData.preUpdate();
+				projectReportDataDao.update(reportData);
+			}
+		}
+	}
 }

+ 17 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectRecordsController.java

@@ -912,4 +912,21 @@ public class RuralCostProjectRecordsController extends BaseController {
 		}
 		return "modules/ruralprojectrecords/projectAccessoryForm";
 	}
+
+	/**
+	 * 生成报告号
+	 */
+	@RequestMapping(value = "createReportDataId")
+	public String createReportDataId(RuralProjectRecords projectRecords, RedirectAttributes redirectAttributes) {
+		projectRecordsService.createReportDataId(projectRecords);
+		addMessage(redirectAttributes, "生成报告号成功");
+		if (StringUtils.isNotBlank(projectRecords.getHome()) && "home".equals(projectRecords.getHome())){
+			return "redirect:" + Global.getAdminPath() + "/home/?repage";
+		}else {
+			if("1".equals(projectRecords.getProjectType())){
+				return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectRecords/?repage";
+			}
+			return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectRecords/?repage";
+		}
+	}
 }

+ 1 - 0
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml

@@ -128,6 +128,7 @@
 		o.top_company AS "office.name"
 		,ifnull(prr.status ,0) as "projectReportRecordStatus"
 		,ifnull(prd.status ,0) as "projectReportStatus"
+		,if(prd.number is not null,"1","0") as reportDataFlag
 		FROM rural_project_records a
 		<include refid="projectRecordsJoins"/>
 

+ 6 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectRecordsList.jsp

@@ -528,7 +528,7 @@
                             var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
                         return xml;
                     }}
-                ,{field:'op',align:'center',title:"操作",width:180,templet:function(d){
+                ,{field:'op',align:'center',title:"操作",width:240,templet:function(d){
                         ////对操作进行初始化
                         var xml="<div class=\"layui-btn-group\">";
 						if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
@@ -560,6 +560,10 @@
 						{
 							xml+="<a href=\"#\" onclick=\"openDialogView('文件上传', '${ctx}/ruralProject/ruralCostProjectRecords/formAccessory?id=" + d.id + "','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-blue\" > 上传文件</a>";
 						}
+						if(d.reportDataFlag != undefined && d.reportDataFlag =="1")
+						{
+							xml+="<a href=\"${ctx}/ruralProject/ruralCostProjectRecords/createReportDataId?id=" + d.id + "&projectType=2"+"\" onclick=\"return confirmx('确认要生成报告号吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-orange\"> 生成报告号</a>";
+						}
                         if(d.canedit3 != undefined && d.canedit3 =="1")
                         {
                             //xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogre('项目变更管理', '${ctx}/ruralProject/ruralCostProjectRecordsAlter/form?alterBeforeRecords.id='+encodeURIComponent('" + d.id + "'),'95%','95%','','送审,暂存,关闭')\" style=\"color: white;background: darkseagreen\" class=\"op-btn op-btn-op-btn-revert\" ><i class=\"fa fa-edit\"></i> 变更</a>";
@@ -609,6 +613,7 @@
                     ,"cancancel":<c:choose><c:when test="${projectRecords.projectStatus == 2 && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
 					,"deleteAdmin":<c:choose><c:when test="${'1' == projectRecords.flagAdmin && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
 					,"modifyRecords":<c:choose><c:when test="${fns:getUser().id == projectRecords.createBy.id && '2' != projectRecords.projectReportStatus && '5' != projectRecords.projectReportStatus && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+					,"reportDataFlag":<c:choose><c:when test="${fns:getUser().id == projectRecords.createBy.id && '0' == projectRecords.reportDataFlag && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
 
 					</c:when>
                     <c:otherwise>

+ 6 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectRecordsList.jsp

@@ -497,7 +497,7 @@
                             var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
                         return xml;
                     }}
-                ,{field:'op',align:'center',title:"操作",width:180,templet:function(d){
+                ,{field:'op',align:'center',title:"操作",width:240,templet:function(d){
                         ////对操作进行初始化
                         var xml="<div class=\"layui-btn-group\">";
                         if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
@@ -529,6 +529,10 @@
                         {
 							xml+="<a href=\"#\" onclick=\"openDialogView('文件上传', '${ctx}/ruralProject/ruralProjectRecords/formAccessory?id=" + d.id + "','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-blue\" > 上传文件</a>";
                         }
+						if(d.reportDataFlag != undefined && d.reportDataFlag =="1")
+						{
+							xml+="<a href=\"${ctx}/ruralProject/ruralCostProjectRecords/createReportDataId?id=" + d.id + "&projectType=1"+"\" onclick=\"return confirmx('确认要生成报告号吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-orange\"> 生成报告号</a>";
+						}
                         if(d.canedit3 != undefined && d.canedit3 =="1")
                         {
                             //xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogre('项目变更管理', '${ctx}/ruralProject/ruralProjectRecordsAlter/form?alterBeforeRecords.id='+encodeURIComponent('" + d.id + "'),'95%','95%','','送审,暂存,关闭')\" style=\"color: white;background: darkseagreen\" class=\"op-btn op-btn-op-btn-revert\" ><i class=\"fa fa-edit\"></i> 变更</a>";
@@ -579,6 +583,7 @@
 
                     ,"deleteAdmin":<c:choose><c:when test="${'1' == projectRecords.flagAdmin && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
 					,"modifyRecords":<c:choose><c:when test="${fns:getUser().id == projectRecords.createBy.id && '2' != projectRecords.projectReportStatus && '5' != projectRecords.projectReportStatus && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+					,"reportDataFlag":<c:choose><c:when test="${fns:getUser().id == projectRecords.createBy.id && '0' == projectRecords.reportDataFlag && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
 					</c:when>
                     <c:otherwise>
                     ,"candel":"0"