commit
This commit is contained in:
@@ -80,11 +80,9 @@ public class SysLoginController {
|
|||||||
|
|
||||||
|
|
||||||
@At("")
|
@At("")
|
||||||
@Ok("re")
|
@Ok("beetl:/platform/sys/login.html")
|
||||||
@Filters
|
@Filters
|
||||||
public String login(HttpServletRequest req, HttpSession session) {
|
public void login(HttpServletRequest req, HttpSession session) {
|
||||||
// return "";
|
|
||||||
return "beetl:/platform/sys/login.html";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@At("/noPermission")
|
@At("/noPermission")
|
||||||
|
|||||||
+7
@@ -16,6 +16,8 @@ import io.v.nutz.sys.services.SysUserService;
|
|||||||
import io.v.nutz.web.commons.base.Globals;
|
import io.v.nutz.web.commons.base.Globals;
|
||||||
import io.v.nutz.web.commons.slog.annotation.SLog;
|
import io.v.nutz.web.commons.slog.annotation.SLog;
|
||||||
import io.v.nutz.web.commons.utils.ShiroUtil;
|
import io.v.nutz.web.commons.utils.ShiroUtil;
|
||||||
|
import io.v.nutz.zhgh.staffmanage.member.MemberMode;
|
||||||
|
import io.v.nutz.zhgh.staffmanage.member.WelfareMemberMode;
|
||||||
import io.v.nutz.zhgh.staffmanage.member.handle.MemberApplyToDoHandler;
|
import io.v.nutz.zhgh.staffmanage.member.handle.MemberApplyToDoHandler;
|
||||||
import io.v.nutz.zhgh.staffmanage.member.model.MemberApplyRecord;
|
import io.v.nutz.zhgh.staffmanage.member.model.MemberApplyRecord;
|
||||||
import io.v.nutz.zhgh.staffmanage.member.param.pageForm.MemberApplyPageForm;
|
import io.v.nutz.zhgh.staffmanage.member.param.pageForm.MemberApplyPageForm;
|
||||||
@@ -139,7 +141,12 @@ public class MemberApplySchoolUnionAuditController {
|
|||||||
Sys_user sysUser = new Sys_user();
|
Sys_user sysUser = new Sys_user();
|
||||||
BeanUtil.copyProperties(record, sysUser);
|
BeanUtil.copyProperties(record, sysUser);
|
||||||
sysUser.setId(user.getId());
|
sysUser.setId(user.getId());
|
||||||
|
// 入会审核通过后,直接将用户设置为正式会员和正式福利会员,避免申请期间的旧状态覆盖当前结果。
|
||||||
|
sysUser.setMember(MemberMode.NORMAL.getCode());
|
||||||
|
sysUser.setWelfareMember(WelfareMemberMode.NORMAL.getCode());
|
||||||
sysUser.setMemberJoinTime(new Date());
|
sysUser.setMemberJoinTime(new Date());
|
||||||
|
// 用户已在申请期间成为福利会员时保留原加入时间,否则以本次审核通过时间作为加入时间。
|
||||||
|
sysUser.setWelfareMemberJoinTime(new Date());
|
||||||
dao.updateIgnoreNull(sysUser);
|
dao.updateIgnoreNull(sysUser);
|
||||||
|
|
||||||
// 还要设置会员角色
|
// 还要设置会员角色
|
||||||
|
|||||||
@@ -49,8 +49,8 @@ public class WelfareExportEntityTc {
|
|||||||
// @Excel(name = "收货信息", width = 100d)
|
// @Excel(name = "收货信息", width = 100d)
|
||||||
private String receiveAddress;
|
private String receiveAddress;
|
||||||
|
|
||||||
//@Excel(name = "快递单号", width = 40d)
|
@Excel(name = "快递单号", width = 40d)
|
||||||
//private String courierNumber;
|
private String courierNumber;
|
||||||
|
|
||||||
@Excel(name = "实名签字", width = 20d, type = 2 , imageType = 2, height = 12d)
|
@Excel(name = "实名签字", width = 20d, type = 2 , imageType = 2, height = 12d)
|
||||||
private byte[] qzBytes;
|
private byte[] qzBytes;
|
||||||
|
|||||||
@@ -459,6 +459,7 @@ public class WelfareSingleServiceImpl extends ViServiceImpl<WelfareProject> impl
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<NutMap> receivePageData(String projectId, String welfareUnitCode, String month) {
|
public List<NutMap> receivePageData(String projectId, String welfareUnitCode, String month) {
|
||||||
|
// 快递单号保存在独立表中,按福利项目、用户和套餐关联,避免不同套餐的运单号相互混入。
|
||||||
Sql sql = Sqls.create("""
|
Sql sql = Sqls.create("""
|
||||||
SELECT
|
SELECT
|
||||||
u.loginname AS loginName,
|
u.loginname AS loginName,
|
||||||
@@ -472,7 +473,7 @@ public class WelfareSingleServiceImpl extends ViServiceImpl<WelfareProject> impl
|
|||||||
IF(LOCATE('undefined',wpus.receiveAddress)>0,NULL,wpus.receiveAddress) as receiveAddress,
|
IF(LOCATE('undefined',wpus.receiveAddress)>0,NULL,wpus.receiveAddress) as receiveAddress,
|
||||||
wpus.userSign,
|
wpus.userSign,
|
||||||
GROUP_CONCAT(DISTINCT wpso.optionName ,'(',wpus.selectNum,'份)') optionName,
|
GROUP_CONCAT(DISTINCT wpso.optionName ,'(',wpus.selectNum,'份)') optionName,
|
||||||
wpus.courierNumber,
|
GROUP_CONCAT(DISTINCT wcn.courierNumber) AS courierNumber,
|
||||||
if(u.member = 1, '是', '否') as memberStatus
|
if(u.member = 1, '是', '否') as memberStatus
|
||||||
FROM
|
FROM
|
||||||
welfare_project_user_selection wpus
|
welfare_project_user_selection wpus
|
||||||
@@ -480,6 +481,9 @@ public class WelfareSingleServiceImpl extends ViServiceImpl<WelfareProject> impl
|
|||||||
LEFT JOIN welfare_project_subject_option wpso ON wpso.id = wpus.selectOptionId
|
LEFT JOIN welfare_project_subject_option wpso ON wpso.id = wpus.selectOptionId
|
||||||
LEFT JOIN view_welfare_list vwl on vwl.id = wpus.selectUserId AND wpus.welfareId=vwl.projectId
|
LEFT JOIN view_welfare_list vwl on vwl.id = wpus.selectUserId AND wpus.welfareId=vwl.projectId
|
||||||
LEFT JOIN welfare_list wl ON wl.userId = wpus.selectUserId AND wl.projectId = vwl.projectId
|
LEFT JOIN welfare_list wl ON wl.userId = wpus.selectUserId AND wl.projectId = vwl.projectId
|
||||||
|
LEFT JOIN welfare_courier_number wcn ON wcn.welfareId = wpus.welfareId
|
||||||
|
AND wcn.selectUserId = wpus.selectUserId
|
||||||
|
AND wcn.selectOptionId = wpus.selectOptionId
|
||||||
$condition
|
$condition
|
||||||
$monthCnd
|
$monthCnd
|
||||||
""").setParam("welfareId", projectId);
|
""").setParam("welfareId", projectId);
|
||||||
@@ -1221,11 +1225,11 @@ public class WelfareSingleServiceImpl extends ViServiceImpl<WelfareProject> impl
|
|||||||
|
|
||||||
});
|
});
|
||||||
ExportParams exportParams = new ExportParams();
|
ExportParams exportParams = new ExportParams();
|
||||||
exportParams.setType(ExcelType.HSSF);
|
exportParams.setType(ExcelType.XSSF);
|
||||||
exportParams.setSheetName(project.getName());
|
exportParams.setSheetName(project.getName());
|
||||||
try {
|
try {
|
||||||
ViTool.excelResponse(response, (project.getName() + (flag ? "已选名单" : "未选名单")) + ".xls");
|
ViTool.excelResponse(response, (project.getName() + (flag ? "已选名单" : "未选名单")) + ".xlsx");
|
||||||
Workbook workbook = new HSSFWorkbook();
|
Workbook workbook = new XSSFWorkbook();
|
||||||
ExcelExportService service = new ExcelExportService();
|
ExcelExportService service = new ExcelExportService();
|
||||||
service.createSheet(workbook, exportParams, WelfareExportEntityTc.class, welfareExportEntityTcList);
|
service.createSheet(workbook, exportParams, WelfareExportEntityTc.class, welfareExportEntityTcList);
|
||||||
ServletOutputStream outputStream = response.getOutputStream();
|
ServletOutputStream outputStream = response.getOutputStream();
|
||||||
|
|||||||
@@ -256,19 +256,24 @@ layout("/mobile/platform.html"){
|
|||||||
message: "保存后可在我的申请里面再次编辑,您确定要保存吗?",
|
message: "保存后可在我的申请里面再次编辑,您确定要保存吗?",
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: "取消"
|
cancelButtonText: "取消"
|
||||||
}).then(async () => {
|
}).then(() => {
|
||||||
const formData = this.formData
|
const formData = this.formData
|
||||||
|
// 出生年月统一按年月日提交,避免浏览器 Date 字符串直接写入申请记录。
|
||||||
|
this.$set(formData, "birthday", this.normalizeBirthday(formData.birthday))
|
||||||
if (this.formData.families) {
|
if (this.formData.families) {
|
||||||
formData.families = JSON.stringify(this.formData.families)
|
formData.families = JSON.stringify(this.formData.families)
|
||||||
}
|
}
|
||||||
const resp = await $.post('/platform/member/apply/submit/doSave', formData)
|
$.post('/platform/member/apply/submit/doSave', formData)
|
||||||
if (resp.code === 0) {
|
.then((resp) => {
|
||||||
this.$toast.success('操作成功')
|
if (resp.code === 0) {
|
||||||
this.user.member = true
|
this.$toast.success('操作成功')
|
||||||
pjaxReplace('/platform/member/apply/mine/h5')
|
this.user.member = true
|
||||||
} else {
|
pjaxReplace('/platform/member/apply/mine/h5')
|
||||||
this.$toast.fail(resp.msg)
|
} else {
|
||||||
}
|
this.$toast.fail(resp.msg)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.always(() => {})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
doSubmit(){
|
doSubmit(){
|
||||||
@@ -287,24 +292,38 @@ layout("/mobile/platform.html"){
|
|||||||
message: "提交后将进入审核流程,无法再进行编辑,您确定要提交申请吗?",
|
message: "提交后将进入审核流程,无法再进行编辑,您确定要提交申请吗?",
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: "取消"
|
cancelButtonText: "取消"
|
||||||
}).then(async () => {
|
}).then(() => {
|
||||||
const formData = this.formData
|
const formData = this.formData
|
||||||
|
// 出生年月统一按年月日提交,保证审核通过后写入用户表的数据格式一致。
|
||||||
|
this.$set(formData, "birthday", this.normalizeBirthday(formData.birthday))
|
||||||
if (this.formData.families) {
|
if (this.formData.families) {
|
||||||
formData.families = JSON.stringify(this.formData.families)
|
formData.families = JSON.stringify(this.formData.families)
|
||||||
}
|
}
|
||||||
const resp = await $.post('/platform/member/apply/submit/doSubmit', formData)
|
$.post('/platform/member/apply/submit/doSubmit', formData)
|
||||||
if (resp.code === 0) {
|
.then((resp) => {
|
||||||
this.$toast.success('操作成功')
|
if (resp.code === 0) {
|
||||||
this.user.member = true
|
this.$toast.success('操作成功')
|
||||||
pjaxReplace('/platform/member/apply/mine/h5')
|
this.user.member = true
|
||||||
} else {
|
pjaxReplace('/platform/member/apply/mine/h5')
|
||||||
this.$toast.fail(resp.msg)
|
} else {
|
||||||
}
|
this.$toast.fail(resp.msg)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.always(() => {})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
onDateConfirm(value) {
|
onDateConfirm(value) {
|
||||||
this.formData.birthday = value;
|
// 日期选择器返回 Date 对象,需要先转换为标准日期字符串再保存到表单。
|
||||||
this.showDatePicker = false;
|
this.$set(this.formData, "birthday", this.normalizeBirthday(value))
|
||||||
|
this.datePicker = false
|
||||||
|
},
|
||||||
|
// 将日期选择器或历史数据中的出生年月转换为后端约定的 YYYY-MM-DD 字符串。
|
||||||
|
normalizeBirthday(value) {
|
||||||
|
if (!value) {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
const birthday = moment(value)
|
||||||
|
return birthday.isValid() ? birthday.format("YYYY-MM-DD") : ""
|
||||||
},
|
},
|
||||||
async validateApply() {
|
async validateApply() {
|
||||||
if (this.id) {
|
if (this.id) {
|
||||||
@@ -337,6 +356,7 @@ layout("/mobile/platform.html"){
|
|||||||
$.post("/platform/member/apply/submit/findApplyById", { id: this.id }).then((res) => {
|
$.post("/platform/member/apply/submit/findApplyById", { id: this.id }).then((res) => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.formData = res.data
|
this.formData = res.data
|
||||||
|
this.$set(this.formData, "birthday", this.normalizeBirthday(this.formData.birthday))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@@ -366,7 +386,7 @@ layout("/mobile/platform.html"){
|
|||||||
this.$set(this.formData, "userId", id)
|
this.$set(this.formData, "userId", id)
|
||||||
this.$set(this.formData, "username", username)
|
this.$set(this.formData, "username", username)
|
||||||
this.$set(this.formData, "loginname", loginname)
|
this.$set(this.formData, "loginname", loginname)
|
||||||
this.$set(this.formData, "birthday", birthday)
|
this.$set(this.formData, "birthday", this.normalizeBirthday(birthday))
|
||||||
this.$set(this.formData, "sex", sex)
|
this.$set(this.formData, "sex", sex)
|
||||||
this.$set(this.formData, "idCard", idCard)
|
this.$set(this.formData, "idCard", idCard)
|
||||||
this.$set(this.formData, "nation", nation)
|
this.$set(this.formData, "nation", nation)
|
||||||
|
|||||||
@@ -292,6 +292,8 @@ layout("/layouts/platform.html"){
|
|||||||
this.$confirm("保存后可在我的申请里面再次编辑,您确定要保存吗?", "提示", { type: "warning" })
|
this.$confirm("保存后可在我的申请里面再次编辑,您确定要保存吗?", "提示", { type: "warning" })
|
||||||
.then(() => {
|
.then(() => {
|
||||||
const formData = this.formData
|
const formData = this.formData
|
||||||
|
// 出生年月统一按年月日提交,避免浏览器 Date 字符串直接写入申请记录。
|
||||||
|
this.$set(formData, "birthday", this.normalizeBirthday(formData.birthday))
|
||||||
if (formData.families) {
|
if (formData.families) {
|
||||||
formData.families = JSON.stringify(this.formData.families)
|
formData.families = JSON.stringify(this.formData.families)
|
||||||
}
|
}
|
||||||
@@ -323,6 +325,8 @@ layout("/layouts/platform.html"){
|
|||||||
this.$confirm("提交后将进入审核流程,无法再进行编辑,您确定要提交申请吗?", "提示", { type: "warning" })
|
this.$confirm("提交后将进入审核流程,无法再进行编辑,您确定要提交申请吗?", "提示", { type: "warning" })
|
||||||
.then(() => {
|
.then(() => {
|
||||||
const formData = this.formData
|
const formData = this.formData
|
||||||
|
// 出生年月统一按年月日提交,保证审核通过后写入用户表的数据格式一致。
|
||||||
|
this.$set(formData, "birthday", this.normalizeBirthday(formData.birthday))
|
||||||
if (formData.families) {
|
if (formData.families) {
|
||||||
formData.families = JSON.stringify(this.formData.families)
|
formData.families = JSON.stringify(this.formData.families)
|
||||||
}
|
}
|
||||||
@@ -340,6 +344,14 @@ layout("/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 将日期选择器或历史数据中的出生年月转换为后端约定的 YYYY-MM-DD 字符串。
|
||||||
|
normalizeBirthday(value) {
|
||||||
|
if (!value) {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
const birthday = moment(value)
|
||||||
|
return birthday.isValid() ? birthday.format("YYYY-MM-DD") : ""
|
||||||
|
},
|
||||||
async validateApply() {
|
async validateApply() {
|
||||||
if (this.formData.id) {
|
if (this.formData.id) {
|
||||||
return
|
return
|
||||||
@@ -363,6 +375,7 @@ layout("/layouts/platform.html"){
|
|||||||
$.post("/platform/member/apply/submit/findApplyById", { id: this.id }).then((res) => {
|
$.post("/platform/member/apply/submit/findApplyById", { id: this.id }).then((res) => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.formData = res.data
|
this.formData = res.data
|
||||||
|
this.$set(this.formData, "birthday", this.normalizeBirthday(this.formData.birthday))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@@ -392,7 +405,7 @@ layout("/layouts/platform.html"){
|
|||||||
this.$set(this.formData, "userId", id)
|
this.$set(this.formData, "userId", id)
|
||||||
this.$set(this.formData, "username", username)
|
this.$set(this.formData, "username", username)
|
||||||
this.$set(this.formData, "loginname", loginname)
|
this.$set(this.formData, "loginname", loginname)
|
||||||
this.$set(this.formData, "birthday", birthday)
|
this.$set(this.formData, "birthday", this.normalizeBirthday(birthday))
|
||||||
this.$set(this.formData, "sex", sex)
|
this.$set(this.formData, "sex", sex)
|
||||||
this.$set(this.formData, "idCard", idCard)
|
this.$set(this.formData, "idCard", idCard)
|
||||||
this.$set(this.formData, "nation", nation)
|
this.$set(this.formData, "nation", nation)
|
||||||
|
|||||||
@@ -732,8 +732,8 @@ layout("/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
this.$refs.reimbursementForm.validate(valid => {
|
this.$refs.reimbursementForm.validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
window.open(loc() + '/doExportReimbursement?projectId=' + this.pageForm.projectId + "&optionId=" + this.reimbursementFormData.optionId
|
window.open(loc() + '/doExportReimbursement?projectId=' + this.pageForm.projectId + "&optionId=" + this.pageForm.optionId
|
||||||
+ "&personType=" + this.reimbursementFormData.personType)
|
+ "&personType=" + this.pageForm.personType)
|
||||||
this.reimbursementDialog = false
|
this.reimbursementDialog = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -744,7 +744,7 @@ layout("/layouts/platform.html"){
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
window.open(loc() + '/doExcelByOptionId?projectId=' + this.pageForm.projectId + "&optionId=" + this.reimbursementFormData.optionId)
|
window.open(loc() + '/doExcelByOptionId?projectId=' + this.pageForm.projectId + "&optionId=" + this.pageForm.optionId)
|
||||||
},
|
},
|
||||||
//查看快递单号
|
//查看快递单号
|
||||||
viewCourierNumber(row) {
|
viewCourierNumber(row) {
|
||||||
|
|||||||
Reference in New Issue
Block a user