hz-zhhq-app-service/greenH5modul/.svn/pristine/f3/f3dc2493337a0b1ed704808cb49...

503 lines
22 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.nationalelectric.greenH5;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.nationalelectirc.Constant.ApplyRoleConstant;
import com.nationalelectirc.Constant.Constant;
import com.nationalelectirc.utils.RestResult;
import com.nationalelectric.greenH5.DTO.GreenMealTicketApplyDTO;
import com.nationalelectric.greenH5.bizc.IGreenMealTicketNumBizc;
import com.nationalelectric.greenH5.bizc.IGreenOperateLogBizc;
import com.sgcc.uap.persistence.IHibernateDao;
import com.sgcc.uap.service.validator.ServiceValidatorBaseException;
import com.sgcc.uap.service.validator.ServiceValidatorUtil;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.*;
import java.util.concurrent.locks.ReentrantLock;
import javax.annotation.Resource;
import com.nationalelectric.greenH5.po.GreenApplyList;
import com.nationalelectric.greenH5.po.GreenDepartment;
import com.nationalelectric.greenH5.po.GreenMealTicket;
import com.nationalelectric.greenH5.po.GreenMealTicketApply;
import com.nationalelectric.greenH5.po.GreenMealTicketIssue;
import com.nationalelectric.greenH5.po.GreenUserInfo;
import com.nationalelectric.greenH5.po.GreenUserRoleRel;
import com.nationalelectric.greenH5.utils.DateUtil;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.RequestBody;
/**
* <b>概述</b><br>
* <p>
* <b>功能</b><br>
*
* @author bowei
*/
@Controller
@RequestMapping("/greenMealTicketApply")
public class GreenMealTicketApplyController extends GreenBaseController{
@Resource
private IHibernateDao hibernateDao;
@Resource
private IGreenMealTicketNumBizc greenMealTicketNumBizc;
@Resource
private IGreenOperateLogBizc greenOperateLogBizc;
private ReentrantLock lock = new ReentrantLock();
/**员工-部门申请*/
@SuppressWarnings("deprecation")
@RequestMapping(value = "/apply" , method = RequestMethod.POST)
@ResponseBody
@Transactional(rollbackFor=Exception.class)
public RestResult apply(@RequestBody Object requestBody){
String flag = "";
GreenMealTicketApplyDTO greenMealTicketApplyDTO = new ObjectMapper().convertValue(requestBody, new TypeReference<GreenMealTicketApplyDTO>() {});
try {
String userId = greenMealTicketApplyDTO.getUserId();
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
flag = greenMealTicketApplyDTO.getFlag();
String ticketVariety = Constant.AUTO_ISSUE ;
ServiceValidatorUtil.validatorJavaBean(greenMealTicketApplyDTO);
/** 根据是 员工 还是 部门 来判断 */
/** 如果是员工 即领取 则查询ticket是否 够 */
/** 如果是部门申请则 置为 待审批 插入餐券申请表 还要插入我的申请表 ,审批过了才能插入 ticket num 表 */
if (flag == null && "".equals(flag)) {
return new RestResult(Constant.FAILED, "返回异常");
}
//实体转换
GreenMealTicketApply greenMealTicketApply = new GreenMealTicketApply();
greenMealTicketApply.setApplyReason(greenMealTicketApplyDTO.getApplyReason());
greenMealTicketApply.setEndDate(greenMealTicketApplyDTO.getEndDate());
greenMealTicketApply.setStartDate(greenMealTicketApplyDTO.getStartDate());
greenMealTicketApply.setMealTicketNum(greenMealTicketApplyDTO.getMealTicketNum());
greenMealTicketApply.setMealTicketVariety(greenMealTicketApplyDTO.getMealTicketVariety());
//greenMealTicketApply.setUserId(greenMealTicketApplyDTO.getId());
greenMealTicketApply.setUserId(greenMealTicketApplyDTO.getUserId());
GreenUserInfo userInfo = getUserInfo(String.valueOf(greenMealTicketApplyDTO.getUserId()));
String title = userInfo.getTitle();
Long departmentId = userInfo.getDepartmentId();
greenMealTicketApply.setApplicantName(userInfo.getRealName());
if (title == null && "".equals(title)) {
return new RestResult(Constant.FAILED, "不是本公司职员不能使用餐券功能!");
}
//判断申请-领取的时间是否在自然月
String startDate2 = greenMealTicketApplyDTO.getStartDate();
String[] split = startDate2.split("-");
String endDate2 = greenMealTicketApplyDTO.getEndDate();
String[] split3 = endDate2.split("-");
if (!(split[0] + split[1]).equals(split3[0] + split3[1])) {
return new RestResult(Constant.FAILED, "请不要跨月领取餐券!");
}
String format = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
String[] split2 = format.split("-");
if (Integer.valueOf((split[0] + split[1] + split[2])) < Integer.valueOf((split2[0] + split2[1] + split2[2])) || Integer.valueOf((split3[0] + split3[1] + split3[2])) < Integer.valueOf((split2[0] + split2[1] + split2[2]))) {
return new RestResult(Constant.FAILED, "时间范围请填写将来时间!");
}
//判断 小于20号 则只能领取本月餐券
List<GreenMealTicketIssue> list = hibernateDao.queryForListWithSql("SELECT ISSUE_DAY FROM GREEN_MEAL_TICKET_ISSUE WHERE is_deleted = 'N' order by id desc limit 1",new BeanPropertyRowMapper(GreenMealTicketIssue.class));
if (list.size() == 0) {
return new RestResult(Constant.FAILED, "每月下发日期未设置,不能判断领取(申请)餐券日期范围!");
}
Integer issueDay = Integer.valueOf(list.get(0).getIssueDay());
if (Integer.valueOf(split2[2]) < issueDay && Integer.valueOf(split[1]) > Integer.valueOf(split2[1]) ) {
return new RestResult(Constant.FAILED, "当前时间未到" + issueDay + "号,只能领取本月餐券!");
}
//判断 下一个月时间
Calendar cal = Calendar.getInstance();
cal.add(cal.MONTH, 1);
SimpleDateFormat dft = new SimpleDateFormat("yyyyMM");
String preMonth = dft.format(cal.getTime());
if (Integer.valueOf(split2[2]) >= issueDay && Integer.valueOf(split[0] + split[1]) > Integer.valueOf(preMonth) ) {
return new RestResult(Constant.FAILED, "当前时间超过" + issueDay + "号,只能领取本月及下月餐券!");
}
// GreenDepartment department = getDepartment(departmentId);
// //拿到员工的所属部门的父级部门
// Long parentId = department.getParentId();
// //若父级为总部或银座 则为当前部门id
// if (parentId == 1 || parentId == 2 || parentId == 0) {
// parentId = department.getId();
// }
//申请 员工不能申请
if ("申请".equals(flag)) {
// //根据角色名称查询'餐券申请审批'的用户
// String ticketAppSql = "SELECT user_name userName FROM GREEN_USER_ROLE_REL WHERE role_name='餐券申请审批'";
//
// List<GreenUserRoleRel> ticketAppList = hibernateDao.queryForListWithSql(ticketAppSql, new Object[] {},
// new BeanPropertyRowMapper(GreenUserRoleRel.class));
List queryForListWithSql = hibernateDao.queryForListWithSql(
"Select * from GREEN_MEAL_TICKET_NUM where department_id = ? and is_deleted = 'N' and date_format(t.effective_date, '%Y-%m') =DATE_FORMAT(?, '%Y-%m') limit 1",
new Object[] { departmentId });
if (queryForListWithSql.isEmpty()) {
return new RestResult(Constant.FAILED, "当前部门未设置餐券下发,请联系下发餐券管理员对您的部门下发餐券!");
}
//title-1 部门 2员工
// //判断时间段是否在同一天 申请数叠在一起?
// SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
// long startDate = Long.valueOf(greenMealTicketApplyDTO.getStartDate().replaceAll("[-\\s:]",""));
// long endDate = Long.valueOf(greenMealTicketApplyDTO.getEndDate().replaceAll("[-\\s:]",""));
// Long c = sf.parse(String.valueOf(endDate)).getTime()-sf.parse(String.valueOf(startDate)).getTime();
// long d = c/1000/60/60/24;
//
// if ( d > 0 ) {
// greenMealTicketApply.setMealTicketNum(String.valueOf(Long.valueOf(greenMealTicketApplyDTO.getMealTicketNum()) * d));
// }
greenMealTicketApply.setApplyStatus("1");
greenMealTicketApply.setApplicantDepartmentId(departmentId);
greenMealTicketApply.setApplyDate(DateUtil.now());
// greenMealTicketApply.setApprovalStatus(Constant.APPROVAL_DOING);
hibernateDao.saveObject(greenMealTicketApply);
/**插入我的申请表*/
GreenApplyList applyList = new GreenApplyList();
applyList.setDetailId(greenMealTicketApply.getId());
applyList.setUserId(greenMealTicketApply.getUserId());
applyList.setApplyType("01");
applyList.setApplyTypeName("餐券申请");
applyList.setApplyInfo1(greenMealTicketApply.getStartDate() +"-"+greenMealTicketApply.getEndDate());
applyList.setApplyInfo2(greenMealTicketApply.getApplyReason());
applyList.setApplyTime(DateUtil.now());
applyList.setFirstApproval(ApplyRoleConstant.MEAL_TICKET_APPROVE);
// applyList.setFirstStatus(Constant.APPROVAL_DOING);
//一级审时间
applyList.setFirstApproveTime(new SimpleDateFormat(DateUtil.Y_M_DH_MI_S).format(new Date()));
//创建者
applyList.setCreator("admin");
//修改者
applyList.setModifier("admin");
//创建时间
applyList.setGmtCreated(new Date());
//修改时间
applyList.setGmtModified(new Date());
//删除标识
applyList.setIsDeleted("N");
hibernateDao.saveObject(applyList);
//addLog(Constant.MEAL_TICKET_A, Constant.T_APPLY, Constant.OPERATE_SUCCESS, "申请餐券", Constant.LOG_OPERATE, greenMealTicketApplyDTO.getUserId());
/*
//推送消息给餐券申请审批的用户
String msgname ="审批通知";
String tm = "您有一个【餐券申请】审批";
for (int i = 0; i < ticketAppList.size(); i++) {
String userName = ticketAppList.get(i).getUserName();
//System.out.println(userName);
PushMessageUtil.pushMessage(msgname,tm, userName);
}
*/
}
/** 员工领取 */
if ("领取".equals(flag)) {
lock.lock();
// List<Map<String, Object>> list1 = hibernateDao.queryForListWithSql(
// "Select * from GREEN_MEAL_TICKET_NUM where department_id = ? and issue_date >= ? and issue_date <= ?",
// new Object[] { departmentId,
// greenMealTicketApply.getStartDate(), greenMealTicketApply.getEndDate() });
// if (list1.isEmpty()) {
// return new RestResult(Constant.FAILED, "领取日期未发放餐券,请重新输入", null);
// }
//下发的餐券是一个月的
Integer ticketNum =Integer.valueOf(greenMealTicketApply.getMealTicketNum()) ;
List<Map<String, Object>> list1 = hibernateDao.queryForListWithSql(
"Select * from GREEN_MEAL_TICKET_NUM where department_id = ? and is_deleted = 'N' order by issue_date desc limit 1 ",
new Object[] { departmentId });
if (list1.isEmpty()) {
return new RestResult(Constant.FAILED, "相关部门未发放餐券!", null);
}
List<String> betweenDays = getBetweenDays(greenMealTicketApplyDTO.getStartDate(),greenMealTicketApplyDTO.getEndDate());
StringBuffer stringBuffer = new StringBuffer();
for (String string : betweenDays) {
stringBuffer.append("'"+string + "',");
}
String substring = stringBuffer.substring(0, stringBuffer.length() - 1);
//加锁 防止扣负
String sql = " SELECT ANY_value (n.id) AS id,n.department_id,d. NAME AS departmentName, DATE_FORMAT(n.issue_date, '%Y-%m') AS time, if(t.currentNum=NULL,0,t.currentNum) currentNum,"
+ " sum(n.issue_num) AS 'mealNum' FROM GREEN_MEAL_TICKET_NUM n "
+ " LEFT JOIN GREEN_DEPARTMENT d ON n.department_id = d.id LEFT JOIN ( SELECT b.applicant_department_id AS id, "
+ " count(IF(a.use_status <> '2', TRUE, NULL)) currentNum FROM GREEN_MEAL_TICKET a "
+ " LEFT JOIN GREEN_MEAL_TICKET_APPLY b ON a.ticket_apply_id = b.id WHERE "
+ " a.is_deleted = 'N' AND DATE_FORMAT(a.use_date, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m') GROUP BY "
+ " b.applicant_department_id, DATE_FORMAT(a.use_date, '%Y-%m') DESC ) t on t.id = n.department_id "
+ " where n.is_deleted = 'N' AND DATE_FORMAT(n.issue_date, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m')"
+ " and d.id= ? GROUP BY n.department_id,d. NAME,DATE_FORMAT(n.issue_date, '%Y-%m') ";
List<Map<String, Object>> list3 = hibernateDao.queryForListWithSql(sql, new Object[] { departmentId});
if(list3.size()<=0){
return new RestResult(Constant.FAILED, "该部门无餐券可领取!");
}
Integer c = 0;
Integer mealNum = 0;
if(list3.get(0).get("mealNum")!=null && !"".equals(list3.get(0).get("mealNum"))){
mealNum = Integer.valueOf(list3.get(0).get("mealNum")+"");
if(list3.get(0).get("currentNum")!=null && !"".equals(list3.get(0).get("currentNum"))){
c = Integer.parseInt(list3.get(0).get("currentNum").toString());
}
}
int daynum = DateUtil.getDayPass(greenMealTicketApply.getEndDate(), greenMealTicketApply.getStartDate(), new SimpleDateFormat("yyyy-MM-dd"));
if((mealNum-c) == 0){
return new RestResult(Constant.FAILED, "餐券已用完", null);
}
if((mealNum-c)<ticketNum*(daynum+1)){
return new RestResult(Constant.FAILED, "餐券余量不足", null);
}
// String sqlString = "Select * from GREEN_MEAL_TICKET_NUM where department_id = ? and is_deleted = 'N' AND DATE_FORMAT(NOW(),'%Y-%m-%d') <= ? and (issue_unused_num + extra_unused_num) >=? and issue_date in (" + substring + ") ";
// List<Map<String, Object>> list2 = hibernateDao.queryForListWithSql(
// sqlString,
// new Object[] { departmentId,greenMealTicketApply.getStartDate(), ticketNum});
//
// if (list2.isEmpty() || betweenDays.size() > list2.size()) {
// return new RestResult(Constant.FAILED, "餐券已用完", null);
// }
// greenMealTicketApply.setUserId(669L);
// greenMealTicketApply.setApplicantDepartmentId(332L);
//title-1 部门 2员工
greenMealTicketApply.setApplyStatus("2");
greenMealTicketApply.setApplicantDepartmentId(departmentId);
greenMealTicketApply.setApplyDate(DateUtil.now());
// greenMealTicketApply.setApprovalStatus(Constant.APPROVAL_YES);
hibernateDao.saveObject(greenMealTicketApply);
/** 减去 领取的餐券 */
// if (!list2.isEmpty()) {
// int num = 0;
//
// for (Map<String, Object> map : list2) {
//
// int issue_unused_num = Integer.parseInt(map.get("issue_unused_num").toString());
// int extra_unused_num = Integer.parseInt(map.get("extra_unused_num").toString());
//
// if (ticketNum <= issue_unused_num) {
// num = issue_unused_num - ticketNum;
// hibernateDao.updateWithSql("update GREEN_MEAL_TICKET_NUM set issue_unused_num = ? where id = ? and is_deleted = 'N'",
// new Object[] { num,map.get("id") });
// ticketVariety = Constant.AUTO_ISSUE;
// }else {
// //Integer ticketNum2 =Integer.valueOf(greenMealTicketApply.getMealTicketNum()) ;
// if (ticketNum > issue_unused_num) {
// num =extra_unused_num - (ticketNum - issue_unused_num);
// hibernateDao.updateWithSql("update GREEN_MEAL_TICKET_NUM set issue_unused_num = 0,extra_unused_num = ? where id = ? and is_deleted = 'N'",
// new Object[] { num,map.get("id") });
// ticketVariety = Constant.EXTRA_APPLY;
// }
// }
// }
// }
/**扣券成功,将员工领取的餐券插入餐券表*/
// String ticketNo ="";
Integer mealTicketNum = Integer.parseInt(greenMealTicketApply.getMealTicketNum());
// List<Map<String, Object>> queryForListWithSql = hibernateDao.queryForListWithSql("SELECT * FROM GREEN_SEQ WHERE table_name = 'GREEN_MEAL_TICKET'");
// if (queryForListWithSql.isEmpty()) {
// throw new Exception("返回异常");
// }
// int seqId = Integer.parseInt(String.valueOf(queryForListWithSql.get(0).get("max_id")));
Long id = greenMealTicketApply.getId();
String insertsql = "INSERT INTO GREEN_MEAL_TICKET(ticket_apply_id,use_id,ticket_no,use_date,use_status,ticket_variety,creator,modifier,gmt_created,gmt_modified,is_deleted) VALUES ";
StringBuilder builder = new StringBuilder();
builder.append(insertsql);
//LinkedList<GreenMealTicket> list = new LinkedList<GreenMealTicket>();
//List<String> betweenDays = getBetweenDays(greenMealTicketApply.getStartDate(),greenMealTicketApply.getEndDate());
for (String day : betweenDays) {
String ticketUseId = "CQ" + greenMealTicketApply.getUserId() + day.replace("-", "");
for (int i = 0; i < mealTicketNum.intValue(); i++) {
// ticketNo = GUID.getTicketNo() + String.valueOf(i);
// ticket.setTicketNo(ticketNo);
// GreenMealTicket ticket = new GreenMealTicket();
// ticket.setTicketApplyId(greenMealTicketApply.getId());
// ticket.setTicketVariety(String.valueOf(ticketVariety));
// ticket.setUseStatus(Constant.TICKET_UNUSE);
// ticket.setUseId(ticketUseId);
// ticket.setTicketNo(ticketUseId);
// ticket.setUseDate(day);
builder.append("("+id+ ",'"+ticketUseId+"','"+ticketUseId+"','"+day+"','"+Constant.TICKET_UNUSE+"','"+ticketVariety+"','"+departmentId+"','"+departmentId+"','"+DateUtil.now()+"','"+DateUtil.now()+"','"+"N"+"'" +"),");
// seqId ++;
//hibernateDao.saveObject(ticket);
//list.add(ticket);
}
}
String substring2 = builder.substring(0, builder.length()-1);
//System.out.println(substring2.length());
hibernateDao.updateWithSql(substring2);
//hibernateDao.updateWithSql("update GREEN_SEQ set max_id = ? WHERE table_name = 'GREEN_MEAL_TICKET'",new Object[]{ seqId});
/**插入我的申请表*/
GreenApplyList applyList = new GreenApplyList();
applyList.setDetailId(greenMealTicketApply.getId());
applyList.setUserId(greenMealTicketApply.getUserId());
applyList.setApplyType("07");
applyList.setApplyTypeName("餐券领取");
applyList.setApplyInfo1(greenMealTicketApply.getStartDate() +"-"+greenMealTicketApply.getEndDate());
applyList.setApplyInfo2(greenMealTicketApply.getApplyReason());
applyList.setApplyTime(DateUtil.now());
applyList.setFirstApproval(greenMealTicketApply.getId().toString());
// applyList.setFirstStatus(Constant.RECEIVE_SUCCESS);
//一级审时间
applyList.setFirstApproveTime(new SimpleDateFormat(DateUtil.Y_M_DH_MI_S).format(new Date()));
//创建者
applyList.setCreator("admin");
//修改者
applyList.setModifier("admin");
//创建时间
applyList.setGmtCreated(new Date());
//修改时间
applyList.setGmtModified(new Date());
//删除标识
applyList.setIsDeleted("N");
hibernateDao.saveObject(applyList);
}
//greenOperateLogBizc.addLog(Constant.MEAL_TICKET_B, Constant.T_TAKE, Constant.OPERATE_SUCCESS, "领取餐券", Constant.LOG_OPERATE, greenMealTicketApplyDTO.getUserId());
return new RestResult(Constant.SUCCESS, "成功",flag+"成功");
}catch (ServiceValidatorBaseException e) {
e.printStackTrace();
/*if ("领取".equals(flag)) {
greenOperateLogBizc.addLog(Constant.MEAL_TICKET_B, Constant.T_TAKE, Constant.OPERATE_FAIL, "领取餐券", Constant.LOG_ERROR, greenMealTicketApplyDTO.getUserId());
}else {
greenOperateLogBizc.addLog(Constant.MEAL_TICKET_A, Constant.T_APPLY, Constant.OPERATE_FAIL, "申请餐券", Constant.LOG_ERROR, greenMealTicketApplyDTO.getUserId());
}*/
return new RestResult(Constant.FAILED,e.getMessage());
} catch (Exception e) {
e.printStackTrace();
/* if ("领取".equals(flag)) {
greenOperateLogBizc.addLog(Constant.MEAL_TICKET_B, Constant.T_TAKE, Constant.OPERATE_FAIL, "领取餐券", Constant.LOG_ERROR, greenMealTicketApplyDTO.getUserId());
}else {
greenOperateLogBizc.addLog(Constant.MEAL_TICKET_A, Constant.T_APPLY, Constant.OPERATE_FAIL, "申请餐券", Constant.LOG_ERROR, greenMealTicketApplyDTO.getUserId());
}*/
//设置手动回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return new RestResult(Constant.FAILED, "返回异常");
}finally {
if (lock.isLocked()) {
lock.unlock();
}
}
}
/**
* 根据id查询餐券申请和餐券领取详情
* @param id
* @param applyType
* @return
*/
@SuppressWarnings("unchecked")
public List<Object> getMealTicketApplyInfo(String id,String applyType) {
//返回结果定义
List<Object> resultList = new ArrayList<Object>();
//查询sql
String applyInfoByIdSql = " SELECT mta.*,"
+ " al.detail_id,"
+ " al.apply_type,"
+ " al.apply_type_name,"
+ " al.first_approval,"
+ " al.first_status,"
+ " al.first_approve_time,"
+ " CASE first_status"
+ " WHEN '0' THEN '待审批'"
+ " WHEN '1' THEN '已同意'"
+ " WHEN '2' THEN '已拒绝'"
+ " WHEN '3' THEN '已取消'"
+ " WHEN '12' THEN '领取成功'"
+ " END AS first_status_value"
+ " FROM GREEN_APPLY_LIST al"
+ " INNER JOIN GREEN_MEAL_TICKET_APPLY mta"
+ " ON al.detail_id = mta.id"
+ " WHERE 1=1 AND mta.id = ?"
+ " AND al.apply_type = ?";
//sql执行
resultList = hibernateDao.queryForListWithSql(applyInfoByIdSql,new Object[]{id,applyType});
//返回结果
return resultList;
}
public static List<String> getBetweenDays(String stime,String etime) throws ParseException{
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Date sdate=df.parse(stime);
Date eDate=df.parse(etime);
//long betweendays=(long) ((eDate.getTime()-sdate.getTime())/(1000 * 60 * 60 *24)+0.5);//天数间隔
Calendar c = Calendar.getInstance();
List<String> list=new ArrayList<String>();
while (sdate.getTime()<=eDate.getTime()) {
list.add(df.format(sdate));
//System.out.println(df.format(sdate));
c.setTime(sdate);
c.add(Calendar.DATE, 1); // 日期加1天
sdate = c.getTime();
}
return list;
}
}