根据status进行批量修改(Approve和Rejected)(批准还是拒绝)

  一   jsp层     


<td class="text-center">  
        <c:if test="${trainingApply.status == '0' || trainingApply.status == '80'}">
         <input type="checkbox" name="applyId" value="${trainingApply.id }" userId="${trainingApply.user.id}"/> &nbsp; 
        </c:if>
</td> 



 <label class="col-sm-1 control-label">Status</label>

<div class="col-sm-2">
 <select class="form-control" name="status">
 <option value=""> - All - </option>
 <option value="0">Applied</option>

 <option value="10">Approved</option>

                                  <option value="80">Rejected</option>
</select>
 </div> 



       <div class="form-group">
                    <a class="btn btn-success  pull-right" οnclick="updateApply(10)"  style="color: white; margin: 4px 50px 0px 0px;" >
                                      Approve
                    </a>
                    <a class="btn btn-danger  pull-right" οnclick="updateApply(80)" style="color: white; margin: 4px -140px 0px 0px;" >
                                      Reject
                     </a>
        </div>  


function updateApply(status) {

if (status == 10) {
var userAvailable = judgeUserUnValidate();
if (!userAvailable) {
return;
}
}

var msg = status == 10 ? 'Are you sure to approve the application?' : 'Are you sure to reject the application?';
$.confirm(msg, {ok:function(){

var applyIds =[];
var userIds =[];
                 $('input[name="applyId"]:checked').each(function(){
                applyIds.push($(this).val());  
                  });
        
                 $('input[name="applyId"]:checked').each(function(){
                userIds.push($(this).attr('userId'));  
                  });


/*

push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。

*/
        
                 if (!applyIds || applyIds.length < 1) {
                $.alert("Select training apply please.")
        return;
        }
        
 var uri = "${path}/arwen/courseapply/updateApplyList?status=" + status + "&ids=" + applyIds + "&userIds=" + userIds;
    $.post(uri, function(data){
    if (data) {
    if (data.result == true) {
    $.alert("<spring:message code="admin.common.msg.success"/>", {ok:function() { 
    window.location.href= "/arwen/courseapply/list"; 
    }
    })
    } else {
  $.alert(data.message);
    }
    }
  });  
    
}
});

};



二  controller层

@RequestMapping("/updateApplyList")
@RequireLogin
@ResponseBody
@AccessControl("course_app_approval")
public ResultResponse updateApplyList(HttpServletRequest request, Integer status, Long[] ids, Long[] userIds) {
RequestContext requestContext = new RequestContext(request);
Locale locale = requestContext.getLocale();
ResultResponse rr = new ResultResponse(false);
try {
if (ArrayUtils.isNotEmpty(ids)) {
Long optBy = getLoginUser().to(UserInfo.class).getId();
this.courseApplyService.updateApplyList(status, Arrays.asList(ids), locale, Arrays.asList(userIds), optBy);
rr.setResult(true);
} else {
rr.setMessage("Select training apply please.");
}
} catch (Exception e) {
ERROR.error(this.getClass().getSimpleName(), e);
rr.setMessage(e.getMessage());
}
return rr;
}



三 service层

int updateApplyList(Integer status, List<Long> applyIds, Locale locale, List<Long> userIds, Long uptUserId);


        @Override
@Transactional
public int updateApplyList(Integer status, List<Long> applyIds, Locale locale, List<Long> userIds, Long uptUserId) {
int num = this.trainingApplyDAO.updateApplyList(status, applyIds, uptUserId);
sendEmail(num, status, applyIds, userIds, locale);
return num;

}


四 DAO层

       private static final String HQL_Batch_Apply = "update TrainingApply ta set ta.status = :astatus, ta.updateDate = :bdate, ta.updateBy = :cupdateBy where id in (:dids)";


public int updateApplyList(Integer status, List<Long> ids, Long uptUserId) {
if (CollectionUtils.isNotEmpty(ids)) {
return this.bulkUpdate(HQL_Batch_Apply, status, new Date(), uptUserId, ids);
}
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值