| | |
| | | package com.dy.pmsGlobal.daoBa; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dy.pmsGlobal.pojoBa.BaUser; |
| | | import com.dy.pmsGlobal.pojoPlt.PltStation; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | |
| | | |
| | | List<BaUser> selectSome(Map<String, Object> params) ; |
| | | |
| | | List<BaUser> selectAll(); |
| | | |
| | | int insert(BaUser record); |
| | | |
| | | int insertSelective(BaUser record); |
| | |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | <select id="selectAll" resultMap="BaseResultMap"> |
| | | select |
| | | <include refid="Base_Column_List" /> |
| | | from ba_user |
| | | where supper_admin!=1 and deleted!=1 and disabled!=1 |
| | | order by id ASC |
| | | </select> |
| | | |
| | | <select id="selectNamesByAssistants" parameterType="java.lang.String" resultType="java.lang.String"> |
| | | SELECT GROUP_CONCAT(name) AS assistantNames FROM ba_user WHERE id IN |
| | | <if test="assistants != null and assistants !=''"> |
| | |
| | | @Data |
| | | @HeadRowHeight(40) //设置标题高度 |
| | | @HeadFontStyle(fontName="宋体", fontHeightInPoints = 16) |
| | | @HeadStyle(wrapped = BooleanEnum.TRUE, shrinkToFit = BooleanEnum.TRUE, |
| | | horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER, |
| | | borderLeft = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, |
| | | leftBorderColor = 8, rightBorderColor = 8, topBorderColor = 8, bottomBorderColor = 8) //IndexedColors.BLACK |
| | | @HeadStyle(wrapped = BooleanEnum.TRUE, |
| | | shrinkToFit = BooleanEnum.TRUE, |
| | | horizontalAlignment = HorizontalAlignmentEnum.CENTER, |
| | | verticalAlignment = VerticalAlignmentEnum.CENTER, |
| | | borderLeft = BorderStyleEnum.THIN, |
| | | borderRight = BorderStyleEnum.THIN, |
| | | borderTop = BorderStyleEnum.THIN, |
| | | borderBottom = BorderStyleEnum.THIN, |
| | | leftBorderColor = 8, |
| | | rightBorderColor = 8, |
| | | topBorderColor = 8, |
| | | bottomBorderColor = 8) //IndexedColors.BLACK |
| | | @ContentRowHeight(220) //设置内容高度 |
| | | @ContentFontStyle(fontName="宋体", fontHeightInPoints = 14) |
| | | @ContentStyle(wrapped = BooleanEnum.TRUE, shrinkToFit = BooleanEnum.TRUE, |
| | | horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER, |
| | | borderLeft = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, |
| | | leftBorderColor = 8, rightBorderColor = 8, topBorderColor = 8, bottomBorderColor = 8) //IndexedColors.BLACK |
| | | @ContentStyle(wrapped = BooleanEnum.TRUE, |
| | | shrinkToFit = BooleanEnum.TRUE, |
| | | horizontalAlignment = HorizontalAlignmentEnum.CENTER, |
| | | verticalAlignment = VerticalAlignmentEnum.CENTER, |
| | | borderLeft = BorderStyleEnum.THIN, |
| | | borderRight = BorderStyleEnum.THIN, |
| | | borderTop = BorderStyleEnum.THIN, |
| | | borderBottom = BorderStyleEnum.THIN, |
| | | leftBorderColor = 8, |
| | | rightBorderColor = 8, |
| | | topBorderColor = 8, |
| | | bottomBorderColor = 8) //IndexedColors.BLACK |
| | | @ColumnWidth(16) //设置列宽 |
| | | public class ExcelVo implements Converter<byte[]> { |
| | | @ExcelProperty("编码") |
New file |
| | |
| | | package com.dy.pmsBase.user; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.alibaba.excel.annotation.write.style.*; |
| | | import com.alibaba.excel.converters.Converter; |
| | | import com.alibaba.excel.converters.WriteConverterContext; |
| | | import com.alibaba.excel.enums.BooleanEnum; |
| | | import com.alibaba.excel.enums.CellDataTypeEnum; |
| | | import com.alibaba.excel.enums.poi.BorderStyleEnum; |
| | | import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; |
| | | import com.alibaba.excel.enums.poi.VerticalAlignmentEnum; |
| | | import com.alibaba.excel.metadata.GlobalConfiguration; |
| | | import com.alibaba.excel.metadata.data.ImageData; |
| | | import com.alibaba.excel.metadata.data.WriteCellData; |
| | | import com.alibaba.excel.metadata.property.ExcelContentProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | //参考: https://easyexcel.opensource.alibaba.com/docs/current/quickstart/write |
| | | @Data |
| | | @HeadRowHeight(40) //设置标题高度 |
| | | @HeadFontStyle(fontName="宋体", fontHeightInPoints = 16) |
| | | @HeadStyle(wrapped = BooleanEnum.TRUE, |
| | | shrinkToFit = BooleanEnum.TRUE, |
| | | horizontalAlignment = HorizontalAlignmentEnum.CENTER, |
| | | verticalAlignment = VerticalAlignmentEnum.CENTER, |
| | | borderLeft = BorderStyleEnum.THIN, |
| | | borderRight = BorderStyleEnum.THIN, |
| | | borderTop = BorderStyleEnum.THIN, |
| | | borderBottom = BorderStyleEnum.THIN, |
| | | leftBorderColor = 8, |
| | | rightBorderColor = 8, |
| | | topBorderColor = 8, |
| | | bottomBorderColor = 8) //IndexedColors.BLACK |
| | | @ContentRowHeight(220) //设置内容高度 |
| | | @ContentFontStyle(fontName="宋体", fontHeightInPoints = 14) |
| | | @ContentStyle(wrapped = BooleanEnum.TRUE, |
| | | shrinkToFit = BooleanEnum.TRUE, |
| | | horizontalAlignment = HorizontalAlignmentEnum.CENTER, |
| | | verticalAlignment = VerticalAlignmentEnum.CENTER, |
| | | borderLeft = BorderStyleEnum.THIN, |
| | | borderRight = BorderStyleEnum.THIN, |
| | | borderTop = BorderStyleEnum.THIN, |
| | | borderBottom = BorderStyleEnum.THIN, |
| | | leftBorderColor = 8, |
| | | rightBorderColor = 8, |
| | | topBorderColor = 8, |
| | | bottomBorderColor = 8) //IndexedColors.BLACK |
| | | @ColumnWidth(16) //设置列宽 |
| | | public class ExcelVo implements Converter<byte[]> { |
| | | |
| | | @ExcelProperty("名称") |
| | | public String name ; |
| | | |
| | | @ColumnWidth(40) //设置列宽(可以修饰类,也可以修饰具体属性) |
| | | @ExcelProperty(value = "工站二维码", converter = ExcelVo.class) |
| | | public byte[] qrCode ; |
| | | |
| | | |
| | | public WriteCellData<?> convertToExcelData(byte[] value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { |
| | | WriteCellData cellData = new WriteCellData() ; |
| | | if(value != null && value.length >0){ |
| | | List<ImageData> list = new ArrayList<>(); |
| | | ImageData imd = new ImageData(); |
| | | imd.setImage(value); |
| | | imd.setImageType(ImageData.ImageType.PICTURE_TYPE_PICT); |
| | | imd.setLeft(10); |
| | | imd.setTop(10); |
| | | imd.setRight(10); |
| | | imd.setBottom(10); |
| | | list.add(imd) ; |
| | | cellData.setImageDataList(list); |
| | | cellData.setType(CellDataTypeEnum.EMPTY); |
| | | }else{ |
| | | cellData.setStringValue(""); |
| | | cellData.setType(CellDataTypeEnum.STRING); |
| | | } |
| | | return cellData; |
| | | } |
| | | |
| | | public WriteCellData<?> convertToExcelData(WriteConverterContext<byte[]> context) throws Exception { |
| | | return this.convertToExcelData(context.getValue(), context.getContentProperty(), context.getWriteContext().currentWriteHolder().globalConfiguration()); |
| | | } |
| | | |
| | | } |
| | |
| | | package com.dy.pmsBase.user; |
| | | |
| | | import com.alibaba.excel.converters.Converter; |
| | | import com.dy.common.aop.SsoAop; |
| | | import com.dy.common.aop.SsoPowerAop; |
| | | import com.dy.common.util.MD5; |
| | |
| | | import com.dy.pmsGlobal.pojoBa.BaRole; |
| | | import com.dy.pmsGlobal.pojoBa.BaUser; |
| | | import com.dy.pmsGlobal.util.Constant; |
| | | import com.dy.pmsGlobal.util.QrCodeConstant; |
| | | import com.dy.pmsGlobal.util.QrCodeUtil; |
| | | import com.google.zxing.WriterException; |
| | | import com.mysql.cj.util.StringUtils; |
| | | import jakarta.servlet.http.HttpServletResponse; |
| | | import jakarta.validation.Valid; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | @PostMapping(path="export") |
| | | @SsoPowerAop(power = "10100001") |
| | | @Log("导出用户信息") |
| | | public void export(HttpServletResponse response) { |
| | | List<Converter> list = new ArrayList<>(); |
| | | List<BaUser> users = sv.selectAll(); |
| | | if (users != null) { |
| | | for (BaUser user : users) { |
| | | ExcelVo vo = new ExcelVo(); |
| | | vo.name = user.name; |
| | | try { |
| | | vo.qrCode = QrCodeUtil.genQrCode(QrCodeConstant.TypeStation + user.id); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } catch (WriterException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | list.add(vo); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | rsVo.obj = this.dao.selectSome(params) ; |
| | | rsVo.obj.parallelStream().forEach(item->{ |
| | | try { |
| | | byte[] codes = QrCodeUtil.genQrCode(QrCodeConstant.TypeWorker+item.id); |
| | | byte[] codes = QrCodeUtil.genQrCode(QrCodeConstant.TypeWorker + item.id); |
| | | item.qrCode = "data:image/jpeg;base64," + Base64.encode(codes); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | |
| | | return rsVo ; |
| | | } |
| | | |
| | | |
| | | public List<BaUser> selectAll() { |
| | | return dao.selectAll(); |
| | | } |
| | | /** |
| | | * 保存实体 |
| | | * @param po 实体 |