package com.thhy.materials.modules.biz.embedment.service.impl;
|
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.thhy.general.common.BasicMessage;
|
import com.thhy.general.common.BasicResult;
|
import com.thhy.general.common.IBasicStatus;
|
import com.thhy.general.config.SysUserInfo;
|
import com.thhy.general.exception.BasicException;
|
import com.thhy.general.utils.ExcelUtils;
|
import com.thhy.general.utils.UserInfoUtils;
|
import com.thhy.materials.modules.biz.embedment.dto.EmbedmentRecordDto;
|
import com.thhy.materials.modules.biz.embedment.entity.SysEmbedmentGoodsEntity;
|
import com.thhy.materials.modules.biz.embedment.entity.SysEmbedmentRecordEntity;
|
import com.thhy.materials.modules.biz.embedment.mapper.SysEmbedmentGoodsMapper;
|
import com.thhy.materials.modules.biz.embedment.mapper.SysEmbedmentRecordMapper;
|
import com.thhy.materials.modules.biz.embedment.service.SysEmbedmentRecordService;
|
import com.thhy.materials.modules.biz.utils.ExcelUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
|
/**
|
* @Author QiuYuHao
|
* @CreateDate 2023-09-22 16:28:24
|
* 预埋件出入库实现
|
*/
|
@Service
|
public class SysEmbedmentRecordServiceImpl implements SysEmbedmentRecordService{
|
|
@Autowired
|
private SysEmbedmentRecordMapper sysEmbedmentRecordMapper;
|
|
@Autowired
|
private SysEmbedmentGoodsMapper sysEmbedmentGoodsMapper;
|
|
|
@Override
|
public BasicResult insert(SysEmbedmentRecordEntity sysEmbedmentRecordEntity) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
sysEmbedmentRecordEntity.setCreateUser(sysUserInfo.getRealName());
|
SysEmbedmentGoodsEntity entity = sysEmbedmentGoodsMapper.findEntity(sysEmbedmentRecordEntity.getEmbedmentId());
|
if(entity!=null){
|
String stockType = sysEmbedmentRecordEntity.getStockType();
|
//stockType 1入库 2出库
|
int result = entity.getStock();
|
if("1".equals(stockType)){
|
result= entity.getStock() + sysEmbedmentRecordEntity.getChangeStock();
|
}else{
|
result= entity.getStock() - sysEmbedmentRecordEntity.getChangeStock();
|
}
|
if(result < 0 ){
|
return BasicResult.faild("11111","库存不足","库存不足");
|
}
|
entity.setStock(result);
|
sysEmbedmentGoodsMapper.update(entity);//更改库存
|
}else {
|
return BasicResult.faild("11111","库存没有该预埋件,请到【预埋件种类】添加","库存没有该预埋件,请到【预埋件种类】添加");
|
}
|
sysEmbedmentRecordMapper.insert(sysEmbedmentRecordEntity);
|
return BasicResult.success();
|
}
|
|
@Override
|
public BasicResult embedmentRecordDel(String id) {
|
sysEmbedmentRecordMapper.embedmentRecordDel(id);
|
return BasicResult.success();
|
}
|
|
@Override
|
public BasicResult update(SysEmbedmentRecordEntity sysEmbedmentRecordEntity) {
|
sysEmbedmentRecordMapper.update(sysEmbedmentRecordEntity);
|
return BasicResult.success();
|
}
|
|
@Override
|
public BasicResult embedmentRecordList(EmbedmentRecordDto embedmentRecordDto) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
embedmentRecordDto.setCompanyId(sysUserInfo.getCompanyId());
|
PageHelper.startPage(embedmentRecordDto.getPageNum(),embedmentRecordDto.getPageSize());
|
List<SysEmbedmentRecordEntity> sysEmbedmentRecordEntities = sysEmbedmentRecordMapper.embedmentRecordList(embedmentRecordDto);
|
PageInfo<SysEmbedmentRecordEntity> info = new PageInfo<>(sysEmbedmentRecordEntities);
|
return BasicResult.success(info);
|
}
|
|
@Override
|
public BasicResult embedmentRecordOutList(EmbedmentRecordDto embedmentRecordDto) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
embedmentRecordDto.setCompanyId(sysUserInfo.getCompanyId());
|
PageHelper.startPage(embedmentRecordDto.getPageNum(),embedmentRecordDto.getPageSize());
|
List<SysEmbedmentRecordEntity> sysEmbedmentRecordEntities = sysEmbedmentRecordMapper.embedmentRecordOutList(embedmentRecordDto);
|
PageInfo<SysEmbedmentRecordEntity> info = new PageInfo<>(sysEmbedmentRecordEntities);
|
return BasicResult.success(info);
|
}
|
|
@Override
|
public BasicResult embedmentRecordInfo(String id) {
|
return BasicResult.success(sysEmbedmentRecordMapper.embedmentRecordInfo(id));
|
}
|
|
@Override
|
public void export(EmbedmentRecordDto embedmentRecordDto, HttpServletResponse response) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
embedmentRecordDto.setCompanyId(sysUserInfo.getCompanyId());
|
List<SysEmbedmentRecordEntity> sysEmbedmentRecordEntities = sysEmbedmentRecordMapper.embedmentRecordList(embedmentRecordDto);
|
ExcelUtils.downExcel(sysEmbedmentRecordEntities,SysEmbedmentRecordEntity.class,response,"预埋件入库");
|
}
|
|
@Override
|
public void recordExportTemplate(EmbedmentRecordDto embedmentRecordDto, HttpServletResponse response) {
|
List<SysEmbedmentRecordEntity> sysEmbedmentRecordEntities = new ArrayList<>();
|
ExcelUtils.downExcel(sysEmbedmentRecordEntities,SysEmbedmentRecordEntity.class,response,"预埋件出入库");
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public BasicResult variateExcel(MultipartFile file, HttpServletRequest request) {
|
List<List<Object>> lists = null;//去工具类处理,返回excel中的数据
|
try {
|
lists = ExcelUtil.getUserListByExcel(file.getInputStream(), file.getOriginalFilename());
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
lists.remove(0);
|
if (lists.size()>0){
|
for (List<Object> list :lists){
|
String embedmentNameAndModel = list.get(0).toString();
|
String[] split = embedmentNameAndModel.split("-");
|
String embedmentName = split[0];
|
String embedmentModel = split[1];
|
String id = sysEmbedmentGoodsMapper.embedmentNameAndType(embedmentName,null);
|
SysEmbedmentRecordEntity sysEmbedmentRecordEntity = new SysEmbedmentRecordEntity();
|
sysEmbedmentRecordEntity.setEmbedmentId(id);
|
//入库数量
|
Integer changeStock = Integer.valueOf(list.get(2).toString());
|
sysEmbedmentRecordEntity.setChangeStock(changeStock);
|
//单价
|
String dj = list.get(3).toString();
|
BigDecimal singlePrice = new BigDecimal(dj);
|
sysEmbedmentRecordEntity.setSinglePrice(singlePrice);
|
//金额
|
String je = list.get(4).toString();
|
BigDecimal amount = new BigDecimal(je);
|
sysEmbedmentRecordEntity.setAmount(amount);
|
//备注
|
String remark = list.get(5).toString();
|
sysEmbedmentRecordEntity.setRemark(remark);
|
//入库人
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
String companyId = sysUserInfo.getCompanyId();
|
sysEmbedmentRecordEntity.setCreateUser(sysUserInfo.getRealName());
|
sysEmbedmentRecordEntity.setCompanyId(companyId);
|
//stockType 1入库
|
sysEmbedmentRecordEntity.setStockType("1");
|
SysEmbedmentGoodsEntity entity = sysEmbedmentGoodsMapper.findEntity(sysEmbedmentRecordEntity.getEmbedmentId());
|
if(entity!=null){
|
int result = entity.getStock() + sysEmbedmentRecordEntity.getChangeStock();
|
entity.setStock(result);
|
sysEmbedmentGoodsMapper.update(entity);//更改库存
|
}else {
|
throw new BasicException(new BasicMessage("500","库存没有【"+embedmentName+"】,请到预埋件种类新增,新增完可重新导入!"));
|
}
|
sysEmbedmentRecordMapper.insert(sysEmbedmentRecordEntity);
|
}
|
return BasicResult.success("导入成功");
|
}else {
|
return BasicResult.faild("11111","error","空文件");
|
}
|
}
|
|
|
}
|