|
@@ -88,7 +88,8 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
|
|
|
@Override
|
|
|
public HttpRespMsg getList(String date, String steelStampNumber, Integer planType,Integer deptId,Integer pageIndex,Integer pageSize) {
|
|
|
HttpRespMsg msg=new HttpRespMsg();
|
|
|
- Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
+ User user = userMapper.selectById(request.getHeader("token"));
|
|
|
+ Integer companyId = user.getCompanyId();
|
|
|
QueryWrapper<Plan> queryWrapper=new QueryWrapper();
|
|
|
DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
queryWrapper.eq("company_id",companyId);
|
|
@@ -98,7 +99,9 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
|
|
|
queryWrapper.eq("plan_type",1);
|
|
|
}
|
|
|
if(planType!=2){
|
|
|
- queryWrapper.eq("station_id",deptId);
|
|
|
+ if(deptId!=null){
|
|
|
+ queryWrapper.eq("station_id",deptId);
|
|
|
+ }
|
|
|
}
|
|
|
if(!StringUtils.isEmpty(date)){
|
|
|
LocalDate parse = LocalDate.parse(date,df);
|
|
@@ -109,13 +112,38 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
|
|
|
queryWrapper.eq("start_date",planType==0?now:now.plusDays(1));
|
|
|
}
|
|
|
}
|
|
|
+ /*作为工长看到的数据*/
|
|
|
+ if(count(new QueryWrapper<Plan>().eq("foreman_id",user.getId()))>0){
|
|
|
+ queryWrapper.eq("foreman_id",user.getId());
|
|
|
+ }else {
|
|
|
+ /*作为组员可以查看的数据*/
|
|
|
+ List<ProdProcedureTeam> prodProcedureTeams = prodProcedureTeamService.list(new QueryWrapper<ProdProcedureTeam>().eq("company_id", companyId).eq("user_id", user.getId()));
|
|
|
+ List<Integer> collect=new ArrayList<>();
|
|
|
+ if(prodProcedureTeams!=null&&prodProcedureTeams.size()>0){
|
|
|
+ List<Integer> ids = prodProcedureTeams.stream().map(ProdProcedureTeam::getProdProcedureId).collect(Collectors.toList());
|
|
|
+ List<PlanProcedureTotal> list = planProcedureTotalService.list(new QueryWrapper<PlanProcedureTotal>().in("prod_procedure_id", ids));
|
|
|
+ collect = list.stream().map(PlanProcedureTotal::getPlanId).distinct().collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ collect.add(-1);
|
|
|
+ queryWrapper.in("id",collect);
|
|
|
+ }
|
|
|
if(!StringUtils.isEmpty(steelStampNumber)){
|
|
|
queryWrapper.apply("'"+steelStampNumber+"'"+" between steel_stamp_number_start AND steel_stamp_number_end");
|
|
|
}
|
|
|
IPage<Plan> planIPage = planMapper.selectPage(new Page<>(pageIndex, pageSize), queryWrapper);
|
|
|
+ List<Plan> records = planIPage.getRecords();
|
|
|
+ List<Integer> ids = records.stream().map(Plan::getProductId).distinct().collect(Collectors.toList());
|
|
|
+ ids.add(-1);
|
|
|
+ List<Product> productList = productMapper.selectList(new QueryWrapper<Product>().in("id", ids));
|
|
|
+ records.forEach(rs->{
|
|
|
+ Optional<Product> first = productList.stream().filter(pl -> pl.getId().equals(rs.getProductId())).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ rs.setProduct(first.get());
|
|
|
+ }
|
|
|
+ });
|
|
|
Map map=new HashMap();
|
|
|
map.put("total",planIPage.getTotal());
|
|
|
- map.put("records",planIPage.getRecords());
|
|
|
+ map.put("records",records);
|
|
|
msg.setData(map);
|
|
|
return msg;
|
|
|
}
|
|
@@ -599,17 +627,24 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpRespMsg teamAllocation(Integer procedureId,String teamIds) {
|
|
|
+ public HttpRespMsg teamAllocation(PlanProcedureTotal planProcedureTotal,String teamIds) {
|
|
|
HttpRespMsg msg=new HttpRespMsg();
|
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
+ BigDecimal totalWages=new BigDecimal(planProcedureTotal.getTotalWages());
|
|
|
+ BigDecimal totalWorkingHours=new BigDecimal(planProcedureTotal.getTotalWorkingHours());
|
|
|
List<ProdProcedureTeam> list=new ArrayList<>();
|
|
|
if(StringUtils.isEmpty(teamIds)){
|
|
|
String[] team = teamIds.split(",");
|
|
|
+ totalWages=totalWages.divide(new BigDecimal(team.length));
|
|
|
+ totalWorkingHours=totalWorkingHours.divide(new BigDecimal(team.length));
|
|
|
for (String s : team) {
|
|
|
ProdProcedureTeam prodProcedureTeam=new ProdProcedureTeam();
|
|
|
prodProcedureTeam.setCompanyId(companyId);
|
|
|
- prodProcedureTeam.setProdProcedureId(procedureId);
|
|
|
+ prodProcedureTeam.setProdProcedureId(planProcedureTotal.getProdProcedureId());
|
|
|
prodProcedureTeam.setUserId(s);
|
|
|
+ prodProcedureTeam.setPlanId(planProcedureTotal.getPlanId());
|
|
|
+ prodProcedureTeam.setWorkTime(totalWorkingHours.doubleValue());
|
|
|
+ prodProcedureTeam.setJobOfMoney(totalWages);
|
|
|
list.add(prodProcedureTeam);
|
|
|
}
|
|
|
}
|