Commit 58246267 LN

导出文档增加国际化处理

1 个父辈 70a19b7d
...@@ -11,6 +11,7 @@ import com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE; ...@@ -11,6 +11,7 @@ import com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE;
import com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager; import com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode; import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.device.util.DataCache; import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.language.util.MessageUtils;
import com.neotel.smfcore.core.storage.bean.InventoryItem; import com.neotel.smfcore.core.storage.bean.InventoryItem;
import com.neotel.smfcore.core.storage.rest.dto.*; import com.neotel.smfcore.core.storage.rest.dto.*;
import com.neotel.smfcore.core.storage.rest.mapstruct.InventoryItemMapper; import com.neotel.smfcore.core.storage.rest.mapstruct.InventoryItemMapper;
...@@ -71,19 +72,25 @@ public class MaterialController { ...@@ -71,19 +72,25 @@ public class MaterialController {
@ApiOperation("导出库存列表") @ApiOperation("导出库存列表")
@GetMapping(value = "/inventory/download") @GetMapping(value = "/inventory/download")
@PreAuthorize("@el.check('tacticsOuput')") @PreAuthorize("@el.check('tacticsOuput')")
public void inventoryDownload(HttpServletResponse response, InventoryQueryCriteria criteria)throws IOException { public void inventoryDownload(HttpServletResponse response, InventoryQueryCriteria criteria,Locale locale)throws IOException {
Map<String, InventoryItem> inventoryItemMap = dataCache.getAllInventory(criteria.getStorageIdList()); Map<String, InventoryItem> inventoryItemMap = dataCache.getAllInventory(criteria.getStorageIdList());
List<InventoryItem> list = Lists.newArrayList(inventoryItemMap.values()); List<InventoryItem> list = Lists.newArrayList(inventoryItemMap.values());
String partNumberStr= MessageUtils.getText("smfcore.inventory.partNumber",locale,"物料编号");
String countStr= MessageUtils.getText("smfcore.inventory.count",locale,"数量");
String lockReelStr= MessageUtils.getText("smfcore.inventory.lockReel",locale,"锁定");
String stockReelStr= MessageUtils.getText("smfcore.inventory.stockReel",locale,"库存");
String storageNameStr= MessageUtils.getText("smfcore.inventory.storageName",locale,"设备");
List<Map<String, Object>> maps = new ArrayList<>(); List<Map<String, Object>> maps = new ArrayList<>();
for (InventoryItem item : list) { for (InventoryItem item : list) {
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("物料编号", item.getPartNumber()); map.put(partNumberStr, item.getPartNumber());
map.put("数量", item.getStockCount()); map.put(countStr, item.getStockCount());
map.put("锁定", item.getLockReel()); map.put(lockReelStr, item.getLockReel());
map.put("库存", item.getStockReel()); map.put(stockReelStr, item.getStockReel());
map.put("设备", item.getStorageName()); map.put(storageNameStr, item.getStorageName());
maps.add(map); maps.add(map);
} }
FileUtil.downloadExcel(maps, response); FileUtil.downloadExcel(maps, response);
......
...@@ -268,7 +268,7 @@ public class StoragePosController { ...@@ -268,7 +268,7 @@ public class StoragePosController {
@ApiOperation("导出查找出库列表") @ApiOperation("导出查找出库列表")
@GetMapping(value = "/find/download") @GetMapping(value = "/find/download")
@PreAuthorize("@el.check('checkOut')") @PreAuthorize("@el.check('checkOut')")
public void download(HttpServletResponse response, StoragePosFindCriteria criteria) throws IOException { public void download(HttpServletResponse response, StoragePosFindCriteria criteria,HttpServletRequest request) throws IOException {
if (criteria.getStorageId() != null && criteria.getStorageId().equals("0")) { if (criteria.getStorageId() != null && criteria.getStorageId().equals("0")) {
criteria.setStorageId(null); criteria.setStorageId(null);
} }
...@@ -301,7 +301,7 @@ public class StoragePosController { ...@@ -301,7 +301,7 @@ public class StoragePosController {
query.addCriteria(baseCriteria); query.addCriteria(baseCriteria);
List<StoragePos> storagePos = storagePosManager.findByQuery(query ); List<StoragePos> storagePos = storagePosManager.findByQuery(query );
storagePosManager.download(storagePos, response); storagePosManager.download(storagePos, response,request.getLocale());
} }
@ApiOperation("查找出库列表") @ApiOperation("查找出库列表")
@GetMapping("/find") @GetMapping("/find")
......
...@@ -11,10 +11,7 @@ import com.neotel.smfcore.core.storage.service.po.StoragePos; ...@@ -11,10 +11,7 @@ import com.neotel.smfcore.core.storage.service.po.StoragePos;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Set;
public interface IStoragePosManager extends IBaseManager<StoragePos> { public interface IStoragePosManager extends IBaseManager<StoragePos> {
...@@ -60,5 +57,5 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> { ...@@ -60,5 +57,5 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> {
public void updateBarcodeMsd(String pn,String msl,String thickness); public void updateBarcodeMsd(String pn,String msl,String thickness);
void download(List<StoragePos> storagePos, HttpServletResponse response) throws IOException; void download(List<StoragePos> storagePos, HttpServletResponse response, Locale locale) throws IOException;
} }
...@@ -11,6 +11,7 @@ import com.neotel.smfcore.common.utils.PointUtil; ...@@ -11,6 +11,7 @@ import com.neotel.smfcore.common.utils.PointUtil;
import com.neotel.smfcore.common.utils.StringUtils; import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.barcode.bean.PlateSizeBean; import com.neotel.smfcore.core.barcode.bean.PlateSizeBean;
import com.neotel.smfcore.core.barcode.service.po.Barcode; import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.language.util.MessageUtils;
import com.neotel.smfcore.core.storage.bean.InventoryItem; import com.neotel.smfcore.core.storage.bean.InventoryItem;
import com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE; import com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE;
import com.neotel.smfcore.core.storage.enums.COMPATIBLE_TYPE; import com.neotel.smfcore.core.storage.enums.COMPATIBLE_TYPE;
...@@ -456,26 +457,38 @@ public class StoragePosManagerImpl implements IStoragePosManager { ...@@ -456,26 +457,38 @@ public class StoragePosManagerImpl implements IStoragePosManager {
} }
@Override @Override
public void download(List<StoragePos> storagePos, HttpServletResponse response) throws IOException { public void download(List<StoragePos> storagePos, HttpServletResponse response,Locale locale) throws IOException {
String barcodeStr= MessageUtils.getText("smfcore.storagePos.barcode",locale,"条码编号");
String partNumberStr= MessageUtils.getText("smfcore.storagePos.partNumber",locale,"物料编号");
String proDateStr= MessageUtils.getText("smfcore.storagePos.proDate",locale,"生产日期");
String expireDateStr= MessageUtils.getText("smfcore.storagePos.expireDate",locale,"过期时间");
String posNameStr= MessageUtils.getText("smfcore.storagePos.posName",locale,"库位号");
String lockNameStr= MessageUtils.getText("smfcore.storagePos.lockName",locale,"工单号");
String amountStr= MessageUtils.getText("smfcore.storagePos.amount",locale,"数量");
String putInTimeStr= MessageUtils.getText("smfcore.storagePos.putInTime",locale,"首次入库时间");
String putInDateStr= MessageUtils.getText("smfcore.storagePos.putInDate",locale,"入库时间");
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS"); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS");
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
for (StoragePos pos : storagePos) { for (StoragePos pos : storagePos) {
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("条码编号", pos.getBarcode().getBarcode()); map.put(barcodeStr, pos.getBarcode().getBarcode());
map.put("物料编号", pos.getBarcode().getPartNumber()); map.put(partNumberStr, pos.getBarcode().getPartNumber());
String proDate = pos.getBarcode().getProduceDate() == null ? "" : dateFormat.format(pos.getBarcode().getProduceDate()); String proDate = pos.getBarcode().getProduceDate() == null ? "" : dateFormat.format(pos.getBarcode().getProduceDate());
map.put("生产日期", proDate); map.put(proDateStr, proDate);
map.put("过期时间", pos.getBarcode().getExpireDate()); map.put(expireDateStr, pos.getBarcode().getExpireDate());
map.put("库位号", pos.getPosName()); map.put(posNameStr, pos.getPosName());
map.put("工单号", pos.getBarcode().getLockName()); map.put(lockNameStr, pos.getBarcode().getLockName());
map.put("数量", pos.getBarcode().getAmount()); map.put(amountStr, pos.getBarcode().getAmount());
String putInTime = (pos.getBarcode().getPutInTime() == -1) ? "" : dateFormat.format(new Date(pos.getBarcode().getPutInTime())); String putInTime = (pos.getBarcode().getPutInTime() == -1) ? "" : dateFormat.format(new Date(pos.getBarcode().getPutInTime()));
if(ObjectUtil.isNotEmpty(putInTime)){ if(ObjectUtil.isNotEmpty(putInTime)){
putInTime=dateFormat.format(pos.getBarcode().getPutInDate()); putInTime=dateFormat.format(pos.getBarcode().getPutInDate());
} }
map.put("首次入库时间", putInTime); map.put(putInTimeStr, putInTime);
map.put("入库时间", dateFormat.format(pos.getBarcode().getPutInDate())); map.put(putInDateStr, dateFormat.format(pos.getBarcode().getPutInDate()));
list.add(map); list.add(map);
} }
FileUtil.downloadExcel(list, response); FileUtil.downloadExcel(list, response);
......
...@@ -88,11 +88,11 @@ public class MenuController { ...@@ -88,11 +88,11 @@ public class MenuController {
@ApiOperation("导出菜单数据") @ApiOperation("导出菜单数据")
@GetMapping(value = "/download") @GetMapping(value = "/download")
@PreAuthorize("@el.check('menu:list')") @PreAuthorize("@el.check('menu:list')")
public void download(HttpServletResponse response, MenuQueryCondition criteria) throws Exception { public void download(HttpServletResponse response, MenuQueryCondition criteria,HttpServletRequest request) throws Exception {
Query query = QueryHelp.getQuery(criteria); Query query = QueryHelp.getQuery(criteria);
query.addCriteria(Criteria.where("type").ne(2)); query.addCriteria(Criteria.where("type").ne(2));
//Query query=new Query(Criteria.where("type").ne(2)); //Query query=new Query(Criteria.where("type").ne(2));
menuManager.download(menuManager.findByQuery(query), response); menuManager.download(menuManager.findByQuery(query), response,request.getLocale());
} }
// //
......
...@@ -32,6 +32,7 @@ import org.springframework.security.access.prepost.PreAuthorize; ...@@ -32,6 +32,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;
...@@ -67,10 +68,10 @@ public class RoleController { ...@@ -67,10 +68,10 @@ public class RoleController {
@ApiOperation("导出角色数据") @ApiOperation("导出角色数据")
@GetMapping(value = "/download") @GetMapping(value = "/download")
@PreAuthorize("@el.check('role:list')") @PreAuthorize("@el.check('role:list')")
public void download(HttpServletResponse response, RoleQueryCriteria criteria) throws IOException { public void download(HttpServletResponse response, RoleQueryCriteria criteria, HttpServletRequest request) throws IOException {
Query query= QueryHelp.getQuery(criteria); Query query= QueryHelp.getQuery(criteria);
List<Role> roles=roleManager.findByQuery(query); List<Role> roles=roleManager.findByQuery(query);
roleManager.download(roles, response); roleManager.download(roles, response,request.getLocale());
} }
@ApiOperation("返回全部的角色") @ApiOperation("返回全部的角色")
......
...@@ -51,6 +51,7 @@ import org.springframework.validation.annotation.Validated; ...@@ -51,6 +51,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
...@@ -81,10 +82,10 @@ public class UserController { ...@@ -81,10 +82,10 @@ public class UserController {
@ApiOperation("导出用户数据") @ApiOperation("导出用户数据")
@GetMapping(value = "/download") @GetMapping(value = "/download")
@PreAuthorize("@el.check('user:list')") @PreAuthorize("@el.check('user:list')")
public void download(HttpServletResponse response, UserQueryCriteria criteria) throws IOException { public void download(HttpServletResponse response, UserQueryCriteria criteria, HttpServletRequest request) throws IOException {
Query query = QueryHelp.getQuery(criteria); Query query = QueryHelp.getQuery(criteria);
List<User> users = userManager.findByQuery(query); List<User> users = userManager.findByQuery(query);
userManager.download(users, response); userManager.download(users, response,request.getLocale());
} }
@ApiOperation("查询用户") @ApiOperation("查询用户")
......
...@@ -72,7 +72,7 @@ public interface IMenuManager extends IBaseManager<Menu> { ...@@ -72,7 +72,7 @@ public interface IMenuManager extends IBaseManager<Menu> {
* @param response * @param response
* @throws IOException * @throws IOException
*/ */
void download(List<Menu> menuDtos, HttpServletResponse response) throws IOException; void download(List<Menu> menuDtos, HttpServletResponse response,Locale locale) throws IOException;
Set<Menu> getChildMenus(List<Menu> menuList, Set<Menu> menuSet); Set<Menu> getChildMenus(List<Menu> menuList, Set<Menu> menuSet);
......
...@@ -26,6 +26,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -26,6 +26,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
...@@ -33,7 +34,7 @@ import java.util.Set; ...@@ -33,7 +34,7 @@ import java.util.Set;
public interface IRoleManager extends IBaseManager<Role> { public interface IRoleManager extends IBaseManager<Role> {
void download(List<Role> roles, HttpServletResponse response) throws IOException; void download(List<Role> roles, HttpServletResponse response, Locale locale) throws IOException;
Role saveRole(Role user) throws ValidateException; Role saveRole(Role user) throws ValidateException;
......
...@@ -22,6 +22,7 @@ import com.neotel.smfcore.security.service.po.User; ...@@ -22,6 +22,7 @@ import com.neotel.smfcore.security.service.po.User;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
...@@ -65,7 +66,7 @@ public interface IUserManager extends IBaseManager<User> { ...@@ -65,7 +66,7 @@ public interface IUserManager extends IBaseManager<User> {
List<User> findByRoleId(String roleId); List<User> findByRoleId(String roleId);
void download(List<User> users, HttpServletResponse response) throws IOException; void download(List<User> users, HttpServletResponse response, Locale locale) throws IOException;
void updateEmail(String username, String email); void updateEmail(String username, String email);
......
...@@ -222,16 +222,29 @@ public class MenuManagerImpl implements IMenuManager { ...@@ -222,16 +222,29 @@ public class MenuManagerImpl implements IMenuManager {
return getSuperior(get(menu.getPid()), menus); return getSuperior(get(menu.getPid()), menus);
} }
@Override @Override
public void download(List<Menu> menuDtos, HttpServletResponse response) throws IOException { public void download(List<Menu> menuDtos, HttpServletResponse response,Locale locale) throws IOException {
String titleStr= MessageUtils.getText("smfcore.menu.title",locale,"菜单标题");
String typeStr= MessageUtils.getText("smfcore.menu.type",locale,"菜单类型");
String permissionStr= MessageUtils.getText("smfcore.menu.permission",locale,"权限标识");
String iframeStr= MessageUtils.getText("smfcore.menu.iframe",locale,"外链菜单");
String hiddenStr= MessageUtils.getText("smfcore.menu.hidden",locale,"菜单可见");
String cacheStr= MessageUtils.getText("smfcore.menu.cache",locale,"是否缓存");
String directory= MessageUtils.getText("smfcore.menuType.directory",locale,"目录");
String menuStr= MessageUtils.getText("smfcore.menuType.menu",locale,"菜单");
String button= MessageUtils.getText("smfcore.menuType.button",locale,"按钮");
String yes= MessageUtils.getText("smfcore.yes",locale,"是");
String deny= MessageUtils.getText("smfcore.deny",locale,"否");
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
for (Menu menu : menuDtos) { for (Menu menu : menuDtos) {
Map<String,Object> map = new LinkedHashMap<>(); Map<String,Object> map = new LinkedHashMap<>();
map.put("菜单标题", menu.getTitle()); map.put(titleStr, menu.getTitle());
map.put("菜单类型", menu.getType() == null ? "目录" : menu.getType() == 1 ? "菜单" : "按钮"); map.put(typeStr, menu.getType() == null ? directory : menu.getType() == 1 ?menuStr : button);
map.put("权限标识", menu.getPermission()); map.put(permissionStr, menu.getPermission());
map.put("外链菜单", menu.getIFrame() ? "是" : "否"); map.put(iframeStr, menu.getIFrame() ? yes : deny);
map.put("菜单可见", menu.getHidden() ? "否" : "是"); map.put(hiddenStr, menu.getHidden() ?deny : yes);
map.put("是否缓存", menu.getCache() ? "是" : "否"); map.put(cacheStr, menu.getCache() ? yes : deny);
list.add(map); list.add(map);
} }
FileUtil.downloadExcel(list, response); FileUtil.downloadExcel(list, response);
......
...@@ -6,6 +6,7 @@ import com.neotel.smfcore.common.utils.Constants; ...@@ -6,6 +6,7 @@ import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.common.utils.DateUtil; import com.neotel.smfcore.common.utils.DateUtil;
import com.neotel.smfcore.common.utils.FileUtil; import com.neotel.smfcore.common.utils.FileUtil;
import com.neotel.smfcore.common.utils.SecurityUtils; import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.core.language.util.MessageUtils;
import com.neotel.smfcore.security.service.dao.IRoleDao; import com.neotel.smfcore.security.service.dao.IRoleDao;
import com.neotel.smfcore.security.service.dao.IUserDao; import com.neotel.smfcore.security.service.dao.IUserDao;
import com.neotel.smfcore.security.service.manager.IRoleManager; import com.neotel.smfcore.security.service.manager.IRoleManager;
...@@ -64,14 +65,17 @@ public class RoleManagerImpl implements IRoleManager { ...@@ -64,14 +65,17 @@ public class RoleManagerImpl implements IRoleManager {
} }
@Override @Override
public void download(List<Role> roles, HttpServletResponse response) throws IOException { public void download(List<Role> roles, HttpServletResponse response,Locale locale) throws IOException {
String nameStr= MessageUtils.getText("smfcore.role.name",locale,"角色名称");
String desStr= MessageUtils.getText("smfcore.role.des",locale,"描述");
String createDateStr= MessageUtils.getText("smfcore.role.createDate",locale,"创建日期");
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
for (Role role : roles) { for (Role role : roles) {
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("角色名称", role.getName()); map.put(nameStr, role.getName());
// map.put("角色级别", role.getLevel()); map.put(desStr, role.getDescription());
map.put("描述", role.getDescription()); map.put(createDateStr, DateUtil.toDateTimeString( role.getCreateDate()));
map.put("创建日期", DateUtil.toDateTimeString( role.getCreateDate()));
list.add(map); list.add(map);
} }
FileUtil.downloadExcel(list, response); FileUtil.downloadExcel(list, response);
......
...@@ -4,6 +4,7 @@ import com.google.common.base.Strings; ...@@ -4,6 +4,7 @@ import com.google.common.base.Strings;
import com.neotel.smfcore.common.bean.PageData; import com.neotel.smfcore.common.bean.PageData;
import com.neotel.smfcore.common.exception.ValidateException; import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.*; import com.neotel.smfcore.common.utils.*;
import com.neotel.smfcore.core.language.util.MessageUtils;
import com.neotel.smfcore.core.storage.service.po.StoragePos; import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.security.rest.bean.dto.RoleSmallDto; import com.neotel.smfcore.security.rest.bean.dto.RoleSmallDto;
import com.neotel.smfcore.security.rest.bean.dto.UserDto; import com.neotel.smfcore.security.rest.bean.dto.UserDto;
...@@ -14,6 +15,7 @@ import com.neotel.smfcore.security.service.manager.IRoleManager; ...@@ -14,6 +15,7 @@ import com.neotel.smfcore.security.service.manager.IRoleManager;
import com.neotel.smfcore.security.service.manager.IUserManager; import com.neotel.smfcore.security.service.manager.IUserManager;
import com.neotel.smfcore.security.service.po.Role; import com.neotel.smfcore.security.service.po.Role;
import com.neotel.smfcore.security.service.po.User; import com.neotel.smfcore.security.service.po.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
...@@ -32,6 +34,7 @@ import java.util.stream.Collectors; ...@@ -32,6 +34,7 @@ import java.util.stream.Collectors;
* Created by kangmor on 2015/12/1. * Created by kangmor on 2015/12/1.
*/ */
@Service @Service
@Slf4j
public class UserManagerImpl implements IUserManager { public class UserManagerImpl implements IUserManager {
@Autowired @Autowired
private UserMapper userMapper; private UserMapper userMapper;
...@@ -165,21 +168,41 @@ public class UserManagerImpl implements IUserManager { ...@@ -165,21 +168,41 @@ public class UserManagerImpl implements IUserManager {
return users; return users;
} }
@Override @Override
public void download(List<User> queryAll, HttpServletResponse response) throws IOException { public void download(List<User> queryAll, HttpServletResponse response,Locale locale) throws IOException {
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
String userIdStr = MessageUtils.getText("smfcore.user.id", locale, "用户ID");
String nameStr = MessageUtils.getText("smfcore.user.name", locale, "用户名");
String userEnableStr = MessageUtils.getText("smfcore.user.enable", locale, "状态");
String createDateStr = MessageUtils.getText("smfcore.user.createDate", locale, "创建日期");
String codeStr = MessageUtils.getText("smfcore.user.code", locale, "启用码");
String enableStr = MessageUtils.getText("smfcore.enable", locale, "启用");
String disabledStr = MessageUtils.getText("smfcore.disabled", locale, "禁用");
List<String> titles = new ArrayList<>();
titles.add(userIdStr);
titles.add(nameStr);
titles.add(userEnableStr);
titles.add(createDateStr);
titles.add(codeStr);
for (User user : queryAll) { for (User user : queryAll) {
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("用户ID", user.getId()); map.put(userIdStr, user.getId());
map.put("用户名", user.getUsername()); map.put(nameStr, user.getUsername());
// map.put("角色", user.getRoleId()); map.put(userEnableStr, user.getEnabled() ? enableStr : disabledStr);
// map.put("邮箱", user.getEmail()); map.put(createDateStr, DateUtil.toDateTimeString(user.getCreateDate()));
map.put("状态", user.getEnabled() ? "启用" : "禁用"); map.put(codeStr, "");
// map.put("语言", user.getLanguage());
map.put("创建日期", DateUtil.toDateTimeString(user.getCreateDate()));
map.put("启用码", "");
list.add(map); list.add(map);
} }
FileUtil.downloadExcel(list, response); try {
FileUtil.downloadCSV(list, titles, response);
} catch (Exception e) {
log.error("导出失败" + e.getMessage(), e);
}
} }
@Override @Override
......
...@@ -178,3 +178,35 @@ smfcore.inlist.listOk=\u5165\u5E93\u5355[{0}]\u5DF2\u5B8C\u6210 ...@@ -178,3 +178,35 @@ smfcore.inlist.listOk=\u5165\u5E93\u5355[{0}]\u5DF2\u5B8C\u6210
smfcore.inlist.setOk=\u8BBE\u7F6E\u6210\u529F smfcore.inlist.setOk=\u8BBE\u7F6E\u6210\u529F
smfcore.inlist.pnItemOk=\u5165\u5E93\u5355[{0}]\u7684\u7269\u6599[{1}]\u5DF2\u5165\u5E93\u5B8C\u6210 smfcore.inlist.pnItemOk=\u5165\u5E93\u5355[{0}]\u7684\u7269\u6599[{1}]\u5DF2\u5165\u5E93\u5B8C\u6210
smfcore.inlist.noPn=\u5165\u5E93\u5355[{0}]\u6CA1\u6709\u7269\u6599[{1}]\u5165\u5E93\u9700\u6C42 smfcore.inlist.noPn=\u5165\u5E93\u5355[{0}]\u6CA1\u6709\u7269\u6599[{1}]\u5165\u5E93\u9700\u6C42
smfcore.storagePos.barcode=\u6761\u7801\u7F16\u53F7
smfcore.storagePos.partNumber=\u7269\u6599\u7F16\u53F7
smfcore.storagePos.proDate=\u751F\u4EA7\u65E5\u671F
smfcore.storagePos.expireDate=\u8FC7\u671F\u65F6\u95F4
smfcore.storagePos.posName=\u5E93\u4F4D\u53F7
smfcore.storagePos.lockName=\u5DE5\u5355\u53F7
smfcore.storagePos.amount=\u6570\u91CF
smfcore.storagePos.putInTime=\u9996\u6B21\u5165\u5E93\u65F6\u95F4
smfcore.storagePos.putInDate=\u5165\u5E93\u65F6\u95F4
smfcore.inventory.partNumber=\u7269\u6599\u7F16\u53F7
smfcore.inventory.count=\u6570\u91CF
smfcore.inventory.lockReel=\u9501\u5B9A
smfcore.inventory.stockReel=\u5E93\u5B58
smfcore.inventory.storageName=\u8BBE\u5907
smfcore.menu.title=\u83DC\u5355\u6807\u9898
smfcore.menu.type=\u83DC\u5355\u7C7B\u578B
smfcore.menu.permission=\u6743\u9650\u6807\u8BC6
smfcore.menu.iframe=\u5916\u94FE\u83DC\u5355
smfcore.menu.hidden=\u83DC\u5355\u53EF\u89C1
smfcore.menu.cache=\u662F\u5426\u7F13\u5B58
smfcore.menuType.directory=\u76EE\u5F55
smfcore.menuType.menu=\u83DC\u5355
smfcore.menuType.button=\u6309\u94AE
smfcore.yes=\u662F
smfcore.deny=\u5426
smfcore.user.id=\u7528\u6237ID
smfcore.user.name=\u7528\u6237\u540D
smfcore.user.enable=\u72B6\u6001
smfcore.user.createDate=\u521B\u5EFA\u65E5\u671F
smfcore.user.code=\u542F\u7528\u7801
smfcore.enable=\u542F\u7528
smfcore.disabled=\u7981\u7528
...@@ -178,3 +178,35 @@ smfcore.inlist.listOk=Inbound orders [{0}] completed ...@@ -178,3 +178,35 @@ smfcore.inlist.listOk=Inbound orders [{0}] completed
smfcore.inlist.setOk=Setup successful smfcore.inlist.setOk=Setup successful
smfcore.inlist.pnItemOk=The material [{1}] of the incoming order [{0}] has been entered into the warehouse smfcore.inlist.pnItemOk=The material [{1}] of the incoming order [{0}] has been entered into the warehouse
smfcore.inlist.noPn=Inbound order [{0}] has no material [{1}] inbound requirement smfcore.inlist.noPn=Inbound order [{0}] has no material [{1}] inbound requirement
smfcore.storagePos.barcode=MA.ID
smfcore.storagePos.partNumber=PN
smfcore.storagePos.proDate=MFG Date
smfcore.storagePos.expireDate=EXP Date
smfcore.storagePos.posName=posName
smfcore.storagePos.lockName=Work Order
smfcore.storagePos.amount=QTY
smfcore.storagePos.putInTime=Inventory Created Date
smfcore.storagePos.putInDate=Latest Update
smfcore.inventory.partNumber=PN
smfcore.inventory.count=QTY
smfcore.inventory.lockReel=Reserve
smfcore.inventory.stockReel=Inventory
smfcore.inventory.storageName=Equipment
smfcore.menu.title=Menu Title
smfcore.menu.type=Menu Type
smfcore.menu.permission=Permission Tag
smfcore.menu.iframe=OuterChain
smfcore.menu.hidden=Menu Visible
smfcore.menu.cache=Menu Cache
smfcore.menuType.directory=CataLOg
smfcore.menuType.menu=Menu
smfcore.menuType.button=Button
smfcore.yes=yes
smfcore.deny=no
smfcore.user.id=ID
smfcore.user.name=User Name
smfcore.user.enable=Satus
smfcore.user.createDate=Create Time
smfcore.user.code=Enable Code
smfcore.enable=Enable
smfcore.disabled=Disable
...@@ -178,3 +178,35 @@ smfcore.inlist.listOk=\u30A4\u30F3\u30D0\u30A6\u30F3\u30C9\u30AA\u30FC\u30C0\u30 ...@@ -178,3 +178,35 @@ smfcore.inlist.listOk=\u30A4\u30F3\u30D0\u30A6\u30F3\u30C9\u30AA\u30FC\u30C0\u30
smfcore.inlist.setOk=\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u6210\u529F smfcore.inlist.setOk=\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u6210\u529F
smfcore.inlist.pnItemOk=\u5165\u8377\u30AA\u30FC\u30C0\u30FC[{0}]\u306E\u6750\u6599[{1}]\u304C\u5009\u5EAB\u306B\u5165\u5EAB\u3055\u308C\u307E\u3057\u305F smfcore.inlist.pnItemOk=\u5165\u8377\u30AA\u30FC\u30C0\u30FC[{0}]\u306E\u6750\u6599[{1}]\u304C\u5009\u5EAB\u306B\u5165\u5EAB\u3055\u308C\u307E\u3057\u305F
smfcore.inlist.noPn=\u53D7\u6CE8\u6848\u4EF6[{0}]\u306B\u6750\u6599[{1}]\u306E\u5165\u8377\u8981\u4EF6\u304C\u306A\u3044 smfcore.inlist.noPn=\u53D7\u6CE8\u6848\u4EF6[{0}]\u306B\u6750\u6599[{1}]\u306E\u5165\u8377\u8981\u4EF6\u304C\u306A\u3044
smfcore.storagePos.barcode=\u30D0\u30FC\u30B3\u30FC\u30C9
smfcore.storagePos.partNumber=\u6750\u6599\u756A\u53F7
smfcore.storagePos.proDate=\u751F\u7523\u65E5\u4ED8
smfcore.storagePos.expireDate=\u8FC7\u671F\u65F6\u95F4
smfcore.storagePos.posName=\u30E9\u30A4\u30D6\u30E9\u30EA\u756A\u53F7
smfcore.storagePos.lockName=BOM\u756A\u53F7
smfcore.storagePos.amount=\u6570\u91CF
smfcore.storagePos.putInTime=\u521D\u56DE\u5165\u5EAB\u6642\u9593
smfcore.storagePos.putInDate=\u5165\u5EAB\u6642\u9593
smfcore.inventory.partNumber=\u6750\u6599\u756A\u53F7
smfcore.inventory.count=\u6570\u91CF
smfcore.inventory.lockReel=\u51FA\u5EAB\u4E88\u5B9A
smfcore.inventory.stockReel=\u5728\u5EAB
smfcore.inventory.storageName=\u30C7\u30D0\u30A4\u30B9
smfcore.menu.title=\u30E1\u30CB\u30E5\u30FC\u30BF\u30A4\u30C8\u30EB
smfcore.menu.type=\u30E1\u30CB\u30E5\u30FC\u7A2E\u985E
smfcore.menu.permission=\u6A29\u9650\u8868\u793A
smfcore.menu.iframe=\u5916\u90E8\u30EA\u30F3\u30AF\u30E1\u30CB\u30E5\u30FC
smfcore.menu.hidden=\u30E1\u30CB\u30E5\u30FC\u3092\u898B\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059
smfcore.menu.cache=\u30E1\u30CB\u30E5\u30FC\u30AD\u30E3\u30C3\u30B7\u30E5
smfcore.menuType.directory=\u76EE\u6B21
smfcore.menuType.menu=\u30E1\u30CB\u30E5\u30FC
smfcore.menuType.button=\u30DC\u30BF\u30F3
smfcore.yes=\u306F\u3044
smfcore.deny=\u3044\u3044\u3048
smfcore.user.id=\u7528\u6237ID
smfcore.user.name=\u30E6\u30FC\u30B6\u30FC\u540D
smfcore.user.enable=\u30B9\u30C6\u30FC\u30BF\u30B9
smfcore.user.createDate=\u4F5C\u6210\u65E5
smfcore.user.code=\u30A4\u30CD\u30FC\u30D6\u30EB\u30B3\u30FC\u30C9
smfcore.enable=\u6709\u52B9\u306B\u3059\u308B
smfcore.disabled=\u7121\u52B9\u5316
...@@ -177,4 +177,36 @@ smfcore.inlist.notFound=\u672A\u627E\u5230\u5165\u5E93\u5355[{0}] ...@@ -177,4 +177,36 @@ smfcore.inlist.notFound=\u672A\u627E\u5230\u5165\u5E93\u5355[{0}]
smfcore.inlist.listOk=\u5165\u5E93\u5355[{0}]\u5DF2\u5B8C\u6210 smfcore.inlist.listOk=\u5165\u5E93\u5355[{0}]\u5DF2\u5B8C\u6210
smfcore.inlist.setOk=\u8BBE\u7F6E\u6210\u529F smfcore.inlist.setOk=\u8BBE\u7F6E\u6210\u529F
smfcore.inlist.pnItemOk=\u5165\u5E93\u5355[{0}]\u7684\u7269\u6599[{1}]\u5DF2\u5165\u5E93\u5B8C\u6210 smfcore.inlist.pnItemOk=\u5165\u5E93\u5355[{0}]\u7684\u7269\u6599[{1}]\u5DF2\u5165\u5E93\u5B8C\u6210
smfcore.inlist.noPn=\u5165\u5E93\u5355[{0}]\u6CA1\u6709\u7269\u6599[{1}]\u5165\u5E93\u9700\u6C42
\ No newline at end of file \ No newline at end of file
smfcore.inlist.noPn=\u5165\u5E93\u5355[{0}]\u6CA1\u6709\u7269\u6599[{1}]\u5165\u5E93\u9700\u6C42
smfcore.storagePos.barcode=\u6761\u7801\u7F16\u53F7
smfcore.storagePos.partNumber=\u7269\u6599\u7F16\u53F7
smfcore.storagePos.proDate=\u751F\u4EA7\u65E5\u671F
smfcore.storagePos.expireDate=\u8FC7\u671F\u65F6\u95F4
smfcore.storagePos.posName=\u5E93\u4F4D\u53F7
smfcore.storagePos.lockName=\u5DE5\u5355\u53F7
smfcore.storagePos.amount=\u6570\u91CF
smfcore.storagePos.putInTime=\u9996\u6B21\u5165\u5E93\u65F6\u95F4
smfcore.storagePos.putInDate=\u5165\u5E93\u65F6\u95F4
smfcore.inventory.partNumber=\u7269\u6599\u7F16\u53F7
smfcore.inventory.count=\u6570\u91CF
smfcore.inventory.lockReel=\u9501\u5B9A
smfcore.inventory.stockReel=\u5E93\u5B58
smfcore.inventory.storageName=\u8BBE\u5907
smfcore.menu.title=\u83DC\u5355\u6807\u9898
smfcore.menu.type=\u83DC\u5355\u7C7B\u578B
smfcore.menu.permission=\u6743\u9650\u6807\u8BC6
smfcore.menu.iframe=\u5916\u94FE\u83DC\u5355
smfcore.menu.hidden=\u83DC\u5355\u53EF\u89C1
smfcore.menu.cache=\u662F\u5426\u7F13\u5B58
smfcore.menuType.directory=\u76EE\u5F55
smfcore.menuType.menu=\u83DC\u5355
smfcore.menuType.button=\u6309\u94AE
smfcore.yes=\u662F
smfcore.deny=\u5426
smfcore.user.id=\u7528\u6237ID
smfcore.user.name=\u7528\u6237\u540D
smfcore.user.enable=\u72B6\u6001
smfcore.user.createDate=\u521B\u5EFA\u65E5\u671F
smfcore.user.code=\u542F\u7528\u7801
smfcore.enable=\u542F\u7528
smfcore.disabled=\u7981\u7528
\ No newline at end of file \ No newline at end of file
...@@ -177,4 +177,36 @@ smfcore.inlist.notFound=\u672A\u627E\u5230\u5165\u5EAB\u55AE[{0}] ...@@ -177,4 +177,36 @@ smfcore.inlist.notFound=\u672A\u627E\u5230\u5165\u5EAB\u55AE[{0}]
smfcore.inlist.listOk=\u5165\u5EAB\u55AE[{0}]\u5DF2\u5B8C\u6210 smfcore.inlist.listOk=\u5165\u5EAB\u55AE[{0}]\u5DF2\u5B8C\u6210
smfcore.inlist.setOk=\u8A2D\u7F6E\u6210\u529F smfcore.inlist.setOk=\u8A2D\u7F6E\u6210\u529F
smfcore.inlist.pnItemOk=\u5165\u5EAB\u55AE[{0}]\u7684\u7269\u6599[{1}]\u5DF2\u5165\u5EAB\u5B8C\u6210 smfcore.inlist.pnItemOk=\u5165\u5EAB\u55AE[{0}]\u7684\u7269\u6599[{1}]\u5DF2\u5165\u5EAB\u5B8C\u6210
smfcore.inlist.noPn=\u5165\u5EAB\u55AE[{0}]\u6C92\u6709\u7269\u6599[{1}]\u5165\u5EAB\u9700\u6C42
\ No newline at end of file \ No newline at end of file
smfcore.inlist.noPn=\u5165\u5EAB\u55AE[{0}]\u6C92\u6709\u7269\u6599[{1}]\u5165\u5EAB\u9700\u6C42
smfcore.storagePos.barcode=\u689D\u78BC\u7DE8\u865F
smfcore.storagePos.partNumber=\u7269\u6599\u7DE8\u865F
smfcore.storagePos.proDate=\u751F\u7522\u65E5\u671F
smfcore.storagePos.expireDate=\u904E\u671F\u6642\u9593
smfcore.storagePos.posName=\u5EAB\u4F4D\u865F
smfcore.storagePos.lockName=\u5DE5\u55AE\u865F
smfcore.storagePos.amount=\u6578\u91CF
smfcore.storagePos.putInTime=\u9996\u6B21\u5165\u5EAB\u6642\u9593
smfcore.storagePos.putInDate=\u5165\u5EAB\u6642\u9593
smfcore.inventory.partNumber=\u7269\u6599\u7DE8\u865F
smfcore.inventory.count=\u6578\u91CF
smfcore.inventory.lockReel=\u9396\u5B9A
smfcore.inventory.stockReel=\u5EAB\u5B58
smfcore.inventory.storageName=\u8A2D\u5099
smfcore.menu.title=\u83DC\u55AE\u6A19\u984C
smfcore.menu.type=\u83DC\u55AE\u985E\u578B
smfcore.menu.permission=\u6B0A\u9650\u6A19\u8A8C
smfcore.menu.iframe=\u5916\u93C8\u83DC\u55AE
smfcore.menu.hidden=\u83DC\u55AE\u53EF\u898B
smfcore.menu.cache=\u662F\u5426\u7DE9\u5B58
smfcore.menuType.directory=\u76EE\u9304
smfcore.menuType.menu=\u83DC\u55AE
smfcore.menuType.button=\u6309\u9215
smfcore.yes=\u662F
smfcore.deny=\u5426
smfcore.user.id=\u7528\u6236ID
smfcore.user.name=\u7528\u6236\u540D
smfcore.user.enable=\u72C0\u614B
smfcore.user.createDate=\u5275\u5EFA\u65E5\u671F
smfcore.user.code=\u555F\u7528\u55CE
smfcore.enable=\u555F\u7528
smfcore.disabled=\u7981\u7528
\ No newline at end of file \ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!