Commit e294e015 authored by 李驰骋's avatar 李驰骋

导出调整

parent 9cc14a33
package com.ximai.web.controller.monitor;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.system.dto.SysLogininforExcelExport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
......@@ -54,4 +59,13 @@ public class SysLogininforController extends BaseController
logininforService.cleanLogininfor();
return AjaxResult.success();
}
@Log(title = "登录日志", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('monitor:logininfor:export')")
@PostMapping("/export")
public void export(HttpServletResponse response, SysLogininfor logininfor) throws IOException {
List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
List<SysLogininforExcelExport> exportList = BeanUtil.copyToList(list, SysLogininforExcelExport.class);
ExcelWriter.write(response, SysLogininforExcelExport.class, exportList);
}
}
package com.ximai.web.controller.monitor;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.system.dto.SysOperLogExcelExport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
......@@ -55,4 +60,13 @@ public class SysOperlogController extends BaseController
operLogService.cleanOperLog();
return AjaxResult.success();
}
@Log(title = "操作日志", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('monitor:operlog:export')")
@PostMapping("/export")
public void export(HttpServletResponse response, SysOperLog operLog) throws IOException {
List<SysOperLog> list = operLogService.selectOperLogList(operLog);
List<SysOperLogExcelExport> exportList = BeanUtil.copyToList(list, SysOperLogExcelExport.class);
ExcelWriter.write(response, SysOperLogExcelExport.class, exportList);
}
}
package com.ximai.web.controller.system;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.system.dto.SysConfigExcelExport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
......@@ -119,4 +124,13 @@ public class SysConfigController extends BaseController
configService.resetConfigCache();
return AjaxResult.success();
}
@Log(title = "参数管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:config:export')")
@PostMapping("/export")
public void export(HttpServletResponse response, SysConfig config) throws IOException {
List<SysConfig> list = configService.selectConfigList(config);
List<SysConfigExcelExport> exportList = BeanUtil.copyToList(list, SysConfigExcelExport.class);
ExcelWriter.write(response, SysConfigExcelExport.class, exportList);
}
}
package com.ximai.web.controller.system;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.annotation.Log;
import com.ximai.common.core.controller.BaseController;
import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.core.domain.entity.SysDictData;
import com.ximai.common.core.dto.SysDictDataExcelExport;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType;
import com.ximai.common.utils.data.StringUtils;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.system.service.ISysDictDataService;
import com.ximai.system.service.ISysDictTypeService;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -15,6 +18,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
......@@ -90,4 +94,13 @@ public class SysDictDataController extends BaseController {
dictDataService.deleteDictDataByIds(dictCodes);
return success();
}
@Log(title = "字典数据", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:dict:export')")
@PostMapping("/export")
public void export(HttpServletResponse response, SysDictData dictData) throws IOException {
List<SysDictData> list = dictDataService.selectDictDataList(dictData);
List<SysDictDataExcelExport> exportList = BeanUtil.copyToList(list, SysDictDataExcelExport.class);
ExcelWriter.write(response, SysDictDataExcelExport.class, exportList);
}
}
package com.ximai.web.controller.system;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.annotation.Log;
import com.ximai.common.constant.UserConstants;
import com.ximai.common.core.controller.BaseController;
import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.core.domain.entity.SysDictType;
import com.ximai.common.core.dto.SysDictTypeExcelExport;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.system.service.ISysDictTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
......@@ -14,6 +17,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
......@@ -100,4 +104,14 @@ public class SysDictTypeController extends BaseController {
List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll();
return AjaxResult.success(dictTypes);
}
@Log(title = "字典类型", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:dict:export')")
@PostMapping("/export")
public void export(HttpServletResponse response, SysDictType dictType) throws IOException {
List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
List<SysDictTypeExcelExport> exportList = BeanUtil.copyToList(list, SysDictTypeExcelExport.class);
ExcelWriter.write(response, SysDictTypeExcelExport.class, exportList);
}
}
package com.ximai.web.controller.system;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.common.annotation.Log;
import com.ximai.common.core.controller.BaseController;
......@@ -7,8 +8,10 @@ import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType;
import com.ximai.common.utils.data.StringUtils;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.system.domain.SysPrintPrinterConfig;
import com.ximai.system.domain.SysUserAssocintionPrint;
import com.ximai.system.dto.SysPrintPrinterConfigExcelExport;
import com.ximai.system.mapper.SysPrintPrinterConfigMapper;
import com.ximai.system.mapper.SysUserAssocintionPrintMapper;
import com.ximai.system.service.ISysPrintPrinterConfigService;
......@@ -18,6 +21,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
......@@ -125,4 +129,16 @@ public class SysPrintPrinterConfigController extends BaseController {
public AjaxResult remove(@PathVariable Long[] printerIds) {
return toAjax(sysPrintPrinterConfigService.deleteSysPrintPrinterConfigByPrinterIds(printerIds));
}
/**
* 导出打印机配置列表
*/
@PreAuthorize("@ss.hasPermi('system:printerConfig:export')")
@Log(title = "打印机配置", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SysPrintPrinterConfig sysPrintPrinterConfig) throws IOException {
List<SysPrintPrinterConfig> list = sysPrintPrinterConfigService.selectSysPrintPrinterConfigList(sysPrintPrinterConfig);
List<SysPrintPrinterConfigExcelExport> listExport = BeanUtil.copyToList(list, SysPrintPrinterConfigExcelExport.class);
ExcelWriter.write(response, SysPrintPrinterConfigExcelExport.class, listExport);
}
}
package com.ximai.web.controller.system;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.core.dto.SysRoleExcelExport;
import com.ximai.common.utils.excel.ExcelWriter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
......@@ -230,4 +235,13 @@ public class SysRoleController extends BaseController
roleService.checkRoleDataScope(roleId);
return toAjax(roleService.insertAuthUsers(roleId, userIds));
}
@Log(title = "角色管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:role:export')")
@PostMapping("/export")
public void export(HttpServletResponse response, SysRole role) throws IOException {
List<SysRole> list = roleService.selectRoleList(role);
List<SysRoleExcelExport> listExport = BeanUtil.copyToList(list, SysRoleExcelExport.class);
ExcelWriter.write(response, SysRoleExcelExport.class, listExport);
}
}
package com.ximai.common.core.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ximai.common.annotation.Excel;
import com.ximai.common.annotation.Excel.ColumnType;
import com.ximai.common.constant.UserConstants;
import com.ximai.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
* 字典数据表 sys_dict_data
*/
@Data
@ApiModel("字典数据导出")
public class SysDictDataExcelExport {
private static final long serialVersionUID = 1L;
/**
* 字典编码
*/
@ExcelProperty("字典编码")
private Long dictCode;
/**
* 字典排序
*/
@ExcelProperty("字典排序")
private Long dictSort;
/**
* 字典标签
*/
@ExcelProperty("字典标签")
private String dictLabel;
/**
* 字典键值
*/
@ExcelProperty("字典键值")
private String dictValue;
/**
* 字典类型
*/
@ExcelProperty("字典类型")
private String dictType;
/**
* 是否默认(Y是 N否)
*/
@ExcelProperty("是否默认")
private String isDefault;
/**
* 状态(0正常 1停用)
*/
@ExcelProperty("状态")
private String status;
}
package com.ximai.common.core.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ximai.common.annotation.Excel;
import com.ximai.common.annotation.Excel.ColumnType;
import com.ximai.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
* 字典类型表 sys_dict_type
*
*/
@Data
@ApiModel("字典类型导出")
public class SysDictTypeExcelExport
{
private static final long serialVersionUID = 1L;
/** 字典主键 */
@ExcelProperty("字典主键")
private Long dictId;
/** 字典名称 */
@ExcelProperty("字典名称")
private String dictName;
/** 字典类型 */
@ExcelProperty("字典类型")
private String dictType;
/** 状态(0正常 1停用) */
@ExcelProperty("状态")
private String status;
}
package com.ximai.common.core.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ximai.common.annotation.Excel;
import com.ximai.common.annotation.Excel.ColumnType;
import com.ximai.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
* 角色表 sys_role
*
*/
@Data
@ApiModel("角色导出")
public class SysRoleExcelExport {
private static final long serialVersionUID = 1L;
/** 角色名称 */
@ExcelProperty("角色名称")
private String roleName;
/** 角色权限 */
@ExcelProperty("角色权限")
private String roleKey;
/** 角色排序 */
@ExcelProperty("角色排序")
private String roleSort;
/** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */
@ExcelProperty("数据范围")
private String dataScope;
/** 角色状态(0正常 1停用) */
@ExcelProperty("角色状态")
private String status;
}
......@@ -37,7 +37,7 @@ public class ExcelWriter {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
String fileName = URLEncoder.encode(name.orElse(head.getSimpleName()) + now, "UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx'");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx'");
String sheetName = name.orElse("Sheet1");
EasyExcel.write(response.getOutputStream(), head).registerWriteHandler(new I18ncellWriteHandler()).sheet(sheetName).doWrite(data);
......
package com.ximai.common.utils.excel.converter;
import cn.hutool.core.date.DateUtil;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.ximai.common.exception.ServiceException;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* <p>Title: LocalDateTimeConverter</p>
* <p>Description: 时间转换</p>
*
* @author xi.feng
* @version V1.0
*/
public class DateTimeConverter implements Converter<Date> {
private static final String PATTERN = "yyyy-MM-dd HH:mm:ss";
private static final String PATTERN1 = "yyyy.M.d HH:mm:ss";
private static final String PATTERN2 = "yyyy/M/d HH:mm:ss";
@Override
public Class<?> supportJavaTypeKey() {
return LocalDateTime.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public Date convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
if (cellData.getType().equals(CellDataTypeEnum.NUMBER)) {
BigDecimal bd = cellData.getNumberValue();
//如果是数字 小于0则 返回
int days = bd.intValue();//天数
int mills = (int) Math.round(bd.subtract(new BigDecimal(days)).doubleValue() * 24 * 3600);
//获取时间
Calendar c = Calendar.getInstance();
c.set(1900, 0, 1);
c.add(Calendar.DATE, days - 2);
int hour = mills / 3600;
int minute = (mills - hour * 3600) / 60;
int second = mills - hour * 3600 - minute * 60;
c.set(Calendar.HOUR_OF_DAY, hour);
c.set(Calendar.MINUTE, minute);
c.set(Calendar.SECOND, second);
Date d = c.getTime();//Date
return d;
}else if (cellData.getType().equals(CellDataTypeEnum.STRING)){
//自动补位,2023=>2023-01-01 00:00:00,2023-05 => 2023-05-01 00:00:00,2023-05-01 => 2023-05-01 00:00:00,2023-05-01 00:00,2023-05-01 => 2023-05-01 00:00:00
String dateStr = cellData.getStringValue();
//只有年份
if(dateStr.length()==4 && dateStr.matches("\\d\\d\\d\\d")){
dateStr += "-01-01 00:00:00";
}
//包含”年/月“
if(dateStr.length()==6||dateStr.length()==7){
Matcher match = Pattern.compile("\\d{4}([-./])\\d\\d?").matcher(dateStr);
if(match.find()){
String separator = match.group(1);
dateStr += separator + "01 00:00:00";
}
}
//包含”年/月/日“
if(dateStr.length()==10||dateStr.length()==9||dateStr.length()==8){
dateStr += " 00:00:00";
}
//包含“年/月日 时:分”
if(dateStr.length()==16||dateStr.length()==15||dateStr.length()==14){
dateStr += ":00";
}
try {
return DateUtil.parse(dateStr, PATTERN);
} catch (Exception exception) {
}
try {
return DateUtil.parse(dateStr, PATTERN1);
} catch (Exception exception) {
}
try {
return DateUtil.parse(dateStr, PATTERN2);
} catch (Exception exception) {
}
throw new ServiceException("不能解析的日期时间格式" + dateStr);
}else {
return null;
}
}
@Override
public WriteCellData<?> convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
return new WriteCellData(DateUtil.format(value, PATTERN));
}
}
\ No newline at end of file
package com.ximai.common.utils.excel.converter;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import java.time.LocalDateTime;
/**
* <p>Title: DictionaryConverter</p>
* <p>Description: 表达示转换</p>
*
* @author chicheng.li
* @version V1.0
*/
public class DictionaryConverter implements Converter<String> {
@Override
public Class<?> supportJavaTypeKey() {
return LocalDateTime.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
return "";
}
@Override
public WriteCellData<?> convertToExcelData(String value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
return new WriteCellData(value);
}
}
\ No newline at end of file
package com.ximai.common.utils.excel.converter;
import cn.hutool.core.date.DateUtil;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.ximai.common.exception.ServiceException;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* <p>Title: ExpressConverter</p>
* <p>Description: 表达示转换</p>
*
* @author chicheng.li
* @version V1.0
*/
public class ExpressConverter implements Converter<String> {
@Override
public Class<?> supportJavaTypeKey() {
return LocalDateTime.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
return "";
}
@Override
public WriteCellData<?> convertToExcelData(String value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
return new WriteCellData(value);
}
}
\ No newline at end of file
package com.ximai.mes.cal.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.common.annotation.Log;
......@@ -12,8 +13,10 @@ import com.ximai.common.utils.MessageUtils;
import com.ximai.common.utils.SecurityUtils;
import com.ximai.common.utils.data.DateUtils;
import com.ximai.common.utils.data.ExceptionUtil;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.cal.domain.CalPlan;
import com.ximai.mes.cal.domain.CalShift;
import com.ximai.mes.cal.dto.CalPlanExcelExport;
import com.ximai.mes.cal.mapper.CalPlanMapper;
import com.ximai.mes.cal.service.ICalPlanService;
import com.ximai.mes.cal.service.ICalPlanTeamService;
......@@ -27,6 +30,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
......@@ -260,4 +264,17 @@ public class CalPlanController extends BaseController {
}
return toAjax(calPlanService.deleteCalPlanByPlanIds(planIds));
}
/**
* 导出排班计划列表
*/
@PreAuthorize("@ss.hasPermi('mes:cal:calplan:export')")
@Log(title = "排班计划", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, CalPlan calPlan) throws IOException {
List<CalPlan> list = calPlanService.selectCalPlanList(calPlan);
List<CalPlanExcelExport> exportList = BeanUtil.copyToList(list, CalPlanExcelExport.class);
ExcelWriter.write(response, CalPlanExcelExport.class, exportList);
}
}
package com.ximai.mes.cal.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import com.ximai.common.utils.excel.converter.DateTimeConverter;
import com.ximai.mes.cal.domain.CalShift;
import com.ximai.mes.cal.domain.CalWorkunit;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* 排班计划对象 cal_plan
*
* @date 2022-06-06
*/
@Data
@ApiModel(description = "排班计划实体")
public class CalPlanExcelExport {
/**
* 计划编号
*/
@ApiModelProperty(value = "计划编号")
@ExcelProperty("计划编号")
private String planCode;
/**
* 计划名称
*/
@ApiModelProperty(value = "计划名称")
@ExcelProperty("计划名称")
private String planName;
private String calendarType;
/**
* 开始日期
*/
@ApiModelProperty(value = "计划开始时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@ExcelProperty(value="开始日期", converter = DateTimeConverter.class)
private Date startDate;
/**
* 结束日期
*/
@ApiModelProperty(value = "计划结束时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@ExcelProperty(value = "结束日期", converter = DateTimeConverter.class)
private Date endDate;
/**
* 轮班方式
*/
@ApiModelProperty(value = "轮班方式 SHIFT_THREE/SHIFT_TWO/SHIFT_ONE")
@ExcelProperty("轮班方式")
private String shiftType;
/**
* 倒班方式
*/
@ExcelProperty("倒班方式")
private String shiftMethod;
/**
* 数
*/
@ExcelProperty("数")
private Long shiftCount;
}
package com.ximai.mes.md.controller;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.constant.UserConstants;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.md.dto.MdClientExcelExport;
import com.ximai.mes.wm.utils.WmBarCodeUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -117,4 +121,16 @@ public class MdClientController extends BaseController
{
return toAjax(mdClientService.deleteMdClientByClientIds(clientIds));
}
/**
* 导出客户列表
*/
@PreAuthorize("@ss.hasPermi('mes:md:client:export')")
@Log(title = "客户", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MdClient mdClient) throws IOException {
List<MdClient> list = mdClientService.selectMdClientList(mdClient);
List<MdClientExcelExport> exportList = BeanUtil.copyToList(list, MdClientExcelExport.class);
ExcelWriter.write(response, MdClientExcelExport.class, exportList);
}
}
package com.ximai.mes.md.controller;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.annotation.Log;
import com.ximai.common.core.controller.BaseController;
import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.md.domain.MdFactory;
import com.ximai.mes.md.dto.MdFactoryExcelExport;
import com.ximai.mes.md.service.IMdFactoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
......@@ -77,4 +81,16 @@ public class MdFactoryController extends BaseController {
public AjaxResult remove(@PathVariable Long[] factoryIds) {
return toAjax(mdFactoryService.deleteMdFactoryByFactoryIds(factoryIds));
}
/**
* 导出工厂列表
*/
@PreAuthorize("@ss.hasPermi('md:mdfactory:export')")
@Log(title = "工厂", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MdFactory mdFactory) throws IOException {
List<MdFactory> list = mdFactoryService.selectMdFactoryList(mdFactory);
List<MdFactoryExcelExport> exportList = BeanUtil.copyToList(list, MdFactoryExcelExport.class);
ExcelWriter.write(response, MdFactoryExcelExport.class, exportList);
}
}
package com.ximai.mes.md.controller;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.annotation.Log;
import com.ximai.common.constant.UserConstants;
import com.ximai.common.core.controller.BaseController;
......@@ -8,8 +9,11 @@ import com.ximai.common.core.domain.entity.MdItemType;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType;
import com.ximai.common.utils.data.StringUtils;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.aspect.BarcodeGen;
import com.ximai.mes.md.domain.MdItem;
import com.ximai.mes.md.dto.MdItemExcelExport;
import com.ximai.mes.md.dto.MdItemExcelImport;
import com.ximai.mes.md.service.IItemTypeService;
import com.ximai.mes.md.service.IMdItemService;
import com.ximai.mes.md.vo.MdItemVo;
......@@ -22,6 +26,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
@RestController
......@@ -141,31 +146,27 @@ public class MdItemController extends BaseController {
mdItemService.becomeFormalProduct(itemIds);
return AjaxResult.success();
}
//
// @Log(title = "物料管理", businessType = BusinessType.EXPORT)
// @PreAuthorize("@ss.hasPermi('mes:md:mditem:export')")
// @PostMapping("/export")
// public void export(HttpServletResponse response, MdItem mdItem) {
// List<MdItemVo> list = mdItemService.selectMdItemList(mdItem);
// ExcelUtil<MdItemVo> util = new ExcelUtil<>(MdItemVo.class);
// util.exportExcel(response, list, "物料产品数据");
// }
//
// @Log(title = "物料管理", businessType = BusinessType.IMPORT)
// @PreAuthorize("@ss.hasPermi('mes:md:mditem:import')")
// @PostMapping("/importData")
// public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
// ExcelUtil<MdItem> util = new ExcelUtil<>(MdItem.class);
// List<MdItem> itemList = util.importExcel(file.getInputStream());
// String operaName = getUsername();
// String message = mdItemService.importMdItem(itemList, updateSupport, operaName);
// return AjaxResult.success(message);
// }
//
// @PostMapping("/importTemplate")
// public void importTemplate(HttpServletResponse response) {
// ExcelUtil<MdItem> util = new ExcelUtil<>(MdItem.class);
// util.importTemplateExcel(response, "物料产品数据");
// }
@Log(title = "物料管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('mes:md:mditem:export')")
@PostMapping("/export")
public void export(HttpServletResponse response, MdItem mdItem) throws IOException {
List<MdItemVo> list = mdItemService.selectMdItemList(mdItem);
List<MdItemExcelExport> listExport = BeanUtil.copyToList(list, MdItemExcelExport.class);
ExcelWriter.write(response, MdItemExcelExport.class, listExport);
}
@Log(title = "物料管理", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('mes:md:mditem:import')")
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
mdItemService.importMdItem(file.getInputStream(), updateSupport);
return AjaxResult.success();
}
@PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response) throws IOException {
ExcelWriter.write(response, MdItemExcelImport.class);
}
}
package com.ximai.mes.md.controller;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.md.dto.MdProductFactoryExcelExport;
import com.ximai.mes.md.vo.MdProductFactoryVo;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -91,4 +95,16 @@ public class MdProductFactoryController extends BaseController
{
return toAjax(mdProductFactoryService.deleteMdProductFactoryByProductFactoryIds(productFactoryIds));
}
/**
* 导出产品工厂配置列表
*/
@PreAuthorize("@ss.hasPermi('md:factory:export')")
@Log(title = "产品工厂配置", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MdProductFactory mdProductFactory) throws IOException {
List<MdProductFactoryVo> list = mdProductFactoryService.selectMdProductFactoryList(mdProductFactory);
List<MdProductFactoryExcelExport> exportList = BeanUtil.copyToList(list, MdProductFactoryExcelExport.class);
ExcelWriter.write(response, MdProductFactoryExcelExport.class, exportList);
}
}
package com.ximai.mes.md.controller;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ximai.common.annotation.Log;
......@@ -7,7 +8,9 @@ import com.ximai.common.core.controller.BaseController;
import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.md.domain.MdUnitMeasure;
import com.ximai.mes.md.dto.MdUnitMeasureExcelExport;
import com.ximai.mes.md.service.IMdUnitMeasureService;
import com.ximai.mes.md.vo.MdUnitMeasureVo;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -15,6 +18,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
......@@ -91,4 +95,16 @@ public class MdUnitMeasureController extends BaseController {
return toAjax(mdUnitMeasureService.deleteMdUnitMeasureByMeasureIds(measureIds));
}
/**
* 导出单位列表
*/
@PreAuthorize("@ss.hasPermi('mes:md:unitmeasure:export')")
@Log(title = "单位", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MdUnitMeasure mdUnitMeasure) throws IOException {
List<MdUnitMeasure> list = mdUnitMeasureService.selectMdUnitMeasureList(mdUnitMeasure);
List<MdUnitMeasureExcelExport> listExport = BeanUtil.copyToList(list, MdUnitMeasureExcelExport.class);
ExcelWriter.write(response, MdUnitMeasureExcelExport.class, listExport);
}
}
package com.ximai.mes.md.controller;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.annotation.Log;
import com.ximai.common.constant.UserConstants;
import com.ximai.common.core.controller.BaseController;
......@@ -7,8 +8,10 @@ import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType;
import com.ximai.common.utils.data.StringUtils;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.md.domain.MdWorkshop;
import com.ximai.mes.md.domain.MdWorkstation;
import com.ximai.mes.md.dto.MdWorkstationExcelExport;
import com.ximai.mes.md.service.*;
import com.ximai.mes.pro.service.IProProcessService;
import com.ximai.mes.wm.service.IWmStorageAreaService;
......@@ -22,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
......@@ -152,4 +156,16 @@ public class MdWorkstationController extends BaseController {
List<MdWorkstation> list = mdWorkstationService.selectWorkstationByUserId(super.getLoginUser().getUserId());
return list;
}
/**
* 导出工作站列表
*/
@PreAuthorize("@ss.hasPermi('mes:md:workstation:export')")
@Log(title = "工作站", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MdWorkstation mdWorkstation) throws IOException {
List<MdWorkstation> list = mdWorkstationService.selectMdWorkstationList(mdWorkstation);
List<MdWorkstationExcelExport> listExport = BeanUtil.copyToList(list, MdWorkstationExcelExport.class);
ExcelWriter.write(response, MdWorkstationExcelExport.class, listExport);
}
}
package com.ximai.mes.md.controller;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.common.annotation.Log;
import com.ximai.common.core.controller.BaseController;
......@@ -7,7 +8,9 @@ import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType;
import com.ximai.common.utils.SecurityUtils;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.md.domain.MdWorkunit;
import com.ximai.mes.md.dto.MdWorkunitExcelExport;
import com.ximai.mes.md.mapper.MdWorkunitMapper;
import com.ximai.mes.md.service.IMdWorkunitService;
import com.ximai.mes.md.vo.MdItemVo;
......@@ -19,6 +22,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
......@@ -120,4 +124,15 @@ public class MdWorkunitController extends BaseController {
List<MdItemVo> list = tmToolMachinesService.selectUpTmToolRequestList(vo);
return getDataTable(list);
}
/**
* 导出工作单元列表
*/
@PreAuthorize("@ss.hasPermi('md:workunit:export')")
@Log(title = "工作单元", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MdWorkunit mdWorkunit) throws IOException {
List<MdWorkunitVo> list = mdWorkunitService.selectMdWorkunitList(mdWorkunit);
List<MdWorkunitExcelExport> listExport = BeanUtil.copyToList(list, MdWorkunitExcelExport.class);
ExcelWriter.write(response, MdWorkunitExcelExport.class, listExport);
}
}
package com.ximai.mes.md.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* 客户对象 md_client
*
* @author yinjinlu
* @date 2024-01-19
*/
@Getter
@Setter
@ToString
public class MdClientExcelExport {
/**
* 客户编码
*/
@ExcelProperty("客户编码")
private String clientCode;
/**
* sap客户编码
*/
@ExcelProperty("sap客户编码")
private String sapClientCode;
/**
* 客户名称
*/
@ExcelProperty("客户名称")
private String clientName;
/**
* 客户简称
*/
@ExcelProperty("客户简称")
private String clientNick;
/**
* 客户英文名称
*/
@ExcelProperty("客户英文名称")
private String clientEn;
/**
* 英文名简称
*/
@ExcelProperty("英文名简称")
private String clientEnAbbr;
/**
* 客户等级
*/
@ExcelProperty("客户等级")
private Long clientLevel;
/**
* 做账难度等级
*/
@ExcelProperty("做账难度等级")
private Long billLevel;
/**
* 开票地址
*/
@ExcelProperty("开票地址")
private String invoiceAddr;
/**
* 客户送货地址
*/
@ExcelProperty("客户送货地址")
private String address;
/**
* 所属地区
*/
@ExcelProperty("所属地区")
private String region;
/**
* 国家
*/
@ExcelProperty("国家")
private String country;
/**
* 城市
*/
@ExcelProperty("城市")
private String city;
/**
* 地区
*/
@ExcelProperty("地区")
private String area;
/**
* 语言
*/
@ExcelProperty("语言")
private String lang;
/**
* 邮政编码
*/
@ExcelProperty("邮政编码")
private String postcode;
/**
* 电话号码
*/
@ExcelProperty("电话号码")
private String tel;
/**
* 移动电话
*/
@ExcelProperty("移动电话")
private String phone;
/**
* email
*/
@ExcelProperty("email")
private String email;
/**
* 要求用客户系统货单
*/
@ExcelProperty("要求用客户系统货单")
private String isClientWaybill;
/**
* 盖章方式
*/
@ExcelProperty("盖章方式")
private String stampMode;
/**
* 请款联
*/
@ExcelProperty("请款联")
private String requisition;
/**
* 客户联
*/
@ExcelProperty("客户联")
private String clientForm;
/**
* 订单要求
*/
@ExcelProperty("订单要求")
private String orderRequest;
/**
* 验收单要求
*/
@ExcelProperty("验收单要求")
private String receiptRequest;
/**
* 客户系统验收要求
*/
@ExcelProperty("客户系统验收要求")
private String clientCheckRequest;
/**
* 要求签回货单
*/
@ExcelProperty("要求签回货单")
private String requestSignReceipt;
/**
* 货单是否打印送货日期
*/
@ExcelProperty("货单是否打印送货日期")
private String isPrintDate;
/**
* 不开发票
*/
@ExcelProperty("不开发票")
private String noInvoice;
/**
* 请款要求
*/
@ExcelProperty("请款要求")
private String paymentRequest;
/**
* 客户工作时间
*/
@ExcelProperty("客户工作时间")
private String clientWorkTime;
/**
* 收货方签字要求
*/
@ExcelProperty("收货方签字要求")
private String signRequest;
/**
* 货单打印要求
*/
@ExcelProperty("货单打印要求")
private String billPrintRequest;
/**
* 所属集团
*/
@ExcelProperty("所属集团")
private String membershipGroup;
/**
* 产品检验报告类型
*/
@ExcelProperty("产品检验报告类型")
private String qcReportType;
/**
* 货单签回方式
*/
@ExcelProperty("货单签回方式")
private String receiptSigningMethod;
/**
* 出货方式
*/
@ExcelProperty("出货方式")
private String shippingMethod;
/**
* 线路
*/
@ExcelProperty("线路")
private String path;
/**
* 送货单打印默认设置
*/
@ExcelProperty("送货单打印默认设置")
private String billPrintSetting;
/**
* 送货单统计异常期限
*/
@ExcelProperty("送货单统计异常期限")
private String billExceptionDeadline;
/**
* 生产发货方式
*/
@ExcelProperty("生产发货方式")
private String sendMode;
/**
* 月结方式(金库查询结算方式)
*/
@ExcelProperty("月结方式")
private String settleMode;
/**
* 请款期限
*/
@ExcelProperty("请款期限")
private String paymentDeadline;
/**
* 做账截止日
*/
@ExcelProperty("做账截止日")
private String accountingDeadline;
/**
* 客户收账截止日
*/
@ExcelProperty("客户收账截止日")
private String collectionDeadline;
/**
* 订单统计异常期限
*/
@ExcelProperty("订单统计异常期限")
private String orderExceptionDeadline;
/**
* 扣款百分比
*/
@ExcelProperty("扣款百分比")
private String deductionPercent;
/**
* 金额小数位数
*/
@ExcelProperty("金额小数位数")
private String amountDecimal;
/**
* 公司法人
*/
@ExcelProperty("公司法人")
private String legalPerson;
/**
* 工商注册号
*/
@ExcelProperty("工商注册号")
private String licenseNo;
/**
* 国税注册号
*/
@ExcelProperty("国税注册号")
private String taxNo;
/**
* 订单性质
*/
@ExcelProperty("订单性质")
private String orderKind;
/**
* 是否启用
*/
@ExcelProperty("是否启用")
private String enableFlag;
}
package com.ximai.mes.md.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* 工厂对象 md_factory
*
* @author yinjinlu
* @date 2024-01-18
*/
@Data
@ApiModel("工厂导出")
public class MdFactoryExcelExport extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 工厂id
*/
private Long factoryId;
/**
* 工厂编码
*/
@ExcelProperty("工厂编码")
private String factoryCode;
/**
* 工厂名称
*/
@ExcelProperty("工厂名称")
private String factoryName;
/**
* 是否启用
*/
@ExcelProperty("是否启用")
private String enableFlag;
}
package com.ximai.mes.md.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import com.ximai.mes.md.domain.MdBaseInfo;
import com.ximai.mes.md.domain.MdProductLook;
import com.ximai.mes.md.domain.MdProductPublishedConf;
import com.ximai.mes.md.domain.MdSaleUnit;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.List;
@Data
@ApiModel("物料基础")
public class MdItemExcelExport {
private static final long serialVersionUID = 1L;
@ExcelProperty("物料/产品编码")
private String itemCode;
private String dta;
@ExcelProperty("SAP产品编码")
private String sapItemCode;
@ExcelProperty("物料/产品名称")
private String itemName;
@ExcelProperty("规格型号")
private String specification;
@ExcelProperty("计量单位名称")
private String unitOfMeasure;
@ExcelProperty("物料/产品")
private String itemOrProduct;
@ExcelProperty("物料/产品分类")
private String itemTypeName;
@ExcelProperty("是否启用")
private String enableFlag;
@ExcelProperty("是否安全库存")
private String safeStockFlag;
@ExcelProperty("英文名称")
private String itemEnglishName;
@ExcelProperty("产品代号")
private String itemNo;
@ExcelProperty("最小库存")
private Double minStock;
@ExcelProperty("最大库存")
private Double maxStock;
}
package com.ximai.mes.md.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import com.ximai.mes.md.domain.MdBaseInfo;
import com.ximai.mes.md.domain.MdProductLook;
import com.ximai.mes.md.domain.MdProductPublishedConf;
import com.ximai.mes.md.domain.MdSaleUnit;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.List;
@Data
@ApiModel("物料基础")
public class MdItemExcelImport {
private static final long serialVersionUID = 1L;
@ExcelProperty("物料/产品编码")
private String itemCode;
private String dta;
@ExcelProperty("SAP产品编码")
private String sapItemCode;
@ExcelProperty("物料/产品名称")
private String itemName;
@ExcelProperty("规格型号")
private String specification;
@ExcelProperty("计量单位名称")
private String unitOfMeasure;
@ExcelProperty("物料/产品")
private String itemOrProduct;
@ExcelProperty("物料/产品分类")
private String itemTypeName;
@ExcelProperty("是否启用")
private String enableFlag;
@ExcelProperty("是否安全库存")
private String safeStockFlag;
@ExcelProperty("英文名称")
private String itemEnglishName;
@ExcelProperty("产品代号")
private String itemNo;
@ExcelProperty("最小库存")
private Double minStock;
@ExcelProperty("最大库存")
private Double maxStock;
}
package com.ximai.mes.md.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ximai.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* 产品工厂配置对象 md_product_factory
*
* @author yinjinlu
* @date 2024-01-17
*/
@Data
@ApiModel("工厂配置")
public class MdProductFactoryExcelExport
{
/** 工厂id */
@ExcelProperty("工厂id")
private Long factoryId;
/** 工厂名称 */
@ExcelProperty("工厂名称")
private String factoryName;
/** 工厂名称 */
@ExcelProperty("备注")
private String remark;
}
package com.ximai.mes.md.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
/**
* 单位对象 md_unit_measure
*
* @date 2022-04-27
*/
@Data
@ApiModel("单位")
public class MdUnitMeasureExcelExport
{
private static final long serialVersionUID = 1L;
/** 单位编码 */
@ExcelProperty("单位编码")
private String measureCode;
/** 单位名称 */
@ExcelProperty("单位名称")
private String measureName;
/** 单位名称 */
@ExcelProperty("sap单位名称")
private String measureNameLone;
/** 是否是主单位 */
@ExcelProperty("是否是主单位")
private String primaryFlag;
/** 主单位ID */
@ExcelProperty("主单位ID")
private Long primaryId;
/** 与主单位换算比例 */
@ExcelProperty("与主单位换算比例")
private BigDecimal changeRate;
/** 是否启用 */
@ExcelProperty("是否启用")
private String enableFlag;
}
package com.ximai.mes.md.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* 工作站对象 md_workstation
*
* @date 2022-05-10
*/
@Data
@ApiModel("工作站")
@AllArgsConstructor
@NoArgsConstructor
public class MdWorkstationExcelExport extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 工作中心ID
*/
@TableId(type = IdType.AUTO)
private Long workstationId;
/**
* 工作中心编码
*/
@ExcelProperty("工作中心编码")
@ApiModelProperty("工作中心编码")
private String workstationCode;
/**
* 工作中心名称
*/
@ExcelProperty("工作中心名称")
@ApiModelProperty("工作中心名称")
private String workstationName;
/**
* 工作中心类别
*/
@ExcelProperty("工作中心类别")
@ApiModelProperty("工作中心类别")
private String workstationType;
/**
* 工厂编号
*/
@ExcelProperty("工厂编号")
private String factoryCode;
/**
* 工作中心用途
*/
@ExcelProperty("工作中心用途")
private String usageCode;
/**
* 车间ID
*/
@ExcelProperty("车间ID")
@ApiModelProperty("车间ID")
private Long workshopId;
private String workshopName;
private String workshopCode;
/**
* 工序ID
*/
@ExcelProperty("工序ID")
private Long processId;
private String processName;
private String processCode;
/**
* 工作中心负责人
*/
@ExcelProperty("工作中心负责人")
private String responsiblePerson;
private String nickName;
/**
* 标准工时
*/
@ExcelProperty("标准工时")
@ApiModelProperty("标准工时")
private Long stdWorkingTime;
/**
* 标准值码
*/
@ExcelProperty("标准值码")
@ApiModelProperty("标准值码")
private String standardValueCode;
/**
* 加工方式
*/
@ExcelProperty("加工方式")
@ApiModelProperty("加工方式")
private String processingMethod;
/**
* 成本中心
*/
@ExcelProperty("成本中心")
@ApiModelProperty("成本中心")
private String costCenterCode;
/**
* 是否倒冲
*/
@ExcelProperty("是否倒冲")
@ApiModelProperty("是否倒冲")
private String isBackflush;
/**
* 看机人数
*/
@ExcelProperty("看机人数")
@ApiModelProperty("看机人数")
private BigDecimal watchingAircraftNum;
/**
* 是否启用
*/
@ExcelProperty("是否启用")
private String enableFlag;
/**
* 转间配送时间
*/
@ExcelProperty("转间配送时间")
private BigDecimal transferTime;
}
package com.ximai.mes.md.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* 工作单元对象 md_workunit
*
* @author yinjinlu
* @date 2024-01-18
*/
@Data
@ApiModel("工作单元")
@AllArgsConstructor
@NoArgsConstructor
public class MdWorkunitExcelExport extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 工作站ID
*/
@ExcelProperty("工作站ID")
private Long workstationId;
/**
* 工作站名称
*/
@ExcelProperty("工作站名称")
private String workstationName;
/**
* 工作站编码
*/
@ExcelProperty("工作站编码")
private String workstationCode;
/**
* 工作单元编码
*/
@ExcelProperty("工作单元编码")
private String workunitCode;
/**
* 工作单元名称
*/
@ExcelProperty("工作单元名称")
private String workunitName;
/**
* 是否故障
*/
@ExcelProperty("是否故障")
private String faultFlag;
/**
* 是否启用
*/
@ExcelProperty("是否启用")
private String enableFlag;
/** 固化时间 */
@ExcelProperty("固化时间")
private BigDecimal solidifyTime;
}
......@@ -8,6 +8,7 @@ import com.ximai.mes.md.vo.ItemUpdateMesVo;
import com.ximai.mes.md.vo.MdItemVo;
import com.ximai.mes.md.vo.SapItemVo;
import java.io.InputStream;
import java.util.List;
public interface IMdItemService {
......@@ -102,7 +103,7 @@ public interface IMdItemService {
* @param operaName 操作用户
* @return 结果
*/
String importMdItem(List<MdItem> itemList, boolean updateSupport, String operaName);
void importMdItem(InputStream io, boolean updateSupport);
int itemCreate(ItemUpdateMesVo mdItemVo);
......
package com.ximai.mes.md.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONArray;
......@@ -12,11 +13,14 @@ import com.ximai.common.core.domain.entity.MdItemType;
import com.ximai.common.core.domain.entity.SysDictData;
import com.ximai.common.exception.ServiceException;
import com.ximai.common.utils.MessageUtils;
import com.ximai.common.utils.SecurityUtils;
import com.ximai.common.utils.bean.BeanUtils;
import com.ximai.common.utils.bean.BeanValidators;
import com.ximai.common.utils.data.DateUtils;
import com.ximai.common.utils.data.StringUtils;
import com.ximai.common.utils.excel.ExcelReader;
import com.ximai.mes.md.domain.*;
import com.ximai.mes.md.dto.MdItemExcelImport;
import com.ximai.mes.md.mapper.ItemTypeMapper;
import com.ximai.mes.md.mapper.MdBaseInfoMapper;
import com.ximai.mes.md.mapper.MdItemMapper;
......@@ -33,11 +37,13 @@ import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.validation.Validator;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
......@@ -292,66 +298,42 @@ public class MdItemServiceImpl implements IMdItemService {
}
@Override
public String importMdItem(List<MdItem> itemList, boolean updateSupport, String operaName) {
if (StringUtils.isNull(itemList) || itemList.size() == 0) {
throw new ServiceException(MessageUtils.message("basic.import.error.not.null"));
}
int successNum = 0;
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
for (MdItem mdItem : itemList) {
try {
// 验证是否存在这个用户
MdItem item = mdItemMapper.selectMdItemByItemName(mdItem.getItemName());
if (StringUtils.isNull(item)) {
BeanValidators.validateWithException(validator, mdItem);
String itemCode = autoCodeUtil.genSerialCode(UserConstants.ITEM_CODE, "");
mdItem.setItemCode(itemCode);
//处理计量单位
if (StringUtils.isNotEmpty(mdItem.getUnitOfMeasure())) {
MdUnitMeasure mdUnitMeasure = mdUnitMeasureService.selectMdUnitMeasureByMeasureName(mdItem.getUnitOfMeasure());
mdItem.setUnitOfMeasure(mdUnitMeasure.getMeasureCode());
}
//处理物料/产品类型
if (StringUtils.isNotEmpty(mdItem.getItemTypeName())) {
MdItemType mdItemType = iItemTypeService.selectItemTypeByItemTypeName(mdItem.getItemTypeName());
if (StringUtils.isNotNull(mdItemType)) {
mdItem.setItemTypeId(mdItemType.getItemTypeId());
mdItem.setItemTypeCode(mdItemType.getItemTypeCode());
mdItem.setItemTypeName(mdItemType.getItemTypeName());
mdItem.setItemOrProduct(mdItemType.getItemOrProduct());
}
}
mdItem.setEnableFlag("Y");
mdItem.setCreateBy(operaName);
this.insertMdItem(mdItem);
successNum++;
successMsg.append("<br/>" + successNum + "、物料/产品 " + mdItem.getItemName() + " 导入成功");
} else if (updateSupport) {
BeanValidators.validateWithException(validator, mdItem);
mdItem.setUpdateBy(operaName);
this.updateMdItem(mdItem);
successNum++;
successMsg.append("<br/>" + successNum + "、物料/产品 " + mdItem.getItemName() + " 更新成功");
} else {
failureNum++;
failureMsg.append("<br/>" + failureNum + "、物料/产品 " + mdItem.getItemName() + " 已存在");
public void importMdItem(InputStream io, boolean updateSupport) {
ExcelReader.read(io, MdItemExcelImport.class, this::importData);
}
private void importData(MdItemExcelImport mdItem){
String operaName = SecurityUtils.getLoginUser().getUsername();
MdItem item = mdItemMapper.selectMdItemByItemName(mdItem.getItemName());
if (StringUtils.isNull(item)) {
item = BeanUtil.copyProperties(mdItem, MdItem.class);
BeanValidators.validateWithException(validator, mdItem);
String itemCode = autoCodeUtil.genSerialCode(UserConstants.ITEM_CODE, "");
item.setItemCode(itemCode);
//处理计量单位
if (StringUtils.isNotEmpty(mdItem.getUnitOfMeasure())) {
MdUnitMeasure mdUnitMeasure = mdUnitMeasureService.selectMdUnitMeasureByMeasureName(mdItem.getUnitOfMeasure());
item.setUnitOfMeasure(mdUnitMeasure.getMeasureCode());
}
//处理物料/产品类型
if (StringUtils.isNotEmpty(mdItem.getItemTypeName())) {
MdItemType mdItemType = iItemTypeService.selectItemTypeByItemTypeName(mdItem.getItemTypeName());
if (StringUtils.isNotNull(mdItemType)) {
item.setItemTypeId(mdItemType.getItemTypeId());
item.setItemTypeCode(mdItemType.getItemTypeCode());
item.setItemTypeName(mdItemType.getItemTypeName());
item.setItemOrProduct(mdItemType.getItemOrProduct());
}
} catch (Exception e) {
failureNum++;
String msg = "<br/>" + failureNum + "、物料/产品 " + mdItem.getItemName() + " 导入失败:";
failureMsg.append(msg + e.getMessage());
log.error(msg, e);
}
}
if (failureNum > 0) {
failureMsg.insert(0, "导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
throw new ServiceException(failureMsg.toString());
item.setEnableFlag("Y");
item.setCreateBy(operaName);
this.insertMdItem(item);
} else {
successMsg.insert(0, "数据已全部导入成功!共 " + successNum + " 条,数据如下:");
BeanUtil.copyProperties(mdItem, item);
BeanValidators.validateWithException(validator, item);
item.setUpdateBy(operaName);
this.updateMdItem(item);
}
return successMsg.toString();
}
/**
......
package com.ximai.mes.pro.controller;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.annotation.Log;
import com.ximai.common.constant.UserConstants;
import com.ximai.common.core.controller.BaseController;
import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.pro.domain.ProProcess;
import com.ximai.mes.pro.dto.ProProcessExcelExport;
import com.ximai.mes.pro.service.IProProcessService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -14,6 +17,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
......@@ -101,4 +105,16 @@ public class ProProcessController extends BaseController {
public AjaxResult remove(@PathVariable Long[] processIds) {
return toAjax(proProcessService.deleteProProcessByProcessIds(processIds));
}
/**
* 导出生产工序列表
*/
@PreAuthorize("@ss.hasPermi('mes:pro:process:export')")
@Log(title = "生产工序", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ProProcess proProcess) throws IOException {
List<ProProcess> list = proProcessService.selectProProcessList(proProcess);
List<ProProcessExcelExport> exportList = BeanUtil.copyToList(list, ProProcessExcelExport.class);
ExcelWriter.write(response, ProProcessExcelExport.class, exportList);
}
}
......@@ -6,6 +6,7 @@ import com.ximai.common.core.controller.BaseController;
import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.pro.domain.ProScheduleSetupRule;
import com.ximai.mes.pro.domain.vo.ProScheduleSetupRuleExcelExport;
import com.ximai.mes.pro.service.IProScheduleSetupRuleService;
......@@ -14,6 +15,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
......@@ -79,4 +81,17 @@ public class ProScheduleSetupRuleController extends BaseController {
public AjaxResult remove(@PathVariable Long[] ruleIds) {
return toAjax(proScheduleSetupRuleService.deleteProScheduleSetupRuleByRuleIds(ruleIds));
}
/**
* 导出排产换型对照信息列表
*/
@PreAuthorize("@ss.hasPermi('pro:scheduleSetupRule:export')")
@Log(title = "排产换型对照信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ProScheduleSetupRule proScheduleSetupRule) throws IOException {
List<ProScheduleSetupRule> list = proScheduleSetupRuleService.selectProScheduleSetupRuleList(proScheduleSetupRule);
List<ProScheduleSetupRuleExcelExport> exportList = BeanUtil.copyToList(list, ProScheduleSetupRuleExcelExport.class);
ExcelWriter.write(response, ProScheduleSetupRuleExcelExport.class, exportList);
}
}
package com.ximai.mes.pro.controller;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.annotation.Log;
import com.ximai.common.constant.UserConstants;
import com.ximai.common.core.controller.BaseController;
import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.pro.domain.ProUsage;
import com.ximai.mes.pro.dto.ProUsageExcelExport;
import com.ximai.mes.pro.service.IProUsageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
......@@ -102,4 +106,15 @@ public class ProUsageController extends BaseController {
return toAjax(proUsageService.deleteProUsageByUsageIds(usageIds));
}
/**
* 导出生产用途列表
*/
@PreAuthorize("@ss.hasPermi('mes:pro:usage:export')")
@Log(title = "生产用途", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ProUsage proUsage) throws IOException {
List<ProUsage> list = proUsageService.selectProUsageList(proUsage);
List<ProUsageExcelExport> exportList = BeanUtil.copyToList(list, ProUsageExcelExport.class);
ExcelWriter.write(response, ProUsageExcelExport.class, exportList);
}
}
......@@ -14,6 +14,7 @@ import com.ximai.common.exception.ServiceException;
import com.ximai.common.utils.MessageUtils;
import com.ximai.common.utils.data.ExceptionUtil;
import com.ximai.common.utils.data.StringUtils;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.constant.WorkorderStatusEnum;
import com.ximai.mes.md.domain.MdProductBom;
import com.ximai.mes.md.service.IMdBaseInfoService;
......@@ -31,6 +32,7 @@ import com.ximai.mes.pro.domain.vo.ProWorkorderVo;
import com.ximai.mes.pro.domain.vo.proWorkOrder.BuildPackageParams2;
import com.ximai.mes.pro.domain.vo.proWorkOrder.ProWorkorderPrintTab;
import com.ximai.mes.pro.domain.vo.proWorkOrder.WorkorderProofMakeProduction;
import com.ximai.mes.pro.dto.ProWorkorderExcelExport;
import com.ximai.mes.pro.mapper.proWorkOrder.ProWorkOrderProcessMapper;
import com.ximai.mes.pro.service.IProWorkorderBomService;
import com.ximai.mes.pro.service.proWorkOrder.IProWorkOrderSoDirectiveService;
......@@ -387,4 +389,16 @@ public class ProWorkorderController extends BaseController {
return AjaxResult.success();
}
/**
* 导出生产工单列表
*/
@PreAuthorize("@ss.hasPermi('mes:pro:workorder:export')")
@Log(title = "生产工单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ProWorkorderQuery proWorkorder) throws IOException {
List<ProWorkorder> list = proWorkorderService.selectProWorkorderList(proWorkorder);
List<ProWorkorderExcelExport> exportList = BeanUtil.copyToList(list, ProWorkorderExcelExport.class);
ExcelWriter.write(response,ProWorkorderExcelExport.class,exportList);
}
}
package com.ximai.mes.pro.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 生产工序对象 pro_process
*
* @date 2022-05-12
*/
@Data
public class ProProcessExcelExport
{
private static final long serialVersionUID = 1L;
/** 工序编码 */
@ExcelProperty("工序编码")
private String processCode;
/** 工序名称 */
@ExcelProperty("工序名称")
private String processName;
/** 工艺要求 */
@ExcelProperty("工艺要求")
private String attention;
/** 是否启用 */
@ExcelProperty("是否启用")
private String enableFlag;
@ApiModelProperty("是否包装工序,1:是,0:否")
private String isPackage;
@ApiModelProperty("是否序列号报工,1:是,0:否")
private Integer isSerialReport;
private String isExistTool;
}
package com.ximai.mes.pro.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;
/**
* 生产用途
* @TableName pro_usage
*/
@Data
public class ProUsageExcelExport {
/**
* 编码
*/
@Size(max= 64,message="编码长度不能超过64")
@ApiModelProperty("编码")
@Length(max= 64,message="编码长度不能超过64")
@ExcelProperty("用途编码")
private String usageCode;
/**
* 名称
*/
@Size(max= 255,message="编码长度不能超过255")
@ApiModelProperty("名称")
@Length(max= 255,message="编码长度不能超过255")
@ExcelProperty("用途名称")
private String usageName;
/**
* 备注
*/
@Size(max= 500,message="编码长度不能超过500")
@ApiModelProperty("备注")
@Length(max= 500,message="编码长度不能超过500")
@ExcelProperty("备注")
private String remark;
}
package com.ximai.mes.pro.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.TreeEntity;
import com.ximai.common.utils.excel.converter.DateTimeConverter;
import com.ximai.mes.pro.domain.task.ProTask;
import com.ximai.mes.pro.domain.task.ProTaskWorkunit;
import com.ximai.mes.pro.domain.vo.ProTaskVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 生产工单对象 pro_workorder
*
* @date 2022-05-15
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ProWorkorderExcelExport {
private static final long serialVersionUID = 1L;
/**
* 工单编码
*/
@ExcelProperty("工单编码")
private String workorderCode;
private String startSerial;
private String endSerial;
/**
* 工单名称
*/
@ExcelProperty("工单名称")
private String workorderName;
/**
* 工单类型
*/
@ExcelProperty("工单类型")
private String workorderType;
/**
* 来源类型
*/
@ExcelProperty("来源类型")
private String orderSource;
/**
* 来源单据
*/
@ExcelProperty("来源单据")
@ApiModelProperty("来源单据")
private String sourceCode;
/**
* 产品ID
*/
@ExcelProperty("产品ID")
private Long productId;
/**
* 是否急单
*/
@ExcelProperty("是否急单")
private String rushOrder;
/**
* 产品编号
*/
@ExcelProperty("产品编号")
private String productCode;
/**
* 产品名称
*/
@ExcelProperty("产品名称")
private String productName;
/**
* 规格型号
*/
@ExcelProperty("规格型号")
private String productSpc;
/**
* 单位
*/
@ApiModelProperty("单位")
private String unitOfMeasure;
/**
* 编排单号
*/
@ApiModelProperty("编排单号")
private String arrangeCode;
/**
* 批次号
*/
@ExcelProperty("批次号")
private String batchCode;
/**
* 生产数量
*/
@ExcelProperty("生产数量")
@ApiModelProperty("工单数量")
private BigDecimal quantity;
/**
* 调整数量
*/
@ExcelProperty("调整数量")
private BigDecimal quantityChanged;
/**
* 客户ID
*/
@ExcelProperty("客户ID")
private Long clientId;
/**
* 客户编码
*/
@ExcelProperty("客户编码")
private String clientCode;
/**
* 客户名称
*/
@ExcelProperty("客户名称")
private String clientName;
/**
* 供应商ID
*/
@ExcelProperty("供应商ID")
private Long vendorId;
/**
* 供应商编号
*/
@ExcelProperty("供应商编号")
private String vendorCode;
/**
* 供应商名称
*/
@ExcelProperty("供应商名称")
private String vendorName;
/**
* 需求日期 -> 完工时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@ExcelProperty(value = "需求日期", converter = DateTimeConverter.class)
private Date requestDate;
/**
* 完成时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ExcelProperty(value = "完成时间", converter = DateTimeConverter.class)
private Date finishDate;
/**
* 单据状态
*/
@ExcelProperty("单据状态")
private String status;
/**
* 工厂编码
*/
@ExcelProperty("工厂编码")
private Long factoryCode;
/**
* 订单开始日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@ExcelProperty(value = "订单开始日期", converter = DateTimeConverter.class)
private Date startDate;
/**
* 生产主管
*/
@ExcelProperty("生产主管")
private String productionManagerId;
/**
* 库存地点
*/
@ExcelProperty("库存地点")
private String storageLocation;
/**
* 派工倍数
*/
@ExcelProperty("派工倍数")
private String dispatchMultiple;
/**
* 排版行数
*/
@ExcelProperty("排版行数")
private String rowNum;
/**
* 单重
*/
@ExcelProperty("单重")
private BigDecimal singleWeight;
/**
* 厚度(丝)
*/
@ExcelProperty("厚度(丝)")
private BigDecimal thickness;
/**
* 物料清单
*/
@ExcelProperty("物料清单")
private String materialsGroupBill;
/**
* 备选物料清单
*/
@ExcelProperty("备选物料清单")
private String alternativeBill;
}
package com.ximai.mes.qc.controller;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.utils.excel.ExcelWriter;
import com.ximai.mes.qc.dto.QcAbnormalInformationExcelExport;
import com.ximai.mes.qc.mapper.QcAbnormalInformationMapper;
import org.dom4j.tree.BackedList;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -97,4 +102,16 @@ public class QcAbnormalInformationController extends BaseController
{
return toAjax(qcAbnormalInformationService.deleteQcAbnormalInformationByAbnormalIds(abnormalIds));
}
/**
* 导出异常信息列表
*/
@PreAuthorize("@ss.hasPermi('qc:information:export')")
@Log(title = "异常信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, QcAbnormalInformation qcAbnormalInformation) throws IOException {
List<QcAbnormalInformation> list = qcAbnormalInformationService.selectQcAbnormalInformationList(qcAbnormalInformation);
List<QcAbnormalInformationExcelExport> exportList = BeanUtil.copyToList(list, QcAbnormalInformationExcelExport.class);
ExcelWriter.write(response, QcAbnormalInformationExcelExport.class, exportList);
}
}
package com.ximai.mes.qc.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 异常信息对象 qc_abnormal_information
*
* @author generator
* @date 2024-02-19
*/
@Data
public class QcAbnormalInformationExcelExport
{
private static final long serialVersionUID = 1L;
/** 异常类型 */
@ExcelProperty("异常类型")
private String abnormalType;
/** 异常原因 */
@ExcelProperty("异常原因")
private String abnormalReason;
}
......@@ -10,7 +10,7 @@ import com.ximai.common.core.domain.BaseEntity;
* 系统访问记录表 sys_logininfor
*
*/
public class SysLogininfor extends BaseEntity
public class SysLogininfor
{
private static final long serialVersionUID = 1L;
......
package com.ximai.system.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ximai.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel("系统参数导出")
public class SysConfigExcelExport {
private static final long serialVersionUID = 1L;
/** 参数主键 */
@ExcelProperty("参数主键")
private Long configId;
/** 参数名称 */
@ExcelProperty("参数名称")
private String configName;
/** 参数键名 */
@ExcelProperty("参数键名")
private String configKey;
/** 参数键值 */
@ExcelProperty("参数键值")
private String configValue;
/** 系统内置(Y是 N否) */
@ExcelProperty("系统内置")
private String configType;
}
package com.ximai.system.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ximai.common.annotation.Excel;
import com.ximai.common.annotation.Excel.ColumnType;
import com.ximai.common.core.domain.BaseEntity;
import com.ximai.common.utils.excel.converter.DateTimeConverter;
import com.ximai.common.utils.excel.converter.LocalDateTimeConverter;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
/**
* 系统访问记录表 sys_logininfor
*
*/
@Data
@ApiModel("登录日志")
public class SysLogininforExcelExport
{
private static final long serialVersionUID = 1L;
/** ID */
@ExcelProperty("序号")
private Long infoId;
/** 用户账号 */
@ExcelProperty("用户账号")
private String userName;
/** 登录状态 0成功 1失败 */
@ExcelProperty("登录状态")
private String status;
/** 登录IP地址 */
@ExcelProperty("登录地址")
private String ipaddr;
/** 登录地点 */
@ExcelProperty("登录地点")
private String loginLocation;
/** 浏览器类型 */
@ExcelProperty("浏览器")
private String browser;
/** 操作系统 */
@ExcelProperty("操作系统")
private String os;
/** 提示消息 */
@ExcelProperty("提示消息")
private String msg;
/** 访问时间 */
@ExcelProperty(value = "操作时间", converter = DateTimeConverter.class)
private Date loginTime;
}
package com.ximai.system.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ximai.common.annotation.Excel;
import com.ximai.common.annotation.Excel.ColumnType;
import com.ximai.common.core.domain.BaseEntity;
import com.ximai.common.utils.excel.converter.DateTimeConverter;
import com.ximai.common.utils.excel.converter.LocalDateTimeConverter;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
/**
* 操作日志记录表 oper_log
*/
@Data
@ApiModel("操作日志导出")
public class SysOperLogExcelExport {
private static final long serialVersionUID = 1L;
/**
* 日志主键
*/
@ExcelProperty("操作序号")
private Long operId;
/**
* 操作模块
*/
@ExcelProperty("操作模块")
private String title;
/**
* 业务类型(0其它 1新增 2修改 3删除)
*/
@ExcelProperty("业务类型")
private Integer businessType;
/**
* 业务类型数组
*/
private Integer[] businessTypes;
/**
* 请求方法
*/
@ExcelProperty("请求方法")
private String method;
/**
* 请求方式
*/
@ExcelProperty("请求方式")
private String requestMethod;
/**
* 操作类别(0其它 1后台用户 2手机端用户)
*/
@ExcelProperty("操作类别")
private Integer operatorType;
/**
* 操作人员
*/
@ExcelProperty("操作人员")
private String operName;
/**
* 部门名称
*/
@ExcelProperty("部门名称")
private String deptName;
/**
* 请求url
*/
@ExcelProperty("请求地址")
private String operUrl;
/**
* 操作地址
*/
@ExcelProperty("操作地址")
private String operIp;
/**
* 操作地点
*/
@ExcelProperty("操作地点")
private String operLocation;
/**
* 请求参数
*/
@ExcelProperty("请求参数")
private String operParam;
/**
* 返回参数
*/
@ExcelProperty("返回参数")
private String jsonResult;
/**
* 操作状态(0正常 1异常)
*/
@ExcelProperty("状态")
private Integer status;
/**
* 错误消息
*/
@ExcelProperty("错误消息")
private String errorMsg;
/**
* 操作时间
*/
@ExcelProperty(value = "操作时间", converter = DateTimeConverter.class)
private Date operTime;
}
package com.ximai.system.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 打印机配置对象 sys_print_printer_config
*
* @author generator
* @date 2024-02-28
*/
@Data
@ApiModel("打印机配置")
public class SysPrintPrinterConfigExcelExport
{
private static final long serialVersionUID = 1L;
/** 打印机类型 */
@ExcelProperty("打印机类型")
private String printerType;
/** 打印机名称 */
@ExcelProperty("打印机名称")
private String printerName;
/** 品牌 */
@ExcelProperty("品牌")
private String brand;
/** $column.columnComment */
@ExcelProperty("品牌")
private String printerPlace;
/** 型号 */
@ExcelProperty("型号")
private String printerModel;
@ApiModelProperty("打印机IP")
private String printerIp;
@ApiModelProperty("打印机端口")
private String printerPort;
/** 连接类型 */
@ExcelProperty("连接类型")
private String connectionType;
/** 图片URL */
@ExcelProperty("图片URL")
private String printerUrl;
/** 启用状态 */
@ExcelProperty("启用状态")
private String enableFlag;
/** 打印机状态 */
@ExcelProperty("打印机状态")
private String status;
/** 人员关联打印机状态打印机状态 */
@ExcelProperty("人员关联打印机状态打印机状态")
private String userPrinterStatus;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment