Bladeren bron

Merge remote-tracking branch 'origin/master'

chenyuesheng 2 jaren geleden
bovenliggende
commit
0e900223cf

+ 3 - 3
src/main/java/com/jeeplus/modules/projectmaterialstorage/entity/ProjectMaterialStorage.java

@@ -18,7 +18,7 @@ public class ProjectMaterialStorage extends DataEntity<ProjectMaterialStorage> {
     private Double price ; //材料价格
 
     //材料信息数据表集合
-    private List<projectMaterialStorageImport> projectMaterialStorageList = Lists.newArrayList();
+    private List<ProjectMaterialStorageImport> projectMaterialStorageList = Lists.newArrayList();
 
 
     public Date getBeginDate() {
@@ -139,11 +139,11 @@ public class ProjectMaterialStorage extends DataEntity<ProjectMaterialStorage> {
         this.unit = unit;
     }
 
-    public List<projectMaterialStorageImport> getProjectMaterialStorageList() {
+    public List<ProjectMaterialStorageImport> getProjectMaterialStorageList() {
         return projectMaterialStorageList;
     }
 
-    public void setProjectMaterialStorageList(List<projectMaterialStorageImport> projectMaterialStorageList) {
+    public void setProjectMaterialStorageList(List<ProjectMaterialStorageImport> projectMaterialStorageList) {
         this.projectMaterialStorageList = projectMaterialStorageList;
     }
 }

+ 2 - 2
src/main/java/com/jeeplus/modules/projectmaterialstorage/entity/projectMaterialStorageImport.java

@@ -7,10 +7,10 @@ import com.jeeplus.modules.project.entity.Project;
  * @author: 徐滕
  * @version: 2022-07-04 17:16
  */
-public class projectMaterialStorageImport extends DataEntity<projectMaterialStorageImport> {
-
+public class ProjectMaterialStorageImport extends DataEntity<ProjectMaterialStorageImport> {
 
 
+    private static final long serialVersionUID = 7692590508200431879L;
     private String projectNumber;  //报告号
 
     private Double price ; //材料价格

+ 1 - 1
src/main/java/com/jeeplus/modules/projectmaterialstorage/service/ProjectMaterialStorageService.java

@@ -70,7 +70,7 @@ public class ProjectMaterialStorageService extends CrudService<ProjectMaterialSt
 
         //如果重复,重复的材料名称以String形式抛出到前端
 
-        if(projectMaterialStorageDao.selectCountAboutProjectMaterialStorage(projectMaterialStorage) != 1){
+        if(projectMaterialStorageDao.selectCountAboutProjectMaterialStorage(projectMaterialStorage) != 0){
             return false;
         }
         return true;

+ 94 - 15
src/main/java/com/jeeplus/modules/projectmaterialstorage/web/ProjectMaterialStorageController.java

@@ -8,6 +8,7 @@ import com.jeeplus.common.utils.ThisLocalityDownloadUtil;
 import com.jeeplus.common.utils.excel.ImportExcel;
 import com.jeeplus.common.web.BaseController;
 import com.jeeplus.modules.projectmaterialstorage.entity.ProjectMaterialStorage;
+import com.jeeplus.modules.projectmaterialstorage.entity.ProjectMaterialStorageImport;
 import com.jeeplus.modules.projectmaterialstorage.service.ProjectMaterialStorageService;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.projectrecord.enums.ProjectStatusEnum;
@@ -29,6 +30,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -78,24 +80,62 @@ public class ProjectMaterialStorageController extends BaseController {
 
     @RequiresPermissions(value={"project:projectMaterialStorage:add","project:projectMaterialStorage:edit"},logical = Logical.OR)
     @RequestMapping(value = "save")
-    public String save(ProjectMaterialStorage projectMaterialStorage, Model model, RedirectAttributes redirectAttributes) throws Exception {
-
-//        projectNumber update_by  update_date create_by create_date
-//       判断项目名称、材料名称、价格是否为空
-        if(projectMaterialStorage.getProjectNumber()==null && projectMaterialStorage.getMaterialName() ==null && projectMaterialStorage.getPrice() == null ){
+    public String save(ProjectMaterialStorage projectMaterialStorage, Model model, RedirectAttributes redirectAttributes,String pageId) throws Exception {
+        int i = 1;
+        List<ProjectMaterialStorageImport> projectMaterialStorageList = projectMaterialStorage.getProjectMaterialStorageList();
+//        对于list的长度进行判断,判断小于0就根据来的位置进行返回
+        if(projectMaterialStorageList.size()<=0){
             addMessage(redirectAttributes, "项目名称、材料名称、价格等获取失败,请重试");
+//            pageId 1代表这是从工程咨询进来的 2是从造价审核进来的
+            if("1".equals(pageId)){
+                return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+            }
+            if("2".equals(pageId)){
+                return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+            }
             return "redirect:"+Global.getAdminPath()+"/project/projectMaterialStorage/?repage";
         }
-//        进行项目名称、材料名称、价格重复的判断
-        projectMaterialStorage.setIsNewRecord(true);
-        if(!projectMaterialStorageService.qureyCountAboutProjectMaterialStorage(projectMaterialStorage)){
-            addMessage(redirectAttributes, "当前的项目名称、材料名称、价格重复,请重试");
-            return "redirect:"+Global.getAdminPath()+"/project/projectMaterialStorage/?repage";
+        for(ProjectMaterialStorageImport projectMaterialStorageImport:projectMaterialStorageList){
+            ProjectMaterialStorage materialStorage  = new ProjectMaterialStorage();
+            materialStorage.setMaterialName(projectMaterialStorageImport.getMaterialName());
+            materialStorage.setPrice(projectMaterialStorageImport.getPrice());
+            materialStorage.setProjectNumber(projectMaterialStorage.getProjectNumber());
+            //       判断项目名称、材料名称、价格是否为空
+            if(materialStorage.getProjectNumber()==null && materialStorage.getMaterialName() ==null && materialStorage.getPrice() == null ){
+                addMessage(redirectAttributes, "第"+i+"个项目名称、材料名称、价格等获取失败,请重试");
+                if("1".equals(pageId)){
+                    return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+                }
+                if("2".equals(pageId)){
+                    return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectMessage/?repage";
+                }
+                return "redirect:"+Global.getAdminPath()+"/project/projectMaterialStorage/?repage";
+            }
+            //        进行项目名称、材料名称、价格重复的判断
+            if(!projectMaterialStorageService.qureyCountAboutProjectMaterialStorage(materialStorage)){
+                addMessage(redirectAttributes, "当前的项目名称、材料名称、价格重复,请重试");
+                if("1".equals(pageId)){
+                    return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+                }
+                if("2".equals(pageId)){
+                    return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectMessage/?repage";
+                }
+                return "redirect:"+Global.getAdminPath()+"/project/projectMaterialStorage/?repage";
+            }
+            materialStorage.setIsNewRecord(true);
+            projectMaterialStorageService.save(materialStorage);
+            RuralProjectRecords ruralProjectRecords = ruralProjectRecordsService.get(projectMaterialStorage.getProjectNumber());
+//           修改2代表已处理
+            ruralProjectRecords.setprojectMaterialStorageStatus("2");
+            projectMaterialStorageService.modifyProjectMaterialStorageStatus(ruralProjectRecords);
+        }
+
+        if("1".equals(pageId)){
+            return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+        }
+        if("1".equals(pageId)){
+            return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectMessage/?repage";
         }
-        projectMaterialStorageService.save(projectMaterialStorage);
-        RuralProjectRecords ruralProjectRecords = ruralProjectRecordsService.get(projectMaterialStorage.getProjectNumber());
-        ruralProjectRecords.setprojectMaterialStorageStatus("2");
-        projectMaterialStorageService.modifyProjectMaterialStorageStatus(ruralProjectRecords);
         return "redirect:"+Global.getAdminPath()+"/project/projectMaterialStorage/?repage";
     }
 
@@ -158,13 +198,14 @@ public class ProjectMaterialStorageController extends BaseController {
      * @return
      */
     @RequestMapping(value = "form")
-    public String form(RuralProjectRecords projectRecords, Model model) {
+    public String form(RuralProjectRecords projectRecords, Model model,String pageId) {
         if (projectRecords != null && StringUtils.isNotBlank(projectRecords.getId())) {
             projectRecords = ruralProjectRecordsService.getQueryProjectUsers(projectRecords.getId());
 //            RuralProjectcontentinfo ruralProjectcontentinfo = projectRecordsService.formAccessory(projectRecords);
 //            projectRecordsService.disposeData(ruralProjectcontentinfo);
 //            model.addAttribute("projectcontentinfo", ruralProjectcontentinfo);
         }
+        model.addAttribute("pageId",pageId);
         model.addAttribute("projectRecords",projectRecords);
         return "modules/projectMaterialStorage/projectMaterialStorageForm";
     }
@@ -267,4 +308,42 @@ public class ProjectMaterialStorageController extends BaseController {
         return "modules/sys/gridMaterialProject";
     }
 
+
+    /**
+     * 工程咨询文件上传页面跳转
+     * @param projectRecords
+     * @param model
+     * @return
+     */
+    @RequestMapping(value = "ProjectMessageform")
+    public String ProjectMessageform(RuralProjectRecords projectRecords, Model model) {
+        if (projectRecords != null && StringUtils.isNotBlank(projectRecords.getId())) {
+            projectRecords = ruralProjectRecordsService.getQueryProjectUsers(projectRecords.getId());
+//            RuralProjectcontentinfo ruralProjectcontentinfo = projectRecordsService.formAccessory(projectRecords);
+//            projectRecordsService.disposeData(ruralProjectcontentinfo);
+//            model.addAttribute("projectcontentinfo", ruralProjectcontentinfo);
+        }
+        model.addAttribute("projectRecords",projectRecords);
+        return "modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList";
+    }
+
+
+
+    /**
+     * 造价审核文件上传页面跳转
+     * @param projectRecords
+     * @param model
+     * @return
+     */
+    @RequestMapping(value = "ruralCostProjectMessageForm")
+    public String ruralCostProjectMessageForm(RuralProjectRecords projectRecords, Model model) {
+        if (projectRecords != null && StringUtils.isNotBlank(projectRecords.getId())) {
+            projectRecords = ruralProjectRecordsService.getQueryProjectUsers(projectRecords.getId());
+//            RuralProjectcontentinfo ruralProjectcontentinfo = projectRecordsService.formAccessory(projectRecords);
+//            projectRecordsService.disposeData(ruralProjectcontentinfo);
+//            model.addAttribute("projectcontentinfo", ruralProjectcontentinfo);
+        }
+        model.addAttribute("projectRecords",projectRecords);
+        return "modules/ruralprojectrecords/cost/ruralCostProjectMessageList";
+    }
 }

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

@@ -353,7 +353,7 @@
 		ifnull(prd.number ,"") as "projectReportNumber"
 		,ifnull(prd.status,0) as "projectReportStatus"
 		,ifnull(prd.name,"") as "projectReportName"
-		,project_material_storage_status as "projectMaterialStorageStatus"
+		,a.project_material_storage_status as "projectMaterialStorageStatus"
 		<choose>
 			<when test="projectReportRecordStatus  != null and projectReportRecordStatus != ''">
 				,ifnull(prr.status,#{projectReportRecordStatus}) as "projectReportRecordStatus"

+ 3 - 1
src/main/webapp/webpage/modules/projectMaterialStorage/projectMaterialStorageForm.jsp

@@ -44,8 +44,10 @@
 		});
 		function addRow1(list, idx, tpl, row){
 			var idx1 = $("#projectMaterialStorageList tr").length;
+			console.log(idx1)
 			if(list == '#projectMaterialStorageList'){
 				bornTemplete1(list, idx, tpl, row, idx1);
+				projectMaterialStorageListRowIdx+=1;
 			}
 		}
 
@@ -150,7 +152,7 @@
 <body>
 <div class="single-form">
 	<div class="container">
-	<form:form id="inputForm" modelAttribute="projectRecords" action="${ctx}/project/projectMaterialStorage/save?projectNumber=${projectRecords.id}"  method="post" class="form-horizontal">
+	<form:form id="inputForm" modelAttribute="projectRecords" action="${ctx}/project/projectMaterialStorage/save?projectNumber=${projectRecords.id}&&pageId=${pageId}"  method="post" class="form-horizontal">
 <%--		<form:hidden path="id" name = "projectNumber"/>--%>
 		<div class="form-group layui-row first lw14">
 			<div class="form-group-label"><h2>材料处理</h2></div>

+ 8 - 8
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp

@@ -1387,6 +1387,14 @@
 							var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 						return xml;
 					}}
+				,{align:'center', title: '材料库',  width:110,templet:function(d){
+						var st = getProjectMaterialStorageStatus(d.projectMaterialStorageStatus);
+						if(st.action)
+							var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/project/projectMaterialStorage/form?reportedProcessInstanceId=" + d.reportedProcessInstanceId +"&&pageId=2"+ "','95%','95%')\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status+ "</span>";
+						else
+							var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+						return xml;
+					}}
 				,{align:'center', title: '案例项目申报',  width:150,templet:function(d){
 						var st = getCaseBaseAuditState(d.caseStatus);
 						if(st.action)
@@ -1398,14 +1406,6 @@
 						}
 						return xml;
 					}}
-				,{align:'center', title: '材料库',  width:110,templet:function(d){
-						var st = getProjectMaterialStorageStatus(d.projectMaterialStorageStatus);
-						if(st.action)
-							var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/project/projectMaterialStorage/form?reportedProcessInstanceId=" + d.reportedProcessInstanceId + "','95%','95%')\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status+ "</span>";
-						else
-							var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
-						return xml;
-					}}
 				<%--,{align:'center', title: '纸质',  width:90,templet:function(d){--%>
 				<%--		var st = getRuralProjectArchiveState(d.paperFilingStatus);--%>
 				<%--		if(st.action)--%>

+ 72 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList.jsp

@@ -105,6 +105,63 @@
 			});
 		}
 
+		function openDialogreMaterialStorage(title,url,width,height,target,buttons) {
+
+			if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
+				width = 'auto';
+				height = 'auto';
+			} else {//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			var split = buttons.split(",");
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				maxmin: true, //开启最大化最小化按钮
+				skin: 'three-btns',
+				content: url,
+				btn: split,
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(1) ){
+						// top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+				},
+				btn2:function(index,layero){
+					if(split.length==2){return}
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(2) ){
+						// top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}else {
+						return false;
+					}
+				},
+				btn3: function (index) {
+				}
+			});
+		}
+
 		function openDialogre(title,url,width,height,target,buttons) {
 
 			if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
@@ -898,6 +955,14 @@
                             var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
                         return xml;
                     }}
+				,{align:'center', title: '材料库',  width:110,templet:function(d){
+						var st = getProjectMaterialStorageStatus(d.projectMaterialStorageStatus);
+						if(st.action)
+							var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/project/projectMaterialStorage/form?reportedProcessInstanceId=" + d.reportedProcessInstanceId + "','95%','95%')\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status+ "</span>";
+						else
+							var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+						return xml;
+					}}
 				,{align:'center', title: '案例项目申报',  width:150,templet:function(d){
 						var st = getCaseBaseAuditState(d.caseStatus);
 						if(st.action)
@@ -1219,7 +1284,12 @@
 							xml+="<a href=\"#\" onclick=\"openDialogreReportSwitch('上报管理', '${ctx}/ruralProject/ruralCostProjectMessageNew/submitReportedProvincialStanding?id=" +  d.id + " ','95%', '95%','','上报,关闭')\" style='background-color: #1E9FFF' class=\"layui-btn layui-btn-xs layui-bg-green\" > 提交省站</a>";
 						}
 						</shiro:hasPermission>
-
+						//材料库处理按钮
+						if (d.projectMaterialStorageStatus==1){
+							xml+="<a href=\"#\" onclick=\"openDialogreMaterialStorage('添加项目材料信息', '${ctx}/project/projectMaterialStorage/form?id=" + d.id +"&&"+"pageId=1" +"','95%', '95%','','提交,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-blue\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 材料库处理</a>";
+						}
+						xml+="</div>"
+						return xml;
 
 						xml+="</div>";
 						return[xml].join('');
@@ -1277,6 +1347,7 @@
 					,"caseType":"${projectRecords.caseType}"
 					,"caseCreateBy":"${projectRecords.caseCreateBy}"
 					,"caseStatus":"${projectRecords.caseStatus}"
+					,"projectMaterialStorageStatus":"${projectRecords.projectMaterialStorageStatus}"
 					,"falg":
 					<c:choose>
 						<c:when test="${fns:getUser().id == projectRecords.leaderIds || fns:getUser().id eq projectRecords.createBy.id}">