|
@@ -135,7 +135,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
ProdProcedureTeam prodProcedureTeam = prodProcedureTeamMapper.selectById(report.getUserProcedureTeamId());
|
|
|
double curReportTime = 0.0;
|
|
|
//查找上一次该工序的报工
|
|
|
- Integer currentProgress = 0;
|
|
|
+ Integer lastProgress = 0;
|
|
|
Report lastReport = reportMapper.selectOne(new QueryWrapper<Report>().eq("creator_id", token).eq("user_procedure_team_id", report.getUserProcedureTeamId()).lt("create_date", today).orderByDesc("create_date").last("limit 1"));
|
|
|
//查找上次是否有报工,有的话取上次报工进度,没有的话取分配下来时的报工进度
|
|
|
if (lastReport != null) {
|
|
@@ -143,16 +143,20 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
httpRespMsg.setError("进度必须大于上次报工进度("+lastReport.getProgress()+"%)");
|
|
|
return httpRespMsg;
|
|
|
}
|
|
|
- currentProgress = report.getProgress();
|
|
|
+ lastProgress = report.getProgress();
|
|
|
} else {
|
|
|
- if (report.getProgress() <= currentProgress) {
|
|
|
- httpRespMsg.setError("进度必须大于上次报工进度("+currentProgress+"%)");
|
|
|
+ if (report.getProgress() <= lastProgress) {
|
|
|
+ httpRespMsg.setError("进度必须大于上次报工进度("+lastProgress+"%)");
|
|
|
return httpRespMsg;
|
|
|
}
|
|
|
- currentProgress = prodProcedureTeam.getProgress();
|
|
|
+ lastProgress = prodProcedureTeam.getProgress();
|
|
|
}
|
|
|
- curReportTime = (prodProcedureTeam.getWorkTime() * (report.getProgress() - currentProgress)/100);
|
|
|
+ int addProgress = report.getProgress() - lastProgress;
|
|
|
+ curReportTime = (prodProcedureTeam.getWorkTime() * (addProgress)/100);
|
|
|
+ //按比例获取本次进度的工钱
|
|
|
+ BigDecimal earnMoney = prodProcedureTeam.getJobOfMoney().multiply(new BigDecimal(curReportTime)).divide(new BigDecimal(100));
|
|
|
report.setWorkingTime(curReportTime);//本次报工的工时数
|
|
|
+ report.setCost(earnMoney);//本次报工的成本
|
|
|
report.setDeptId(plan.getStationId());
|
|
|
if (plan.getPlanType() == 0) {
|
|
|
report.setProductId(plan.getProductId());
|