|
|
|
@ -4,6 +4,7 @@ |
|
|
|
package org.springblade.desk.quality.service.impl; |
|
|
|
package org.springblade.desk.quality.service.impl; |
|
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import jakarta.annotation.Resource; |
|
|
|
import jakarta.annotation.Resource; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
@ -12,6 +13,7 @@ import lombok.EqualsAndHashCode; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
|
|
|
|
import org.springblade.core.tool.utils.BeanUtil; |
|
|
|
import org.springblade.core.tool.utils.Func; |
|
|
|
import org.springblade.core.tool.utils.Func; |
|
|
|
import org.springblade.desk.basic.pojo.entity.Formula; |
|
|
|
import org.springblade.desk.basic.pojo.entity.Formula; |
|
|
|
import org.springblade.desk.basic.pojo.entity.TeamSet; |
|
|
|
import org.springblade.desk.basic.pojo.entity.TeamSet; |
|
|
|
@ -28,9 +30,12 @@ import org.springblade.desk.quality.pojo.vo.LiquidTankVO; |
|
|
|
import org.springblade.desk.quality.service.ILiquidTankService; |
|
|
|
import org.springblade.desk.quality.service.ILiquidTankService; |
|
|
|
import org.springblade.desk.basic.util.IdUtil; |
|
|
|
import org.springblade.desk.basic.util.IdUtil; |
|
|
|
import org.springblade.system.feign.IUserClient; |
|
|
|
import org.springblade.system.feign.IUserClient; |
|
|
|
|
|
|
|
import org.springblade.system.pojo.entity.User; |
|
|
|
import org.springblade.system.pojo.entity.UserInfo; |
|
|
|
import org.springblade.system.pojo.entity.UserInfo; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
@ -58,6 +63,162 @@ public class LiquidTankServiceImpl extends BaseServiceImpl<LiquidTankMapper, Liq |
|
|
|
@Resource |
|
|
|
@Resource |
|
|
|
private ITeamSetService teamSetService; |
|
|
|
private ITeamSetService teamSetService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public R importExcel(List<LiquidTankExcel> list) { |
|
|
|
|
|
|
|
List<LiquidTank> noticeList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for(LiquidTankExcel excel:list) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Long jobType = excel.getJobType(); |
|
|
|
|
|
|
|
String jobTypeWeekValue = excel.getJobTypeWeekValue(); |
|
|
|
|
|
|
|
String jobTypeMonthValue = excel.getJobTypeMonthValue(); |
|
|
|
|
|
|
|
String jobTypeYearValue = excel.getJobTypeYearValue(); |
|
|
|
|
|
|
|
int count = 0; |
|
|
|
|
|
|
|
if (jobTypeWeekValue != null && !jobTypeWeekValue.trim().isEmpty()) { |
|
|
|
|
|
|
|
count++; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (jobTypeMonthValue != null && !jobTypeMonthValue.trim().isEmpty()) { |
|
|
|
|
|
|
|
count++; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (jobTypeYearValue != null && !jobTypeYearValue.trim().isEmpty()) { |
|
|
|
|
|
|
|
count++; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(count > 1){ |
|
|
|
|
|
|
|
return R.fail("只能输入一个周期类型值"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(jobType == 1){ |
|
|
|
|
|
|
|
if (jobTypeWeekValue == null || jobTypeWeekValue.trim().isEmpty()) { |
|
|
|
|
|
|
|
return R.fail("当前周期类型是周,请填写每周数据"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
List<String> weekList = Func.toStrList(jobTypeWeekValue); |
|
|
|
|
|
|
|
for(String week:weekList){ |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
Integer.parseInt(week); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
return R.fail("周期为周的每周数据格式不正确"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (week.matches("[1-7]")) { |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
return R.fail("周期为周的每周数据格式不正确"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(jobType == 2){ |
|
|
|
|
|
|
|
if (jobTypeMonthValue == null || jobTypeMonthValue.trim().isEmpty()) { |
|
|
|
|
|
|
|
return R.fail("当前周期类型是月,请填写每月数据"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
List<String> monthList = Func.toStrList(jobTypeMonthValue); |
|
|
|
|
|
|
|
for(String month:monthList){ |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
Integer.parseInt(month); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
return R.fail("周期为月的每月数据格式不正确"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (Integer.parseInt(month)>=1 && Integer.parseInt(month)<=12) { |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
return R.fail("周期为月的每月数据格式不正确"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(jobType == 3){ |
|
|
|
|
|
|
|
if (jobTypeYearValue == null || jobTypeYearValue.trim().isEmpty()) { |
|
|
|
|
|
|
|
return R.fail("当前周期类型是年,请填写每年数据"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> yearList = Func.toStrList(jobTypeYearValue); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (String date : yearList) { |
|
|
|
|
|
|
|
List< String> dates = Arrays.asList(date.split("/")); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String month = dates.get(0); |
|
|
|
|
|
|
|
String day = dates.get(1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
Integer.parseInt(month); |
|
|
|
|
|
|
|
Integer.parseInt(day); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
return R.fail("周期为年的每年数据格式不正确"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (Integer.parseInt(month)>=1 && Integer.parseInt(month)<=12) { |
|
|
|
|
|
|
|
if(Integer.parseInt(day)>=1 && Integer.parseInt(day)<=31){ |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
return R.fail("周期为年的每年数据格式不正确"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
return R.fail("周期为年的每年数据格式不正确"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
list.forEach(noticeExcel -> { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LiquidTank notice = BeanUtil.copy(noticeExcel, LiquidTank.class); |
|
|
|
|
|
|
|
//工作中心
|
|
|
|
|
|
|
|
QueryWrapper<WorkCenter> queryWrapper = new QueryWrapper<>(); |
|
|
|
|
|
|
|
queryWrapper.eq("WC_NAME",noticeExcel.getWorkCenterName()); |
|
|
|
|
|
|
|
List<WorkCenter> centers = workCenterService.list(queryWrapper); |
|
|
|
|
|
|
|
if(null != centers && centers.size() > 0){ |
|
|
|
|
|
|
|
notice.setWorkCenterId(centers.get(0).getId()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//作业槽
|
|
|
|
|
|
|
|
QueryWrapper<WorkTank> queryWrappertank = new QueryWrapper<>(); |
|
|
|
|
|
|
|
queryWrappertank.eq("NAME",noticeExcel.getWorkTankName()); |
|
|
|
|
|
|
|
List<WorkTank> tanks = workTankService.list(queryWrappertank); |
|
|
|
|
|
|
|
if(null != tanks && tanks.size() > 0){ |
|
|
|
|
|
|
|
notice.setWorkTankId(tanks.get(0).getId()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//加药量计算公式
|
|
|
|
|
|
|
|
QueryWrapper<Formula> queryWrapperformulaadd = new QueryWrapper<>(); |
|
|
|
|
|
|
|
queryWrapperformulaadd.eq("NAME",noticeExcel.getAddDrugFormulaName()); |
|
|
|
|
|
|
|
queryWrapperformulaadd.eq("FORMULA_TYPE","1"); |
|
|
|
|
|
|
|
List<Formula> adds = formulaService.list(queryWrapperformulaadd); |
|
|
|
|
|
|
|
if(null != adds && adds.size() > 0){ |
|
|
|
|
|
|
|
notice.setAddDrugFormulaId(adds.get(0).getId()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//添加后理论值计算公式
|
|
|
|
|
|
|
|
QueryWrapper<Formula> queryWrapperformulaafter = new QueryWrapper<>(); |
|
|
|
|
|
|
|
queryWrapperformulaafter.eq("NAME",noticeExcel.getAfterTheoryFormulaName()); |
|
|
|
|
|
|
|
queryWrapperformulaafter.eq("FORMULA_TYPE","2"); |
|
|
|
|
|
|
|
List<Formula> afters = formulaService.list(queryWrapperformulaafter); |
|
|
|
|
|
|
|
if(null != afters && afters.size() > 0){ |
|
|
|
|
|
|
|
notice.setAfterTheoryFormulaId(afters.get(0).getId()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//化验人
|
|
|
|
|
|
|
|
List<User> tests = userClient.listByNameNolike(noticeExcel.getTestUserName()); |
|
|
|
|
|
|
|
if(null != tests && tests.size() > 0){ |
|
|
|
|
|
|
|
notice.setTestUserId(tests.get(0).getId()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//工艺主管
|
|
|
|
|
|
|
|
List<User> process = userClient.listByNameNolike(noticeExcel.getProcessUserName()); |
|
|
|
|
|
|
|
if(null != process && process.size() > 0){ |
|
|
|
|
|
|
|
notice.setProcessUserId(process.get(0).getId()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//班组
|
|
|
|
|
|
|
|
QueryWrapper<TeamSet> queryWrapperteam = new QueryWrapper<>(); |
|
|
|
|
|
|
|
queryWrapperteam.eq("TS_NAME",noticeExcel.getTeamName()); |
|
|
|
|
|
|
|
List<TeamSet> teams = teamSetService.list(queryWrapperteam); |
|
|
|
|
|
|
|
if(null != teams && teams.size() > 0){ |
|
|
|
|
|
|
|
notice.setTeamId(teams.get(0).getId()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
noticeList.add(notice); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
return R.data(this.saveBatch(noticeList)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public IPage<LiquidTankVO> selectLiquidTankPage(IPage<LiquidTankVO> page, LiquidTankVO liquidTank) { |
|
|
|
public IPage<LiquidTankVO> selectLiquidTankPage(IPage<LiquidTankVO> page, LiquidTankVO liquidTank) { |
|
|
|
return page.setRecords(baseMapper.selectLiquidTankPage(page, liquidTank)); |
|
|
|
return page.setRecords(baseMapper.selectLiquidTankPage(page, liquidTank)); |
|
|
|
|