Browse Source

添加值班计划工作流,修改两票统计合格率

zhongwei
段飞宇 2 years ago
parent
commit
2d0e0aef36
  1. 6
      hzims-service-api/middle-api/src/main/java/com/hnac/hzims/middle/process/constant/TicketProcessConstant.java
  2. 65
      hzims-service/hzims-middle/src/main/java/com/hnac/hzims/middle/processflow/strategy/serviceimpl/DealDutyRecFlowServiceImpl.java
  3. 29
      hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/TicketCountServiceImpl.java
  4. 28
      hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/PercentCountUtils.java

6
hzims-service-api/middle-api/src/main/java/com/hnac/hzims/middle/process/constant/TicketProcessConstant.java

@ -46,4 +46,10 @@ public class TicketProcessConstant {
*/
public static final String OVERHAUL_TASK = "overhaul_task";
// public static final String DEFECT_KEY = "defectCheck";
/**
* 值班计划
*/
public static final String DUTY_REC = "duty_rec";
}

65
hzims-service/hzims-middle/src/main/java/com/hnac/hzims/middle/processflow/strategy/serviceimpl/DealDutyRecFlowServiceImpl.java

@ -0,0 +1,65 @@
package com.hnac.hzims.middle.processflow.strategy.serviceimpl;
import com.hnac.hzims.middle.process.to.ProcessWorkFlowResponse;
import com.hnac.hzims.middle.processflow.service.ProcessDictService;
import com.hnac.hzims.middle.processflow.strategy.abstracts.ProcessAbstractService;
import com.hnac.hzims.middle.processflow.strategy.entity.WorkflowQueue;
import com.hnac.hzims.operational.duty.feign.IDutyRecClient;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.R;
import org.springframework.stereotype.Service;
import static com.hnac.hzims.middle.process.constant.TicketProcessConstant.DUTY_REC;
/**
* 日常排班
*
* @Author WL
* @Version v1.0
* @Serial 1.0
* @Date 2023/7/26 9:04
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class DealDutyRecFlowServiceImpl extends ProcessAbstractService {
private final ProcessDictService processDictService;
private final IDutyRecClient iDutyRecClient;
/**
* 设置执行那种实现类
*
* @param flowQueue
* @return
*/
@Override
public Boolean isWorkflowProcess(WorkflowQueue flowQueue) {
String dictValue = processDictService.selectDictValueByKey(DUTY_REC);
if (dictValue.equals(flowQueue.getProcessDefinitionKey())) {
log.info("已执行值班计划程环节操作~~~~");
return true;
}
log.error("未执行值班计划工作流流程环节操作,请联系管理员~~~~");
return false;
}
/**
* 日常维护业务方法
*
* @param response
*/
@Override
public void calculate(ProcessWorkFlowResponse response) {
R dealtDutyRecFlow = iDutyRecClient.dealDutyRecFlow(response);
if (!dealtDutyRecFlow.isSuccess()){
throw new ServiceException("执行值班计划失败");
}
}
}

29
hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/TicketCountServiceImpl.java

@ -20,6 +20,7 @@ import com.hnac.hzims.ticket.twoTicket.mapper.TicketCountMapper;
import com.hnac.hzims.ticket.twoTicket.service.TicketCountService;
import com.hnac.hzims.ticket.twoTicket.vo.ticket.TicketCountResponseVo;
import com.hnac.hzims.ticket.twoTicket.vo.ticket.TicketCountVo;
import com.hnac.hzims.ticket.utils.PercentCountUtils;
import com.hnac.hzims.ticket.workTicket.entity.WorkTicketInfoEntity;
import com.hnac.hzims.ticket.workTicket.service.IWorkTicketInfoService;
import io.micrometer.core.instrument.binder.BaseUnits;
@ -33,6 +34,7 @@ import org.apache.commons.lang3.math.NumberUtils;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.aspectj.bridge.MessageWriter;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
@ -46,7 +48,9 @@ import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.CompletableFuture;
@ -435,7 +439,9 @@ public class TicketCountServiceImpl extends BaseServiceImpl<TicketCountMapper, T
R<StationEntity> stationClientOne = stationClient.getOne(stationEntity);
if (stationClientOne.isSuccess()) {
StationEntity data = stationClientOne.getData();
ticketCount.setDeptName(data.getName() == null ? "" : data.getName());
if (data != null) {
ticketCount.setDeptName(data.getName() == null ? "" : data.getName());
}
}
}
List<StandardTicketInfoEntity> values = entry.getValue();
@ -457,10 +463,9 @@ public class TicketCountServiceImpl extends BaseServiceImpl<TicketCountMapper, T
ticketCount.setTicketProportionNum(evaluateEntities.size());
//7.合格率
if (CollectionUtils.isNotEmpty(evaluateEntities)) {
String percentPassTicketNum = (1 / evaluateEntities.size()) == 0 ? "0" : (1 / evaluateEntities.size()) +
"%";
ticketCount.setPercentPassTicket(percentPassTicketNum);
if (CollectionUtils.isNotEmpty(ticketIdList)) {
String percent = PercentCountUtils.getPercent(evaluateEntities.size(), ticketNumbers.size());
ticketCount.setPercentPassTicket(percent);
}
@ -516,7 +521,10 @@ public class TicketCountServiceImpl extends BaseServiceImpl<TicketCountMapper, T
R<StationEntity> stationClientOne = stationClient.getOne(stationEntity);
if (stationClientOne.isSuccess()) {
StationEntity data = stationClientOne.getData();
ticketCount.setDeptName(data.getName() == null ? "" : data.getName());
if (data != null) {
ticketCount.setDeptName(data.getName() == null ? "" : data.getName());
}
}
}
List<WorkTicketInfoEntity> values = entry.getValue();
@ -555,10 +563,9 @@ public class TicketCountServiceImpl extends BaseServiceImpl<TicketCountMapper, T
ticketCount.setWrongTicketNum(wrongTicketNums.size());
//7.合格率
if (CollectionUtils.isNotEmpty(evaluateEntities)) {
String percentPassTicketNum = (1 / evaluateEntities.size()) == 0 ? "0%" :
(1 / evaluateEntities.size()) + "%";
ticketCount.setPercentPassTicket(percentPassTicketNum);
if (CollectionUtils.isNotEmpty(ticketNumbers)) {
String percent = PercentCountUtils.getPercent(evaluateEntities.size(), ticketNumbers.size());
ticketCount.setPercentPassTicket(percent);
}
ticketCountList.add(ticketCount);
@ -577,4 +584,6 @@ public class TicketCountServiceImpl extends BaseServiceImpl<TicketCountMapper, T
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(dateTime);
}
}

28
hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/PercentCountUtils.java

@ -0,0 +1,28 @@
package com.hnac.hzims.ticket.utils;
import java.math.BigDecimal;
import java.text.NumberFormat;
/**
* @Author WL
* @Version v1.0
* @Serial 1.0
* @Date 2023/7/26 8:01
*/
public class PercentCountUtils {
/**
* 计算百分比
* @param x
* @param y
* @return
*/
public static String getPercent(int x, int y) {
double d1 = x * 1.0;
double d2 = y * 1.0;
NumberFormat percentInstance = NumberFormat.getPercentInstance();
// 设置保留几位小数,这里设置的是保留两位小数
percentInstance.setMinimumFractionDigits(2);
return percentInstance.format(d1 / d2);
}
}
Loading…
Cancel
Save