| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306 |
- package cn.com.lzt.sign.controller;
- import cn.com.lzt.arrangedutyoperate.dto.UserAndUserPersonnelDto;
- import cn.com.lzt.common.util.StringUtil;
- import cn.com.lzt.sign.entity.*;
- import cn.com.lzt.sign.service.TBMessageService;
- import cn.com.lzt.warehouse.entity.WarehouseEntity;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import java.net.URLEncoder;
- import java.util.*;
- import java.util.logging.Logger;
- import java.util.stream.Collectors;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- import com.alibaba.fastjson.JSONObject;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.http.HttpEntity;
- import org.apache.http.util.EntityUtils;
- import org.jeecgframework.core.common.controller.BaseController;
- import org.jeecgframework.core.common.exception.BusinessException;
- import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
- import org.jeecgframework.core.common.model.json.AjaxJson;
- import org.jeecgframework.core.common.model.json.DataGrid;
- import org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil;
- import org.jeecgframework.core.util.ContextHolderUtils;
- import org.jeecgframework.core.util.ResourceUtil;
- import org.jeecgframework.tag.core.easyui.TagUtil;
- import org.jeecgframework.tag.vo.datatable.SortDirection;
- import org.jeecgframework.web.system.pojo.base.TSBaseUser;
- import org.jeecgframework.web.system.pojo.base.TSUser;
- import org.jeecgframework.web.system.service.SystemService;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.servlet.ModelAndView;
- @Controller
- @RequestMapping({"/tBMessageController"})
- public class TBMessageController
- extends BaseController {
- /* 26 */ private static final Logger logger = Logger.getLogger(String.valueOf(cn.com.lzt.sign.controller.TBMessageController.class));
- @Autowired
- private TBMessageService tBMessageService;
- @Autowired
- private SystemService systemService;
- @RequestMapping(params = {"list"})
- public ModelAndView list(HttpServletRequest request) {
- /* 38 */
- return new ModelAndView("cn/com/lzt/sign/tbmessage/tBMessageList");
- }
- /**
- * 获取当前登录人的审批权限集合
- *
- * @return
- * @author刘梦祥
- * @Date 2021年11月29日00:42:57
- */
- public Map<String, List<String>> getUserRuleMap() {
- // 获取当前操作人的信息
- TSUser user = ResourceUtil.getSessionUser();
- TSBaseUser tsBaseUser = this.systemService.getEntity(TSBaseUser.class, user.getId());
- DataGrid dataGrid1 = new DataGrid();
- CriteriaQuery criteriaQuery1 = new CriteriaQuery(UserAndUserPersonnelDto.class, dataGrid1);
- criteriaQuery1.eq("userid", user.getId());
- criteriaQuery1.add();
- List<UserAndUserPersonnelDto> userAndUserPersonnelDtoList = this.systemService.getListByCriteriaQuery(criteriaQuery1, true);
- Map<String, List<String>> ruleMap = new HashMap<>();
- // 得到登录人的职位
- List<String> departidList = new ArrayList<>();
- if (tsBaseUser != null && tsBaseUser.getDepartid() != null) {
- departidList.add(tsBaseUser.getDepartid());
- }
- // 得到操作人的岗位
- List<String> inPostidList = new ArrayList<>();
- if (userAndUserPersonnelDtoList != null && userAndUserPersonnelDtoList.size() > 0) {
- for (UserAndUserPersonnelDto userInfoDto : userAndUserPersonnelDtoList) {
- if (org.jeecgframework.core.util.StringUtil.isNotEmpty(userInfoDto.getInPostid())) {
- if (!inPostidList.contains(userInfoDto.getInPostid())) {
- inPostidList.add(userInfoDto.getInPostid());
- }
- }
- }
- }
- ruleMap.put("departId", departidList);
- ruleMap.put("inPostid", inPostidList);
- return ruleMap;
- }
- @RequestMapping(params = {"datagrid"})
- public void datagrid(TBMessageEntity tBMessage, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
- StringBuffer queryStr = new StringBuffer();
- queryStr.append(" where 1 = 1 ");
- // 封装标题查询条件
- if (org.jeecgframework.core.util.StringUtil.isNotEmpty(request.getParameter("messageTitle"))) {
- queryStr.append(" and message_title like \"%" + request.getParameter("messageTitle") + "%\"");
- }
- // 封装发送方式查询条件
- if (org.jeecgframework.core.util.StringUtil.isNotEmpty(request.getParameter("messageMode"))) {
- queryStr.append(" and message_mode = \"" + request.getParameter("messageMode") + "\"");
- }
- // 封装审批状态查询条件
- if (org.jeecgframework.core.util.StringUtil.isNotEmpty(request.getParameter("messageApprove"))) {
- queryStr.append(" and message_approve = \"" + request.getParameter("messageApprove") + "\"");
- }
- List<Map<String, Object>> dataGridList = this.systemService.toDataGridByDataGrid(" t_b_message ", "message_spare_two", "request_id", "create_date", dataGrid, queryStr.toString());
- if(dataGridList != null && dataGridList.size() > 0){
- for (Map<String,Object> dataGridItem: dataGridList){
- if(dataGridItem.containsKey("messageFileUrl")){
- if(dataGridItem.get("messageFileUrl") != null && StringUtils.isNotEmpty(String.valueOf(dataGridItem.get("messageFileUrl")))){
- dataGridItem.put("isFile","有附件");
- }else{
- dataGridItem.put("isFile","无附件");
- }
- }
- if(dataGridItem.containsKey("messageApprove")){
- if(dataGridItem.get("messageApprove") != null && StringUtils.isNotEmpty(String.valueOf(dataGridItem.get("messageApprove")))){
- dataGridItem.put("isSend","已发送");
- }else{
- dataGridItem.put("isSend","未发送");
- }
- }
- }
- }
- dataGrid.setResults(dataGridList);
- TagUtil.datagrid(response, dataGrid);
- }
- @RequestMapping(params = {"goAdd"})
- public ModelAndView goAdd(HttpServletRequest request) {
- return new ModelAndView("cn/com/lzt/sign/tbmessage/message-add");
- }
- @RequestMapping(params = {"goEdit"})
- public ModelAndView goEdit(TBMessageEntity messageEntity,HttpServletRequest request) {
- String id = messageEntity.getId();
- messageEntity = (TBMessageEntity) this.tBMessageService.getEntity(TBMessageEntity.class, id);
- TBMessageEntityShow tbMessageEntityShow = new TBMessageEntityShow();
- BeanUtils.copyProperties(messageEntity, tbMessageEntityShow);
- tbMessageEntityShow.setFileNames(Arrays.asList(messageEntity.getMessageFilename().split(",")));
- tbMessageEntityShow.setFileUrls(Arrays.asList(messageEntity.getMessageFileUrl().split(",")));
- request.setAttribute("message", tbMessageEntityShow);
- return new ModelAndView("cn/com/lzt/sign/tbmessage/message-edit");
- }
- @RequestMapping(params = "doAdd")
- @ResponseBody
- public AjaxJson doAdd(TBMessageEntity common, HttpServletRequest request) {
- HttpSession session = ContextHolderUtils.getSession();
- TSUser tuser = (TSUser) session.getAttribute("LOCAL_CLINET_USER");
- String userid = tuser.getId();
- String message = null;
- AjaxJson j = new AjaxJson();
- message = "添加成功";
- j.setSuccess(true);
- //审批用的
- common.setMessageSpareTwo(tuser.getId());
- common.setMessageApprove("待提交");
- common.setMessageRange(request.getParameter("sendScope"));
- common.setMessageRangeDept(request.getParameter("sendScopeNames"));
- common.setMessageRangeDeptId(request.getParameter("sendScopeIds"));
- common.setMessageCont(request.getParameter("text"));
- common.setMessageSend("0");
- try{
- if (!StringUtil.isEmpty(common.getId())) {
- TBMessageEntity entity = new TBMessageEntity();
- entity.setId(common.getId());
- tBMessageService.delete(entity);
- tBMessageService.save(common);
- } else {
- tBMessageService.save(common);
- }
- }catch(Exception e){
- e.printStackTrace();
- message = "添加失败";
- j.setSuccess(false);
- throw new BusinessException(e.getMessage());
- }
- j.setMsg(message);
- return j;
- }
- @RequestMapping(params = "testMessage")
- @ResponseBody
- public AjaxJson testMessage(TBMessageEntity common, HttpServletRequest request) {
- String message = null;
- AjaxJson j = new AjaxJson();
- message = "添加成功";
- j.setSuccess(true);
- try{
- tBMessageService.updateBySqlString("update t_b_message set message_send='1' where id='" + common.getId() + "'");
- }catch(Exception e){
- e.printStackTrace();
- message = "添加失败";
- j.setSuccess(false);
- throw new BusinessException(e.getMessage());
- }
- j.setMsg(message);
- return j;
- }
- @RequestMapping(params = "deleteMessage")
- @ResponseBody
- public AjaxJson deleteMessage(HttpServletRequest request) {
- AjaxJson j = new AjaxJson();
- String message = "添加成功";
- j.setSuccess(true);
- try{
- TBMessageEntity entity = new TBMessageEntity();
- entity.setId(request.getParameter("id"));
- tBMessageService.delete(entity);
- }catch(Exception e){
- e.printStackTrace();
- message = "添加失败";
- j.setSuccess(false);
- throw new BusinessException(e.getMessage());
- }
- j.setMsg(message);
- return j;
- }
- @RequestMapping(params = {"goUpdate"})
- public ModelAndView goUpdate(TBMessageEntity messageEntity, HttpServletRequest request) {
- String id = messageEntity.getId();
- messageEntity = (TBMessageEntity) this.tBMessageService.getEntity(TBMessageEntity.class, id);
- TBMessageEntityShow tbMessageEntityShow = new TBMessageEntityShow();
- BeanUtils.copyProperties(messageEntity, tbMessageEntityShow);
- tbMessageEntityShow.setFileNames(Arrays.asList(messageEntity.getMessageFilename().split(",")));
- tbMessageEntityShow.setFileUrls(Arrays.asList(messageEntity.getMessageFileUrl().split(",")));
- request.setAttribute("message", tbMessageEntityShow);
- return new ModelAndView("cn/com/lzt/sign/tbmessage/message-update");
- }
- @RequestMapping(params = {"goUpdateView"})
- public ModelAndView goUpdateView(TBMessageEntity messageEntity, HttpServletRequest request) {
- String id = messageEntity.getId();
- messageEntity = (TBMessageEntity) this.tBMessageService.getEntity(TBMessageEntity.class, id);
- TBMessageEntityShow tbMessageEntityShow = new TBMessageEntityShow();
- BeanUtils.copyProperties(messageEntity, tbMessageEntityShow);
- tbMessageEntityShow.setFileNames(Arrays.asList(messageEntity.getMessageFilename().split(",")));
- tbMessageEntityShow.setFileUrls(Arrays.asList(messageEntity.getMessageFileUrl().split(",")));
- request.setAttribute("message", tbMessageEntityShow);
- return new ModelAndView("cn/com/lzt/sign/tbmessage/message-view");
- }
- @RequestMapping(params = {"getFile"})
- public void downLoadFromUrl(HttpServletResponse response, String urlStr, String fileName) throws IOException {
- URL url = new URL(urlStr);
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- //设置超时间为3秒
- conn.setConnectTimeout(3 * 1000);
- //得到输入流
- InputStream inputStream = conn.getInputStream();
- //获取自己数组
- byte[] getData = readInputStream(inputStream);
- response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName));
- OutputStream out = response.getOutputStream();
- out.write(getData);
- out.close();
- }
- /**
- * 从输入流中获取字节数组
- * @param inputStream
- * @return
- * @throws IOException
- */
- public static byte[] readInputStream(InputStream inputStream) throws IOException {
- byte[] buffer = new byte[1024];
- int len = 0;
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- while((len = inputStream.read(buffer)) != -1) {
- bos.write(buffer, 0, len);
- }
- bos.close();
- return bos.toByteArray();
- }
- }
|