Переглянути джерело

项目管理线下归档筛选,合同登记登记完成后归档提交人修改

user5 3 роки тому
батько
коміт
8957da9bbf

+ 4 - 0
src/main/java/com/jeeplus/modules/workactivity/service/WorkActivityProcessService.java

@@ -61,6 +61,10 @@ public class WorkActivityProcessService extends CrudService<WorkActivityProcessD
 		workActivityProcess.preInsert();
 		dao.insert(workActivityProcess);
 	}
+	@Transactional(readOnly = false)
+	public void insertAllparameter(WorkActivityProcess workActivityProcess) {
+		dao.insert(workActivityProcess);
+	}
 
 	@Transactional(readOnly = false)
 	public void adminInsert(WorkActivityProcess workActivityProcess) {

+ 1 - 1
src/main/java/com/jeeplus/modules/workcontractinfo/service/WorkContractInfoTookDisposeService.java

@@ -407,7 +407,7 @@ public class WorkContractInfoTookDisposeService extends CrudService<WorkContract
 				workContractRecord.setWorkContractInfo(workContractInfo);
 				Map<String, Object> variables = Maps.newHashMap();
 				String processInstanceId ="";
-				workContractRecordService.save(workContractRecord,variables,processInstanceId);
+				workContractRecordService.saveZjlStart(workContractRecord,variables,processInstanceId);
 				workContractInfo.setContractRecordState("2");
 
 			} else {

+ 147 - 0
src/main/java/com/jeeplus/modules/workcontractrecord/service/WorkContractRecordService.java

@@ -9,6 +9,7 @@ import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.jeeplus.common.config.Global;
 import com.jeeplus.common.oss.OSSClientUtil;
+import com.jeeplus.common.utils.IdGen;
 import com.jeeplus.common.utils.MenuStatusEnum;
 import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.common.websocket.onchat.ChatServerPool;
@@ -293,6 +294,152 @@ public class WorkContractRecordService extends CrudService<WorkContractRecordDao
 
 		return "";
 	}
+
+	/**
+	 * 提交存储(总经理发起)
+	 * @param
+	 * @param variables
+	 */
+	@Transactional(readOnly = false)
+	public String saveZjlStart(WorkContractRecord workContractRecord, Map<String, Object> variables, String processInstanceId) {
+			WorkContractInfo workContractInfo = workContractInfoService.get(workContractRecord.getWorkContractInfo().getId());
+			User user = UserUtils.get(workContractInfo.getCreateBy().getId());
+			String recordNum = this.findRecordNum(workContractInfo.getContractNum());
+			if(StringUtils.isBlank(recordNum)){
+				workContractRecord.setRecordNum(workContractInfo.getContractNum()+"-1");
+			}else{
+				workContractRecord.setRecordNum(recordNum);
+			}
+			super.save(workContractRecord);
+			//修改合同归档发起人信息(修改为合同创建人)
+			workContractRecord.setCreateBy(workContractInfo.getCreateBy());
+			workContractRecord.setUpdateBy(workContractInfo.getUpdateBy());
+			//修改合同归档的创建人信息
+			workContractRecordDao.updateCreateBy(workContractRecord);
+
+
+			Office office = officeService.get(workContractRecord.getOfficeId());
+			String title = "合同【"+workContractRecord.getWorkContractInfo().getName()+"】归档待审批";
+			String str = "合同【"+workContractRecord.getWorkContractInfo().getName()+"】归档,合同编号:" + workContractRecord.getWorkContractInfo().getContractNum();
+			updateWorkReimbursementInfo(workContractRecord);
+			// 用来设置启动流程的人员ID,引擎会自动把用户ID保存到activiti:initiator中
+			identityService.setAuthenticatedUserId(user.getId());
+			// 启动流程
+			String businessKey = workContractRecord.getId().toString();
+			WorkActivityMenu workActivityMenu = workActivityMenuService.findByParentAndOffice("zth3125f1f194c82bdea9htgdc750904", office);
+			// 启动流程
+			String processType = workActivityMenu.getProcessType();
+			StringBuffer buffer = new StringBuffer();
+			Activity activity = new Activity();
+			WorkProjectNotify workProjectNotify = UtilNotify
+					.saveNotify(workContractRecord.getId(),
+							null,
+							workContractRecord.getCompanyId(),
+							title,
+							str,
+							"42",
+							"0",
+							"待审批",
+							""
+					);
+			List<User> users = new ArrayList<>();
+			List<User> bmzrs = UserUtils.getByRoleActivityEnname("htgdgly",3,office.getId(),"8",workContractRecord.getCreateBy());
+
+			if (StringUtils.isNotBlank(workActivityMenu.getId())) {
+				workProjectNotify.setNotifyRole("");
+				workActivityMenu = workActivityMenuService.get(workActivityMenu.getId());
+				List<Activity> activities = workActivityMenu.getActivities();
+				for (Activity a : activities) {
+					String encount = a.getEncount();
+					String enlist = a.getEnlist();
+					if (a.getRole()!=null && StringUtils.isNotBlank(a.getRole().getEnname())){
+						List enusers = UserUtils.getByRoleActivityEnnames(a.getRole().getEnname(),office.getId(),"3",workContractRecord.getCreateBy());
+						if (enusers.size()==0){
+							return "流程审批人不能为空,角色"+a.getRole().getName()+"下无用户,请联系管理员!";
+						}
+						variables.put(enlist, enusers);
+						variables.put(encount, enusers.size());
+					}
+					if (a.getDelFlag().equals("0") && a.getCount() == 1) {
+						activity = a;
+					}
+				}
+				buffer.append(activity.getRole().getEnname());
+				if (activity != null && StringUtils.isNotBlank(activity.getId())) {
+					//角色审批
+					if (StringUtils.isNotBlank(activity.getRole().getEnname())) {
+						users = UserUtils.getByRoleActivityEnnames(activity.getRole().getEnname(),office.getId(),"3",workContractRecord.getCreateBy());
+					}
+					//人员审批
+					if (StringUtils.isNotBlank(activity.getUser().getId())) {
+						users.add(activity.getUser());
+					}
+				}
+				workProjectNotify.setId("");
+			} else {
+				if (bmzrs.size()==0){
+					return "流程审批人不能为空,角色合同归档管理员下无用户,请联系管理员!";
+				}
+				variables.put("bmzrList", bmzrs);
+				variables.put("bmzrCount",bmzrs.size());
+				processType = "contractArchive";
+				users.addAll(bmzrs);
+			}
+			for (User u : users){
+				workProjectNotify.setUser(u);
+				workProjectNotify.setId("");
+				workProjectNotify.setNotifyRole("归档管理员审批");
+				workProjectNotifyService
+						.save(workProjectNotify);
+				Map<String,Object> extras = new HashMap<>();
+				extras.put("type","7001");
+				extras.put("id",workProjectNotify.getId());
+				extras.put("procDefKey","42");
+				UserUtils.pushInfoToApp(title,str,extras,u.getId());
+				UserUtils.pushIm(u.getId(),str);
+			}
+			variables.put("type", processType);
+			variables.put("busId", businessKey);
+			variables.put("title", "审批单:" + workContractRecord.getRecordNum());//设置标题;
+
+			ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processType, businessKey, variables);
+			workContractRecord.setProcessInstance(processInstance);
+			if (StringUtils.isNotBlank(processInstanceId)) {
+				workActivityProcessService.updateProcessInstanceId(processInstance.getId(),processInstanceId);
+				workActivityProcessService.deleteProcessInstanceId(processInstanceId);
+				workActivityProcessService.deleteProcessIdAuditUsers(processInstanceId);
+			}
+			// 更新流程实例ID
+			workContractRecord.setProcessInstanceId(processInstance.getId());
+			workContractRecordDao.updateProcessInstanceId(workContractRecord);
+		//通知添加流程实例ID
+		workProjectNotify.setProcessInstanceId(processInstance.getId());
+		workProjectNotify.preInsert();
+		workProjectNotify.setCreateBy(user);
+		workProjectNotify.setUpdateBy(user);
+
+		workProjectNotifyService.insert(workProjectNotify);
+			List<Activity> list = workActivityMenu.getActivities();
+			if (list != null && list.size() != 0) {
+				workActivityProcessService.saveList(list, processInstance.getId());
+			} else {
+				WorkActivityProcess workActivityProcess = new WorkActivityProcess();
+				workActivityProcess.setProcessKey("contractArchive");
+				workActivityProcess.setCount(1);
+				workActivityProcess.setProcessInstanceId(processInstance.getId());
+				workActivityProcess.setIsApproval("0");
+				workActivityProcess.preInsert();
+				//将创建合同信息的成员添加到创建栏中
+				workActivityProcess.setCreateBy(user);
+				workActivityProcess.setUpdateBy(user);
+				workActivityProcessService.insertAllparameter(workActivityProcess);
+				workActivityProcessService.insertAuditsByType(bmzrs,processInstance.getId(),1,1);
+			}
+			logger.debug("start process of {key={}, bkey={}, pid={}, variables={}}", new Object[]{
+					ActUtils.PD_REIMBURSEMENT[0], businessKey, processInstance.getId(), variables});
+
+		return "";
+	}
 	@Transactional(readOnly = false)
 	public void updateWorkReimbursementInfo(WorkContractRecord workContractRecord) {
 		//附件信息

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

@@ -491,7 +491,7 @@
 				</when>
 				<otherwise>
 					<if test="downProjectReportRecordStatus!=null and downProjectReportRecordStatus !=''">
-						AND (pfp.status = #{downProjectReportRecordStatus} or ppf.status = #{downProjectReportRecordStatus})
+						AND  ppf.status = #{downProjectReportRecordStatus}
 					</if>
 				</otherwise>
 			</choose>
@@ -693,7 +693,7 @@
 				</when>
 				<otherwise>
 					<if test="downProjectReportRecordStatus!=null and downProjectReportRecordStatus !=''">
-						AND (pfp.status = #{downProjectReportRecordStatus} or ppf.status = #{downProjectReportRecordStatus})
+						AND ppf.status = #{downProjectReportRecordStatus}
 					</if>
 				</otherwise>
 			</choose>

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

@@ -1202,7 +1202,7 @@
 				<%--	}}--%>
 				,{align:'center', title: '线下',  width:100,templet:function(d){
 						if (d.submitMoney=="1"){
-							var st = getRuralProjectArchiveState(d.downProjectReportRecordStatus);
+							var st = getRuralProjectArchiveState(d.paperFilingStatus);
 						}else if (d.submitMoney=="2"){
 							var st = getRuralProjectArchiveState(d.paperFilingStatus);
 						}

+ 2 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralProjectRecordsCaseBaseList.jsp

@@ -117,7 +117,7 @@
 			}
 
 			layer.confirm('确认将该项目移出案例库?', {
-				title: "确认将该项目移出案例库?",
+				title: "提示",
 				btn: ['确定','关闭'] //可以无限个按钮
 			},function(index, layero){
 				$.ajax({
@@ -863,7 +863,7 @@
 		body{
 			background-color:transparent;
 			filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
-			color:#ffffff;
+			/*color:#ffffff;*/
 			background-color:rgba(255,255,255,0);
 			height:100%;
 		}

+ 3 - 3
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/all/ruralProjectMessageAllList.jsp

@@ -511,7 +511,7 @@
 			}
 
 			layer.confirm('确定要选定为案例项目吗?', {
-				title: "确定要申请案例项目吗",
+				title: "提示",
 				btn: ['确定','关闭'] //可以无限个按钮
 			},function(index, layero){
 				$.ajax({
@@ -626,7 +626,7 @@
 		body{
 			background-color:transparent;
 			filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
-			color:#ffffff;
+			/*color:#ffffff;*/
 			background-color:rgba(255,255,255,0);
 			height:100%;
 		}
@@ -957,7 +957,7 @@
 				<%--	}}--%>
 				,{align:'center', title: '线下',  width:70,templet:function(d){
 						if (d.submitMoney=="1"){
-							var st = getRuralProjectArchiveState(d.downProjectReportRecordStatus);
+							var st = getRuralProjectArchiveState(d.paperFilingStatus);
 						}else if (d.submitMoney=="2"){
 							var st = getRuralProjectArchiveState(d.paperFilingStatus);
 						}

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

@@ -837,7 +837,7 @@
 				<%--	}}--%>
                 ,{align:'center', title: '线下',  width:70,templet:function(d){
 						if (d.submitMoney=="1"){
-							var st = getRuralProjectArchiveState(d.downProjectReportRecordStatus);
+							var st = getRuralProjectArchiveState(d.paperFilingStatus);
 						}else if (d.submitMoney=="2"){
 							var st = getRuralProjectArchiveState(d.paperFilingStatus);
 						}