Browse Source

Merge remote-tracking branch 'origin/master'

yue 5 years atrás
parent
commit
345d34e5cd

+ 20 - 7
src/main/java/com/jeeplus/modules/act/service/ActTaskService.java

@@ -25,6 +25,7 @@ import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 import com.jeeplus.modules.sg.managementcenter.project.entity.Project1;
 import com.jeeplus.modules.sg.materialmodule.activiti.entity.MaterialModule;
 import com.jeeplus.modules.sg.materialmodule.activiti.service.MaterialModuleService;
+import com.jeeplus.modules.sg.picking.activiti.entity.MaterialReport;
 import com.jeeplus.modules.sg.picking.activiti.entity.PickApplication;
 import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
 import com.jeeplus.modules.sg.picking.activiti.service.PickIngService;
@@ -2574,15 +2575,16 @@ public class ActTaskService extends BaseService {
         String taskDefKey = act.getTaskDefKey();
         // 提交流程任务
         Map<String, Object> vars = Maps.newHashMap();
-        vars.put("person", "shenc2");
-        PickApplication pickApplication = new PickApplication();
-        pickApplication.preInsert();
-        pickApplication.setProjectId(reserveName);
+        String loginName = UserUtils.getByUserName("沈忱").getLoginName();
+        vars.put("person", loginName);
+        //保存物料上报流程信息
+        MaterialReport materialReport = new MaterialReport();
+        materialReport.setProjectName(reserveName);
         //保存流程定义
-        showListService.newSave(pickApplication);
+        showListService.materialReportSave(materialReport);
         ProcessDefinition p = actProcessService.getProcessDefinition(act.getProcDefId());
         String title = UserUtils.getUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
-        String procInsId = actTaskService.startProcessNew(p.getKey(), "md_picking_application", pickApplication.getId(), title, vars);
+        String procInsId = actTaskService.startProcessNew(p.getKey(), "md_material_report_application", materialReport.getId(), title, vars);
         List<ShowList> showLists = MyActiviUtils.finaList(selectNumber);
         for (ShowList a : showLists) {
             a.preInsert();
@@ -2599,7 +2601,7 @@ public class ActTaskService extends BaseService {
      * @param act
      */
     @Transactional(readOnly = false)
-    public void materialReportBillOff(Act act) {
+    public Boolean materialReportBillOff(Act act) {
         // 设置意见
         act.setComment(("yes".equals(act.getFlag()) ? "[同意] " : "[驳回] ") + act.getComment());
         act.preUpdate();
@@ -2634,16 +2636,27 @@ public class ActTaskService extends BaseService {
             materialInfo.preInsert();
             materialInfos.add(materialInfo);
         }
+
         materialProject = new MaterialProject();
         materialProject.setReserveProjectName(reserveProjectName);
+        if (reserveProjectName!=""){
+            List<MaterialProject> list = materialProjectMapper.findJugdeReserve(materialProject);
+            if (list.size() > 0){
+                return true;
+            }
+        }
         materialProject.preInsert();
         materialProjects.add(materialProject);
         ////添加年度物料上报统计
         materialProjectMapper.insertList(materialProjects);
         //添加月度物资上报明细
         materialInfoMapper.insertList(materialInfos);
+        //原始数据
+        materialInfoMapper.insertOldList(materialInfos);
         //根据流程删除临时表
         pickIngService.deleteProcInsIdMaterialReport(act.getProcInsId());
+
+        return false;
     }
 
     /**

+ 21 - 1
src/main/java/com/jeeplus/modules/act/web/ActTaskController.java

@@ -31,6 +31,8 @@ import com.jeeplus.modules.sg.managementcenter.activiti.service.ProcessPersonnel
 import com.jeeplus.modules.sg.managementcenter.activiti.service.UploadImagesService;
 import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
 import com.jeeplus.modules.sg.managementcenter.constructionProject.entity.ConstructionProject;
+import com.jeeplus.modules.sg.managementcenter.materialproject.entity.MaterialProject;
+import com.jeeplus.modules.sg.managementcenter.materialproject.service.MaterialProjectService;
 import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
 import com.jeeplus.modules.sg.materialmodule.activiti.service.MaterialModuleService;
 import com.jeeplus.modules.sg.picking.activiti.entity.PickApplication;
@@ -128,6 +130,9 @@ public class ActTaskController extends BaseController {
     @Autowired
     private SettActiviService settActiviService;
 
+    @Autowired
+    private MaterialProjectService materialProjectService;
+
 
     /**
      * 获取待办列表
@@ -1374,6 +1379,16 @@ public class ActTaskController extends BaseController {
     public AjaxJson materialReport(Act act, String selectNumber,String reserveName) {
         AjaxJson j = new AjaxJson();
         try {
+            if (null!=reserveName&&reserveName!=""){
+                MaterialProject materialProject = new MaterialProject();
+                materialProject.setReserveProjectName(reserveName);
+                List<MaterialProject> list = materialProjectService.findJugdeReserve(materialProject);
+                if (list.size() > 0){
+                    j.setMsg("项目名称已存在");
+                    j.setSuccess(false);
+                    return j;
+                }
+            }
             String comment = URLDecoder.decode(act.getComment(), "UTF-8");
             act.setComment(comment);
             actTaskService.materialReport(act,selectNumber,reserveName);
@@ -1392,7 +1407,12 @@ public class ActTaskController extends BaseController {
         try {
             String comment = URLDecoder.decode(act.getComment(), "UTF-8");
             act.setComment(comment);
-            actTaskService.materialReportBillOff(act);
+            Boolean aBoolean = actTaskService.materialReportBillOff(act);
+            if (aBoolean){
+                j.setSuccess(false);
+                j.setMsg("项目名称已存在,请联系流程发起人");
+                return j;
+            }
         } catch (UnsupportedEncodingException e) {
             e.printStackTrace();
         }

+ 2 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/materialproject/mapper/MaterialProjectMapper.java

@@ -23,4 +23,6 @@ public interface MaterialProjectMapper extends BaseMapper<MaterialProject> {
     List<String> findAllReserveName();
 
     void updateList(List<MaterialProject> materialProjectList);
+
+    List<MaterialProject> findJugdeReserve(MaterialProject materialProject);
 }

+ 22 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/materialproject/mapper/xml/MaterialProjectMapper.xml

@@ -90,6 +90,28 @@
         </choose>
     </select>
 
+    <select id="findJugdeReserve" resultType="com.jeeplus.modules.sg.managementcenter.materialproject.entity.MaterialProject">
+        SELECT
+        <include refid="infoColumns"/>
+        FROM xm_material_project a
+        <where>
+            a.del_flag = #{DEL_FLAG_NORMAL}
+            ${dataScope}
+            <if test="reserveProjectName != null and reserveProjectName != ''">
+                AND a.reserveProjectName = #{reserveProjectName}
+            </if>
+
+        </where>
+        <choose>
+            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
+                ORDER BY ${page.orderBy}
+            </when>
+            <otherwise>
+                ORDER BY a.update_date DESC
+            </otherwise>
+        </choose>
+    </select>
+
     <select id="findByList" resultType="com.jeeplus.modules.sg.managementcenter.materialproject.entity.MaterialProject">
         SELECT
         <include refid="infoColumns"/>

+ 5 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/materialproject/service/MaterialProjectService.java

@@ -112,4 +112,9 @@ public class MaterialProjectService extends CrudService<MaterialProjectMapper, M
 		materialProjectMapper.updateList(materialProjectList);
 	}
 
+
+	//根据项目名称进行查找
+	public List<MaterialProject> findJugdeReserve(MaterialProject materialProject){
+		return materialProjectMapper.findJugdeReserve(materialProject);
+	}
 }

+ 16 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/MaterialReport.java

@@ -0,0 +1,16 @@
+package com.jeeplus.modules.sg.picking.activiti.entity;
+
+import com.jeeplus.core.persistence.ActEntity;
+
+public class MaterialReport extends ActEntity<MaterialReport> {
+    //项目名称
+    private String projectName;
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+}

+ 4 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/ShowListMapper.java

@@ -29,6 +29,10 @@ public interface ShowListMapper extends BaseMapper<ShowList> {
     void newSave(PickApplication pickApplication);
 
     /**
+     * 保存物资上报流程
+     */
+    void materialReportSave(MaterialReport materialReport);
+    /**
      * 更改项目提前领料标识
      * */
     void projectUpdate(PickApplication pickApplication);

+ 24 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/ShowListMapper.xml

@@ -141,6 +141,30 @@
 		)
 	</insert>
 
+	<insert id="materialReportSave">
+		INSERT INTO md_material_report_application(
+			id,
+			proc_ins_id,
+			project_name,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			remarks,
+			del_flag
+		) VALUES (
+			#{id},
+			#{procInsId},
+			#{projectName},
+			#{createBy.id},
+			#{createDate},
+			#{updateBy.id},
+			#{updateDate},
+			#{remarks},
+			#{delFlag}
+		)
+	</insert>
+
     <update id="projectUpdate">
 		update xm_project_details set earlyMaterial=1
 		where id=#{projectId};

+ 9 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/service/ShowListService.java

@@ -111,6 +111,15 @@ public class ShowListService extends CrudService<ShowListMapper, ShowList> {
 		showListMapper.newSave(pickApplication);
 	}
 
+	/**
+	 * 保存物资上报流程信息
+	 */
+	@Transactional(readOnly = false)
+	public void materialReportSave(MaterialReport materialReport) {
+		materialReport.preInsert();
+		showListMapper.materialReportSave(materialReport);
+	}
+
 	;
 
 	/**

+ 6 - 2
src/main/webapp/webpage/modules/sg/picking/activiti/materialReport.js

@@ -281,7 +281,9 @@
             })
             if (item == null || item == "") {
                 jp.error("请填写模块表");
-            } else {
+            } else if($("#reserveName").val() == null || $("#reserveName").val() == ""){
+                jp.error("项目名称不能为空");
+            }else{
                 jp.prompt("审核通过", function (message) {
                     jp.post("${ctx}/act/task/materialReport",
                         {
@@ -292,13 +294,15 @@
                             "procDefId": "${showList.act.procDefId}",
                             "selectNumber":item,
                             "flag": "yes",
-							"reserveName":$("#reserveName").val(),
+                            "reserveName":$("#reserveName").val(),
                             "comment": window.encodeURI(message)
                         },
                         function (data) {
                             if(data.success){
                                 jp.success(data.msg);
                                 jp.go("${ctx}/act/task/todo")
+                            }else {
+                                jp.error(data.msg);
                             }
                         })
                 });

+ 49 - 53
src/main/webapp/webpage/modules/sg/picking/activiti/materialReport.jsp

@@ -35,75 +35,71 @@
 	<div class="wrapper wrapper-content">
 	<div class="panel panel-primary">
 	<div class="panel-heading">
-		<h3 class="panel-title">模块表展示</h3>
+		<h3 class="panel-title">在线开具设计材料清单</h3>
 	</div>
 		<div class="panel-body">
-			<div>
-				<ul class="nav nav-tabs">
-					<li role="presentation" id="click1" style="border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)"><a id="dq" href="javascript:void(0)">填写需要材料</a></li>
-					<%--<li role="presentation" id="click3" ><a id="mkqd" href="javascript:void(0)">查看模块清单</a></li>--%>
-					<%--<li role="presentation" id="click2" ><a id="qd" href="javascript:void(0)">查看领料清单</a></li>--%>
-				</ul>
+			<div  class="form form-horizontal well clearfix">
+				<div class="col-xs-12 col-sm-6 col-md-4">
+					<label class="label-item single-overflow pull-left" title="项目名称:">项目名称:</label>
+					<input type="text" id="reserveName" name="reserveName" class="form-control required">
+				</div>
 			</div>
 			<div>
-				<input type="text" id="reserveName" name="reserveName" class="">
+
 			</div>
-			<!-- 表格 -->
-			<div id="div1">
-				<table class="table table-view">
-					<tbody>
-					<%--<h3>项目:${projectNumber.requireName}&nbsp;发起第${projectNumber.theNumber}次开具领料清单</h3>--%>
-					<c:forEach items="${pickListList}" var="items" varStatus="status">
-						<c:if test="${status.count eq 1 || (status.count-1) % 1 eq 0}">
+			<table class="table table-view">
+				<tbody>
+				<%--<h3>项目:${projectNumber.requireName}&nbsp;发起第${projectNumber.theNumber}次开具领料清单</h3>--%>
+				<c:forEach items="${pickListList}" var="items" varStatus="status">
+					<c:if test="${status.count eq 1 || (status.count-1) % 1 eq 0}">
 						<tr>
+					</c:if>
+					<td colspan="4" class="list-lig-one">${items.name}</td>
+					<c:if test="${status.count % 1 eq 0 || status.count eq 1}">
+						</tr>
+					</c:if>
+
+					<c:forEach items="${items.mdTheClassList}" var="items" varStatus="status">
+						<c:if test="${status.count eq 1 || (status.count-1) % 1 eq 0}">
+							<tr>
 						</c:if>
-							<td colspan="4" class="list-lig-one">${items.name}</td>
+						<td colspan="4" class="list-lig-two">${items.name}</td>
 						<c:if test="${status.count % 1 eq 0 || status.count eq 1}">
-						</tr>
+							</tr>
 						</c:if>
 
-						<c:forEach items="${items.mdTheClassList}" var="items" varStatus="status">
-							<c:if test="${status.count eq 1 || (status.count-1) % 1 eq 0}">
+						<c:forEach items="${items.mdSmallClassList}" var="itemss" varStatus="status">
+							<c:if test="${status.count eq 1 || (status.count-1) % 4 eq 0}">
 								<tr>
 							</c:if>
-							<td colspan="4" class="list-lig-two">${items.name}</td>
-							<c:if test="${status.count % 1 eq 0 || status.count eq 1}">
+							<td style="text-align: center;vertical-align: middle">
+								<div class="well-class-body" style="float: left;">
+									<a href="javascript:jp.openViewDialog('模块清单','${ctx}/managementcenter/moduleacquisition/moduleListing/list?blockId=${itemss.id}', '800px', '500px');">
+											${itemss.name}
+									</a>
+								</div>
+								<div style="float: left;margin-left: 5px;margin: auto">
+									<input style="width:40px;" placeholder="0" type="number" min="0" name="need" id="${itemss.id}"/><span>&nbsp;${itemss.mdUnit}</span>
+										<%--											<span><img onclick="jp.showPic('${itemss.mdImg}')" src="${itemss.mdImg}" height="50px"></span>--%>
+									<c:if test="${not empty itemss.mdImg}">
+										<a id="imgButton" class="btn btn-success btn-xs waves-effect m-r-5" href="javascript:jp.openViewDialog('查看附件','${ctx}/picking/activiti/pickPic?id=${itemss.id}', '800px', '500px')">显示附件</a>
+									</c:if>
+								</div>
+							</td>
+							<c:if test="${status.count % 4 eq 0 || status.count eq 4}">
 								</tr>
 							</c:if>
-
-							<c:forEach items="${items.mdSmallClassList}" var="itemss" varStatus="status">
-								<c:if test="${status.count eq 1 || (status.count-1) % 4 eq 0}">
-									<tr>
-								</c:if>
-								<td style="text-align: center;vertical-align: middle">
-										<div class="well-class-body" style="float: left;">
-											<a href="javascript:jp.openViewDialog('模块清单','${ctx}/managementcenter/moduleacquisition/moduleListing/list?blockId=${itemss.id}', '800px', '500px');">
-												${itemss.name}
-											</a>
-										</div>
-										<div style="float: left;margin-left: 5px;margin: auto">
-											<input style="width:40px;" placeholder="0" type="number" min="0" name="need" id="${itemss.id}"/><span>&nbsp;${itemss.mdUnit}</span>
-<%--											<span><img onclick="jp.showPic('${itemss.mdImg}')" src="${itemss.mdImg}" height="50px"></span>--%>
-											<c:if test="${not empty itemss.mdImg}">
-												<a id="imgButton" class="btn btn-success btn-xs waves-effect m-r-5" href="javascript:jp.openViewDialog('查看附件','${ctx}/picking/activiti/pickPic?id=${itemss.id}', '800px', '500px')">显示附件</a>
-											</c:if>
-										</div>
-								</td>
-								<c:if test="${status.count % 4 eq 0 || status.count eq 4}">
-									</tr>
-								</c:if>
-							</c:forEach>
-
 						</c:forEach>
+
 					</c:forEach>
-					</tbody>
-				</table>
-				<div class="row">
-					<div class="col-sm-3"></div>
-					<div class="col-sm-6">
-						<div class="form-group text-center">
-							<input id="agree" class="btn  btn-primary btn-lg btn-parsley" type="submit" value="确认提交" />&nbsp;
-						</div>
+				</c:forEach>
+				</tbody>
+			</table>
+			<div class="row">
+				<div class="col-sm-3"></div>
+				<div class="col-sm-6">
+					<div class="form-group text-center">
+						<input id="agree" class="btn  btn-primary btn-lg btn-parsley" type="submit" value="确认提交" />&nbsp;
 					</div>
 				</div>
 			</div>

+ 2 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/materialReportForm.js

@@ -182,6 +182,8 @@ $(document).ready(function() {
 			if(data.success){
 				jp.success(data.msg);
 				jp.go("${ctx}/act/task/todo")
+			}else {
+                jp.error(data.msg);
 			}
 		})
 		})

+ 2 - 11
src/main/webapp/webpage/modules/sg/picking/activiti/materialReportForm.jsp

@@ -24,23 +24,14 @@
 	<div class="wrapper wrapper-content">
 	<div class="panel panel-primary">
 	<div class="panel-heading">
-		<h3 class="panel-title">配网物资专职审核材料清单</h3>
+		<h3 class="panel-title">审核材料清单</h3>
 	</div>
 		<form:form id="inputForm" modelAttribute="act" class="form-horizontal">
 			<input type="hidden" id="procInsId" name="procInsId" value="${showList.act.procInsId}"/>
 			<input type="hidden" id="taskId" name="procInsId" value="${showList.act.taskId}"/>
 		</form:form>
 		<div class="panel-body">
-			<div>
-				<ul class="nav nav-tabs">
-					<li role="presentation" id="click2" style="border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)"><a id="qd" href="javascript:void(0)">审核材料清单</a></li>
-					<%--<li role="presentation" id="click3" ><a id="mkqd" href="javascript:void(0)">查看模块清单</a></li>--%>
-				</ul>
-			</div>
-			<div id="div2" style="display: block">
-				<!-- 工具栏 -->
-				<table id="informationTable"   data-toolbar="#toolbar" class="table"></table>
-			</div>
+			<table id="informationTable"   data-toolbar="#toolbar" class="table"></table>
 			<div class="row">
 				<div class="col-sm-3"></div>
 				<div class="col-sm-6">