This commit is contained in:
那些花儿
2025-07-02 19:43:34 +08:00
parent 63bd4e0157
commit 75ed9a1b39
17 changed files with 85 additions and 44 deletions
@@ -4,7 +4,6 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.budwk.app.base.result.Result;
import com.budwk.app.zhgh.dayofficework.article.models.Article;
import com.budwk.app.zhgh.dayofficework.article.service.ArticleAnalysisService;
import com.budwk.app.zhgh.dayofficework.article.service.ArticleService;
import com.budwk.app.zhgh.dayofficework.article.vo.ArticleAnalysisOverviewVO;
@@ -94,7 +94,7 @@ public class ArticleBranchUnionApprovalController {
cnd.and(Cnd.likeEX("info.title",pageForm.getTitle()));
if(StrUtil.isAllBlank(pageForm.getPageOrderName(),pageForm.getPageOrderBy())){
cnd.desc("info.createdAt");
cnd.desc("info.submitTime");
}else{
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
}
@@ -93,7 +93,7 @@ public class ArticleClubApprovalController {
cnd.and(Cnd.likeEX("info.title",pageForm.getTitle()));
if(StrUtil.isAllBlank(pageForm.getPageOrderName(),pageForm.getPageOrderBy())){
cnd.desc("info.createdAt");
cnd.desc("info.submitTime");
}else{
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
}
@@ -97,10 +97,13 @@ public class ArticleExamineController {
cnd.andEX("YEAR(info.submitTime)", "=", pageForm.getYear());
cnd.and(Cnd.likeEX("info.title", pageForm.getTitle()));
cnd.andEX("info.unionId","=",pageForm.getUnionId());
cnd.andEX("info.unitId","=",pageForm.getUnitId());
cnd.andEX("info.origin","=",pageForm.getOrigin());
if (StrUtil.isAllBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) {
cnd.desc("info.createdAt");
} else {
if(StrUtil.isAllBlank(pageForm.getPageOrderName(),pageForm.getPageOrderBy())){
cnd.desc("info.submitTime");
}else{
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
}
sql.setCondition(cnd);
@@ -97,10 +97,13 @@ public class ArticleFirstExamineController {
cnd.andEX("YEAR(info.submitTime)", "=", pageForm.getYear());
cnd.and(Cnd.likeEX("info.title", pageForm.getTitle()));
cnd.andEX("info.unionId","=",pageForm.getUnionId());
cnd.andEX("info.origin","=",pageForm.getOrigin());
cnd.andEX("info.unitId","=",pageForm.getUnitId());
if (StrUtil.isAllBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) {
cnd.desc("info.createdAt");
} else {
if(StrUtil.isAllBlank(pageForm.getPageOrderName(),pageForm.getPageOrderBy())){
cnd.desc("info.submitTime");
}else{
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
}
sql.setCondition(cnd);
@@ -4,7 +4,6 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import com.budwk.app.base.annotation.SLog;
import com.budwk.app.base.constant.RoleConstant;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.param.PageForm;
import com.budwk.app.base.result.Result;
import com.budwk.app.bpm.service.BpmService;
import com.budwk.app.web.commons.auth.utils.AuthUtil;
@@ -76,6 +75,7 @@ public class ArticleMineController {
cnd.andEX("YEAR(info.submitTime)","=",pageForm.getYear());
cnd.and(Cnd.likeEX("info.title",pageForm.getTitle()));
cnd.desc("info.submitTime");
sql.setCondition(cnd);
Pagination<ArticleInfoPageVO> pageVO = articleService.listPageVO(pageForm, sql, ArticleInfoPageVO.class);
@@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.StrUtil;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.result.Result;
import com.budwk.app.base.utils.PageUtil;
import com.budwk.app.zhgh.dayofficework.article.param.ArticleInfoPageParam;
import com.budwk.app.zhgh.dayofficework.article.service.ArticleService;
import com.budwk.app.zhgh.dayofficework.article.vo.ArticleInfoPageVO;
@@ -62,8 +63,14 @@ public class ArticleQueryController {
cnd.andEX("info.unionId", "=", pageForm.getUnionId());
cnd.andEX("info.unitId", "=", pageForm.getUnitId());
cnd.andEX("info.clubId", "=", pageForm.getClubId());
cnd.andEX("info.mode", "=", pageForm.getMode());
cnd.desc("info.submitTime");
cnd.andEX("info.origin","=",pageForm.getOrigin());
if(StrUtil.isAllBlank(pageForm.getPageOrderName(),pageForm.getPageOrderBy())){
cnd.desc("info.submitTime");
}else{
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
}
cnd.groupBy("info.id");
sql.setCondition(cnd);
Pagination<ArticleInfoPageVO> pageVO = articleService.listPageVO(pageForm, sql, ArticleInfoPageVO.class);
@@ -9,7 +9,6 @@ import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.result.Result;
import com.budwk.app.base.utils.PageUtil;
import com.budwk.app.bpm.enums.BpmProcessTaskStatusEnum;
import com.budwk.app.bpm.enums.BpmTaskApprovalTypeEnum;
import com.budwk.app.bpm.param.BpmTaskApprovalParam;
import com.budwk.app.bpm.service.BpmService;
import com.budwk.app.web.commons.auth.utils.AuthUtil;
@@ -93,11 +92,11 @@ public class ArticleSchoolUnionApprovalController {
cnd.andEX("YEAR(info.submitTime)","=",pageForm.getYear());
cnd.and(Cnd.likeEX("info.title",pageForm.getTitle()));
cnd.andEX("info.unionId","=",pageForm.getUnionId());
cnd.andEX("info.mode","=",pageForm.getMode());
cnd.andEX("info.unitId","=",pageForm.getUnitId());
cnd.andEX("info.origin","=",pageForm.getOrigin());
if(StrUtil.isAllBlank(pageForm.getPageOrderName(),pageForm.getPageOrderBy())){
cnd.desc("info.createdAt");
cnd.desc("info.submitTime");
}else{
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
}
@@ -116,9 +115,6 @@ public class ArticleSchoolUnionApprovalController {
approvalParam.getBpmTaskApprovalTypeEnum();
Map<String, Object> variables = BeanUtil.beanToMap(approvalParam);
List<String> assignments = new ArrayList<>();
// if(approvalParam.getBpmTaskApprovalTypeEnum().equals(BpmTaskApprovalTypeEnum.PASS)){
//
// }
// 同意退回都到校工会投稿编辑人
String schoolUnionApprovalLoginName = commonService.findUserLoginNameByRoleCode(RoleConstant.SCHOOL_UNION_ARTICLE_ADMIN, Cnd.NEW());
@@ -120,6 +120,11 @@ public class ArticleWriteController {
} else if (prevTask.getProcessTaskNodeCode() == 60) {
variables.put("FINAL_EXAMINE_BACK", true);
}
// 重新赋值
assignments = new ArrayList<>();
String schoolUnionApprovalLoginName = commonService.findUserLoginNameByRoleCode(RoleConstant.SCHOOL_UNION_ARTICLE_ADMIN, Cnd.NEW());
assignments.add(schoolUnionApprovalLoginName);
}
}
}
@@ -27,6 +27,7 @@ public class ArticleInfoPageParam extends PageForm<Article> {
@ApiModelProperty("协会")
private String clubId;
private String mode;
@ApiModelProperty("稿件来源")
private String origin;
}
@@ -4,10 +4,6 @@ import com.budwk.app.base.service.BaseService;
import com.budwk.app.zhgh.dayofficework.article.models.Article;
import com.budwk.app.zhgh.dayofficework.article.vo.ArticleVO;
import javax.validation.Valid;
import java.util.List;
import java.util.Map;
public interface ArticleService extends BaseService<Article> {
ArticleVO info(String id);
@@ -11,7 +11,6 @@ import com.budwk.app.zhgh.dayofficework.article.vo.ArticleVO;
import org.nutz.dao.Dao;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.util.NutMap;
import java.util.List;
@@ -47,6 +47,12 @@ const info = {
<span v-if="task.extVariable.processAgain===true">需要重新走流程</span>
</el-tag>
<el-tag v-if="task.extVariable.RESULT === 'PASS'" type="success" size="mini">同意</el-tag>
<el-tag v-if="task.extVariable.RESULT === 'BACK_TO_CLUB'" type="danger" size="mini">
退回到协会
</el-tag>
<el-tag v-if="task.extVariable.RESULT === 'BACK_TO_UNION'" type="danger" size="mini">
退回到分工会
</el-tag>
</template>
</div>
</el-descriptions-item>
@@ -11,6 +11,21 @@ layout("/layouts/platform.html"){
<search-item label="标题">
<el-input v-model="pageForm.title" placeholder="标题" clearable></el-input>
</search-item>
<search-item label="所属工会">
<el-select v-model="pageForm.unionId" placeholder="请选择所属工会" filterable clearable style="width: 100%">
<el-option v-for="item in unionOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</search-item>
<search-item label="所属单位:">
<el-select v-model="pageForm.unitId" placeholder="请选择所属单位" filterable clearable style="width: 100%">
<el-option v-for="item in unitOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</search-item>
<search-item label="投稿来源:">
<el-select v-model="pageForm.origin" placeholder="请选择投稿来源" filterable clearable style="width: 100%">
<el-option v-for="item in dict.type.ARTICLE_ORIGIN" :key="item.code" :label="item.label" :value="item.code"></el-option>
</el-select>
</search-item>
</search>
</el-card>
<el-card shadow="never">
@@ -120,7 +135,7 @@ layout("/layouts/platform.html"){
doApproval(result) {
this.formData.bpmTaskApprovalType = "DYNAMIC"
if (result === 'BACK_TO_START') {
this.$confirm('请确认投稿人重新提交后是否需要分工会主席再次审核', '提示', {
this.$confirm('请确认投稿人重新提交后是否需要重新走审批流程', '提示', {
distinguishCancelAndClose: true,
confirmButtonText: '需要',
cancelButtonText: '不需要',
@@ -180,6 +195,8 @@ layout("/layouts/platform.html"){
}
},
created() {
this.$businessTool.listUnit().then((res) => (this.unitOptions = res))
this.$businessTool.listUnion().then((res) => (this.unionOptions = res))
this.pageData()
}
})
@@ -12,6 +12,21 @@ layout("/layouts/platform.html"){
<search-item label="标题">
<el-input v-model="pageForm.title" placeholder="标题" clearable></el-input>
</search-item>
<search-item label="所属工会">
<el-select v-model="pageForm.unionId" placeholder="请选择所属工会" filterable clearable style="width: 100%">
<el-option v-for="item in unionOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</search-item>
<search-item label="所属单位:">
<el-select v-model="pageForm.unitId" placeholder="请选择所属单位" filterable clearable style="width: 100%">
<el-option v-for="item in unitOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</search-item>
<search-item label="投稿来源:">
<el-select v-model="pageForm.origin" placeholder="请选择投稿来源" filterable clearable style="width: 100%">
<el-option v-for="item in dict.type.ARTICLE_ORIGIN" :key="item.code" :label="item.label" :value="item.code"></el-option>
</el-select>
</search-item>
</search>
</el-card>
<el-card shadow="never">
@@ -76,7 +91,7 @@ layout("/layouts/platform.html"){
<el-button type="danger" @click="doApproval('BACK_TO_CLUB')"
v-if="currentRow.origin === 'ARTICLE_ORIGIN_CLUB'">退回到协会
</el-button>
<el-button type="danger" @click="doApproval('REJECT')">拒绝</el-button>
<!-- <el-button type="danger" @click="doApproval('REJECT')">拒绝</el-button>-->
<el-button type="primary" @click="doApproval('PASS')">通过</el-button>
</el-row>
</div>
@@ -123,7 +138,7 @@ layout("/layouts/platform.html"){
this.formData.bpmTaskApprovalType = "DYNAMIC"
if (result === 'BACK_TO_START') {
this.$confirm('请确认投稿人重新提交后是否需要分工会主席再次审核', '提示', {
this.$confirm('请确认投稿人重新提交后是否需要重新走审批流程', '提示', {
distinguishCancelAndClose: true,
confirmButtonText: '需要',
cancelButtonText: '不需要',
@@ -177,6 +192,8 @@ layout("/layouts/platform.html"){
}
},
created() {
this.$businessTool.listUnit().then((res) => (this.unitOptions = res))
this.$businessTool.listUnion().then((res) => (this.unionOptions = res))
this.pageData()
}
})
@@ -28,7 +28,7 @@ layout("/layouts/platform.html"){
</el-select>
</search-item>
<search-item label="投稿来源:">
<el-select v-model="pageForm.mode" placeholder="请选择投稿来源" filterable clearable style="width: 100%">
<el-select v-model="pageForm.origin" placeholder="请选择投稿来源" filterable clearable style="width: 100%">
<el-option v-for="item in dict.type.ARTICLE_ORIGIN" :key="item.code" :label="item.label" :value="item.code"></el-option>
</el-select>
</search-item>
@@ -67,7 +67,7 @@ layout("/layouts/platform.html"){
<script>
<!--#include('../common/info.js'){}#-->
new Vue({
const vue = new Vue({
el: "#app",
store,
mixins: [initTableMixins],
@@ -80,11 +80,7 @@ layout("/layouts/platform.html"){
},
unionOptions: [],
unitOptions: [],
clubOptions: [],
modeOptions: [
{ id: "CLUB", name: "协会投稿" },
{ id: "FGH", name: "分工会投稿" }
]
clubOptions: []
}
},
methods: {
@@ -95,8 +91,8 @@ layout("/layouts/platform.html"){
}
},
created() {
this.$businessTool.listUnit().then((res) => (this.unionOptions = res))
this.$businessTool.listUnion().then((res) => (this.unitOptions = res))
this.$businessTool.listUnit().then((res) => (this.unitOptions = res))
this.$businessTool.listUnion().then((res) => (this.unionOptions = res))
this.$businessTool.listClub().then((res) => (this.clubOptions = res))
this.pageData()
}
@@ -23,7 +23,7 @@ layout("/layouts/platform.html"){
</el-select>
</search-item>
<search-item label="投稿来源:">
<el-select v-model="pageForm.mode" placeholder="请选择投稿来源" filterable clearable style="width: 100%">
<el-select v-model="pageForm.origin" placeholder="请选择投稿来源" filterable clearable style="width: 100%">
<el-option v-for="item in dict.type.ARTICLE_ORIGIN" :key="item.code" :label="item.label" :value="item.code"></el-option>
</el-select>
</search-item>
@@ -110,11 +110,7 @@ layout("/layouts/platform.html"){
pageForm: {
approval: false
},
showApprovalForm: false,
modeOptions: [
{ id: "CLUB", name: "协会投稿" },
{ id: "FGH", name: "分工会投稿" }
]
showApprovalForm: false
}
},
methods: {
@@ -165,8 +161,8 @@ layout("/layouts/platform.html"){
}
},
created() {
this.$businessTool.listUnit().then((res) => (this.unionOptions = res))
this.$businessTool.listUnion().then((res) => (this.unitOptions = res))
this.$businessTool.listUnit().then((res) => (this.unitOptions = res))
this.$businessTool.listUnion().then((res) => (this.unionOptions = res))
this.pageData()
}
})