| | |
| | | import com.core.common.*; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.DefinedExcelExportParam; |
| | | import com.zy.asrs.entity.param.OrderDomainParam; |
| | | import com.zy.asrs.entity.result.OrderDetlVo; |
| | | import com.zy.asrs.mapper.OrderDetlMapper; |
| | |
| | | import com.zy.common.web.BaseController; |
| | | import com.zy.system.entity.User; |
| | | import com.zy.system.service.UserService; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | // 订单表只存了操作人id,所以操作人姓名查询,只能从姓名先去找id, |
| | | Object userName = param.get("oper_memb"); |
| | | if (userName != null && user.getRoleId() != 21) { |
| | | List<User> users = userService.selectList(new EntityWrapper<User>().like("username", (String) param.get("oper_memb"))); |
| | | List<User> users = userService.selectList(new EntityWrapper<User>().eq("username", param.get("oper_memb"))); |
| | | if (users.size() > 0) { |
| | | wrapper.in("create_by", users.stream().map(User::getId).collect(Collectors.toList())); |
| | | } |
| | |
| | | wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); |
| | | wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); |
| | | } else { |
| | | wrapper.like(entry.getKey(), val); |
| | | wrapper.eq(entry.getKey(), val); |
| | | } |
| | | } |
| | | } |
| | |
| | | .doWrite(orderDetlVos); |
| | | } |
| | | |
| | | @PostMapping (value = "/order/exportAll/auth") |
| | | @PostMapping (value = "/order/definedExcelExport/auth") |
| | | @ManagerAuth |
| | | public R export() { |
| | | public void export(HttpServletResponse response, @RequestBody DefinedExcelExportParam definedExcelExportParam) throws IOException { |
| | | |
| | | User user = getUser(); |
| | | Long userId = null; |
| | | if (user.getRoleId() != 2 && user.getRoleId() != 24) { |
| | | userId = user.getId(); |
| | | EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>(); |
| | | |
| | | if ("all".equals(definedExcelExportParam.getType())) { |
| | | DefinedExcelExportParam.QueryWhere queryWhere = definedExcelExportParam.getQueryWhere(); |
| | | EntityWrapper<Order> orderEntityWrapper = new EntityWrapper<>(); |
| | | |
| | | // 限制销售角色只能看自己创建的单子(销售角色id固定21,不能随意修改) |
| | | User user = getUser(); |
| | | if (user.getRoleId() != 2 && user.getRoleId() != 24) { |
| | | orderEntityWrapper.eq("create_by", user.getId()); |
| | | } |
| | | // 操作人:订单表只存了操作人id,所以操作人姓名查询,只能从姓名先去找id, |
| | | Object userName = queryWhere.getOper_memb(); |
| | | if (userName != null && user.getRoleId() != 21) { |
| | | List<User> users = userService.selectList(new EntityWrapper<User>().eq("username", queryWhere.getOper_memb())); |
| | | if (users.size() > 0) { |
| | | orderEntityWrapper.in("create_by", users.stream().map(User::getId).collect(Collectors.toList())); |
| | | } |
| | | } |
| | | // 订单编号 |
| | | if (!Cools.isEmpty(queryWhere.getOrder_no())) { |
| | | orderEntityWrapper.eq("order_no", queryWhere.getOrder_no()); |
| | | } |
| | | // 创建时间 |
| | | if (queryWhere.getCreate_time().contains(RANGE_TIME_LINK)) { |
| | | String[] dates = queryWhere.getCreate_time().split(RANGE_TIME_LINK); |
| | | orderEntityWrapper.ge("create_time", DateUtils.convert(dates[0])); |
| | | orderEntityWrapper.le("create_time", DateUtils.convert(dates[1])); |
| | | } |
| | | // 单据类型 |
| | | if (!Cools.isEmpty(queryWhere.getDoc_type())) { |
| | | orderEntityWrapper.eq("doc_type", queryWhere.getDoc_type()); |
| | | } |
| | | // 单据状态 |
| | | if (!Cools.isEmpty(queryWhere.getSettle())) { |
| | | orderEntityWrapper.eq("settle", queryWhere.getSettle()); |
| | | } |
| | | // 客户名称 |
| | | if (!Cools.isEmpty(queryWhere.getCstmr_name())) { |
| | | orderEntityWrapper.eq("cstmr_name", queryWhere.getCstmr_name()); |
| | | } |
| | | // 未删除 |
| | | orderEntityWrapper.eq("status", 1); |
| | | orderEntityWrapper.setSqlSelect("order_no as orderNo"); |
| | | List<Order> orderList = orderService.selectList(orderEntityWrapper); |
| | | orderDetlEntityWrapper.in("order_no", orderList.stream().map(Order::getOrderNo).collect(Collectors.toList())); |
| | | |
| | | } else { |
| | | orderDetlEntityWrapper.in("order_no", definedExcelExportParam.getOrderNoList()); |
| | | } |
| | | List<OrderDetlExcelVo> orderDetlExcelVoList = orderDetlMapper.selectExportExcelAllDataList(userId); |
| | | |
| | | return R.ok(orderDetlExcelVoList); |
| | | List<OrderDetl> list = orderDetlService.selectList(orderDetlEntityWrapper); |
| | | List<OrderDetlExcelVo> orderDetlExcelVoList = new ArrayList<>(); |
| | | |
| | | for (OrderDetl orderDetl : list) { |
| | | OrderDetlExcelVo orderDetlExcelVo = new OrderDetlExcelVo(); |
| | | BeanUtils.copyProperties(orderDetl,orderDetlExcelVo); |
| | | orderDetlExcelVoList.add(orderDetlExcelVo); |
| | | } |
| | | |
| | | response.setContentType("application/vnd.ms-excel"); |
| | | response.setCharacterEncoding("utf-8"); |
| | | String fileName = URLEncoder.encode("单据", "UTF-8"); |
| | | response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); |
| | | EasyExcel.write(response.getOutputStream(), OrderDetlExcelVo.class) |
| | | .sheet("表1") |
| | | .doWrite(orderDetlExcelVoList); |
| | | |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/list/all") |