package com.thhy.mobile.modules.biz.steelproduce.service.impl;
|
|
import com.thhy.general.config.SysUserInfo;
|
import com.thhy.general.utils.UserInfoUtils;
|
import com.thhy.mobile.modules.biz.steelproduce.entity.ProduceDto;
|
import com.thhy.mobile.modules.biz.steelproduce.entity.ProduceMonthVo;
|
import com.thhy.mobile.modules.biz.steelproduce.entity.SteelProduce;
|
import com.thhy.mobile.modules.biz.steelproduce.mapper.SteelProduceMapper;
|
import com.thhy.mobile.modules.biz.steelproduce.service.SteelProduceService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.io.Serializable;
|
import java.math.BigDecimal;
|
import java.math.RoundingMode;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 服务实现类
|
* @author zhang_xiao_bo
|
* @since 2023-05-06 10:38:08
|
*/
|
@Service
|
public class SteelProduceServiceImpl implements SteelProduceService {
|
|
|
|
@Autowired
|
private SteelProduceMapper steelProduceMapper;
|
|
public SteelProduce get(Serializable id){
|
return steelProduceMapper.queryById(id);
|
}
|
|
public List<SteelProduce> findList(SteelProduce steelProduce){
|
return steelProduceMapper.findList(steelProduce);
|
}
|
|
/**
|
* 增加和修改
|
* @param steelProduce
|
*/
|
@Transactional
|
public void addSteelProduce(SteelProduce steelProduce){
|
if(steelProduce.getSteelProduceId() == null){
|
//增加操作
|
steelProduceMapper.insert(steelProduce);
|
}else{
|
//修改操作
|
steelProduceMapper.update(steelProduce);
|
}
|
|
}
|
|
/**
|
* 修改
|
* @param steelProduce
|
*/
|
public void update(SteelProduce steelProduce){
|
steelProduceMapper.update(steelProduce);
|
}
|
|
/**
|
* 删除
|
* @param steelProduceId
|
*/
|
public void delete(Serializable steelProduceId){
|
steelProduceMapper.deletelogic(steelProduceId);
|
}
|
|
@Override
|
public List<ProduceMonthVo> monthProduce(ProduceDto produceDto) {
|
SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo();
|
if(produceDto==null)produceDto = new ProduceDto();
|
produceDto.setCompanyId(userInfo.getCompanyId());
|
List<ProduceMonthVo> produceMonthVoList = steelProduceMapper.monthProduce(produceDto);
|
for(int i= 1;i<produceMonthVoList.size();i++){
|
ProduceMonthVo pm = produceMonthVoList.get(i);
|
ProduceMonthVo pmup = produceMonthVoList.get(i-1);
|
if(pmup.getCount()==0){
|
pm.setRate(new BigDecimal(0));
|
}else{
|
BigDecimal bigDecimal = new BigDecimal(pm.getCount()-pmup.getCount()).divide(new BigDecimal(pmup.getCount()),2,BigDecimal.ROUND_HALF_UP);
|
pm.setRate(bigDecimal.multiply(new BigDecimal(100)));
|
}
|
//pm.setRate(pm.getCount()/produceMonthVoList.get(i-1));
|
}
|
produceMonthVoList.remove(0);
|
return produceMonthVoList;
|
}
|
|
@Override
|
public Map<String, Object> getH5SteelProduce(String num) {
|
return steelProduceMapper.getH5SteelProduce(num);
|
}
|
|
public static void main(String[] args) {
|
BigDecimal bigDecimal = new BigDecimal(15).divide(new BigDecimal(42),2,BigDecimal.ROUND_HALF_UP);
|
System.out.println(bigDecimal.doubleValue());
|
}
|
|
@Override
|
public Map<String,Object> ModSteelPullDown(ProduceDto produceDto) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
produceDto.setCompanyId(sysUserInfo.getCompanyId());
|
List<HashMap<String,String>> modList = steelProduceMapper.queryFreeMould(produceDto);
|
List<HashMap<String,String>> steelList = steelProduceMapper.SteelPullDown(produceDto);
|
|
Map<String,Object> map = new HashMap<>();
|
map.put("mod",modList);
|
map.put("steel",steelList);
|
return map;
|
}
|
}
|