commit
This commit is contained in:
+8
-3
@@ -194,6 +194,7 @@ public class TheRapyRecuperationLineUnionSelectController {
|
|||||||
* 分工会选择线路时间
|
* 分工会选择线路时间
|
||||||
*
|
*
|
||||||
* @param lineUnionSelects 分工会选择线路
|
* @param lineUnionSelects 分工会选择线路
|
||||||
|
* @param year 页面选择年度,用于写入选择记录年度,保证历史年度线路能按年度查询
|
||||||
* @return {@link Object}
|
* @return {@link Object}
|
||||||
*/
|
*/
|
||||||
@At("/selectLineTimes")
|
@At("/selectLineTimes")
|
||||||
@@ -201,15 +202,19 @@ public class TheRapyRecuperationLineUnionSelectController {
|
|||||||
@ViReturn
|
@ViReturn
|
||||||
@RequiresPermissions(value = {"theRapyRecuperation.lineFghSelect", "theRapyRecuperation.lineXghSelect", "theRapyRecuperation.linePersonalSelect"}, logical = Logical.OR)
|
@RequiresPermissions(value = {"theRapyRecuperation.lineFghSelect", "theRapyRecuperation.lineXghSelect", "theRapyRecuperation.linePersonalSelect"}, logical = Logical.OR)
|
||||||
@Aop(TransAop.READ_COMMITTED)
|
@Aop(TransAop.READ_COMMITTED)
|
||||||
public Object selectLineTimes(@Param("lineUnionSelects") TheRapyRecuperationLineUnionSelect[] lineUnionSelects) {
|
public Object selectLineTimes(@Param("lineUnionSelects") TheRapyRecuperationLineUnionSelect[] lineUnionSelects,
|
||||||
|
@Param(value = "year", required = false) Integer year) {
|
||||||
if (Lang.isNotEmpty(lineUnionSelects)) {
|
if (Lang.isNotEmpty(lineUnionSelects)) {
|
||||||
|
Integer selectYear = year == null ? DateUtil.thisYear() : year;
|
||||||
|
Date selectTime = DateUtil.parse(selectYear + "-01-01 00:00:00");
|
||||||
TheRapyRecuperationLineUnionSelect lineUnionSelect = lineUnionSelects[0];
|
TheRapyRecuperationLineUnionSelect lineUnionSelect = lineUnionSelects[0];
|
||||||
List<TheRapyRecuperationLineUnionSelect> oldUnionSelects = unionSelectService.query(Cnd.where("selectUserId", "=", ShiroUtil.getUserId()).and("lineId", "=", lineUnionSelect.getLineId()));
|
// 按页面年度维护选择时间段,避免编辑历史年度线路时误删同一线路其他年度的选择记录。
|
||||||
|
List<TheRapyRecuperationLineUnionSelect> oldUnionSelects = unionSelectService.query(Cnd.where("selectUserId", "=", ShiroUtil.getUserId()).and("lineId", "=", lineUnionSelect.getLineId()).and("YEAR(selectTime)", "=", selectYear));
|
||||||
|
|
||||||
TheRapyRecuperationLineUnionSelect theRapyRecuperationLineUnionSelect = dao.fetch(TheRapyRecuperationLineUnionSelect.class, Cnd.where("id", "=", lineUnionSelect.getId()));
|
TheRapyRecuperationLineUnionSelect theRapyRecuperationLineUnionSelect = dao.fetch(TheRapyRecuperationLineUnionSelect.class, Cnd.where("id", "=", lineUnionSelect.getId()));
|
||||||
|
|
||||||
for (TheRapyRecuperationLineUnionSelect unionSelect : lineUnionSelects) {
|
for (TheRapyRecuperationLineUnionSelect unionSelect : lineUnionSelects) {
|
||||||
unionSelect.setSelectTime(new Date());
|
unionSelect.setSelectTime(selectTime);
|
||||||
unionSelect.setSelectUserId(ShiroUtil.getPlatformUid());
|
unionSelect.setSelectUserId(ShiroUtil.getPlatformUid());
|
||||||
unionSelect.setUnionId(Vi.getUnionId());
|
unionSelect.setUnionId(Vi.getUnionId());
|
||||||
unionSelect.setIsOpen(Lang.isNotEmpty(theRapyRecuperationLineUnionSelect)?theRapyRecuperationLineUnionSelect.getIsOpen():false);
|
unionSelect.setIsOpen(Lang.isNotEmpty(theRapyRecuperationLineUnionSelect)?theRapyRecuperationLineUnionSelect.getIsOpen():false);
|
||||||
|
|||||||
+20
-1
@@ -82,6 +82,7 @@ public class TheRapyRecuperationSchoolUnionUserQueryController {
|
|||||||
* @param takePartInLineId 线路id
|
* @param takePartInLineId 线路id
|
||||||
* @param lotId 标段id
|
* @param lotId 标段id
|
||||||
* @param regionalNature 区域性质 省内 省外
|
* @param regionalNature 区域性质 省内 省外
|
||||||
|
* @param isTakePartIn 是否参加
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@At
|
@At
|
||||||
@@ -94,7 +95,8 @@ public class TheRapyRecuperationSchoolUnionUserQueryController {
|
|||||||
String unionId,
|
String unionId,
|
||||||
String takePartInLineId,
|
String takePartInLineId,
|
||||||
String lotId,
|
String lotId,
|
||||||
String regionalNature) {
|
String regionalNature,
|
||||||
|
String isTakePartIn) {
|
||||||
Cnd cnd = Cnd.NEW();
|
Cnd cnd = Cnd.NEW();
|
||||||
Sql sql = Sqls.create("""
|
Sql sql = Sqls.create("""
|
||||||
SELECT
|
SELECT
|
||||||
@@ -157,6 +159,8 @@ public class TheRapyRecuperationSchoolUnionUserQueryController {
|
|||||||
// 区域
|
// 区域
|
||||||
cnd.andEX("line.regionalNature", "=", regionalNature);
|
cnd.andEX("line.regionalNature", "=", regionalNature);
|
||||||
|
|
||||||
|
addTakePartInCondition(cnd, isTakePartIn);
|
||||||
|
|
||||||
// 校工会可查询指定分工会
|
// 校工会可查询指定分工会
|
||||||
cnd.andEX("enroll.selfUnionId", "=", unionId);
|
cnd.andEX("enroll.selfUnionId", "=", unionId);
|
||||||
|
|
||||||
@@ -355,6 +359,7 @@ public class TheRapyRecuperationSchoolUnionUserQueryController {
|
|||||||
String takePartInLineId,
|
String takePartInLineId,
|
||||||
String lotId,
|
String lotId,
|
||||||
String regionalNature,
|
String regionalNature,
|
||||||
|
String isTakePartIn,
|
||||||
HttpServletResponse response) {
|
HttpServletResponse response) {
|
||||||
Cnd cnd = Cnd.NEW();
|
Cnd cnd = Cnd.NEW();
|
||||||
Sql sql = Sqls.create("""
|
Sql sql = Sqls.create("""
|
||||||
@@ -410,6 +415,8 @@ public class TheRapyRecuperationSchoolUnionUserQueryController {
|
|||||||
// 区域
|
// 区域
|
||||||
cnd.andEX("line.regionalNature", "=", regionalNature);
|
cnd.andEX("line.regionalNature", "=", regionalNature);
|
||||||
|
|
||||||
|
addTakePartInCondition(cnd, isTakePartIn);
|
||||||
|
|
||||||
// 校工会可查询指定分工会
|
// 校工会可查询指定分工会
|
||||||
cnd.andEX("enroll.selfUnionId", "=", unionId);
|
cnd.andEX("enroll.selfUnionId", "=", unionId);
|
||||||
|
|
||||||
@@ -536,4 +543,16 @@ public class TheRapyRecuperationSchoolUnionUserQueryController {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按是否参加筛选,空值表示查询全部。
|
||||||
|
*
|
||||||
|
* @param cnd 查询条件
|
||||||
|
* @param isTakePartIn 是否参加
|
||||||
|
*/
|
||||||
|
private void addTakePartInCondition(Cnd cnd, String isTakePartIn) {
|
||||||
|
if ("true".equals(isTakePartIn) || "false".equals(isTakePartIn)) {
|
||||||
|
cnd.andEX("enroll.isTakePartIn", "=", Boolean.valueOf(isTakePartIn));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,18 +109,18 @@ layout("/layouts/platform.html"){
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="8">
|
<!-- <el-col :span="8">-->
|
||||||
<span>线  路:</span>
|
<!-- <span>线  路:</span>-->
|
||||||
<el-select v-model="pageForm.takePartInLineId" filterable clearable
|
<!-- <el-select v-model="pageForm.takePartInLineId" filterable clearable-->
|
||||||
placeholder="请选择线路"
|
<!-- placeholder="请选择线路"-->
|
||||||
style="width: 80%" @change="doSearch">
|
<!-- style="width: 80%" @change="doSearch">-->
|
||||||
<el-option v-for="item in lineList"
|
<!-- <el-option v-for="item in lineList"-->
|
||||||
:key="item.id"
|
<!-- :key="item.id"-->
|
||||||
:label="item.lineName + '-' + item.regionalNature + '【' + item.lotName + '】' + '(' + item.signUpMode + ')'"
|
<!-- :label="item.lineName + '-' + item.regionalNature + '【' + item.lotName + '】' + '(' + item.signUpMode + ')'"-->
|
||||||
:value="item.lineId">
|
<!-- :value="item.lineId">-->
|
||||||
</el-option>
|
<!-- </el-option>-->
|
||||||
</el-select>
|
<!-- </el-select>-->
|
||||||
</el-col>
|
<!-- </el-col>-->
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|||||||
@@ -870,7 +870,7 @@ layout("/layouts/platform.html"){
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
calPlayTime(time) {
|
calPlayTime(time) {
|
||||||
const year = new Date().getFullYear()
|
const year = this.pageForm.year || new Date().getFullYear()
|
||||||
const lot = this.lotList.find(o => o.id === this.lineData.lotId)
|
const lot = this.lotList.find(o => o.id === this.lineData.lotId)
|
||||||
const beforeTime = moment(year + '-09-01').add(-(Number(lot.lotValue)), 'days')
|
const beforeTime = moment(year + '-09-01').add(-(Number(lot.lotValue)), 'days')
|
||||||
return !(time > new Date(year + '-06-30') && time < beforeTime)
|
return !(time > new Date(year + '-06-30') && time < beforeTime)
|
||||||
@@ -1034,7 +1034,10 @@ layout("/layouts/platform.html"){
|
|||||||
mode: GetQueryString('mode')
|
mode: GetQueryString('mode')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const resp = await $.post(loc() + '/selectLineTimes', {lineUnionSelects: JSON.stringify(fmtData)})
|
const resp = await $.post(loc() + '/selectLineTimes', {
|
||||||
|
lineUnionSelects: JSON.stringify(fmtData),
|
||||||
|
year: this.pageForm.year
|
||||||
|
})
|
||||||
if (resp.code === 0) {
|
if (resp.code === 0) {
|
||||||
this.setLineTimeDialog = false
|
this.setLineTimeDialog = false
|
||||||
this.pageData()
|
this.pageData()
|
||||||
|
|||||||
+47
-9
@@ -119,9 +119,8 @@ layout("/layouts/platform.html"){
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="route-line">
|
<div class="form-row">
|
||||||
<div class="route-line-title">区域</div>
|
<el-form-item label="区域">
|
||||||
<div class="route-line-content">
|
|
||||||
<el-radio-group @change="doSearch"
|
<el-radio-group @change="doSearch"
|
||||||
size="small"
|
size="small"
|
||||||
v-model="pageForm.regionalNature">
|
v-model="pageForm.regionalNature">
|
||||||
@@ -129,12 +128,23 @@ layout("/layouts/platform.html"){
|
|||||||
<el-radio label="省内" border>省内</el-radio>
|
<el-radio label="省内" border>省内</el-radio>
|
||||||
<el-radio label="省外" border>省外</el-radio>
|
<el-radio label="省外" border>省外</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</div>
|
</el-form-item>
|
||||||
|
<el-form-item label="参加状态">
|
||||||
|
<el-radio-group @change="doSearch"
|
||||||
|
size="small"
|
||||||
|
v-model="pageForm.isTakePartIn">
|
||||||
|
<el-radio label="" border>全部</el-radio>
|
||||||
|
<el-radio label="true" border>已参加</el-radio>
|
||||||
|
<el-radio label="false" border>未参加</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item class="flex-grow-1">
|
||||||
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<el-form-item label="线路选择">
|
<el-form-item label="线路选择">
|
||||||
<el-select v-model="pageForm.takePartInLineId" placeholder="请选择线路" clearable
|
<el-select v-model="pageForm.takePartInLineId" placeholder="请选择线路" filterable clearable
|
||||||
style="width: 100%">
|
style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in takePartInLines"
|
v-for="item in takePartInLines"
|
||||||
@@ -405,7 +415,8 @@ layout("/layouts/platform.html"){
|
|||||||
unionId: '',
|
unionId: '',
|
||||||
signUpMode: 1,
|
signUpMode: 1,
|
||||||
lotId: '',
|
lotId: '',
|
||||||
regionalNature: ''
|
regionalNature: '',
|
||||||
|
isTakePartIn: ''
|
||||||
},
|
},
|
||||||
takePartInLines: [],
|
takePartInLines: [],
|
||||||
tableColumns: [
|
tableColumns: [
|
||||||
@@ -451,6 +462,7 @@ layout("/layouts/platform.html"){
|
|||||||
signUpMode: 1,
|
signUpMode: 1,
|
||||||
lotId: '',
|
lotId: '',
|
||||||
regionalNature: '',
|
regionalNature: '',
|
||||||
|
isTakePartIn: '',
|
||||||
pageNumber: 1,
|
pageNumber: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
totalCount: 0,
|
totalCount: 0,
|
||||||
@@ -614,11 +626,19 @@ layout("/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
noSignExport() {
|
async noSignExport() {
|
||||||
|
const canExport = await this.checkExportConfig(this.pageForm.year)
|
||||||
|
if (!canExport) {
|
||||||
|
return
|
||||||
|
}
|
||||||
window.open('/platform/theRapyRecuperation/schoolUnionUserQuery/noSignExport?year=' + this.pageForm.year)
|
window.open('/platform/theRapyRecuperation/schoolUnionUserQuery/noSignExport?year=' + this.pageForm.year)
|
||||||
},
|
},
|
||||||
doExport() {
|
async doExport() {
|
||||||
const {year, userName, loginName, unionId, signUpMode, regionalNature, takePartInLineId, lotId} = this.pageForm
|
const canExport = await this.checkExportConfig(this.pageForm.year)
|
||||||
|
if (!canExport) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const {year, userName, loginName, unionId, signUpMode, regionalNature, isTakePartIn, takePartInLineId, lotId} = this.pageForm
|
||||||
window.open('/platform/theRapyRecuperation/schoolUnionUserQuery/exportXlsx?year=' +
|
window.open('/platform/theRapyRecuperation/schoolUnionUserQuery/exportXlsx?year=' +
|
||||||
year
|
year
|
||||||
+ '&userName=' + userName
|
+ '&userName=' + userName
|
||||||
@@ -626,10 +646,28 @@ layout("/layouts/platform.html"){
|
|||||||
+ '&unionId=' + unionId
|
+ '&unionId=' + unionId
|
||||||
+ '&signUpMode=' + signUpMode
|
+ '&signUpMode=' + signUpMode
|
||||||
+ '®ionalNature=' + regionalNature
|
+ '®ionalNature=' + regionalNature
|
||||||
|
+ '&isTakePartIn=' + isTakePartIn
|
||||||
+ '&takePartInLineId=' + takePartInLineId
|
+ '&takePartInLineId=' + takePartInLineId
|
||||||
+ '&lotId=' + lotId)
|
+ '&lotId=' + lotId)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
async checkExportConfig(year) {
|
||||||
|
try {
|
||||||
|
const res = await $.post('/platform/theRapyRecuperation/TheRapyConfig/findOne', {
|
||||||
|
year: year || this.pageForm.year
|
||||||
|
})
|
||||||
|
// 导出依赖年度疗休养配置生成动态列,配置缺失时先提示,避免打开空白下载页。
|
||||||
|
if (res.code !== 0 || !res.data) {
|
||||||
|
this.$message.warning('当前年度疗休养配置不存在,请先维护年度配置')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
} catch (e) {
|
||||||
|
this.$message.warning('年度疗休养配置校验失败,请稍后重试')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// 打开设置参加人员
|
// 打开设置参加人员
|
||||||
openSetUpPart() {
|
openSetUpPart() {
|
||||||
const selection = this.$refs.tableRef.selection
|
const selection = this.$refs.tableRef.selection
|
||||||
|
|||||||
Reference in New Issue
Block a user