|
|
@@ -3,6 +3,7 @@ package platform.modules.government.service;
|
|
|
import com.aliyuncs.exceptions.ClientException;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -12,6 +13,8 @@ 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.build.entity.BuildingInfo;
|
|
|
import platform.modules.company.dto.LandSupplyApprovalDto;
|
|
|
import platform.modules.government.dao.IndustrialLandSupplyDetailDao;
|
|
|
import platform.modules.government.dto.IndustrialLandSupplyDto;
|
|
|
@@ -25,6 +28,9 @@ 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;
|
|
|
@@ -271,6 +277,12 @@ public class IndustrialLandSupplyDetailService extends BaseService<IndustrialLan
|
|
|
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());
|
|
|
@@ -283,9 +295,9 @@ public class IndustrialLandSupplyDetailService extends BaseService<IndustrialLan
|
|
|
|
|
|
User user = userService.getUser(entity.getCreate_by());
|
|
|
if (CommonUtils.isNotNull(user) && Constant.UserType.STREET.equals(user.getUser_type())) {
|
|
|
- if(CommonUtils.isNotNull(user.getDepartment_name())){
|
|
|
+ if (CommonUtils.isNotNull(user.getDepartment_name())) {
|
|
|
entity.setRecource(user.getDepartment_name());
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
entity.setRecource(user.getStreet_name());
|
|
|
}
|
|
|
} else if (CommonUtils.isNotNull(user) && Constant.UserType.GOVERNMENT.equals(user.getUser_type())) {
|
|
|
@@ -315,10 +327,17 @@ public class IndustrialLandSupplyDetailService extends BaseService<IndustrialLan
|
|
|
}
|
|
|
entity.setConsultationList(industrialLandSupplyConsultationList);
|
|
|
//分发列表
|
|
|
- IndustrialLandSupplyDistribution industrialLandSupplyDistribution = new IndustrialLandSupplyDistribution();
|
|
|
- industrialLandSupplyDistribution.setIndustrial_land_supply_id(id);
|
|
|
- industrialLandSupplyDistribution.setDel_flag(false);
|
|
|
- List<IndustrialLandSupplyDistribution> industrialLandSupplyDistributionList = industrialLandSupplyDistributionService.findListByWhere(industrialLandSupplyDistribution);
|
|
|
+// IndustrialLandSupplyDistribution industrialLandSupplyDistribution = new IndustrialLandSupplyDistribution();
|
|
|
+// industrialLandSupplyDistribution.setIndustrial_land_supply_id(id);
|
|
|
+// industrialLandSupplyDistribution.setDel_flag(false);
|
|
|
+// List<IndustrialLandSupplyDistribution> 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<IndustrialLandSupplyDistribution> industrialLandSupplyDistributionList = industrialLandSupplyDistributionService.selectByExample(example);
|
|
|
for (IndustrialLandSupplyDistribution landSupplyDistribution : industrialLandSupplyDistributionList) {
|
|
|
List<Attachment> attachmentList = null;
|
|
|
//分发文件
|
|
|
@@ -1795,7 +1814,7 @@ public class IndustrialLandSupplyDetailService extends BaseService<IndustrialLan
|
|
|
public String userGroupType() {
|
|
|
|
|
|
String str = "";
|
|
|
- if(Constant.UserType.STREET.equals(ShiroUtils.getUserType())){
|
|
|
+ if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) {
|
|
|
str += "0,";
|
|
|
}
|
|
|
if (Constant.UserType.GOVERNMENT.equals(ShiroUtils.getUserType())) {
|
|
|
@@ -2224,7 +2243,11 @@ public class IndustrialLandSupplyDetailService extends BaseService<IndustrialLan
|
|
|
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("通过");
|
|
|
@@ -2282,15 +2305,56 @@ public class IndustrialLandSupplyDetailService extends BaseService<IndustrialLan
|
|
|
if (!CollectionUtils.isEmpty(industrialLandSupplyDistributionList)) {
|
|
|
|
|
|
Iterator<IndustrialLandSupplyDistribution> it = industrialLandSupplyDistributionList.iterator();
|
|
|
+// Map<String, String> 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);
|
|
|
+// IndustrialLandSupplyDistribution query = new IndustrialLandSupplyDistribution();
|
|
|
+// query.setIndustrial_land_supply_id(id + "");
|
|
|
+// industrialLandSupplyDistributionService.deleteByWhere(query);
|
|
|
+//
|
|
|
+// for (IndustrialLandSupplyDistribution industrialLandSupplyDistribution : industrialLandSupplyDistributionList) {
|
|
|
+// map.put(industrialLandSupplyDistribution.getDepartment_id(), null);
|
|
|
+// }
|
|
|
+//
|
|
|
+// List<IndustrialLandSupplyDistribution> industrialLandSupplyDistributions = new ArrayList<>();
|
|
|
+// Iterator<Map.Entry<String, String>> 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<FileDown> 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<FileDown> 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 + "");
|
|
|
@@ -2310,29 +2374,31 @@ public class IndustrialLandSupplyDetailService extends BaseService<IndustrialLan
|
|
|
return id;
|
|
|
}
|
|
|
|
|
|
- public FileDown getAllDepartmentFile(String id) {
|
|
|
+ public List<FileDown> getAllDepartmentFile(String id) {
|
|
|
|
|
|
+ List<FileDown> fileDownList = new ArrayList<>();
|
|
|
+ List<Attachment> attachments = new ArrayList<>();
|
|
|
IndustrialLandSupplyDistribution industrialLandSupplyDistribution = new IndustrialLandSupplyDistribution();
|
|
|
industrialLandSupplyDistribution.setIndustrial_land_supply_id(id);
|
|
|
industrialLandSupplyDistribution.setDepartment_id("0");
|
|
|
industrialLandSupplyDistribution.setDel_flag(false);
|
|
|
List<IndustrialLandSupplyDistribution> industrialLandSupplyDistributionList = industrialLandSupplyDistributionService.findListByWhere(industrialLandSupplyDistribution);
|
|
|
if (!CollectionUtils.isEmpty(industrialLandSupplyDistributionList)) {
|
|
|
- Integer applyId = industrialLandSupplyDistributionList.get(0).getId();
|
|
|
-
|
|
|
- List<Attachment> feedbackAttachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.INDUSTRIAL_LAND_SUPPLY_DISTRIBUTE, applyId, 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());
|
|
|
- return fileDown;
|
|
|
+ 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 new FileDown();
|
|
|
+ return fileDownList;
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public void distributeFeedback(List<IndustrialLandSupplyDistribution> industrialLandSupplyDistributionList) {
|
|
|
|
|
|
- String dateTime = DateUtil.getTimeString(new Date());
|
|
|
for (IndustrialLandSupplyDistribution industrialLandSupplyDistribution : industrialLandSupplyDistributionList) {
|
|
|
|
|
|
industrialLandSupplyDistributionService.updateSelective(industrialLandSupplyDistribution);
|
|
|
@@ -2389,4 +2455,47 @@ public class IndustrialLandSupplyDetailService extends BaseService<IndustrialLan
|
|
|
}
|
|
|
// 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, 1);
|
|
|
+ List<List<Object>> list = new ArrayList<List<Object>>();
|
|
|
+
|
|
|
+ String title = entity.getTitle();
|
|
|
+ String content = entity.getContent_text();
|
|
|
+ String location = entity.getLocation();
|
|
|
+ String consultationSummary = entity.getConsultation_summary();
|
|
|
+
|
|
|
+ List<Object> tempList = new ArrayList<Object>();
|
|
|
+ tempList.add("项目标题:" + (title == null ? "" : title));
|
|
|
+ list.add(tempList);
|
|
|
+ tempList = new ArrayList<Object>();
|
|
|
+ tempList.add("项目内容:" + (content == null ? "" : content));
|
|
|
+ list.add(tempList);
|
|
|
+ tempList = new ArrayList<Object>();
|
|
|
+ tempList.add("用地信息:" + (location == null ? "" : location));
|
|
|
+ list.add(tempList);
|
|
|
+ tempList = new ArrayList<Object>();
|
|
|
+ tempList.add("部门意见(商务汇总意见):" + (consultationSummary == null ? "" : consultationSummary));
|
|
|
+ list.add(tempList);
|
|
|
+ tempList = new ArrayList<Object>();
|
|
|
+ tempList.add("领导批示和会签意见:");
|
|
|
+ list.add(tempList);
|
|
|
+ tempList = new ArrayList<Object>();
|
|
|
+ tempList.add("日期:" + DateUtil.getCurrentDateString("yyyy-MM-yy"));
|
|
|
+ list.add(tempList);
|
|
|
+
|
|
|
+ Map<String, Object> dataList = new HashMap<String, Object>();
|
|
|
+ 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("苏州国家高新区产业用地预审办文单.docx", "UTF-8"));
|
|
|
+
|
|
|
+ ew.exportCheckWord(dataList, document, response);
|
|
|
+ }
|
|
|
}
|