package com.thhy.materials.modules.biz.materials.service.impl;
|
|
import cn.hutool.core.io.IoUtil;
|
import cn.hutool.poi.excel.ExcelWriter;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.util.StringUtil;
|
import com.thhy.general.common.BasicResult;
|
import com.thhy.general.config.SysUserInfo;
|
import com.thhy.general.utils.UserInfoUtils;
|
import com.thhy.materials.modules.biz.materials.entity.SysAssistGood;
|
import com.thhy.materials.modules.biz.materials.entity.dto.AssistDto;
|
import com.thhy.materials.modules.biz.materials.mapper.SysAssistGoodMapper;
|
import com.thhy.materials.modules.biz.materials.service.SysAssistGoodService;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.io.OutputStream;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
@Service
|
public class SysAssistGoodServiceImpl implements SysAssistGoodService {
|
|
@Resource
|
private SysAssistGoodMapper assistGoodMapper;
|
|
|
@Override
|
public BasicResult assistInsert(Map<String, Object> values) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
values.put("companyId",sysUserInfo.getCompanyId());
|
|
String assistName = values.get("assistName").toString();
|
String assistType = values.get("assistModel").toString();
|
String id = assistGoodMapper.assistNameAndType(assistName,assistType);
|
if(!StringUtil.isEmpty(id)){
|
return BasicResult.faild("11111","error","名称和规格型号不可重复");
|
}
|
values.put("id","");
|
assistGoodMapper.assistInsert(values);
|
return BasicResult.success("添加成功");
|
}
|
|
@Override
|
public BasicResult assistList(Map<String, Object> values) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
String companyId = sysUserInfo.getCompanyId();
|
values.put("companyId",companyId);
|
|
Integer pageSize = Integer.valueOf(values.get("pageSize").toString());
|
Integer pageNum = Integer.valueOf(values.get("pageNum").toString());
|
PageHelper.startPage(pageNum,pageSize);
|
List<SysAssistGood> assistGoods = assistGoodMapper.assistList(values);
|
PageInfo<SysAssistGood> sysAssistGoodPageInfo = new PageInfo<>(assistGoods);
|
return BasicResult.success(sysAssistGoodPageInfo);
|
}
|
|
@Override
|
public BasicResult assistInfo(String assistId) {
|
SysAssistGood assistGoods = assistGoodMapper.assistInfo(assistId);
|
return BasicResult.success(assistGoods);
|
}
|
|
@Override
|
public BasicResult assistDel(String assistId) {
|
List<String> ids = assistGoodMapper.assistGood(assistId);
|
if(ids!=null && ids.size()>0){
|
return BasicResult.faild("11111","该类型已被占用","error");
|
}
|
assistGoodMapper.assistDel(assistId);
|
return BasicResult.success("删除成功");
|
}
|
|
@Override
|
public BasicResult assistUpdate(Map<String, Object> values) {
|
String assistName = values.get("assistName").toString();
|
String assistType = values.get("assistModel").toString();
|
String assistId = values.get("id").toString();
|
String id = assistGoodMapper.assistNameAndType(assistName,assistType);
|
if(!StringUtil.isEmpty(id)&&!assistId.equals(id)){
|
return BasicResult.faild("11111","error","名称和规格型号不可重复");
|
}
|
assistGoodMapper.assistUpdate(values);
|
return BasicResult.success("修改成功");
|
}
|
|
@Override
|
public void assistExport(Map<String, Object> values, HttpServletResponse response) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
String companyId = sysUserInfo.getCompanyId();
|
values.put("companyId",companyId);
|
|
List<SysAssistGood> assistGoods = assistGoodMapper.assistList(values);
|
|
List<AssistDto> assistDtos = new ArrayList<>();
|
for (SysAssistGood assistGood : assistGoods){
|
AssistDto assistDto = new AssistDto();
|
assistDto.setAssistName(assistGood.getAssistName());
|
assistDto.setAssistModel(assistGood.getAssistModel());
|
assistDto.setUnit(assistGood.getUnit());
|
assistDto.setStock(assistGood.getStock());
|
assistDto.setAlarmCount(assistGood.getAlarmCount());
|
assistDto.setPosition(assistGood.getPosition());
|
assistDto.setDictName(assistGood.getDictName());
|
assistDtos.add(assistDto);
|
}
|
ExcelWriter excel = new ExcelWriter();//定义excel
|
excel.addHeaderAlias("assistName", "物品名称");
|
excel.addHeaderAlias("assistModel", "规格型号");
|
excel.addHeaderAlias("dictName", "类别");
|
excel.addHeaderAlias("unit", "计量单位");
|
excel.addHeaderAlias("stock", "库存个数");
|
excel.addHeaderAlias("alarmCount", "报警数");
|
excel.addHeaderAlias("position", "位置");
|
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
|
response.setHeader("Content-Disposition", "attachment;filename=test.xls");
|
OutputStream out = null;
|
try {
|
out = response.getOutputStream();
|
excel.write(assistDtos);
|
excel.flush(out, true);
|
} catch (IOException e) {
|
e.printStackTrace();
|
} finally {
|
// 关闭writer,释放内存
|
excel.close();
|
}
|
IoUtil.close(out);
|
}
|
|
}
|