| | |
| | | package com.doumee.core.utils; |
| | | |
| | | |
| | | import cn.hutool.core.io.IoUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.fasterxml.jackson.annotation.JsonInclude; |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | |
| | | import com.fasterxml.jackson.databind.PropertyNamingStrategy; |
| | | import io.swagger.models.auth.In; |
| | | import org.apache.batik.util.Platform; |
| | | import org.apache.commons.compress.archivers.zip.Zip64Mode; |
| | | import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; |
| | | import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.io.File; |
| | | import java.io.FileInputStream; |
| | | import java.io.IOException; |
| | | import java.io.OutputStream; |
| | | import java.math.BigDecimal; |
| | | import java.net.URLDecoder; |
| | | import java.text.SimpleDateFormat; |
| | |
| | | public static final String YW_DEVICE ="YW_DEVICE" ; |
| | | public static final String YW_PATROL ="YW_PATROL" ; |
| | | public static final String YW_CONTRACT_BILL ="YW_CONTRACT_BILL" ; |
| | | public static final String YW_MATERIAL ="YW_MATERIAL" ; |
| | | public static final String YW_PROBLEM ="YW_PROBLEM" ; |
| | | |
| | | public static final String RESERVATION_TOTAL_NUM ="RESERVATION_TOTAL_NUM" ; |
| | | public static final String SIGN_IN_PLACE_LAT ="SIGN_IN_PLACE_LAT" ; |
| | |
| | | public static final long EXPIRE_TIME = 7200; |
| | | |
| | | public static final String INTERNAL_TOKEN ="INTERNAL_TOKEN"; |
| | | public static final String COM_OUTBOUND_OUT_KEY = "obout_"; |
| | | public static final String COM_OUTBOUND_IN_KEY = "obin_"; |
| | | public static final String COM_OUTBOUND_TAKING_KEY = "obtaking_"; |
| | | |
| | | public static final String GOODSORDER_KEY = "ordercode_"; |
| | | public static final String ACTIVITY_SIGN_KEY = "actcode_"; |
| | |
| | | int otherDeal = 5;//他人已处理 |
| | | int otherUnPass = 6;//他人拒绝 |
| | | } |
| | | |
| | | |
| | | |
| | | //类型 0采购入库 1领用退回 2库存调整入库 3其他入库 4盘盈入库 5领用出库 6仓库出库 7调整出库 8采购出库 9其他出库 10盘亏出库 |
| | | public enum ywOutInType{ |
| | | BUY_IN(0, 0), |
| | | USE_RETURN_IN(1, 0), |
| | | STOCK_IN(2, 0), |
| | | OTHER_IN(3, 0), |
| | | TAKING_IN(4, 0), |
| | | USE_OUT(5, 1), |
| | | HOUSE_OUT(6, 1), |
| | | STOCK_OUT(7, 1), |
| | | OTHER_UN_PASS_OUT(8, 1), |
| | | BUY_OUT(9, 1), |
| | | TAKING_OUT(10, 1) |
| | | ; |
| | | // 成员变量 |
| | | private int key; |
| | | private int inOut; |
| | | |
| | | // 构造方法 |
| | | ywOutInType(int key, int inOut) { |
| | | this.inOut = inOut; |
| | | this.key = key; |
| | | } |
| | | |
| | | // 普通方法 |
| | | public static Integer getInOutValue(int index) { |
| | | for (ywOutInType c : ywOutInType.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.getInOut(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | // 普通方法 |
| | | public static ywOutInType getYwOutInType(int index) { |
| | | for (ywOutInType c : ywOutInType.values()) { |
| | | if (c.getKey() == index) { |
| | | return c; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据出入库类型获取所有的具体类型 |
| | | * @param inOutType |
| | | * @return |
| | | */ |
| | | public static List<Integer> getAllTypeKey(int inOutType) { |
| | | List<Integer> list = new ArrayList<>(); |
| | | for (ywOutInType c : ywOutInType.values()) { |
| | | if (c.getInOut() == inOutType) { |
| | | list.add(c.getKey()); |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | // get set 方法 |
| | | public int getInOut() { |
| | | return inOut; |
| | | } |
| | | |
| | | public void setInOut(int inOut) { |
| | | this.inOut = inOut; |
| | | } |
| | | |
| | | public int getKey() { |
| | | return key; |
| | | } |
| | | |
| | | public void setKey(int key) { |
| | | this.key = key; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取车牌类型信息 |
| | |
| | | YW_CONTRACT_FILE(9, "合同附件 ", "合同附件 "), |
| | | FN_CONTRACT_REVENUE_FILE(10, "收支流水附件 ", "合同账单附件 "), |
| | | FN_PATROL_TASK_RECORD_FILE(11, "巡检任务点处理附件 ", "巡检任务点处理附件 "), |
| | | MATERIAL_FILE(12, "资产附件 ", "资产附件 "), |
| | | PROBLEM_FILE(13, "问题附件 ", "问题附件 "), |
| | | FN_DEVICE_MAINTENANCE_FILE(14, "阜宁服务平台设备文件 ", "阜宁服务平台设备文件 "), |
| | | |
| | | ; |
| | | // 成员变量 |
| | |
| | | * 操作类型 0工单创建 1指派 2处理 3合同创建 4合同变更 5合同退租 |
| | | */ |
| | | public enum YwLogType{ |
| | | WORKORDER_CREATE(0, "工单创建", "工单创建"), |
| | | WORKORDER_DISPATCH(1, "工单指派", "工单指派"), |
| | | WORKORDER_DEAL(2, "工单处理 ", "工单处理 "), |
| | | CONTRACT_CREATE(3, "合同新建 ", "新建 "), |
| | | CONTRACT_UPDATE(4, "合同变更 ", "变更 "), |
| | | CONTRACT_BACK(5, "合同退租 ", "退租 "), |
| | | WORKORDER_CREATE(0, "创建工单", "创建工单"), |
| | | WORKORDER_DISPATCH(1, "分派工单", "分派工单"), |
| | | WORKORDER_DEAL(2, "处理工单", "处理工单"), |
| | | CONTRACT_CREATE(3, "合同新建", "新建"), |
| | | CONTRACT_UPDATE(4, "合同变更", "变更"), |
| | | CONTRACT_BACK(5, "合同退租", "退租"), |
| | | |
| | | ; |
| | | // 成员变量 |
| | |
| | | |
| | | |
| | | } |
| | | |
| | | //邮箱格式的验证 |
| | | public static boolean validEmail(String email) { |
| | | Pattern p = Pattern.compile("[a-zA-Z0-9]+@[A-Za-z0-9]+\\.[a-z0-9]"); |
| | | Matcher m = p.matcher(email); |
| | | if(m.find()){ |
| | | return true; |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public static void packFilesToZip(List<File> files, OutputStream os) throws IOException { |
| | | try { |
| | | ZipArchiveOutputStream zipOutputStream = new ZipArchiveOutputStream(os); |
| | | zipOutputStream.setUseZip64(Zip64Mode.AsNeeded); |
| | | for (File file : files) { |
| | | if(!file.exists()){ |
| | | System.out.println("===文件不存在======="+file.getPath()); |
| | | continue; |
| | | }else{ |
| | | System.out.println("===文件存在======="+file.getPath()); |
| | | } |
| | | ZipArchiveEntry entry = new ZipArchiveEntry(file.getName()); |
| | | zipOutputStream.putArchiveEntry(entry); |
| | | FileInputStream fileInputStream = new FileInputStream(file); |
| | | byte[] buffer = new byte[1024]; |
| | | int length; |
| | | while ((length = fileInputStream.read(buffer)) > 0) { |
| | | zipOutputStream.write(buffer, 0, length); |
| | | } |
| | | zipOutputStream.closeArchiveEntry(); |
| | | zipOutputStream.flush(); |
| | | IoUtil.close(fileInputStream); |
| | | file.delete(); |
| | | } |
| | | }catch (Exception e){ |
| | | throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR.getCode(),"对不起,下载压缩文件失败"); |
| | | }finally { |
| | | if (os != null) { |
| | | try { |
| | | os.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |