package platform.modules.government.service; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import platform.common.Constant; import platform.common.base.service.BaseService; import platform.common.base.service.DictionaryItemService; import platform.common.exception.BaseException; import platform.common.util.*; import platform.common.util.word.ExportWord; import platform.modules.company.dto.LandSupplyApprovalDto; import platform.modules.government.dao.IndustrialLandSupplyDetailDao; import platform.modules.government.dto.IndustrialLandSupplyDto; import platform.modules.government.dto.IndustrialLandSupplyParam; import platform.modules.government.entity.*; import platform.modules.sys.entity.*; import platform.modules.sys.service.ApprovalService; import platform.modules.sys.service.DepartmentService; import platform.modules.sys.service.GroupService; import platform.modules.sys.service.UserGroupService; import tk.mybatis.mapper.entity.Example; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; import java.text.ParseException; import java.util.*; import java.util.stream.Collectors; /** * 功能描述: 产业供地详情 * * @Author: huZhiHao * @Date: 2020/3/5 **/ @Service public class IndustrialLandSupplyDetailService extends BaseService { @Resource private IndustrialLandSupplyDetailDao industrialLandSupplyDetailDao; @Autowired private IndustrialLandSupplyConsultationService industrialLandSupplyConsultationService; @Autowired private IndustrialLandSupplyDistributionService industrialLandSupplyDistributionService; @Autowired private IndustrialLandSupplyConfigService industrialLandSupplyConfigService; @Autowired private ApprovalService approvalService; @Autowired private AttachmentService attachmentService; @Autowired private UserService userService; @Autowired private GroupService groupService; @Autowired private UserGroupService userGroupService; @Autowired private DepartmentService departmentService; @Autowired private DictionaryItemService dictionaryItemService; private static String FEEDBACK_TIME = "1"; private static String SUMMARY_TIME = "2"; private static String DISTRIBUTE_TIME = "3"; private static String JOINT_TRIAL_TIME = "4"; /** * @Author: huZhiHao * @Description: 分页查询 * @Date: 2020/3/6 * @Params: [pageNum, pagesize, title, location, status, stage] * @Return: com.github.pagehelper.PageInfo **/ @Transactional public PageInfo findPage(Integer pageNum, Integer pageSize, IndustrialLandSupplyParam param, String type) { param.setApproval_type(Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY); if (Objects.equals("1", type)) { //待处理 param.setApplyIds(getProjectIdsByGroup()); } else if (Objects.equals("2", type)) { //已处理 param.setApplyIds(getProjectIdsy()); } else if (Objects.equals("3", type)) { //查看所有 param.setApplyIds(getProjectIdsc()); } PageHelper.startPage(pageNum, pageSize); List list = industrialLandSupplyDetailDao.findPage(param); for (IndustrialLandSupplyDto entity : list) { if (null != entity.getApprove_status()) { String status_name = dictionaryItemService.findNameByTypeAndValue(Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY_APPROVE_STATUS, entity.getApprove_status()); entity.setApprove_status_desc(status_name); getPendingDepartment(entity); } if (null != entity.getProcess_stage()) { String process_stage_name = dictionaryItemService.findNameByTypeAndValue(Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY_APPROVE_STAGE, entity.getProcess_stage()); entity.setProcess_stage_desc(process_stage_name); } List attachmentList = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_GS, Integer.valueOf(entity.getId()), null); if (null != entity.getGs_feedback() || !CollectionUtils.isEmpty(attachmentList)) { entity.setGs_feedback("0"); } } return new PageInfo(list); } /** * @Author: huZhiHao * @Description: 获取待咨询部门 * @Date: 2020/3/11 * @Params: [entity] * @Return: void **/ private void getPendingDepartment(IndustrialLandSupplyDto entity) { if (Objects.equals(Constant.UserType.GOVERNMENT, ShiroUtils.getUserType())) { String id = entity.getId(); String approveStatus = entity.getApprove_status(); User user = ShiroUtils.getUserEntity(); if (Objects.equals(approveStatus, Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK)) { IndustrialLandSupplyConsultation industrialLandSupplyConsultation = new IndustrialLandSupplyConsultation(); industrialLandSupplyConsultation.setIndustrial_land_supply_id(id); //industrialLandSupplyConsultation.setDepartment_id(user.getDepartment_id() + ""); Department department = departmentService.findRootById(user.getDepartment_id()); industrialLandSupplyConsultation.setDepartment_id(department.getId() + ""); List industrialLandSupplyConsultationList = industrialLandSupplyConsultationService.findListByWhere(industrialLandSupplyConsultation); boolean sumbitToSummary = false; for (IndustrialLandSupplyConsultation landSupplyConsultation : industrialLandSupplyConsultationList) { //是否所有咨询都已回答 if (CommonUtils.isNull(landSupplyConsultation.getFeedback()) || CommonUtils.isNull(landSupplyConsultation.getUpdate_by())) { sumbitToSummary = false; break; } else { sumbitToSummary = true; } } //接受咨询的举办 负责的状态 Group group = groupService.findByName(Constant.INDUSTRIALLANDSUPPLY_2, null); List userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), user.getId())) { //Department department = departmentService.selectById(user.getDepartment_id()); department = departmentService.findRootById(user.getDepartment_id()); if (sumbitToSummary) { entity.setApprove_status_desc(department.getName() + "已反馈"); entity.setApprove_status("a"); } else { entity.setApprove_status_desc(department.getName() + "待反馈"); } break; } } } else if (Objects.equals(approveStatus, Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_FEEDBACK)) { IndustrialLandSupplyDistribution industrialLandSupplyDistribution = new IndustrialLandSupplyDistribution(); industrialLandSupplyDistribution.setIndustrial_land_supply_id(id); //industrialLandSupplyDistribution.setDepartment_id(user.getDepartment_id() + ""); Department department = departmentService.findRootById(user.getDepartment_id()); industrialLandSupplyDistribution.setDepartment_id(department.getId() + ""); List industrialLandSupplyDistributionList = industrialLandSupplyDistributionService.findListByWhere(industrialLandSupplyDistribution); boolean sumbitToSummary = false; for (IndustrialLandSupplyDistribution landSupplyDistribution : industrialLandSupplyDistributionList) { //是否所有咨询都已回答 if (CommonUtils.isNull(landSupplyDistribution.getFeedback()) || CommonUtils.isNull(landSupplyDistribution.getUpdate_by())) { sumbitToSummary = false; break; } else { sumbitToSummary = true; } } //接受分发的举办 负责的状态 Group group = groupService.findByName(Constant.INDUSTRIALLANDSUPPLY_5, null); List userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), user.getId())) { //Department department = departmentService.selectById(user.getDepartment_id()); department = departmentService.findRootById(user.getDepartment_id()); if (sumbitToSummary) { entity.setApprove_status_desc(department.getName() + "已反馈"); entity.setApprove_status("a"); } else { entity.setApprove_status_desc(department.getName() + "待反馈"); } break; } } } } } /** * @Author: huZhiHao * @Description: 查询详情 * @Date: 2020/3/11 * @Params: [id] * @Return: platform.modules.government.entity.IndustrialLandSupplyDetail **/ @Transactional public IndustrialLandSupplyDetail selectById(String id) { IndustrialLandSupplyDetail entity = industrialLandSupplyDetailDao.selectById(id); //文件 List attachments = null; //基本信息附件 attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY, entity.getId(), null); if (null != attachments && attachments.size() > 0) { List fileList = new ArrayList<>(); for (Attachment attachment : attachments) { FileDown fileDown = new FileDown(attachment.getId(), attachment.getFile_name(), attachment.getFile_url(), attachment.getDownload_uri()); fileList.add(fileDown); } entity.setFileList(fileList); } //汇总附件 attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_SUMMARY, entity.getId(), null); if (null != attachments && attachments.size() > 0) { FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); entity.setConsultation_summary_file(fileDown); } //补充附件 attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_COMMERCE_SUPPLEMENT, entity.getId(), null); if (null != attachments && attachments.size() > 0) { FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); entity.setSupplement_file(fileDown); } //商务局分管领导附件 attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_COMMERCE_LEADER, entity.getId(), null); if (null != attachments && attachments.size() > 0) { FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); entity.setCommerce_leader_pre_approve_file(fileDown); } //管委会分管领导附件 attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_MANAGEMENT_COMMITTEE_LEADER, entity.getId(), null); if (null != attachments && attachments.size() > 0) { FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); entity.setCommittee_leader_pre_approve_file(fileDown); } //分发汇总附件 attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE_SUMMARY, entity.getId(), null); if (null != attachments && attachments.size() > 0) { FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); entity.setDistribution_summary_file(fileDown); } //专题会审附件 attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_JOINT_TRIAL, entity.getId(), null); if (null != attachments && attachments.size() > 0) { FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); entity.setJoint_trial_file(fileDown); } //供地审批附件 attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_APPROVE, entity.getId(), null); if (null != attachments && attachments.size() > 0) { FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); entity.setLand_supply_file(fileDown); } //最终信息附件 attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_FINAL, entity.getId(), null); if (null != attachments && attachments.size() > 0) { FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); entity.setFinal_file(fileDown); } //行政反馈附件 attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_GS, entity.getId(), null); if (null != attachments && attachments.size() > 0) { FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); entity.setGs_feedback_file(fileDown); } //会签附件 attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_MANAGEMENT_COMMITTEE_LEADER_COUNTERSIGN, entity.getId(), null); if (null != attachments && attachments.size() > 0) { FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); entity.setCountersign_file(fileDown); } //状态详情 if (null != entity.getApprove_status()) { String status_name = dictionaryItemService.findNameByTypeAndValue(Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY_APPROVE_STATUS, entity.getApprove_status()); entity.setApprove_status_desc(status_name); } if (null != entity.getProcess_stage()) { String process_stage_name = dictionaryItemService.findNameByTypeAndValue(Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY_APPROVE_STAGE, entity.getProcess_stage()); entity.setProcess_stage_desc(process_stage_name); } User user = userService.getUser(entity.getCreate_by()); if (CommonUtils.isNotNull(user) && Constant.UserType.STREET.equals(user.getUser_type())) { if (CommonUtils.isNotNull(user.getDepartment_name()) && Objects.equals(user.getDepartment_name(), "招商中心")) { entity.setResource(user.getDepartment_name()); } else { entity.setResource(user.getStreet_name()); } } else if (CommonUtils.isNotNull(user) && Constant.UserType.GOVERNMENT.equals(user.getUser_type())) { entity.setResource(user.getDepartment_name()); } //咨询列表 IndustrialLandSupplyConsultation industrialLandSupplyConsultation = new IndustrialLandSupplyConsultation(); industrialLandSupplyConsultation.setIndustrial_land_supply_id(id); industrialLandSupplyConsultation.setDel_flag(false); List industrialLandSupplyConsultationList = industrialLandSupplyConsultationService.findListByWhere(industrialLandSupplyConsultation); for (IndustrialLandSupplyConsultation landSupplyConsultation : industrialLandSupplyConsultationList) { //文件 List feedbackAttachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_FEEDBACK, landSupplyConsultation.getId(), null); if (null != feedbackAttachments && feedbackAttachments.size() > 0) { FileDown fileDown = new FileDown(feedbackAttachments.get(0).getId(), feedbackAttachments.get(0).getFile_name(), feedbackAttachments.get(0).getFile_url(), feedbackAttachments.get(0).getDownload_uri()); landSupplyConsultation.setFileDown(fileDown); } if (CommonUtils.isNull(landSupplyConsultation.getFeedback())) { landSupplyConsultation.setCanWithdraw(true); } else { landSupplyConsultation.setCanWithdraw(false); } Department department = departmentService.selectById(Integer.valueOf(landSupplyConsultation.getDepartment_id())); if (department != null) { landSupplyConsultation.setDepartment_name(department.getName()); } int days = Integer.parseInt(industrialLandSupplyConfigService.getValueByType(FEEDBACK_TIME)); landSupplyConsultation.setRemain_time(DateUtil.getTimeDiffStr(landSupplyConsultation.getConsultation_time(), days)); } entity.setConsultationList(industrialLandSupplyConsultationList); //分发列表 // IndustrialLandSupplyDistribution industrialLandSupplyDistribution = new IndustrialLandSupplyDistribution(); // industrialLandSupplyDistribution.setIndustrial_land_supply_id(id); // industrialLandSupplyDistribution.setDel_flag(false); // List industrialLandSupplyDistributionList = industrialLandSupplyDistributionService.findListByWhere(industrialLandSupplyDistribution); Example example = new Example(IndustrialLandSupplyDistribution.class); Example.Criteria criteria = example.createCriteria(); criteria.andEqualTo("industrial_land_supply_id", id); criteria.andEqualTo("del_flag", 0); //倒序 example.orderBy("department_id").asc(); List industrialLandSupplyDistributionList = industrialLandSupplyDistributionService.selectByExample(example); for (IndustrialLandSupplyDistribution landSupplyDistribution : industrialLandSupplyDistributionList) { List attachmentList = null; //分发文件 attachmentList = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE, landSupplyDistribution.getId(), null); if (null != attachmentList && attachmentList.size() > 0) { FileDown fileDown = new FileDown(attachmentList.get(0).getId(), attachmentList.get(0).getFile_name(), attachmentList.get(0).getFile_url(), attachmentList.get(0).getDownload_uri()); landSupplyDistribution.setDistribution_file(fileDown); } //分发反馈文件 attachmentList = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE_FEEDBACK, landSupplyDistribution.getId(), null); if (null != attachmentList && attachmentList.size() > 0) { FileDown fileDown = new FileDown(attachmentList.get(0).getId(), attachmentList.get(0).getFile_name(), attachmentList.get(0).getFile_url(), attachmentList.get(0).getDownload_uri()); landSupplyDistribution.setFeedback_file(fileDown); } if (Objects.equals(landSupplyDistribution.getDepartment_id(), "0")) { landSupplyDistribution.setDepartment_name("所有部门可见"); } else { Department department = departmentService.selectById(Integer.valueOf(landSupplyDistribution.getDepartment_id())); if (department != null) { landSupplyDistribution.setDepartment_name(department.getName()); } } int days = Integer.parseInt(industrialLandSupplyConfigService.getValueByType(DISTRIBUTE_TIME)); landSupplyDistribution.setRemain_time(DateUtil.getTimeDiffStr(landSupplyDistribution.getDistribute_time(), days)); } entity.setDistributionList(industrialLandSupplyDistributionList); //汇总剩余时间 //获取最后一次进入待汇总的时间作为节点 Approval approval = new Approval(); approval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUMMARY); approval.setApply_id(Integer.parseInt(id)); List approvalList = approvalService.findListByWhere(approval); if (!CollectionUtils.isEmpty(approvalList)) { Approval approve = approvalList.get(approvalList.size() - 1); int days = Integer.parseInt(industrialLandSupplyConfigService.getValueByType(SUMMARY_TIME)); entity.setSummary_remain_time(DateUtil.getTimeDiffStr(approve.getCreate_time(), days)); } //会审剩余时间 approval = new Approval(); approval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_SUMMARY); approval.setApply_id(Integer.parseInt(id)); approvalList = approvalService.findListByWhere(approval); if (!CollectionUtils.isEmpty(approvalList)) { Approval approve = approvalList.get(approvalList.size() - 1); int days = Integer.parseInt(industrialLandSupplyConfigService.getValueByType(JOINT_TRIAL_TIME)); entity.setJoint_trial_remain_time(DateUtil.getTimeDiffStr(approve.getCreate_time(), days)); } //获取商务和商务分管领导审批意见 // Group group = null; // List approvals = null; // group = groupService.findByName(Constant.INDUSTRIALLANDSUPPLY_1, null); // List userGroups = userGroupService.findByGroupId(group.getId()); //目前都只有一个人 // if (!CollectionUtils.isEmpty(userGroups)) { // // Example example = new Example(Approval.class); // Example.Criteria criteria = example.createCriteria(); // criteria.andEqualTo("apply_id", id); // criteria.andEqualTo("type", Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY); // criteria.andEqualTo("after_approvalstatus", Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); // criteria.andEqualTo("checker", userGroups.get(0).getUser_id()); // example.orderBy("create_time").desc(); // approvals = approvalService.selectByExample(example); // if (!CollectionUtils.isEmpty(approvals)) { // Approval approval = approvals.get(0); // approval.getOper_type(); // approval.getApproval_comment(); // } // } return entity; } public IndustrialLandSupplyDetail selectByIdWithDepartment(String id) { IndustrialLandSupplyDetail entity = industrialLandSupplyDetailDao.selectById(id); //文件 List attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY, entity.getId(), null); if (null != attachments && attachments.size() > 0) { FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); entity.setFileDown(fileDown); } if (null != entity.getApprove_status()) { String status_name = dictionaryItemService.findNameByTypeAndValue(Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY_APPROVE_STATUS, entity.getApprove_status()); entity.setApprove_status_desc(status_name); } if (null != entity.getProcess_stage()) { String process_stage_name = dictionaryItemService.findNameByTypeAndValue(Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY_APPROVE_STAGE, entity.getProcess_stage()); entity.setProcess_stage_desc(process_stage_name); } User user = userService.getUser(entity.getCreate_by()); if (CommonUtils.isNotNull(user) && Constant.UserType.STREET.equals(user.getUser_type())) { entity.setResource(user.getStreet_name()); } else if (CommonUtils.isNotNull(user) && Constant.UserType.GOVERNMENT.equals(user.getUser_type())) { entity.setResource(user.getDepartment_name()); } IndustrialLandSupplyConsultation industrialLandSupplyConsultation = new IndustrialLandSupplyConsultation(); industrialLandSupplyConsultation.setIndustrial_land_supply_id(id); //industrialLandSupplyConsultation.setDepartment_id(ShiroUtils.getUserEntity().getDepartment_id() + ""); Department department = departmentService.findRootById(ShiroUtils.getUserEntity().getDepartment_id()); industrialLandSupplyConsultation.setDepartment_id(department.getId() + ""); industrialLandSupplyConsultation.setDel_flag(false); List industrialLandSupplyConsultationList = industrialLandSupplyConsultationService.findListByWhere(industrialLandSupplyConsultation); for (IndustrialLandSupplyConsultation landSupplyConsultation : industrialLandSupplyConsultationList) { //文件 List feedbackAttachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_FEEDBACK, landSupplyConsultation.getId(), null); if (null != feedbackAttachments && feedbackAttachments.size() > 0) { FileDown fileDown = new FileDown(feedbackAttachments.get(0).getId(), feedbackAttachments.get(0).getFile_name(), feedbackAttachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); landSupplyConsultation.setFileDown(fileDown); } Department depart = departmentService.selectById(Integer.valueOf(landSupplyConsultation.getDepartment_id())); landSupplyConsultation.setDepartment_name(depart.getName()); } entity.setConsultationList(industrialLandSupplyConsultationList); IndustrialLandSupplyDistribution industrialLandSupplyDistribution = new IndustrialLandSupplyDistribution(); industrialLandSupplyDistribution.setIndustrial_land_supply_id(id); //industrialLandSupplyDistribution.setDepartment_id(ShiroUtils.getUserEntity().getDepartment_id() + ""); industrialLandSupplyDistribution.setDepartment_id(department.getId() + ""); industrialLandSupplyDistribution.setDel_flag(false); List industrialLandSupplyDistributionList = industrialLandSupplyDistributionService.findListByWhere(industrialLandSupplyDistribution); for (IndustrialLandSupplyDistribution landSupplyDistribution : industrialLandSupplyDistributionList) { //文件 List attachmentList = null; //分发文件 attachmentList = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE, landSupplyDistribution.getId(), null); if (null != attachmentList && attachmentList.size() > 0) { FileDown fileDown = new FileDown(attachmentList.get(0).getId(), attachmentList.get(0).getFile_name(), attachmentList.get(0).getFile_url(), attachmentList.get(0).getDownload_uri()); landSupplyDistribution.setDistribution_file(fileDown); } //分发反馈文件 attachmentList = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE_FEEDBACK, landSupplyDistribution.getId(), null); if (null != attachmentList && attachmentList.size() > 0) { FileDown fileDown = new FileDown(attachmentList.get(0).getId(), attachmentList.get(0).getFile_name(), attachmentList.get(0).getFile_url(), attachmentList.get(0).getDownload_uri()); landSupplyDistribution.setFeedback_file(fileDown); } Department depart = departmentService.selectById(Integer.valueOf(landSupplyDistribution.getDepartment_id())); landSupplyDistribution.setDepartment_name(depart.getName()); } entity.setDistributionList(industrialLandSupplyDistributionList); return entity; } /** * @Author: huZhiHao * @Description: 根据用户组获取可查询到的项目 * @Date: 2020/3/7 * @Params: [] * @Return: java.util.List **/ @Transactional public List getProjectIdsByGroup() { List list = new ArrayList<>(); Integer user_id = ShiroUtils.getUserId(); Group group = null; List userGroups = null; List apply_status_list = new ArrayList<>(); boolean industriallandsupply_2_flag = false; boolean industriallandsupply_5_flag = false; boolean industriallandsupply_6_flag = false; //街道人员 负责的状态 if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { apply_status_list.add(Constant.LandSupplyApproveStatus.PLATE_PENDING_SUBMIT); apply_status_list.add(Constant.LandSupplyApproveStatus.PLATE_WITHDRAW); apply_status_list.add(Constant.LandSupplyApproveStatus.COMMERCE_RETURN); } else if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { //商务局受理员 负责的状态 group = groupService.findByName(Constant.INDUSTRIALLANDSUPPLY_1, null); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), user_id)) { apply_status_list.add(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); apply_status_list.add(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUBMIT); apply_status_list.add(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); apply_status_list.add(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUMMARY); apply_status_list.add(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_RETURN); apply_status_list.add(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_RETURN); break; } } //接受咨询的举办 负责的状态 group = groupService.findByName(Constant.INDUSTRIALLANDSUPPLY_2, null); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), user_id)) { apply_status_list.add(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); industriallandsupply_2_flag = true; break; } } //商务局分管领导 负责的状态 group = groupService.findByName(Constant.INDUSTRIALLANDSUPPLY_3, null); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), user_id)) { apply_status_list.add(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); break; } } //管委会分管领导 负责的状态 group = groupService.findByName(Constant.INDUSTRIALLANDSUPPLY_4, null); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), user_id)) { apply_status_list.add(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); apply_status_list.add(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PENDIND_HANDLE); break; } } //项目供地 待分发局办 group = groupService.findByName(Constant.INDUSTRIALLANDSUPPLY_5, null); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), user_id)) { apply_status_list.add(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_FEEDBACK); industriallandsupply_5_flag = true; break; } } //项目供地 行政局反馈 group = groupService.findByName(Constant.INDUSTRIALLANDSUPPLY_6, null); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), user_id)) { apply_status_list.add(Constant.LandSupplyApproveStatus.PRE_APPROVE_PENDIND_DISTRIBUTE); apply_status_list.add(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_FEEDBACK); apply_status_list.add(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PENDIND_HANDLE); apply_status_list.add(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PASS); apply_status_list.add(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_REJECT); apply_status_list.add(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_SUMMARY); apply_status_list.add(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_RETURN); industriallandsupply_6_flag = true; break; } } //项目供地 资源规划局 group = groupService.findByName(Constant.INDUSTRIALLANDSUPPLY_7, null); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), user_id)) { apply_status_list.add(Constant.LandSupplyApproveStatus.PRE_APPROVE_PENDIND_DISTRIBUTE); apply_status_list.add(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_SUMMARY); apply_status_list.add(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PASS); apply_status_list.add(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_RETURN); break; } } //todo 后续角色的待审批状态在此添加 } if (apply_status_list.size() <= 0) { apply_status_list.add(""); } list.addAll(industrialLandSupplyDetailDao.findByProjectIdAndApproveStatus(apply_status_list)); List consulApprovalList = new ArrayList<>(); List industrialLandSupplyConsultationList = new ArrayList<>(); List distApprovalList = new ArrayList<>(); List industrialLandSupplyDistributionList = new ArrayList<>(); if (industriallandsupply_2_flag) { Approval approval = new Approval(); approval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); approval.setChecker(user_id); consulApprovalList = approvalService.findListByWhere(approval); IndustrialLandSupplyConsultation industrialLandSupplyConsultation = new IndustrialLandSupplyConsultation(); //industrialLandSupplyConsultation.setDepartment_id(ShiroUtils.getUserEntity().getDepartment_id() + ""); Department department = departmentService.findRootById(ShiroUtils.getUserEntity().getDepartment_id()); industrialLandSupplyConsultation.setDepartment_id(department.getId() + ""); industrialLandSupplyConsultation.setDel_flag(false); industrialLandSupplyConsultationList = industrialLandSupplyConsultationService.findListByWhere(industrialLandSupplyConsultation); } if (industriallandsupply_5_flag) { Approval approval = new Approval(); approval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_FEEDBACK); approval.setChecker(user_id); distApprovalList = approvalService.findListByWhere(approval); IndustrialLandSupplyDistribution industrialLandSupplyDistribution = new IndustrialLandSupplyDistribution(); //industrialLandSupplyDistribution.setDepartment_id(ShiroUtils.getUserEntity().getDepartment_id() + ""); Department department = departmentService.findRootById(ShiroUtils.getUserEntity().getDepartment_id()); industrialLandSupplyDistribution.setDepartment_id(department.getId() + ""); industrialLandSupplyDistribution.setDel_flag(false); industrialLandSupplyDistributionList = industrialLandSupplyDistributionService.findListByWhere(industrialLandSupplyDistribution); } List result = new ArrayList<>(); for (IndustrialLandSupplyDetail entity : list) { if ( Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK, entity.getApprove_status()) || Objects.equals(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_FEEDBACK, entity.getApprove_status()) ) { if (industriallandsupply_2_flag || industriallandsupply_5_flag) { //是否被问 boolean consulFlag = false; for (IndustrialLandSupplyConsultation industrialLandSupplyConsultation : industrialLandSupplyConsultationList) { if (Objects.equals(entity.getId() + "", industrialLandSupplyConsultation.getIndustrial_land_supply_id())) { consulFlag = true; break; } } //是否回答 boolean consulApproveFlag = false; for (Approval approval : consulApprovalList) { if (Objects.equals(entity.getId(), approval.getApply_id())) { try { Date d1 = DateUtil.parseTimeStringToDate(entity.getUpdate_time(), "yyyy-MM-dd hh:mm:ss"); Date d2 = DateUtil.parseTimeStringToDate(approval.getCreate_time(), "yyyy-MM-dd hh:mm:ss"); if (d1.before(d2)) { consulApproveFlag = true; break; } } catch (ParseException e) { e.printStackTrace(); } } } //是否被问 boolean distFlag = false; for (IndustrialLandSupplyDistribution industrialLandSupplyDistribution : industrialLandSupplyDistributionList) { if (Objects.equals(entity.getId() + "", industrialLandSupplyDistribution.getIndustrial_land_supply_id())) { distFlag = true; break; } } //是否回答 boolean distApproveFlag = false; for (Approval approval : distApprovalList) { if (Objects.equals(entity.getId(), approval.getApply_id())) { try { Date d1 = DateUtil.parseTimeStringToDate(entity.getUpdate_time(), "yyyy-MM-dd hh:mm:ss"); Date d2 = DateUtil.parseTimeStringToDate(approval.getCreate_time(), "yyyy-MM-dd hh:mm:ss"); if (d1.before(d2)) { distApproveFlag = true; break; } } catch (ParseException e) { e.printStackTrace(); } } } if ((consulFlag && !consulApproveFlag) || (distFlag && !distApproveFlag)) { result.add(entity.getId().toString()); } } else { result.add(entity.getId().toString()); } } else if (industriallandsupply_6_flag) { List attachmentList = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_GS, entity.getId(), null); if (CommonUtils.isNull(entity.getGs_feedback()) && CollectionUtils.isEmpty(attachmentList)) { result.add(entity.getId().toString()); } } else if (Objects.equals(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PASS, entity.getApprove_status())) { if (CommonUtils.isNull(entity.getFinal_result())) { result.add(entity.getId().toString()); } } else { result.add(entity.getId().toString()); } } return result; } /** * @Author: huZhiHao * @Description: 获取id 已处理 * @Date: 2020/3/7 * @Params: [] * @Return: java.util.List **/ @Transactional public List getProjectIdsy() { int currentUserId = ShiroUtils.getUserId(); List approvalList = approvalService.selectAllApproval(Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY); Set applyIds = new HashSet(); if (!CollectionUtils.isEmpty(approvalList)) { for (Approval approval : approvalList) { String checkerIds = approval.getChecker() + ""; if (checkerIds != null && checkerIds != "") { if (Objects.equals(checkerIds, String.valueOf(currentUserId))) { applyIds.add(approval.getApply_id().toString()); } } } } List result = new ArrayList<>(applyIds); return result; } /** * @Author: huZhiHao * @Description: 获取id 查看所有 * @Date: 2020/3/7 * @Params: [] * @Return: java.util.List **/ @Transactional public List getProjectIdsc() { //根据当前登录人所在街道 查出该街道所有人员的id 将此id列表作为create_by筛选条件 List result = new ArrayList<>(); Example example = new Example(IndustrialLandSupplyDetail.class); Example.Criteria criteria = example.createCriteria(); criteria.orEqualTo("del_flag", "0");//不显示删除的 // List streetUserIds = new ArrayList<>(); // if (ShiroUtils.getUserType().equals(Constant.UserType.STREET)) { // List userList = userService.findUsersByStreetId(ShiroUtils.getStreetId()); // for (User user : userList) { // streetUserIds.add(user.getId() + ""); // } // criteria.andIn("create_by", streetUserIds); // } List list = industrialLandSupplyDetailDao.selectByExample(example); for (IndustrialLandSupplyDetail entity : list) { result.add(entity.getId().toString()); } return result; } /** * @Author: huZhiHao * @Description: 保存 * @Date: 2020/3/7 * @Params: [apply, status] * @Return: void **/ @Transactional public void save(IndustrialLandSupplyDetail apply, String status) { Integer userType = ShiroUtils.getUserType(); if (Objects.equals(status, Constant.PublishStatus.DRAFT)) { if (Constant.UserType.STREET.equals(userType)) { apply.setApprove_status(Constant.LandSupplyApproveStatus.PLATE_PENDING_SUBMIT); } else if (Constant.UserType.GOVERNMENT.equals(userType)) { apply.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUBMIT); } } else if (Objects.equals(status, Constant.PublishStatus.RELEASE)) { if (Constant.UserType.STREET.equals(userType)) { apply.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); } else if (Constant.UserType.GOVERNMENT.equals(userType)) { apply.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); } } apply.setNo(GenerateNoUtil.generateIndustrialLandSupplyNo()); //如果是发布,更新时间 String dateTime = DateUtil.getTimeString(new Date()); if (Constant.PublishStatus.RELEASE.equals(status)) { apply.setAccept_date(dateTime); } this.insertAndGetId(apply); //保存材料 // if (null != apply.getFileDown() && null != apply.getFileDown().getFile_id()) { // attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY, apply.getId(), apply.getFileDown().getFile_id()); // } if (!CollectionUtils.isEmpty(apply.getFileList())) { for (FileDown fileDown : apply.getFileList()) { if (null != fileDown && null != fileDown.getFile_id()) { attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY, apply.getId(), fileDown.getFile_id()); } } } //保存咨询列表 List industrialLandSupplyConsultationList = apply.getConsultationList(); if (!CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { Iterator it = industrialLandSupplyConsultationList.iterator(); while (it.hasNext()) { if (CommonUtils.isNull(it.next().getConsultation())) { it.remove(); } } for (IndustrialLandSupplyConsultation industrialLandSupplyConsultation : industrialLandSupplyConsultationList) { industrialLandSupplyConsultation.setIndustrial_land_supply_id(apply.getId() + ""); industrialLandSupplyConsultation.setConsultation_time(dateTime); } if (!CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { industrialLandSupplyConsultationService.saveList(industrialLandSupplyConsultationList); } } //如果是发布,进提交流程 if (Constant.PublishStatus.RELEASE.equals(status)) { //直接提交申请,添加流程信息 pass(apply.getId(), null); } } /** * @Author: huZhiHao * @Description: 修改 * @Date: 2020/3/7 * @Params: [apply, status] * @Return: void **/ @Transactional public Integer update(IndustrialLandSupplyDetail apply, String status) { Integer userType = ShiroUtils.getUserType(); if (Objects.equals(status, Constant.PublishStatus.DRAFT)) { if (Constant.UserType.STREET.equals(userType)) { apply.setApprove_status(Constant.LandSupplyApproveStatus.PLATE_PENDING_SUBMIT); } else if (Constant.UserType.GOVERNMENT.equals(userType)) { apply.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUBMIT); } } else if (Objects.equals(status, Constant.PublishStatus.RELEASE)) { if (Constant.UserType.STREET.equals(userType)) { apply.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); } else if (Constant.UserType.GOVERNMENT.equals(userType)) { apply.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); } } //如果是发布,更新时间 if (Constant.PublishStatus.RELEASE.equals(status)) { apply.setAccept_date(DateUtil.getTimeString(new Date())); } this.updateSelective(apply); Integer id = apply.getId(); //保存材料 // if (null != apply.getFileDown() && null != apply.getFileDown().getFile_id()) { // attachmentService.deleteByBusiness(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY, apply.getId()); // attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY, apply.getId(), apply.getFileDown().getFile_id()); // } if (!CollectionUtils.isEmpty(apply.getFileList())) { attachmentService.deleteByBusiness(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY, apply.getId()); for (FileDown fileDown : apply.getFileList()) { if (null != fileDown && null != fileDown.getFile_id()) { attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY, apply.getId(), fileDown.getFile_id()); } } } //保存咨询列表 String dateTime = DateUtil.getTimeString(new Date()); List industrialLandSupplyConsultationList = apply.getConsultationList(); if (!CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { //过滤空的 Iterator it = industrialLandSupplyConsultationList.iterator(); while (it.hasNext()) { if (CommonUtils.isNull(it.next().getConsultation())) { it.remove(); } } for (IndustrialLandSupplyConsultation industrialLandSupplyConsultation : industrialLandSupplyConsultationList) { industrialLandSupplyConsultation.setIndustrial_land_supply_id(apply.getId() + ""); if (industrialLandSupplyConsultation.getId() != null) { IndustrialLandSupplyConsultation industrialLandSupplyConsultation1 = industrialLandSupplyConsultationService.findById(industrialLandSupplyConsultation.getId()); //如果问的问题没变则保留id等信息 不然作为新的处理 if (Objects.equals(industrialLandSupplyConsultation1.getConsultation(), industrialLandSupplyConsultation.getConsultation())) { BeanUtils.copyProperties(industrialLandSupplyConsultation1, industrialLandSupplyConsultation); } } if (CommonUtils.isNull(industrialLandSupplyConsultation.getConsultation_time())) { industrialLandSupplyConsultation.setConsultation_time(dateTime); } } IndustrialLandSupplyConsultation query = new IndustrialLandSupplyConsultation(); query.setIndustrial_land_supply_id(apply.getId() + ""); industrialLandSupplyConsultationService.deleteByWhere(query); if (!CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { industrialLandSupplyConsultationService.saveList(industrialLandSupplyConsultationList); } } //如果是发布,进提交流程 if (Constant.PublishStatus.RELEASE.equals(status)) { //直接提交申请,添加流程信息 pass(apply.getId(), null); } return id; } /** * @Author: huZhiHao * @Description: 通过 * @Date: 2020/3/7 * @Params: [applyId, comment] * @Return: java.lang.Boolean **/ @Transactional public Boolean pass(Integer applyId, String comment) { Approval approval = approvalService.getLatestApproval(applyId, Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY); Approval newApproval = new Approval(); newApproval.setApply_id(applyId); newApproval.setType(Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY); if (ShiroUtils.getUserType().equals(Constant.UserType.GOVERNMENT)) { if (null != userService.getUser(ShiroUtils.getUserId()).getDepartment_id()) { String departmentname = departmentService.selectById(userService.getUser(ShiroUtils.getUserId()).getDepartment_id()).getName(); newApproval.setDepartment(departmentname); } } else if (ShiroUtils.getUserType().equals(Constant.UserType.STREET)) { newApproval.setDepartment(ShiroUtils.getUserEntity().getStreet_name()); } newApproval.setApproval_comment(comment); newApproval.setChecker(ShiroUtils.getUserId()); newApproval.setOper_type(Constant.OperType.APPROVED); newApproval.setDeal_time(DateUtil.getTimeString(new Date())); // ProjectIntelligent projectApplication = projectIntelligentDao.findApplyById(applyId); // User companyAdmin = userService.findCompanyAdmin(projectApplication.getCompany_id()); //短信参数 // Map params = new HashMap<>(); // params.put("project_no", projectApplication.getApply_no()); // params.put("apply_name", Constant.ProjectType.PROJECT_INTELLIGENT); // String templateCode = Constant.SMS_TemplateCode.RPOJECT_APPROVAL_REMIND; if (CommonUtils.isNull(approval)) { //待属地提交 --》待商务局受理员审核 或 待咨询反馈 IndustrialLandSupplyConsultation industrialLandSupplyConsultation = new IndustrialLandSupplyConsultation(); industrialLandSupplyConsultation.setIndustrial_land_supply_id(applyId + ""); industrialLandSupplyConsultation.setDel_flag(false); List industrialLandSupplyConsultationList = industrialLandSupplyConsultationService.findListByWhere(industrialLandSupplyConsultation); boolean sumbitToLeader = false; if (CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { //如果提交了咨询信息进入待反馈 未提交直接进入商务局分管领导审核 sumbitToLeader = true; } Group group = null; newApproval.setOper_type(Constant.OperType.SUBMIT); if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.PLATE_PENDING_SUBMIT); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_1); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } } else if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUBMIT); //如果提交了咨询信息进入待反馈 未提交直接进入商务局分管领导审核 if (!sumbitToLeader) { newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_2); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } } else { //newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); //临时跳过商务领导审核 newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); //group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_3); //临时跳过商务领导审核 group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_4); if (null == group) { //throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_3 + "没有该项目责任单位的人员,请联系管理员配置"); //临时跳过商务领导审核 throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } } } List userGroups = userGroupService.findByGroupId(group.getId()); // ProjectIntelligentDeclaration projectProvincesDeclaration = this.selectById(projectApplication.getDeclaration_id().toString()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); // platform.modules.build.entity.Company company = companyService.findById(projectApplication.getCompany_id()); // String projectName = projectProvincesDeclaration.getProject_name(); // Message messages = new Message(); // messages.setApply_id(projectId); // messages.setBusiness_type(Constant.Message_Business_type.PROJECT_INTELLIGENT_APPLY); // messages.setTitle("提醒中心审核"); // waitToDoService.completeAllTODO(projectApplication.getId(), Constant.DictionaryType.PROJECT_INTELLIGENT); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); // String message = user.getUser_name() +0 ",您好。“" + company.getCompany_name() + "企业”的“" + projectName + "项目”申请需要您审核。谢谢。"; // messages.setContent(message); // int[] streetArrInt = new int[1]; // streetArrInt[0] = userGroup.getUser_id(); // messageService.saveMessageAndPush(messages, streetArrInt, Constant.UserType.GOVERNMENT); // waitToDoService.newTODO("区级智能制造审核", "/government/projectIntelligent/approve/" + projectApplication.getId(), Constant.WaitToDo_OperType.AUDIT, projectApplication.getId(), // Constant.DictionaryType.PROJECT_INTELLIGENT, projectApplication.getApply_no(), userGroup.getUser_id().toString(), Constant.WaitToDo_IsSerial.IS_SERIAL, false); //发送短信 // AlibabaSMSUtil.sendSMSMessage( // user.getPhone(), templateCode, Constant.SINGNAMW, JSONObject.toJSONString(params)); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } else if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { if (!sumbitToLeader) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } else { //throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_3 + "没有该项目责任单位的人员,请联系管理员配置"); //临时跳过商务领导审核 throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } } } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); } else if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { //如果提交了咨询信息进入待反馈 未提交直接进入商务局分管领导审核 if (!sumbitToLeader) { entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); } else { //entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); //临时跳过商务领导审核 entity.setApprove_status(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); } } entity.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.PLATE_WITHDRAW, approval.getAfter_approvalstatus())) { //属地撤回 --》待商务局受理员审核 或 待咨询反馈 IndustrialLandSupplyConsultation industrialLandSupplyConsultation = new IndustrialLandSupplyConsultation(); industrialLandSupplyConsultation.setIndustrial_land_supply_id(applyId + ""); industrialLandSupplyConsultation.setDel_flag(false); List industrialLandSupplyConsultationList = industrialLandSupplyConsultationService.findListByWhere(industrialLandSupplyConsultation); boolean sumbitToLeader = false; if (CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { //如果提交了咨询信息进入待反馈 未提交直接进入商务局分管领导审核 sumbitToLeader = true; } Group group = null; newApproval.setOper_type(Constant.OperType.SUBMIT); if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.PLATE_WITHDRAW); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_1); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } } else if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUBMIT); //如果提交了咨询信息进入待反馈 未提交直接进入商务局分管领导审核 if (!sumbitToLeader) { newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_2); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } } else { //newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); //临时跳过商务领导审核 newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); //group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_3); //临时跳过商务领导审核 group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_4); if (null == group) { //throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_3 + "没有该项目责任单位的人员,请联系管理员配置"); //临时跳过商务领导审核 throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } } } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } else if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { if (!sumbitToLeader) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } else { //throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_3 + "没有该项目责任单位的人员,请联系管理员配置"); //临时跳过商务领导审核 throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } } } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); } else if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { //如果提交了咨询信息进入待反馈 未提交直接进入商务局分管领导审核 if (!sumbitToLeader) { entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); } else { //entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); //临时跳过商务领导审核 entity.setApprove_status(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); } } entity.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUBMIT, approval.getAfter_approvalstatus())) { //商务局受理员待提交--》待商务局受理员审核 或 待咨询反馈 IndustrialLandSupplyConsultation industrialLandSupplyConsultation = new IndustrialLandSupplyConsultation(); industrialLandSupplyConsultation.setIndustrial_land_supply_id(applyId + ""); industrialLandSupplyConsultation.setDel_flag(false); List industrialLandSupplyConsultationList = industrialLandSupplyConsultationService.findListByWhere(industrialLandSupplyConsultation); boolean sumbitToLeader = false; if (CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { //如果提交了咨询信息进入待反馈 未提交直接进入商务局分管领导审核 sumbitToLeader = true; } Group group = null; newApproval.setOper_type(Constant.OperType.SUBMIT); if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUBMIT); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_1); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } } else if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUBMIT); //如果提交了咨询信息进入待反馈 未提交直接进入商务局分管领导审核 if (!sumbitToLeader) { newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_2); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } } else { //newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); //临时跳过商务领导审核 newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); //group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_3); //临时跳过商务领导审核 group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_4); if (null == group) { //throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_3 + "没有该项目责任单位的人员,请联系管理员配置"); //临时跳过商务领导审核 throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } } } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } else if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { if (!sumbitToLeader) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } else { //throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_3 + "没有该项目责任单位的人员,请联系管理员配置"); //临时跳过商务领导审核 throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } } } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); } else if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { //如果提交了咨询信息进入待反馈 未提交直接进入商务局分管领导审核 if (!sumbitToLeader) { entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); } else { //entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); //临时跳过商务领导审核 entity.setApprove_status(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); } } entity.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE, approval.getAfter_approvalstatus())) { //待商务局受理员审核 --》 待咨询反馈 IndustrialLandSupplyConsultation industrialLandSupplyConsultation = new IndustrialLandSupplyConsultation(); industrialLandSupplyConsultation.setIndustrial_land_supply_id(applyId + ""); industrialLandSupplyConsultation.setDel_flag(false); List industrialLandSupplyConsultationList = industrialLandSupplyConsultationService.findListByWhere(industrialLandSupplyConsultation); boolean sumbitToLeader = false; if (CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { sumbitToLeader = true; } Group group = null; newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); if (sumbitToLeader) { newApproval.setOper_type(Constant.OperType.SUBMIT); //newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); //临时跳过商务领导审核 newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); //group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_3); //临时跳过商务领导审核 group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_4); if (null == group) { //throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_3 + "没有该项目责任单位的人员,请联系管理员配置"); //临时跳过商务领导审核 throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } } else { newApproval.setOper_type(Constant.OperType.DISTRIBUTE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_2); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sumbitToLeader) { if (sb.length() == 0) { //throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_3 + "没有该项目责任单位的人员,请联系管理员配置"); //临时跳过商务领导审核 throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } } else { if (sb.length() == 0) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); if (sumbitToLeader) { //entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); //临时跳过商务领导审核 entity.setApprove_status(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); } else { entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); } entity.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_RETURN, approval.getAfter_approvalstatus())) { //预审退回 --》 待咨询反馈 或 咨询汇总 IndustrialLandSupplyConsultation industrialLandSupplyConsultation = new IndustrialLandSupplyConsultation(); industrialLandSupplyConsultation.setIndustrial_land_supply_id(applyId + ""); industrialLandSupplyConsultation.setDel_flag(false); List industrialLandSupplyConsultationList = industrialLandSupplyConsultationService.findListByWhere(industrialLandSupplyConsultation); boolean sumbitToSummary = true; for (IndustrialLandSupplyConsultation landSupplyConsultation : industrialLandSupplyConsultationList) { //如果所有咨询都已回答 进入待汇总 if (CommonUtils.isNull(landSupplyConsultation.getFeedback()) || CommonUtils.isNull(landSupplyConsultation.getUpdate_by())) { sumbitToSummary = false; break; } else { sumbitToSummary = true; } } Group group = null; newApproval.setOper_type(Constant.OperType.SUBMIT); newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_RETURN); if (sumbitToSummary) { newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUMMARY); } else { newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); } if (sumbitToSummary) { group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_1); } else { group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_2); } if (null == group) { if (sumbitToSummary) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } else { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { if (sumbitToSummary) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } else { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); if (sumbitToSummary) { entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUMMARY); } else { entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); } entity.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK, approval.getAfter_approvalstatus())) { //待咨询反馈 --》 待咨询汇总 IndustrialLandSupplyConsultation industrialLandSupplyConsultation = new IndustrialLandSupplyConsultation(); industrialLandSupplyConsultation.setIndustrial_land_supply_id(applyId + ""); industrialLandSupplyConsultation.setDel_flag(false); List industrialLandSupplyConsultationList = industrialLandSupplyConsultationService.findListByWhere(industrialLandSupplyConsultation); boolean sumbitToSummary = true; for (IndustrialLandSupplyConsultation landSupplyConsultation : industrialLandSupplyConsultationList) { //如果所有咨询都已回答 进入待汇总 if (CommonUtils.isNull(landSupplyConsultation.getFeedback()) || CommonUtils.isNull(landSupplyConsultation.getUpdate_by())) { sumbitToSummary = false; break; } else { sumbitToSummary = true; } } Group group = null; newApproval.setOper_type(Constant.OperType.SUBMIT); newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); if (sumbitToSummary) { newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUMMARY); } else { newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); } if (sumbitToSummary) { group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_1); } else { group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_2); } if (null == group) { if (sumbitToSummary) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } else { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { if (sumbitToSummary) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } else { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); if (sumbitToSummary) { entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUMMARY); } else { entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); } entity.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUMMARY, approval.getAfter_approvalstatus())) { //待咨询汇总 --》 待商务局分管领导审批 Group group = null; newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUMMARY); //newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); //临时跳过商务领导审核 newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); //group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_3); //临时跳过商务领导审核 group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_4); if (null == group) { //throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_3 + "没有该项目责任单位的人员,请联系管理员配置"); //临时跳过商务领导审核 throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { //throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_3 + "没有该项目责任单位的人员,请联系管理员配置"); //临时跳过商务领导审核 throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); //entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); //临时跳过商务领导审核 entity.setApprove_status(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); entity.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE, approval.getAfter_approvalstatus())) { //待商务局分管领导审批 --》 待管委会分管领导审批 Group group = null; newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_4); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); entity.setApprove_status(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); entity.setProcess_stage(Constant.LandSupplyApproveStage.SUPPLY); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_RETURN, approval.getAfter_approvalstatus())) { //商务局受理员退回--》待商务局受理员审核 Group group = null; newApproval.setOper_type(Constant.OperType.SUBMIT); newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_RETURN); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_1); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); entity.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_RETURN, approval.getAfter_approvalstatus())) { //商务局分管领导退回 --》待商务局商务局分管领导审核 Group group = null; newApproval.setOper_type(Constant.OperType.SUBMIT); newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_RETURN); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_2); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_2 + "没有该项目责任单位的人员,请联系管理员配置"); } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); entity.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE, approval.getAfter_approvalstatus())) { // 分管领导审核通过 --》 预审通过待分发 Group group = null; newApproval.setOper_type(Constant.OperType.APPROVED); newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.PRE_APPROVE_PENDIND_DISTRIBUTE); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_7); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_7 + "没有该项目责任单位的人员,请联系管理员配置"); } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_7 + "没有该项目责任单位的人员,请联系管理员配置"); } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); entity.setApprove_status(Constant.LandSupplyApproveStatus.PRE_APPROVE_PENDIND_DISTRIBUTE); entity.setProcess_stage(Constant.LandSupplyApproveStage.SUPPLY); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if ( Objects.equals(Constant.LandSupplyApproveStatus.PRE_APPROVE_PENDIND_DISTRIBUTE, approval.getAfter_approvalstatus()) || Objects.equals(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_RETURN, approval.getAfter_approvalstatus()) ) { // 预审通过待分发 --》 分发待反馈 Group group = null; newApproval.setOper_type(Constant.OperType.DISTRIBUTE); newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.PRE_APPROVE_PENDIND_DISTRIBUTE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_FEEDBACK); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_5); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_5 + "没有该项目责任单位的人员,请联系管理员配置"); } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_5 + "没有该项目责任单位的人员,请联系管理员配置"); } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); entity.setApprove_status(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_FEEDBACK); entity.setProcess_stage(Constant.LandSupplyApproveStage.SUPPLY); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_FEEDBACK, approval.getAfter_approvalstatus())) { //分发待反馈 --》 待分发汇总 IndustrialLandSupplyDistribution industrialLandSupplyDistribution = new IndustrialLandSupplyDistribution(); industrialLandSupplyDistribution.setIndustrial_land_supply_id(applyId + ""); industrialLandSupplyDistribution.setDel_flag(false); List industrialLandSupplyDistributionList = industrialLandSupplyDistributionService.findListByWhere(industrialLandSupplyDistribution); boolean sumbitToSummary = true; for (IndustrialLandSupplyDistribution landSupplyDistribution : industrialLandSupplyDistributionList) { //如果所有咨询都已回答 进入待汇总 if (!Objects.equals(landSupplyDistribution.getDepartment_id(), "0")) { if (CommonUtils.isNull(landSupplyDistribution.getUpdate_by())) { sumbitToSummary = false; break; } else { sumbitToSummary = true; } } } Group group = null; newApproval.setOper_type(Constant.OperType.SUBMIT); newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_FEEDBACK); if (sumbitToSummary) { newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_SUMMARY); } else { newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_FEEDBACK); } if (sumbitToSummary) { group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_7); } else { group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_5); } if (null == group) { if (sumbitToSummary) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_7 + "没有该项目责任单位的人员,请联系管理员配置"); } else { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_5 + "没有该项目责任单位的人员,请联系管理员配置"); } } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { if (sumbitToSummary) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_7 + "没有该项目责任单位的人员,请联系管理员配置"); } else { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_5 + "没有该项目责任单位的人员,请联系管理员配置"); } } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); if (sumbitToSummary) { entity.setApprove_status(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_SUMMARY); } else { entity.setApprove_status(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_FEEDBACK); } entity.setProcess_stage(Constant.LandSupplyApproveStage.SUPPLY); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_SUMMARY, approval.getAfter_approvalstatus())) { //待分发汇总 --》 待供地审批 Group group = null; newApproval.setOper_type(Constant.OperType.SUBMIT); newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_PENDIND_SUMMARY); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PENDIND_HANDLE); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_4); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_4 + "没有该项目责任单位的人员,请联系管理员配置"); } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); entity.setApprove_status(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PENDIND_HANDLE); entity.setProcess_stage(Constant.LandSupplyApproveStage.SUPPLY); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PENDIND_HANDLE, approval.getAfter_approvalstatus())) { //待供地审批 --》 待供地审批通过 Group group = null; newApproval.setOper_type(Constant.OperType.SUBMIT); newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PENDIND_HANDLE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PASS); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_7); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_7 + "没有该项目责任单位的人员,请联系管理员配置"); } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_7 + "没有该项目责任单位的人员,请联系管理员配置"); } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); entity.setApprove_status(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PASS); entity.setProcess_stage(Constant.LandSupplyApproveStage.SUPPLY); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PASS, approval.getAfter_approvalstatus())) { //待供地审批通过 --》 最终信息 待供地审批通过 Group group = null; newApproval.setOper_type(Constant.OperType.FINAL); newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PASS); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PASS); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_7); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_7 + "没有该项目责任单位的人员,请联系管理员配置"); } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_7 + "没有该项目责任单位的人员,请联系管理员配置"); } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); entity.setApprove_status(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PASS); entity.setProcess_stage(Constant.LandSupplyApproveStage.SUPPLY); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } return false; } /** * @Author: huZhiHao * @Description: 退回 * @Date: 2020/3/9 * @Params: [applyId, comment] * @Return: boolean **/ @Transactional public boolean untread(Integer applyId, String comment) { Approval approval = approvalService.getLatestApproval(applyId, Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY); Approval newApproval = new Approval(); newApproval.setApply_id(applyId); newApproval.setType(Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY); if (ShiroUtils.getUserType().equals(Constant.UserType.GOVERNMENT)) { if (null != userService.getUser(ShiroUtils.getUserId()).getDepartment_id()) { String departmentname = departmentService.selectById(userService.getUser(ShiroUtils.getUserId()).getDepartment_id()).getName(); newApproval.setDepartment(departmentname); } } else if (ShiroUtils.getUserType().equals(Constant.UserType.STREET)) { newApproval.setDepartment(ShiroUtils.getUserEntity().getStreet_name()); } newApproval.setApproval_comment(comment); newApproval.setChecker(ShiroUtils.getUserId()); newApproval.setOper_type(Constant.OperType.REJECT); newApproval.setDeal_time(DateUtil.getTimeString(new Date())); IndustrialLandSupplyDetail entity = industrialLandSupplyDetailDao.selectById(applyId + ""); // User companyAdmin = userService.findCompanyAdmin(projectApplication.getCompany_id()); // Message messages = new Message(); // messages.setApply_id(projectApplication.getId()); // messages.setBusiness_type(Constant.Message_Business_type.PROJECT_INTELLIGENT_APPLY); // messages.setTitle("提醒企业"); // String message = "您有单号为" + projectApplication.getApply_no() + "的" + // Constant.ProjectType.PROJECT_INTELLIGENT + ",经审核被退回,要求修改,详情请登录平台查看。退回原因:" + comment; // messages.setContent(message); // int[] streetArrInt = new int[1]; // streetArrInt[0] = projectApplication.getCompany_id(); // Map params = new HashMap<>(); // params.put("project_no", projectApplication.getApply_no()); // params.put("apply_name", Constant.ProjectType.PROJECT_INTELLIGENT); // String templateCode = Constant.SMS_TemplateCode.RPOJECT_MATTERS_REJECT; if (Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE, approval.getAfter_approvalstatus())) { //商务局业务办理员退回 --》 街道板块 newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_RETURN); newApproval.setNextchecker(entity.getCreate_by().toString()); IndustrialLandSupplyDetail p = new IndustrialLandSupplyDetail(); p.setId(applyId); p.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_RETURN); p.setProcess_stage(null); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(p); approvalService.insertAndGetId(newApproval); // messageService.saveMessageAndPush(messages, streetArrInt, Constant.UserType.COMPANY); // waitToDoService.completeAllTODO(projectApplication.getId(), Constant.DictionaryType.PROJECT_INTELLIGENT); // waitToDoService.newTODO("智能制造编辑", "/projectIntelligent/edit/" + projectApplication.getId(), Constant.WaitToDo_OperType.EDIT, projectApplication.getId(), // Constant.DictionaryType.PROJECT_INTELLIGENT, projectApplication.getApply_no(), companyAdmin.getId().toString(), Constant.WaitToDo_IsSerial.IS_SERIAL, false); //发送短信 // AlibabaSMSUtil.sendSMS( // companyAdmin.getPhone(), templateCode, Constant.SINGNAMW, JSONObject.toJSONString(params)); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE, approval.getAfter_approvalstatus())) { //商务局领导退回 --》 商务局业务员 newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_RETURN); newApproval.setNextchecker(entity.getCreate_by().toString()); IndustrialLandSupplyDetail p = new IndustrialLandSupplyDetail(); p.setId(applyId); p.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_RETURN); p.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(p); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE, approval.getAfter_approvalstatus())) { //管委会领导退回 --》 商务局业务员 newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_RETURN); newApproval.setNextchecker(entity.getCreate_by().toString()); IndustrialLandSupplyDetail p = new IndustrialLandSupplyDetail(); p.setId(applyId); p.setApprove_status(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_RETURN); p.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(p); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PENDIND_HANDLE, approval.getAfter_approvalstatus())) { //供地领导退回 --》 资源规划局务员 newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PENDIND_HANDLE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_RETURN); newApproval.setNextchecker(entity.getCreate_by().toString()); IndustrialLandSupplyDetail p = new IndustrialLandSupplyDetail(); p.setId(applyId); p.setApprove_status(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_RETURN); p.setProcess_stage(Constant.LandSupplyApproveStage.SUPPLY); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(p); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_RETURN, approval.getAfter_approvalstatus())) { //供地审批退回 --》 预审通过待分发 Group group = null; newApproval.setOper_type(Constant.OperType.SUBMIT); newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_RETURN); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.PRE_APPROVE_PENDIND_DISTRIBUTE); group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_5); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_5 + "没有该项目责任单位的人员,请联系管理员配置"); } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_5 + "没有该项目责任单位的人员,请联系管理员配置"); } IndustrialLandSupplyDetail p = new IndustrialLandSupplyDetail(); p.setId(applyId); p.setApprove_status(Constant.LandSupplyApproveStatus.PRE_APPROVE_PENDIND_DISTRIBUTE); p.setProcess_stage(Constant.LandSupplyApproveStage.SUPPLY); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(p); approvalService.insertAndGetId(newApproval); return true; } return false; } /** * @Author: huZhiHao * @Description: 拒绝 * @Date: 2020/3/9 * @Params: [applyId, comment] * @Return: boolean **/ @Transactional public boolean refuse(Integer applyId, String comment) { Approval approval = approvalService.getLatestApproval(applyId, Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY); Approval newApproval = new Approval(); newApproval.setApply_id(applyId); newApproval.setType(Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY); if (ShiroUtils.getUserType().equals(Constant.UserType.GOVERNMENT)) { if (null != userService.getUser(ShiroUtils.getUserId()).getDepartment_id()) { String departmentname = departmentService.selectById(userService.getUser(ShiroUtils.getUserId()).getDepartment_id()).getName(); newApproval.setDepartment(departmentname); } } else if (ShiroUtils.getUserType().equals(Constant.UserType.STREET)) { newApproval.setDepartment(ShiroUtils.getUserEntity().getStreet_name()); } newApproval.setApproval_comment(comment); newApproval.setChecker(ShiroUtils.getUserId()); newApproval.setOper_type(Constant.OperType.NOTAPPROVED); newApproval.setDeal_time(DateUtil.getTimeString(new Date())); IndustrialLandSupplyDetail entity = industrialLandSupplyDetailDao.selectById(applyId + ""); // User companyAdmin = userService.findCompanyAdmin(projectApplication.getCompany_id()); if (Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE, approval.getAfter_approvalstatus())) { //商务局分管领导拒绝 newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_REJECT); newApproval.setNextchecker(entity.getCreate_by().toString()); IndustrialLandSupplyDetail p = new IndustrialLandSupplyDetail(); p.setId(applyId); p.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_REJECT); p.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(p); approvalService.insertAndGetId(newApproval); // ProjectIntelligentDeclaration projectDeclaration = this.findById(projectApplication.getDeclaration_id()); // String projectName = projectDeclaration.getProject_name(); // Company company = companyService.findById(projectApplication.getCompany_id()); // Message messages = new Message(); // messages.setApply_id(projectApplication.getId()); // messages.setBusiness_type(Constant.Message_Business_type.PROJECT_INTELLIGENT_APPLY); // messages.setTitle("提醒企业"); // String message = company.getCompany_name() + ",您好。您提交的" + projectName + "审核不通过,请知悉。不通过原因:" + comment; // messages.setContent(message); // int[] streetArrInt = new int[1]; // streetArrInt[0] = projectApplication.getCompany_id(); // messageService.saveMessageAndPush(messages, streetArrInt, Constant.UserType.COMPANY); //发送短信 // Map params = new HashMap<>(); // params.put("project_no", projectApplication.getApply_no()); // params.put("apply_name", Constant.ProjectType.PROJECT_INTELLIGENT); // String templateCode = Constant.SMS_TemplateCode.RPOJECT_MATTERS_UNPASS; // AlibabaSMSUtil.sendSMS( // companyAdmin.getPhone(), templateCode, Constant.SINGNAMW, JSONObject.toJSONString(params)); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_PENDING_HANDLE, approval.getAfter_approvalstatus())) { //管委会分管领导拒绝 newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_PENDING_HANDLE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_LEADER_REJECT); newApproval.setNextchecker(entity.getCreate_by().toString()); IndustrialLandSupplyDetail p = new IndustrialLandSupplyDetail(); p.setId(applyId); p.setApprove_status(Constant.LandSupplyApproveStatus.MANAGEMENT_COMMITTEE_LEADER_REJECT); p.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(p); approvalService.insertAndGetId(newApproval); return true; } else if (Objects.equals(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PENDIND_HANDLE, approval.getAfter_approvalstatus())) { //供地分管领导拒绝 newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_PENDIND_HANDLE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_REJECT); newApproval.setNextchecker(entity.getCreate_by().toString()); IndustrialLandSupplyDetail p = new IndustrialLandSupplyDetail(); p.setId(applyId); p.setApprove_status(Constant.LandSupplyApproveStatus.LAND_SUPPLY_LEADER_REJECT); p.setProcess_stage(Constant.LandSupplyApproveStage.SUPPLY); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(p); approvalService.insertAndGetId(newApproval); return true; } return false; } /** * @Author: huZhiHao * @Description: 是否可以新增 * @Date: 2020/3/9 * @Params: [] * @Return: java.lang.Boolean **/ @Transactional public Boolean canAdd() { if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { return true; } else if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { Group group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_1); List userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), ShiroUtils.getUserId())) { return true; } } } return false; } /** * @Author: huZhiHao * @Description: 是否可以咨询 * @Date: 2020/3/9 * @Params: [] * @Return: java.lang.Boolean **/ @Transactional public Boolean canAsk() { if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { Group group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_1); List userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), ShiroUtils.getUserId())) { return true; } } } return false; } public String detailType() { if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { return "0"; } return "1"; } /** * @Author: huZhiHao * @Description: 用户所在组 * @Date: 2020/3/9 * @Params: [] * @Return: java.lang.String **/ @Transactional public String userGroupType() { String str = ""; if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) { str += "0,"; } if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) { Group group = null; List userGroups = null; group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_1); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), ShiroUtils.getUserId())) { str += "1,"; } } group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_2); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), ShiroUtils.getUserId())) { str += "2,"; } } group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_3); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), ShiroUtils.getUserId())) { str += "3,"; } } group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_4); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), ShiroUtils.getUserId())) { str += "4,"; } } group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_5); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), ShiroUtils.getUserId())) { str += "5,"; } } group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_6); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), ShiroUtils.getUserId())) { str += "6,"; } } group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_7); userGroups = userGroupService.findByGroupId(group.getId()); for (UserGroup userGroup : userGroups) { if (Objects.equals(userGroup.getUser_id(), ShiroUtils.getUserId())) { str += "7,"; } } // group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_8); // userGroups = userGroupService.findByGroupId(group.getId()); // for (UserGroup userGroup : userGroups) { // if (Objects.equals(userGroup.getUser_id(), ShiroUtils.getUserId())) { // str += "8,"; // } // } } return str; } /** * @Author: huZhiHao * @Description: 部门 * @Date: 2020/3/9 * @Params: [] * @Return: java.util.List **/ @Transactional public List consulDepartmentList() { List list = new ArrayList<>(); Group group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_2); List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { //list.add(departmentService.selectById(user.getDepartment_id())); //获取根目录部门 list.add(departmentService.findRootById(user.getDepartment_id())); } } } List myList = list.stream().distinct().collect(Collectors.toList()); return myList; } /** * @Author: huZhiHao * @Description: 分发部门 * @Date: 2020/3/9 * @Params: [] * @Return: java.util.List **/ @Transactional public List distDepartmentList() { List list = new ArrayList<>(); Group group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_5); List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { //list.add(departmentService.selectById(user.getDepartment_id())); //获取根目录部门 list.add(departmentService.findRootById(user.getDepartment_id())); } } } List myList = list.stream().distinct().collect(Collectors.toList()); return myList; } /** * @Author: huZhiHao * @Description: 保存反馈 * @Date: 2020/3/10 * @Params: [industrialLandSupplyConsultationList] * @Return: void **/ @Transactional public void saveFeedback(List industrialLandSupplyConsultationList) { String dateTime = DateUtil.getTimeString(new Date()); for (IndustrialLandSupplyConsultation industrialLandSupplyConsultation : industrialLandSupplyConsultationList) { industrialLandSupplyConsultation.setFeedback_time(dateTime); industrialLandSupplyConsultationService.updateSelective(industrialLandSupplyConsultation); //保存材料 if (null != industrialLandSupplyConsultation.getFileDown() && null != industrialLandSupplyConsultation.getFileDown().getFile_id()) { attachmentService.deleteByBusiness(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_FEEDBACK, industrialLandSupplyConsultation.getId()); attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_FEEDBACK, industrialLandSupplyConsultation.getId(), industrialLandSupplyConsultation.getFileDown().getFile_id()); } } IndustrialLandSupplyConsultation industrialLandSupplyConsultation = industrialLandSupplyConsultationService.findById(industrialLandSupplyConsultationList.get(0).getId()); this.pass(Integer.valueOf(industrialLandSupplyConsultation.getIndustrial_land_supply_id()), null); } /** * @Author: huZhiHao * @Description: 保存反馈 * @Date: 2020/3/10 * @Params: [industrialLandSupplyConsultationList] * @Return: void **/ @Transactional public void saveFeedbackAppend(String applyId, List industrialLandSupplyConsultationList) { //保存咨询列表 String dateTime = DateUtil.getTimeString(new Date()); if (!CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { Iterator it = industrialLandSupplyConsultationList.iterator(); while (it.hasNext()) { IndustrialLandSupplyConsultation industrialLandSupplyConsultation = it.next(); if (CommonUtils.isNull(industrialLandSupplyConsultation.getConsultation()) || CommonUtils.isNotNull(industrialLandSupplyConsultation.getId())) { it.remove(); } } for (IndustrialLandSupplyConsultation industrialLandSupplyConsultation : industrialLandSupplyConsultationList) { industrialLandSupplyConsultation.setIndustrial_land_supply_id(applyId); if (CommonUtils.isNull(industrialLandSupplyConsultation.getConsultation_time())) { industrialLandSupplyConsultation.setConsultation_time(dateTime); } } if (!CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { industrialLandSupplyConsultationService.saveList(industrialLandSupplyConsultationList); } } } /** * @Author: huZhiHao * @Description: 保存汇总 * @Date: 2020/3/10 * @Params: [industrialLandSupplyDetail] * @Return: void **/ @Transactional public void saveSummary(IndustrialLandSupplyDetail industrialLandSupplyDetail) { IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(industrialLandSupplyDetail.getId()); entity.setConsultation_summary(industrialLandSupplyDetail.getConsultation_summary()); entity.setConsultation_summary_text(industrialLandSupplyDetail.getConsultation_summary_text()); this.updateSelective(entity); //保存材料 if (null != industrialLandSupplyDetail.getFileDown() && null != industrialLandSupplyDetail.getFileDown().getFile_id()) { attachmentService.deleteByBusiness(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_SUMMARY, industrialLandSupplyDetail.getId()); attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_SUMMARY, industrialLandSupplyDetail.getId(), industrialLandSupplyDetail.getFileDown().getFile_id()); } this.pass(industrialLandSupplyDetail.getId(), null); } /** * @Author: huZhiHao * @Description: 撤回咨询 * @Date: 2020/3/7 * @Params: [applyId, comment] * @Return: java.lang.Boolean **/ @Transactional public Boolean withDrawConsul(String id) { IndustrialLandSupplyConsultation industrialLandSupplyConsultation = industrialLandSupplyConsultationService.findById(Integer.valueOf(id)); industrialLandSupplyConsultation.setDel_flag(true); industrialLandSupplyConsultationService.updateSelective(industrialLandSupplyConsultation); return this.withdraw(Integer.valueOf(industrialLandSupplyConsultation.getIndustrial_land_supply_id()), null); } /** * @Author: huZhiHao * @Description: 撤回申请 * @Date: 2020/3/7 * @Params: [applyId, comment] * @Return: java.lang.Boolean **/ @Transactional public void withdrawApply(String id) { // IndustrialLandSupplyDetail industrialLandSupplyDetail = this.selectById(id); // industrialLandSupplyDetail.setApprove_status(Constant.LandSupplyApproveStatus.PLATE_WITHDRAW); // industrialLandSupplyDetail.setProcess_stage(""); // industrialLandSupplyDetail.setAccept_date(""); // this.updateSelective(industrialLandSupplyDetail); // Approval approval = new Approval(); // approval.setApply_id(Integer.valueOf(id)); // approvalService.deleteByWhere(approval); withdraw(Integer.valueOf(id), null); } /** * @Author: huZhiHao * @Description: 撤回 * @Date: 2020/3/7 * @Params: [applyId, comment] * @Return: java.lang.Boolean **/ @Transactional public Boolean withdraw(Integer applyId, String comment) { Approval approval = approvalService.getLatestApproval(applyId, Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY); Approval newApproval = new Approval(); newApproval.setApply_id(applyId); newApproval.setType(Constant.DictionaryType.INDUSTRIAL_LAND_SUPPLY); String departmentname = departmentService.selectById(userService.getUser(ShiroUtils.getUserId()).getDepartment_id()).getName(); newApproval.setDepartment(departmentname); newApproval.setApproval_comment(comment); newApproval.setChecker(ShiroUtils.getUserId()); newApproval.setOper_type(Constant.OperType.WITHDRAW); newApproval.setDeal_time(DateUtil.getTimeString(new Date())); if (Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK, approval.getAfter_approvalstatus())) { //待咨询反馈 --》 待咨询汇总 IndustrialLandSupplyConsultation industrialLandSupplyConsultation = new IndustrialLandSupplyConsultation(); industrialLandSupplyConsultation.setIndustrial_land_supply_id(applyId + ""); industrialLandSupplyConsultation.setDel_flag(false); List industrialLandSupplyConsultationList = industrialLandSupplyConsultationService.findListByWhere(industrialLandSupplyConsultation); boolean sumbitToSummary = true; boolean backToSubmit = false; //如果剩下的没有反馈了 退回到待提交 if (!CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { for (IndustrialLandSupplyConsultation landSupplyConsultation : industrialLandSupplyConsultationList) { //如果剩下的都是已反馈的咨询 则进入汇总 if (CommonUtils.isNull(landSupplyConsultation.getFeedback()) || CommonUtils.isNull(landSupplyConsultation.getUpdate_by())) { sumbitToSummary = false; break; } else { sumbitToSummary = true; } } } else { backToSubmit = true; } if (sumbitToSummary || backToSubmit) { Group group = null; newApproval.setOper_type(Constant.OperType.SUBMIT); newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_FEEDBACK); if (backToSubmit) { IndustrialLandSupplyDetail industrialLandSupplyDetail = this.findById(applyId); if (industrialLandSupplyDetail != null && industrialLandSupplyDetail.getCreate_by() != null) { User user = userService.getUser(industrialLandSupplyDetail.getCreate_by()); if (Objects.equals(Constant.UserType.STREET, user.getUser_type())) { newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); } else { newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUBMIT); } } } else if (sumbitToSummary) { newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUMMARY); } group = groupService.findByNameOnly(Constant.INDUSTRIALLANDSUPPLY_1); if (null == group) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } List userGroups = userGroupService.findByGroupId(group.getId()); List users = userService.findListByWhere(new User()); StringBuffer sb = new StringBuffer(""); for (UserGroup userGroup : userGroups) { for (User user : users) { if (Objects.equals(user.getId(), userGroup.getUser_id())) { sb.append(userGroup.getUser_id() + ","); } } } newApproval.setNextchecker(sb.toString()); if (sb.length() == 0) { throw new BaseException("操作失败," + Constant.INDUSTRIALLANDSUPPLY_1 + "没有该项目责任单位的人员,请联系管理员配置"); } IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); if (backToSubmit) { entity.setApprove_status(newApproval.getAfter_approvalstatus()); } else if (sumbitToSummary) { entity.setApprove_status(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_SUMMARY); } entity.setProcess_stage(Constant.LandSupplyApproveStage.PRE_AUDIT); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } } else if (Objects.equals(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE, approval.getAfter_approvalstatus())) { //待商务业务员处理 --》 已撤回 newApproval.setBefore_approvalstatus(Constant.LandSupplyApproveStatus.COMMERCE_PENDING_HANDLE); newApproval.setAfter_approvalstatus(Constant.LandSupplyApproveStatus.PLATE_WITHDRAW); newApproval.setNextchecker(ShiroUtils.getUserId() + ""); IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(applyId); entity.setApprove_status(Constant.LandSupplyApproveStatus.PLATE_WITHDRAW); entity.setProcess_stage(""); industrialLandSupplyDetailDao.updateByPrimaryKeySelective(entity); approvalService.insertAndGetId(newApproval); return true; } return false; } @Transactional public Integer commerceApprove(IndustrialLandSupplyDetail apply) { Integer id = apply.getId(); IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(id); entity.setSupplement(apply.getSupplement()); this.updateSelective(entity); //保存材料 if (null != apply.getFileDown() && null != apply.getFileDown().getFile_id()) { attachmentService.deleteByBusiness(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_COMMERCE_SUPPLEMENT, id); attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_COMMERCE_SUPPLEMENT, id, apply.getFileDown().getFile_id()); } //保存咨询列表 String dateTime = DateUtil.getTimeString(new Date()); List industrialLandSupplyConsultationList = apply.getConsultationList(); if (!CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { Iterator it = industrialLandSupplyConsultationList.iterator(); while (it.hasNext()) { if (CommonUtils.isNull(it.next().getConsultation())) { it.remove(); } } for (IndustrialLandSupplyConsultation industrialLandSupplyConsultation : industrialLandSupplyConsultationList) { industrialLandSupplyConsultation.setIndustrial_land_supply_id(id + ""); if (industrialLandSupplyConsultation.getId() != null) { IndustrialLandSupplyConsultation industrialLandSupplyConsultation1 = industrialLandSupplyConsultationService.findById(industrialLandSupplyConsultation.getId()); //如果问的问题没变则保留id等信息 不然作为新的处理 if (Objects.equals(industrialLandSupplyConsultation1.getConsultation(), industrialLandSupplyConsultation.getConsultation())) { BeanUtils.copyProperties(industrialLandSupplyConsultation1, industrialLandSupplyConsultation); } } if (CommonUtils.isNull(industrialLandSupplyConsultation.getConsultation_time())) { industrialLandSupplyConsultation.setConsultation_time(dateTime); } } IndustrialLandSupplyConsultation query = new IndustrialLandSupplyConsultation(); query.setIndustrial_land_supply_id(id + ""); industrialLandSupplyConsultationService.deleteByWhere(query); if (!CollectionUtils.isEmpty(industrialLandSupplyConsultationList)) { industrialLandSupplyConsultationService.saveList(industrialLandSupplyConsultationList); } } //直接提交申请,添加流程信息 pass(id, null); return id; } /** * @Author: huZhiHao * @Description: 保存 * @Date: 2020/3/7 * @Params: [apply, status] * @Return: void **/ @Transactional public void updateAttachment(LandSupplyApprovalDto approval) { IndustrialLandSupplyDetail industrialLandSupplyDetail = new IndustrialLandSupplyDetail(); industrialLandSupplyDetail.setId(approval.getApply_id()); //保存材料 if (Objects.equals(approval.getType(), "1")) { //商务领导审核附件 if (null != approval.getFileDown() && null != approval.getFileDown().getFile_id()) { attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_COMMERCE_LEADER, approval.getApply_id(), approval.getFileDown().getFile_id()); } industrialLandSupplyDetail.setCommerce_leader_pre_approve_comment(approval.getApproval_comment()); if (approval.getStatus().equals(Constant.ApproveButtonStatus.APPROVED)) { //通过 industrialLandSupplyDetail.setCommerce_leader_pre_approve_operate("通过"); } else if (approval.getStatus().equals(Constant.ApproveButtonStatus.REJECT)) { //退回 industrialLandSupplyDetail.setCommerce_leader_pre_approve_operate("退回"); } else if (approval.getStatus().equals(Constant.ApproveButtonStatus.NOTAPPROVED)) { //不通过 industrialLandSupplyDetail.setCommerce_leader_pre_approve_operate("不通过"); } } else if (Objects.equals(approval.getType(), "2")) { //管委会领导审核附件 if (null != approval.getFileDown() && null != approval.getFileDown().getFile_id()) { attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_MANAGEMENT_COMMITTEE_LEADER, approval.getApply_id(), approval.getFileDown().getFile_id()); } if (null != approval.getCountersign_file() && null != approval.getCountersign_file().getFile_id()) { attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_MANAGEMENT_COMMITTEE_LEADER_COUNTERSIGN, approval.getApply_id(), approval.getCountersign_file().getFile_id()); } industrialLandSupplyDetail.setCommittee_leader_pre_approve_comment(approval.getApproval_comment()); industrialLandSupplyDetail.setCountersign_comment(approval.getCountersign_comment()); if (approval.getStatus().equals(Constant.ApproveButtonStatus.APPROVED)) { //通过 industrialLandSupplyDetail.setCommittee_leader_pre_approve_operate("通过"); } else if (approval.getStatus().equals(Constant.ApproveButtonStatus.REJECT)) { //退回 industrialLandSupplyDetail.setCommittee_leader_pre_approve_operate("退回"); } else if (approval.getStatus().equals(Constant.ApproveButtonStatus.NOTAPPROVED)) { //不通过 industrialLandSupplyDetail.setCommittee_leader_pre_approve_operate("不通过"); } } else if (Objects.equals(approval.getType(), "3")) { //管委会领导审核附件 if (null != approval.getFileDown() && null != approval.getFileDown().getFile_id()) { attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_APPROVE, approval.getApply_id(), approval.getFileDown().getFile_id()); } industrialLandSupplyDetail.setLand_supply_comment(approval.getApproval_comment()); if (approval.getStatus().equals(Constant.ApproveButtonStatus.APPROVED)) { //通过 industrialLandSupplyDetail.setLand_supply_result("通过"); } else if (approval.getStatus().equals(Constant.ApproveButtonStatus.REJECT)) { //退回 industrialLandSupplyDetail.setLand_supply_result("退回"); } else if (approval.getStatus().equals(Constant.ApproveButtonStatus.NOTAPPROVED)) { //不通过 industrialLandSupplyDetail.setLand_supply_result("不通过"); } } else if (Objects.equals(approval.getType(), "4")) { //管委会领导审核附件 if (null != approval.getFileDown() && null != approval.getFileDown().getFile_id()) { attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_FINAL, approval.getApply_id(), approval.getFileDown().getFile_id()); } industrialLandSupplyDetail.setFinal_comment(approval.getApproval_comment()); if (approval.getStatus().equals(Constant.ApproveButtonStatus.APPROVED)) { //通过 industrialLandSupplyDetail.setFinal_result("通过"); } else if (approval.getStatus().equals(Constant.ApproveButtonStatus.REJECT)) { //退回 industrialLandSupplyDetail.setFinal_result("退回"); } else if (approval.getStatus().equals(Constant.ApproveButtonStatus.NOTAPPROVED)) { //不通过 industrialLandSupplyDetail.setFinal_result("不通过"); } } this.updateSelective(industrialLandSupplyDetail); } @Transactional public Integer distribute(IndustrialLandSupplyDetail apply) { Integer id = apply.getId(); //保存分发列表 String dateTime = DateUtil.getTimeString(new Date()); List industrialLandSupplyDistributionList = apply.getDistributionList(); if (!CollectionUtils.isEmpty(industrialLandSupplyDistributionList)) { Iterator it = industrialLandSupplyDistributionList.iterator(); // Map map = new HashMap<>(); while (it.hasNext()) { if (CommonUtils.isNull(it.next().getDistribution_file().getFile_id())) { it.remove(); } } // IndustrialLandSupplyDistribution query = new IndustrialLandSupplyDistribution(); // query.setIndustrial_land_supply_id(id + ""); // industrialLandSupplyDistributionService.deleteByWhere(query); // // for (IndustrialLandSupplyDistribution industrialLandSupplyDistribution : industrialLandSupplyDistributionList) { // map.put(industrialLandSupplyDistribution.getDepartment_id(), null); // } // // List industrialLandSupplyDistributions = new ArrayList<>(); // Iterator> itm = map.entrySet().iterator(); // while (itm.hasNext()) { // String key = itm.next().getKey(); // IndustrialLandSupplyDistribution entity = new IndustrialLandSupplyDistribution(); // entity.setIndustrial_land_supply_id(id + ""); // if (CommonUtils.isNull(entity.getDistribute_time())) { // entity.setDistribute_time(dateTime); // } // List fileDownList = new ArrayList<>(); // for (IndustrialLandSupplyDistribution industrialLandSupplyDistribution : industrialLandSupplyDistributionList) { // if (Objects.equals(key, industrialLandSupplyDistribution.getDepartment_id())) { // FileDown fileDown = new FileDown(); // fileDown.setFile_id(industrialLandSupplyDistribution.getDistribution_file().getFile_id()); // fileDownList.add(fileDown); // } // } // entity.setDistribution_file_list(fileDownList); // industrialLandSupplyDistributions.add(entity); // } // // for (IndustrialLandSupplyDistribution industrialLandSupplyDistribution : industrialLandSupplyDistributions) { // // industrialLandSupplyDistributionService.saveSelective(industrialLandSupplyDistribution); // //保存材料 // List fileDownList = industrialLandSupplyDistribution.getDistribution_file_list(); // if (!CollectionUtils.isEmpty(fileDownList)) { // for (FileDown fileDown : fileDownList) { // if (null != fileDown && null != fileDown.getFile_id()) { // attachmentService.deleteByBusiness(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE, industrialLandSupplyDistribution.getId()); // attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE, industrialLandSupplyDistribution.getId(), fileDown.getFile_id()); // } // } // } // } for (IndustrialLandSupplyDistribution industrialLandSupplyDistribution : industrialLandSupplyDistributionList) { industrialLandSupplyDistribution.setIndustrial_land_supply_id(id + ""); if (CommonUtils.isNull(industrialLandSupplyDistribution.getDistribute_time())) { industrialLandSupplyDistribution.setDistribute_time(dateTime); } industrialLandSupplyDistributionService.saveSelective(industrialLandSupplyDistribution); //保存材料 if (null != industrialLandSupplyDistribution.getDistribution_file() && null != industrialLandSupplyDistribution.getDistribution_file().getFile_id()) { attachmentService.deleteByBusiness(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE, industrialLandSupplyDistribution.getId()); attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE, industrialLandSupplyDistribution.getId(), industrialLandSupplyDistribution.getDistribution_file().getFile_id()); } } } //直接提交申请,添加流程信息 pass(id, null); return id; } public List getAllDepartmentFile(String id) { List fileDownList = new ArrayList<>(); List attachments = new ArrayList<>(); IndustrialLandSupplyDistribution industrialLandSupplyDistribution = new IndustrialLandSupplyDistribution(); industrialLandSupplyDistribution.setIndustrial_land_supply_id(id); industrialLandSupplyDistribution.setDepartment_id("0"); industrialLandSupplyDistribution.setDel_flag(false); List industrialLandSupplyDistributionList = industrialLandSupplyDistributionService.findListByWhere(industrialLandSupplyDistribution); if (!CollectionUtils.isEmpty(industrialLandSupplyDistributionList)) { for (IndustrialLandSupplyDistribution landSupplyDistribution : industrialLandSupplyDistributionList) { attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE, landSupplyDistribution.getId(), null); if (null != attachments && attachments.size() > 0) { FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri()); fileDownList.add(fileDown); } } return fileDownList; } return fileDownList; } @Transactional public void distributeFeedback(List industrialLandSupplyDistributionList) { for (IndustrialLandSupplyDistribution industrialLandSupplyDistribution : industrialLandSupplyDistributionList) { industrialLandSupplyDistributionService.updateSelective(industrialLandSupplyDistribution); FileDown file = industrialLandSupplyDistribution.getFeedback_file(); //保存材料 if (null != file && null != file.getFile_id()) { attachmentService.deleteByBusiness(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE_FEEDBACK, industrialLandSupplyDistribution.getId()); attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE_FEEDBACK, industrialLandSupplyDistribution.getId(), file.getFile_id()); } } IndustrialLandSupplyDistribution industrialLandSupplyDistribution = industrialLandSupplyDistributionService.findById(industrialLandSupplyDistributionList.get(0).getId()); this.pass(Integer.valueOf(industrialLandSupplyDistribution.getIndustrial_land_supply_id()), null); } @Transactional public void distributeSummary(IndustrialLandSupplyDetail industrialLandSupplyDetail) { IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(industrialLandSupplyDetail.getId()); entity.setJoint_trial(industrialLandSupplyDetail.getJoint_trial()); if (industrialLandSupplyDetail.getJoint_trial()) { entity.setJoint_trial_comment(industrialLandSupplyDetail.getJoint_trial_comment()); entity.setJoint_trial_result(industrialLandSupplyDetail.getJoint_trial_result()); } entity.setDistribution_summary(industrialLandSupplyDetail.getDistribution_summary()); this.updateSelective(entity); //保存材料 if (null != industrialLandSupplyDetail.getDistribution_summary_file() && null != industrialLandSupplyDetail.getDistribution_summary_file().getFile_id()) { attachmentService.deleteByBusiness(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE_SUMMARY, industrialLandSupplyDetail.getId()); attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE_SUMMARY, industrialLandSupplyDetail.getId(), industrialLandSupplyDetail.getDistribution_summary_file().getFile_id()); } if (industrialLandSupplyDetail.getJoint_trial()) { if (null != industrialLandSupplyDetail.getJoint_trial_file() && null != industrialLandSupplyDetail.getJoint_trial_file().getFile_id()) { attachmentService.deleteByBusiness(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_JOINT_TRIAL, industrialLandSupplyDetail.getId()); attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_JOINT_TRIAL, industrialLandSupplyDetail.getId(), industrialLandSupplyDetail.getJoint_trial_file().getFile_id()); } } this.pass(industrialLandSupplyDetail.getId(), null); } @Transactional public void gsFeedback(IndustrialLandSupplyDetail industrialLandSupplyDetail) { IndustrialLandSupplyDetail entity = new IndustrialLandSupplyDetail(); entity.setId(industrialLandSupplyDetail.getId()); entity.setGs_feedback(industrialLandSupplyDetail.getGs_feedback()); this.updateSelective(entity); //保存材料 if (null != industrialLandSupplyDetail.getFileDown() && null != industrialLandSupplyDetail.getFileDown().getFile_id()) { attachmentService.deleteByBusiness(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_GS, industrialLandSupplyDetail.getId()); attachmentService.updateAttachment(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_GS, industrialLandSupplyDetail.getId(), industrialLandSupplyDetail.getFileDown().getFile_id()); } // this.pass(industrialLandSupplyDetail.getId(), null); } public void exportCountersignWord(int id, HttpServletResponse response) throws IOException { IndustrialLandSupplyDetail entity = this.findById(id); ExportWord ew = new ExportWord(); XWPFDocument document = ew.createXWPFDocument(6, 2); List> list = new ArrayList>(); String title = entity.getTitle(); String content = entity.getContent_text(); String location = entity.getLocation(); String consultationSummary = entity.getConsultation_summary_text(); List tempList = new ArrayList(); tempList.add("项目标题"); tempList.add(title == null ? "" : title); list.add(tempList); tempList = new ArrayList(); tempList.add("项目内容"); tempList.add(content == null ? "" : content); list.add(tempList); tempList = new ArrayList(); tempList.add("用地信息"); tempList.add(location == null ? "" : location); list.add(tempList); tempList = new ArrayList(); tempList.add("部门意见\r" + "(商务汇总意见)"); tempList.add(consultationSummary == null ? "" : consultationSummary); list.add(tempList); tempList = new ArrayList(); tempList.add("领导批示和会签意见"); tempList.add(""); list.add(tempList); tempList = new ArrayList(); tempList.add("日期"); String time = DateUtil.getCurrentDateString("yyyy-MM-yy"); tempList.add(time); list.add(tempList); Map dataList = new HashMap(); dataList.put("TITLE", "苏州国家高新区产业用地预审办文单"); dataList.put("TABLEDATA", list); response.reset(); response.setContentType("application/octet-stream; charset=utf-8"); response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("苏州国家高新区产业用地预审办文单" + "-" + time + ".docx", "UTF-8")); ew.exportCheckWord(dataList, document, response); } }