|
|
@@ -60,6 +60,7 @@ public class WorkOvertimeServiceImpl implements WorkOvertimeService {
|
|
|
@Override
|
|
|
public ModelMap saveWorkOvertime(WorkOvertime workOvertime, List<WorkOvertimeDet> workOvertimeDets) {
|
|
|
ModelMap map = new ModelMap();
|
|
|
+ Long id = 0L;
|
|
|
if (workOvertime.getWo_id() == null) {// 新增单据
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyMMmmSS");
|
|
|
workOvertime.setWo_code("WO" + sdf.format(new Date()));
|
|
|
@@ -78,21 +79,38 @@ public class WorkOvertimeServiceImpl implements WorkOvertimeService {
|
|
|
}
|
|
|
}
|
|
|
workOvertimeDets = workOvertimeDetDao.save(workOvertimeDetails);
|
|
|
+ if (!CollectionUtils.isEmpty(workOvertimeDets)) {
|
|
|
+ map.put("success", true);
|
|
|
+ id = workOvertimeDets.get(0).getWorkOvertime().getWo_id();
|
|
|
+ map.put("wo_id", id);
|
|
|
+ } else {
|
|
|
+ map.put("success", false);
|
|
|
+ }
|
|
|
} else {// 更新单据
|
|
|
WorkOvertime wo = workOvertimeDao.findOne(workOvertime.getWo_id());
|
|
|
+ id = workOvertime.getWo_id();
|
|
|
if (wo != null) {
|
|
|
wo.setWo_status(MobileStatus.ENTERING.getPhrase());
|
|
|
wo.setWo_statuscode(MobileStatus.ENTERING.name());
|
|
|
wo.setWo_worktask(workOvertime.getWo_worktask());
|
|
|
workOvertimeDao.save(wo);// 更新主表
|
|
|
+ if (!CollectionUtils.isEmpty(workOvertimeDets)) {
|
|
|
+ for (WorkOvertimeDet det : workOvertimeDets) {
|
|
|
+ if (det.getWod_id() != null) {
|
|
|
+ WorkOvertimeDet wodet = workOvertimeDetDao.findOne(det.getWod_id());
|
|
|
+ wodet.setWod_count(det.getWod_count());
|
|
|
+ wodet.setWod_detno(det.getWod_detno());
|
|
|
+ wodet.setEmcode(det.getEmcode());
|
|
|
+ wodet.setWod_empname(userBaseInfoDao.findByUserUU(det.getEmcode()).getUserName());
|
|
|
+ wodet.setWod_enddate(det.getWod_enddate());
|
|
|
+ wodet.setWod_startdate(det.getWod_startdate());
|
|
|
+ workOvertimeDetDao.save(wodet);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put("success", true);
|
|
|
}
|
|
|
}
|
|
|
- if (!CollectionUtils.isEmpty(workOvertimeDets)) {
|
|
|
- map.put("success", true);
|
|
|
- map.put("wo_id", workOvertimeDets.get(0).getWorkOvertime().getWo_id());
|
|
|
- } else {
|
|
|
- map.put("success", false);
|
|
|
- }
|
|
|
// 审批流
|
|
|
// TODO 暂时这里先只做人员的线路
|
|
|
String appName = "加班单";
|
|
|
@@ -122,7 +140,7 @@ public class WorkOvertimeServiceImpl implements WorkOvertimeService {
|
|
|
node = approvalFlowService.getNodeInfoByEnuuAndAppNameAndNodelev(workOvertime.getEnuu(), appName,
|
|
|
node.getNodelev() + 1);
|
|
|
if (applog.getId() != null) {
|
|
|
- workOvertime = workOvertimeDao.findOne(workOvertimeDets.get(0).getWorkOvertime().getWo_id());
|
|
|
+ workOvertime = workOvertimeDao.findOne(id);
|
|
|
workOvertime.setWo_status(MobileStatus.COMMITED.getPhrase());
|
|
|
workOvertime.setWo_statuscode(MobileStatus.COMMITED.name());
|
|
|
workOvertimeDao.save(workOvertime);
|