提交
This commit is contained in:
+68
-9
@@ -1,6 +1,10 @@
|
||||
package io.v.nutz.wakershome.controller.declaration;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.modules.models.Audit;
|
||||
@@ -8,8 +12,10 @@ import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
import io.v.nutz.wakershome.model.WakesHomeApply;
|
||||
import io.v.nutz.wakershome.service.IWakesHomeApplyService;
|
||||
import io.v.nutz.web.commons.base.Globals;
|
||||
import org.apache.shiro.authz.annotation.Logical;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.ddr.poi.html.HtmlRenderPolicy;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
@@ -17,10 +23,15 @@ import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.InputStream;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
@@ -39,15 +50,16 @@ public class WakesHomeDeclarationMineController {
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/declaration/mine.html")
|
||||
@RequiresPermissions("wakeshome.declaration.mine")
|
||||
public void index() {}
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.declaration.mine")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "year",required = false) Integer year,
|
||||
@Param(value = "unionId",required = false) String unionId){
|
||||
@Param(value = "year", required = false) Integer year,
|
||||
@Param(value = "unionId", required = false) String unionId) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
wh.*,
|
||||
@@ -59,9 +71,9 @@ public class WakesHomeDeclarationMineController {
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("YEAR(wh.applyDate)","=",year);
|
||||
if (!ShiroUtil.hasAnyRoles("sysadmin,A06")){
|
||||
cnd.and("unionId","=", Vi.getUnionId());
|
||||
cnd.andEX("YEAR(wh.applyDate)", "=", year);
|
||||
if (!ShiroUtil.hasAnyRoles("sysadmin,A06")) {
|
||||
cnd.and("unionId", "=", Vi.getUnionId());
|
||||
} else {
|
||||
cnd.andEX("unionId", "=", unionId);
|
||||
}
|
||||
@@ -73,16 +85,63 @@ public class WakesHomeDeclarationMineController {
|
||||
@At
|
||||
@ViReturn
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@RequiresPermissions(value = {"wakeshome.declaration.apply","wakeshome.declaration.mine"},logical = Logical.OR)
|
||||
@RequiresPermissions(value = {"wakeshome.declaration.apply", "wakeshome.declaration.mine"}, logical = Logical.OR)
|
||||
public Object doDelete(String id) {
|
||||
WakesHomeApply apply = wakesHomeApplyService.fetch(id);
|
||||
if (StrUtil.isNotBlank(apply.getOrganizationAuditId())) {
|
||||
wakesHomeApplyService.dao().delete(Audit.class,apply.getOrganizationAuditId());
|
||||
wakesHomeApplyService.dao().delete(Audit.class, apply.getOrganizationAuditId());
|
||||
}
|
||||
if (StrUtil.isNotBlank(apply.getSchoolAuditId())) {
|
||||
wakesHomeApplyService.dao().delete(Audit.class,apply.getSchoolAuditId());
|
||||
wakesHomeApplyService.dao().delete(Audit.class, apply.getSchoolAuditId());
|
||||
}
|
||||
wakesHomeApplyService.delete(id);
|
||||
return null;
|
||||
}
|
||||
|
||||
@At
|
||||
@Ok("void")
|
||||
public void openExport(String id, HttpServletResponse response) {
|
||||
|
||||
try {
|
||||
NutMap nutMap = wakesHomeApplyService.findById(id);
|
||||
|
||||
|
||||
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
|
||||
HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy();
|
||||
htmlRenderPolicy.getConfig().setShowDefaultTableBorderInTableCell(true);
|
||||
|
||||
Configure config = Configure.newBuilder()
|
||||
.bind("basicInformation", htmlRenderPolicy)
|
||||
.bind("constructionPlan", htmlRenderPolicy).build();
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
String fileName = Globals.schoolName + "教工小家”建设计划书";
|
||||
map.put("fileName", fileName);
|
||||
map.put("schoolName", Globals.schoolName);
|
||||
map.put("unionName", nutMap.getString("unionName"));
|
||||
map.put("applyDate", nutMap.getString("applyDate"));
|
||||
map.put("username", nutMap.getString("username"));
|
||||
map.put("mobile", nutMap.getString("mobile"));
|
||||
map.put("basicInformation", nutMap.getString("basicInformation"));
|
||||
map.put("constructionPlan", nutMap.getString("constructionPlan"));
|
||||
NutMap schoolAudit = nutMap.getAs("schoolAudit", NutMap.class);
|
||||
NutMap organizationAudit = nutMap.getAs("organizationAudit", NutMap.class);
|
||||
schoolAudit.setv("auditTime", DateUtil.formatDate(schoolAudit.getTime("auditTime")));
|
||||
schoolAudit.setv("auditSign", Vi.getImg(schoolAudit.getString("auditSign")));
|
||||
organizationAudit.setv("auditTime", DateUtil.formatDate(organizationAudit.getTime("auditTime")));
|
||||
organizationAudit.setv("auditSign", Vi.getImg(organizationAudit.getString("auditSign")));
|
||||
map.put("organizationAudit", organizationAudit);
|
||||
map.put("schoolAudit", schoolAudit);
|
||||
|
||||
|
||||
response.addHeader("Content-Type", "application/octet-stream");
|
||||
response.addHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1") + "\".docx");
|
||||
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("docTemplate/wakeshome/wakeshome.docx");
|
||||
XWPFTemplate.compile(inputStream, config).render(map, response.getOutputStream());
|
||||
inputStream.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,6 +65,6 @@ public class WakesHomeApplyController {
|
||||
@RequiresPermissions("wakeshome.info.apply")
|
||||
public Object validateApply(){
|
||||
int count = wakesHomeInfoService.dao().count(WakesHomeApply.class, Cnd.where("state", "=", "10030").and("unionId", "=", Vi.getUnionId()));
|
||||
return (count > 0) ? Result.error() : Result.success();
|
||||
return (count > 0) ? Result.success() : Result.error();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user