Commit 1873b733 authored by 温志超's avatar 温志超

Merge remote-tracking branch 'origin/master'

parents 0b655343 deff2fc1
...@@ -22,6 +22,7 @@ import com.ximai.mes.cal.service.ICalPlanService; ...@@ -22,6 +22,7 @@ import com.ximai.mes.cal.service.ICalPlanService;
import com.ximai.mes.cal.service.ICalPlanTeamService; import com.ximai.mes.cal.service.ICalPlanTeamService;
import com.ximai.mes.cal.service.ICalShiftService; import com.ximai.mes.cal.service.ICalShiftService;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.aspectj.bridge.Message;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -31,7 +32,10 @@ import javax.annotation.Resource; ...@@ -31,7 +32,10 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.ximai.common.utils.data.DateUtils.formatShiftDate; import static com.ximai.common.utils.data.DateUtils.formatShiftDate;
...@@ -84,10 +88,12 @@ public class CalPlanController extends BaseController { ...@@ -84,10 +88,12 @@ public class CalPlanController extends BaseController {
@PostMapping @PostMapping
@ApiOperation("排班计划新增") @ApiOperation("排班计划新增")
public AjaxResult add(@RequestBody CalPlan calPlan) { public AjaxResult add(@RequestBody CalPlan calPlan) {
checkPlan(calPlan);
List<CalPlan> calPlans = calPlanMapper.selectListByQw(new QueryWrapper<CalPlan>().eq("plan_code", calPlan.getPlanCode())); List<CalPlan> calPlans = calPlanMapper.selectListByQw(new QueryWrapper<CalPlan>().eq("plan_code", calPlan.getPlanCode()));
ExceptionUtil.checkTrueThrowException(CollectionUtil.isNotEmpty(calPlans), MessageUtils.message("cal.error.error1")); ExceptionUtil.checkTrueThrowException(CollectionUtil.isNotEmpty(calPlans), MessageUtils.message("cal.error.error1"));
checkPlan(calPlan);
// 插入方案 // 插入方案
calPlanService.insertCalPlan(calPlan); calPlanService.insertCalPlan(calPlan);
...@@ -117,168 +123,104 @@ public class CalPlanController extends BaseController { ...@@ -117,168 +123,104 @@ public class CalPlanController extends BaseController {
private static void checkPlan(CalPlan calPlan) { private static void checkPlan(CalPlan calPlan) {
List<CalShift> calShifts = calPlan.getCalShifts(); List<CalShift> calShifts = calPlan.getCalShifts();
ExceptionUtil.checkTrueThrowException(calShifts == null || CollectionUtil.isEmpty(calShifts), MessageUtils.message("cal.error.error2")); ExceptionUtil.checkTrueThrowException(calShifts == null || CollectionUtil.isEmpty(calShifts), MessageUtils.message("cal.error.error2"));
Date planStartDate = calPlan.getStartDate(); ExceptionUtil.checkTrueThrowException(calPlan.getStartDate() == null || calPlan.getEndDate() == null, MessageUtils.message("cal.error.error3"));
Date planEndDate = calPlan.getEndDate(); ExceptionUtil.checkTrueThrowException(calPlan.getStartDate().getTime() > calPlan.getEndDate().getTime(), MessageUtils.message("cal.error.error4"));
ExceptionUtil.checkTrueThrowException(planStartDate == null || planEndDate == null, MessageUtils.message("cal.error.error3"));
ExceptionUtil.checkTrueThrowException(planStartDate.getTime() > planEndDate.getTime(), MessageUtils.message("cal.error.error4"));
ExceptionUtil.checkTrueThrowException(CollectionUtil.isEmpty(calShifts), MessageUtils.message("cal.error.error5"));
long count = calShifts.stream().filter(x -> ExceptionUtil.checkTrueThrowException(calShifts.stream().filter(x ->
(x.getEndTime() == null && x.getEndTime() == "") || (x.getEndTime() == null && x.getEndTime() == "") ||
(x.getStartTime() == null && x.getStartTime() == "") (x.getStartTime() == null && x.getStartTime() == "")
).count(); ).count() > 0, MessageUtils.message("cal.error.error5"));
ExceptionUtil.checkTrueThrowException(count > 0, MessageUtils.message("cal.error.error5"));
String shiftType = calPlan.getShiftType(); String shiftType = calPlan.getShiftType();
int size = calShifts.size(); int size = calShifts.size();
ExceptionUtil.checkTrueThrowException(UserConstants.CAL_SHIFT_TYPE_SINGLE.equals(shiftType) && size != 1, MessageUtils.message("cal.error.error7")); ExceptionUtil.checkTrueThrowException(UserConstants.CAL_SHIFT_TYPE_SINGLE.equals(shiftType) && size != 1, MessageUtils.message("cal.error.error6"));
ExceptionUtil.checkTrueThrowException(UserConstants.CAL_SHIFT_TYPE_TWO.equals(shiftType) && size != 2, MessageUtils.message("cal.error.error7")); ExceptionUtil.checkTrueThrowException(UserConstants.CAL_SHIFT_TYPE_TWO.equals(shiftType) && size != 2, MessageUtils.message("cal.error.error7"));
ExceptionUtil.checkTrueThrowException(UserConstants.CAL_SHIFT_TYPE_THREE.equals(shiftType) && size != 3, MessageUtils.message("cal.error.error8")); ExceptionUtil.checkTrueThrowException(UserConstants.CAL_SHIFT_TYPE_THREE.equals(shiftType) && size != 3, MessageUtils.message("cal.error.error8"));
Date shiftStartDate = null; Date startDate = calPlan.getStartDate();
Date shiftEndDate = null; Date endDate = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String nowDateFormat = sdf.format(planStartDate); String startDateFormat = sdf.format(startDate);
String endDateFormat = sdf.format(startDate);
Set<Integer> collect2 = calShifts.stream().map(CalShift::getOrderNum).filter(Objects::nonNull).collect(Collectors.toSet()); Set<Integer> collect2 = calShifts.stream().map(CalShift::getOrderNum).filter(Objects::nonNull).collect(Collectors.toSet());
ExceptionUtil.checkTrueThrowException(collect2.size() != calShifts.size(), MessageUtils.message("cal.error.error9")); ExceptionUtil.checkTrueThrowException(collect2.size() != calShifts.size(), MessageUtils.message("cal.error.error9"));
for (CalShift calShift : calShifts) { for (CalShift calShift : calShifts) {
String shiftName = calShift.getShiftName(); String shiftName = calShift.getShiftName();
String nextDateFormat = null; endDate = formatShiftDate(endDateFormat, calShift.getEndTime());
String endTime = calShift.getEndTime(); startDate = formatShiftDate(startDateFormat, calShift.getStartTime());
shiftStartDate = formatShiftDate(nowDateFormat, calShift.getStartTime());
shiftEndDate = formatShiftDate(nowDateFormat, endTime);
if (Objects.equals(shiftName, "夜班")) { if (Objects.equals(shiftName, "夜班")) {
if (shiftStartDate.getTime() > shiftEndDate.getTime()) {
Date nextDay = DateUtils.getNextDay(planStartDate);
if (startDate.getTime() > endDate.getTime()) {
startDate = calPlan.getStartDate();
Date nextDay = DateUtils.getNextDay(startDate);
//今天日期 //今天日期
sdf = new SimpleDateFormat("yyyy-MM-dd"); sdf = new SimpleDateFormat("yyyy-MM-dd");
nextDateFormat = sdf.format(nextDay); endDateFormat = sdf.format(nextDay);
shiftEndDate = formatShiftDate(nextDateFormat, endTime); endDate = formatShiftDate(endDateFormat, calShift.getEndTime());
} }
} }
ExceptionUtil.checkTrueThrowException(planStartDate.getTime() >= shiftStartDate.getTime(), shiftName + MessageUtils.message("cal.error.error22"));
ExceptionUtil.checkTrueThrowException(planEndDate.getTime() <= shiftEndDate.getTime(), shiftName + MessageUtils.message("cal.error.error23"));
calShift.setExecEndTime(shiftEndDate);
calShift.setExecStartTime(shiftStartDate);
ExceptionUtil.checkTrueThrowException(shiftEndDate.getTime() < shiftStartDate.getTime(),shiftName+ MessageUtils.message("cal.error.error24", shiftName));
List<CalShift> breakTimeList = calShift.getBreakTimeList(); List<CalShift> breakTimeList = calShift.getBreakTimeList();
if (CollectionUtil.isNotEmpty(breakTimeList)) { if (CollectionUtil.isNotEmpty(breakTimeList)) {
Set<Integer> collect = breakTimeList.stream().map(CalShift::getOrderNum).filter(Objects::nonNull).collect(Collectors.toSet()); Set<Integer> collect = breakTimeList.stream().map(CalShift::getOrderNum).filter(Objects::nonNull).collect(Collectors.toSet());
ExceptionUtil.checkTrueThrowException(collect.size() != breakTimeList.size(), MessageUtils.message("cal.error.error10")); ExceptionUtil.checkTrueThrowException(collect.size() != breakTimeList.size(), MessageUtils.message("cal.error.error10"));
ExceptionUtil.checkTrueThrowException(endDate.getTime() <= startDate.getTime(),
MessageUtils.message("cal.error.error11", shiftName));
ExceptionUtil.checkTrueThrowException(shiftEndDate.getTime() <= shiftStartDate.getTime(), shiftName + MessageUtils.message("cal.error.error24", shiftName));
breakTimeList.sort(Comparator.comparing(CalShift::getOrderNum));
if (breakTimeList.size() == 2) { if (breakTimeList.size() == 2) {
CalShift calShift1 = breakTimeList.get(0); CalShift calShift1 = breakTimeList.get(0);
Date breakStartDate1 = formatShiftDate(startDateFormat, calShift1.getBreakStartTime());
Date breakEndDate1 = formatShiftDate(endDateFormat, calShift1.getBreakEndTime());
CalShift calShift2 = breakTimeList.get(1); CalShift calShift2 = breakTimeList.get(1);
String breakStartTime1 = calShift1.getBreakStartTime(); Date breakStartDate2 = formatShiftDate(startDateFormat, calShift2.getBreakStartTime());
String breakEndTime1 = calShift1.getBreakEndTime(); Date breakEndDate2 = formatShiftDate(endDateFormat, calShift2.getBreakEndTime());
ExceptionUtil.checkTrueThrowException(Objects.equals(breakStartTime1, breakEndTime1), MessageUtils.message("cal.error.error25"));
String breakStartTime2 = calShift2.getBreakStartTime();
String breakEndTime2 = calShift2.getBreakEndTime();
ExceptionUtil.checkTrueThrowException(Objects.equals(breakStartTime2, breakEndTime2), MessageUtils.message("cal.error.error25"));
Date breakStartDate1 = formatShiftDate(nowDateFormat, breakStartTime1);
Date breakEndDate1 = formatShiftDate(nowDateFormat, breakEndTime1);
Date breakStartDate2 = formatShiftDate(nowDateFormat, breakStartTime2);
Date breakEndDate2 = formatShiftDate(nowDateFormat, breakEndTime2);
Integer nextDay1 = calShift1.getNextDay();
if (nextDay1 != null && nextDay1 == 1) {
if (breakEndDate1.after(breakStartDate1)) {
breakStartDate1 = formatShiftDate(nextDateFormat, breakStartTime1);
breakEndDate1 = formatShiftDate(nextDateFormat, breakEndTime1);
} else {
breakEndDate1 = formatShiftDate(nextDateFormat, breakEndTime1);
}
}
Integer nextDay2 = calShift2.getNextDay();
if (nextDay2 != null && nextDay2 == 1) {
if (breakEndDate2.after(breakStartDate2)) {
breakStartDate2 = formatShiftDate(nextDateFormat, breakStartTime2);
breakEndDate2 = formatShiftDate(nextDateFormat, breakEndTime2);
} else {
breakEndDate2 = formatShiftDate(nextDateFormat, breakEndTime2);
}
}
ExceptionUtil.checkTrueThrowException( ExceptionUtil.checkTrueThrowException(
!breakEndDate2.after(breakStartDate1), (breakEndDate1.getTime() <= breakStartDate1.getTime()) ||
shiftName + MessageUtils.message("cal.error.error28")); (breakEndDate2.getTime() <= breakStartDate2.getTime()),
MessageUtils.message("cal.error.error12", shiftName));
ExceptionUtil.checkTrueThrowException(shiftStartDate.after(breakStartDate1), shiftName + MessageUtils.message("cal.error.error26"));
ExceptionUtil.checkTrueThrowException(breakStartDate2.after(shiftEndDate), shiftName + MessageUtils.message("cal.error.error27"));
boolean afterA = breakEndDate1.after(breakStartDate1);
boolean afterB = breakStartDate2.after(breakEndDate1);
boolean afterC = breakEndDate2.after(breakStartDate2);
ExceptionUtil.checkTrueThrowException( ExceptionUtil.checkTrueThrowException(
!(afterA && afterB && afterC), (breakEndDate1.getTime() > breakEndDate2.getTime() || breakStartDate1
MessageUtils.message("cal.error.error13", shiftName)); .getTime() > breakStartDate2.getTime()) ||
!DateUtils.isTimePeriodOverlapping(breakStartDate1, breakEndDate1, breakStartDate2, breakEndDate2) ||
DateUtils.hasTimeOverlap(breakStartDate1, breakEndDate1, breakStartDate2, breakEndDate2),
CalShift o1 = calShift1.deepCopyObj(); MessageUtils.message("cal.error.error13", shiftName));
o1.setExecStartTime(breakStartDate1);
o1.setExecEndTime(breakEndDate1); ExceptionUtil.checkTrueThrowException(
o1.setRestFlag(1); (breakStartDate1.getTime() < startDate.getTime()) ||
o1.setOperType(1); (breakStartDate2.getTime() < startDate.getTime()),
o1.setShiftName(shiftName); MessageUtils.message("cal.error.error14", shiftName));
CalShift o2 = calShift2.deepCopyObj();
o2.setExecStartTime(breakStartDate2);
o2.setExecEndTime(breakEndDate2); ExceptionUtil.checkTrueThrowException(
o2.setRestFlag(1); (breakEndDate1.getTime() > endDate.getTime()) ||
o2.setOperType(1); (breakEndDate2.getTime() > endDate.getTime()),
o2.setShiftName(shiftName); MessageUtils.message("cal.error.error15", shiftName));
calShift.setBreakTimeList(Arrays.asList(o1, o2));
continue;
} }
if (breakTimeList.size() == 1) { if (breakTimeList.size() == 1) {
CalShift calShift1 = breakTimeList.get(0); CalShift calShift1 = breakTimeList.get(0);
String breakStartTime1 = calShift1.getBreakStartTime(); Date breakStartDate1 = formatShiftDate(startDateFormat, calShift1.getBreakStartTime());
String breakEndTime1 = calShift1.getBreakEndTime(); Date breakEndDate1 = formatShiftDate(endDateFormat, calShift1.getBreakEndTime());
Date breakStartDate1 = formatShiftDate(nowDateFormat, breakStartTime1); ExceptionUtil.checkTrueThrowException(breakEndDate1.getTime() <= breakStartDate1.getTime(), MessageUtils.message("cal.error.error16", shiftName));
Date breakEndDate1 = formatShiftDate(nowDateFormat, breakEndTime1);
ExceptionUtil.checkTrueThrowException(breakStartDate1.getTime() < startDate.getTime(), MessageUtils.message("cal.error.error14", shiftName));
ExceptionUtil.checkTrueThrowException(breakEndDate1.getTime() > endDate.getTime(), MessageUtils.message("cal.error.error15", shiftName));
Integer nextDay = calShift1.getNextDay();
if (nextDay != null && nextDay == 1) {
if (breakEndDate1.after(breakStartDate1)) {
breakStartDate1 = formatShiftDate(nextDateFormat, breakStartTime1);
breakEndDate1 = formatShiftDate(nextDateFormat, breakEndTime1);
} else {
breakEndDate1 = formatShiftDate(nextDateFormat, breakEndTime1);
}
}
ExceptionUtil.checkTrueThrowException(shiftStartDate.after(breakStartDate1), shiftName + MessageUtils.message("cal.error.error26"));
ExceptionUtil.checkTrueThrowException(breakEndDate1.after(shiftEndDate), shiftName + MessageUtils.message("cal.error.error27"));
ExceptionUtil.checkTrueThrowException(!breakEndDate1.after(breakStartDate1), MessageUtils.message("cal.error.error13"));
CalShift o = calShift1.deepCopyObj();
o.setExecEndTime(breakEndDate1);
o.setExecStartTime(breakStartDate1);
o.setRestFlag(1);
o.setOperType(1);
o.setShiftName(shiftName);
calShift.setBreakTimeList(Collections.singletonList(o));
continue;
} }
} }
...@@ -294,13 +236,11 @@ public class CalPlanController extends BaseController { ...@@ -294,13 +236,11 @@ public class CalPlanController extends BaseController {
@Log(title = "排班计划修改完成", businessType = BusinessType.UPDATE) @Log(title = "排班计划修改完成", businessType = BusinessType.UPDATE)
@PutMapping("/releasePlan") @PutMapping("/releasePlan")
public AjaxResult releasePlan(@RequestBody CalPlan calPlan) { public AjaxResult releasePlan(@RequestBody CalPlan calPlan) {
ExceptionUtil.checkTrueThrowException(!UserConstants.ORDER_STATUS_CONFIRMED.equals(calPlan.getStatus()), MessageUtils.message("cal.error.error17"));
checkPlan(calPlan); checkPlan(calPlan);
ExceptionUtil.checkTrueThrowException(!UserConstants.ORDER_STATUS_CONFIRMED.equals(calPlan.getStatus()), MessageUtils.message("cal.error.error17"));
calPlan.setUpdateBy(SecurityUtils.getUsername()); calPlan.setUpdateBy(SecurityUtils.getUsername());
calPlan.setUpdateTime(DateUtils.getNowDate()); calPlan.setUpdateTime(DateUtils.getNowDate());
calPlan.setCreateTime(DateUtils.getNowDate());
calPlan.setCreateBy(SecurityUtils.getUsername());
calPlanService.releasePlan(calPlan); calPlanService.releasePlan(calPlan);
return AjaxResult.success(); return AjaxResult.success();
} }
......
...@@ -7,11 +7,13 @@ import com.ximai.common.core.controller.BaseController; ...@@ -7,11 +7,13 @@ import com.ximai.common.core.controller.BaseController;
import com.ximai.common.core.domain.AjaxResult; import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.core.page.TableDataInfo; import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType; import com.ximai.common.enums.BusinessType;
import com.ximai.common.utils.MessageUtils;
import com.ximai.common.utils.data.ExceptionUtil; import com.ximai.common.utils.data.ExceptionUtil;
import com.ximai.mes.cal.domain.CalPlanWorkunit; import com.ximai.mes.cal.domain.CalPlanWorkunit;
import com.ximai.mes.cal.service.ICalPlanWorkunitService; import com.ximai.mes.cal.service.ICalPlanWorkunitService;
import com.ximai.mes.constant.CalPlanWorkunitEnum; import com.ximai.mes.constant.CalPlanWorkunitEnum;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.aspectj.bridge.Message;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -95,14 +97,14 @@ public class CalPlanWorkunitController extends BaseController { ...@@ -95,14 +97,14 @@ public class CalPlanWorkunitController extends BaseController {
@Log(title = "计划工作单元", businessType = BusinessType.UPDATE) @Log(title = "计划工作单元", businessType = BusinessType.UPDATE)
@PutMapping(value = "/editList") @PutMapping(value = "/editList")
public AjaxResult editList(@RequestBody List<CalPlanWorkunit> calPlanWorkunits) { public AjaxResult editList(@RequestBody List<CalPlanWorkunit> calPlanWorkunits) {
ExceptionUtil.checkTrueThrowException(CollectionUtil.isEmpty(calPlanWorkunits), "没有指定放假对象"); ExceptionUtil.checkTrueThrowException(CollectionUtil.isEmpty(calPlanWorkunits), MessageUtils.message("cal.error.error20"));
long count = calPlanWorkunits.stream().filter( long count = calPlanWorkunits.stream().filter(
x -> x.getWorkunitId() == null || x -> x.getWorkunitId() == null ||
x.getTheDay() == null || x.getTheDay() == null ||
x.getShiftName() == null || x.getShiftName() == null ||
x.getIsWork() == null).count(); x.getIsWork() == null).count();
ExceptionUtil.checkTrueThrowException(count > 0, "非法的更新数据"); ExceptionUtil.checkTrueThrowException(count > 0, MessageUtils.message("cal.error.error21"));
// workunit_id,the_day,shift_name // workunit_id,the_day,shift_name
for (CalPlanWorkunit calPlanWorkunit : calPlanWorkunits) { for (CalPlanWorkunit calPlanWorkunit : calPlanWorkunits) {
...@@ -130,6 +132,6 @@ public class CalPlanWorkunitController extends BaseController { ...@@ -130,6 +132,6 @@ public class CalPlanWorkunitController extends BaseController {
@Log(title = "计划工作单元删除", businessType = BusinessType.DELETE) @Log(title = "计划工作单元删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{planWorkunitIds}") @DeleteMapping("/{planWorkunitIds}")
public AjaxResult remove(@PathVariable Long[] planWorkunitIds) { public AjaxResult remove(@PathVariable Long[] planWorkunitIds) {
return toAjax(calPlanWorkunitService.deleteListByIds(planWorkunitIds)); return toAjax(calPlanWorkunitService.deleteCalPlanWorkunitByPlanWorkunitIds(planWorkunitIds));
} }
} }
...@@ -82,10 +82,10 @@ public class CalShiftController extends BaseController { ...@@ -82,10 +82,10 @@ public class CalShiftController extends BaseController {
calShiftVoQueryWrapper.eq(StringUtils.isNotEmpty(calPlanWorkunit.getWorkunitId()), "cpw.workunit_id", calPlanWorkunit.getWorkunitId()); calShiftVoQueryWrapper.eq(StringUtils.isNotEmpty(calPlanWorkunit.getWorkunitId()), "cpw.workunit_id", calPlanWorkunit.getWorkunitId());
calShiftVoQueryWrapper.eq(StringUtils.isNotEmpty(calPlanWorkunit.getTheDay()), "cpw.the_day", calPlanWorkunit.getTheDay()); calShiftVoQueryWrapper.eq(StringUtils.isNotEmpty(calPlanWorkunit.getTheDay()), "cpw.the_day", calPlanWorkunit.getTheDay());
calShiftVoQueryWrapper.eq(StringUtils.isNotEmpty(calPlanWorkunit.getShiftName()), "ash.shift_name", calPlanWorkunit.getShiftName()); calShiftVoQueryWrapper.eq(StringUtils.isNotEmpty(calPlanWorkunit.getShiftName()), "ash.shift_name", calPlanWorkunit.getShiftName());
calShiftVoQueryWrapper.like(StringUtils.isNotEmpty(calPlanWorkunit.getWorkunitCode()), "cpw.workunit_code", calPlanWorkunit.getWorkunitCode());
calShiftVoQueryWrapper.apply(StringUtils.isNotEmpty(calPlanWorkunit.getWorkstationName()), "LOWER(mws.workstation_name) like CONCAT('%',LOWER({0}),'%')", calPlanWorkunit.getWorkstationName());
calShiftVoQueryWrapper.apply(StringUtils.isNotEmpty(calPlanWorkunit.getWorkshopName()), "LOWER(mws.workshop_name) like CONCAT('%',LOWER({0}),'%')", calPlanWorkunit.getWorkshopName());
calShiftVoQueryWrapper.like(StringUtils.isNotEmpty(calPlanWorkunit.getWorkstationName()), "mws.workstation_name", calPlanWorkunit.getWorkstationName());
calShiftVoQueryWrapper.like(StringUtils.isNotEmpty(calPlanWorkunit.getWorkshopName()), "mws.workshop_name", calPlanWorkunit.getWorkshopName());
return getDataTable(calShiftMapper.selectOnWorkShiftByQw(calShiftVoQueryWrapper)); return getDataTable(calShiftMapper.selectOnWorkShiftByQw(calShiftVoQueryWrapper));
} }
......
...@@ -8,6 +8,7 @@ import com.ximai.common.enums.BusinessType; ...@@ -8,6 +8,7 @@ import com.ximai.common.enums.BusinessType;
import com.ximai.mes.cal.domain.CalWorkunit; import com.ximai.mes.cal.domain.CalWorkunit;
import com.ximai.mes.cal.service.ICalWorkunitService; import com.ximai.mes.cal.service.ICalWorkunitService;
import com.ximai.mes.md.domain.MdWorkunit; import com.ximai.mes.md.domain.MdWorkunit;
import com.ximai.mes.md.service.IMdWorkunitService;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
...@@ -32,6 +33,8 @@ public class CalWorkunitController extends BaseController { ...@@ -32,6 +33,8 @@ public class CalWorkunitController extends BaseController {
@Autowired @Autowired
private ICalWorkunitService calWorkunitService; private ICalWorkunitService calWorkunitService;
@Autowired
private IMdWorkunitService mdWorkunitService;
/** /**
* 查询计划工作单元列表 * 查询计划工作单元列表
...@@ -55,26 +58,6 @@ public class CalWorkunitController extends BaseController { ...@@ -55,26 +58,6 @@ public class CalWorkunitController extends BaseController {
return getDataTable(list); return getDataTable(list);
} }
/**
* 查询计划勾选的工作单元之外的所有工作的单元
*/
// @PreAuthorize("@ss.hasPermi('md:workunit:list')")
@GetMapping("/getWorkunitByPlanId")
public TableDataInfo getWorkunitByPlanId(CalWorkunit calWorkunit) {
List<CalWorkunit> calWorkunits = new ArrayList<>();
if (calWorkunit.getPlanId() != null) {
CalWorkunit checkAll = new CalWorkunit();
checkAll.setPlanId(calWorkunit.getPlanId());
calWorkunits = calWorkunitService.selectCalWorkunitList(checkAll);
}
startPage();
List<MdWorkunit> mdWorkunits = calWorkunitService.getWorkunitByPlanId(calWorkunit,calWorkunits);
return getDataTable(mdWorkunits);
}
@GetMapping("/calWorkunitList") @GetMapping("/calWorkunitList")
public AjaxResult calWorkunitList() { public AjaxResult calWorkunitList() {
List<CalWorkunit> list = calWorkunitService.selectCalWorkunitList(new CalWorkunit()); List<CalWorkunit> list = calWorkunitService.selectCalWorkunitList(new CalWorkunit());
...@@ -102,7 +85,7 @@ public class CalWorkunitController extends BaseController { ...@@ -102,7 +85,7 @@ public class CalWorkunitController extends BaseController {
@PreAuthorize("@ss.hasPermi('md:workunit:query')") @PreAuthorize("@ss.hasPermi('md:workunit:query')")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) { public AjaxResult getInfo(@PathVariable("id") Long id) {
return AjaxResult.success(calWorkunitService.getObjById(id)); return AjaxResult.success(calWorkunitService.selectCalWorkunitById(id));
} }
/** /**
......
...@@ -6,8 +6,6 @@ import com.fasterxml.jackson.annotation.JsonFormat; ...@@ -6,8 +6,6 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ximai.common.annotation.Excel; import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity; import com.ximai.common.core.domain.BaseEntity;
......
...@@ -106,6 +106,7 @@ public class CalPlan extends BaseEntity { ...@@ -106,6 +106,7 @@ public class CalPlan extends BaseEntity {
* 预留字段4 * 预留字段4
*/ */
private Long attr4; private Long attr4;
@ApiModelProperty(value = "轮班班次列表") @ApiModelProperty(value = "轮班班次列表")
private List<CalShift> calShifts; private List<CalShift> calShifts;
......
...@@ -35,20 +35,7 @@ public class CalPlanWorkunit extends BaseEntity { ...@@ -35,20 +35,7 @@ public class CalPlanWorkunit extends BaseEntity {
@ApiModelProperty(value = "计划id") @ApiModelProperty(value = "计划id")
@Excel(name = "计划ID") @Excel(name = "计划ID")
private Long planId; private Long planId;
/**
* 计划ID
*/
@ApiModelProperty(value = "计划id")
@Excel(name = "计划ID")
private String planCode;
/**
* 计划ID
*/
@ApiModelProperty(value = "计划id")
@Excel(name = "计划ID")
private String planName;
@ApiModelProperty(value = "班次类型") @ApiModelProperty(value = "班次类型")
private String shiftType; private String shiftType;
...@@ -134,12 +121,6 @@ public class CalPlanWorkunit extends BaseEntity { ...@@ -134,12 +121,6 @@ public class CalPlanWorkunit extends BaseEntity {
@Excel(name = "结束时间") @Excel(name = "结束时间")
private Date endDate; private Date endDate;
/**
* 开始数据和结束时间
*/
@TableField(exist = false)
private String workDate;
// /** // /**
// * 开始时间 // * 开始时间
......
...@@ -26,8 +26,6 @@ public class CalShift extends BaseEntity { ...@@ -26,8 +26,6 @@ public class CalShift extends BaseEntity {
@TableField(exist = false) @TableField(exist = false)
private int restFlag = 0; private int restFlag = 0;
@TableField(exist = false)
private Integer nextDay;
/** /**
...@@ -45,7 +43,6 @@ public class CalShift extends BaseEntity { ...@@ -45,7 +43,6 @@ public class CalShift extends BaseEntity {
private Long planId; private Long planId;
private String planCode; private String planCode;
private String planName;
@ApiModelProperty(value = "排列顺序") @ApiModelProperty(value = "排列顺序")
/** /**
...@@ -79,20 +76,20 @@ public class CalShift extends BaseEntity { ...@@ -79,20 +76,20 @@ public class CalShift extends BaseEntity {
@Excel(name = "结束时间") @Excel(name = "结束时间")
private String endTime; private String endTime;
//
// /** /**
// * 开始时间 * 开始时间
// */ */
// @ApiModelProperty(value = "开始时间") @ApiModelProperty(value = "开始时间")
// @Excel(name = "开始时间") @Excel(name = "开始时间")
// private Date startDate; private Date startDate;
//
// /** /**
// * 结束时间 * 结束时间
// */ */
// @ApiModelProperty(value = "结束时间") @ApiModelProperty(value = "结束时间")
// @Excel(name = "结束时间") @Excel(name = "结束时间")
// private Date endDate; private Date endDate;
@ApiModelProperty(value = "休息开始时间") @ApiModelProperty(value = "休息开始时间")
private String breakStartTime; private String breakStartTime;
...@@ -124,7 +121,4 @@ public class CalShift extends BaseEntity { ...@@ -124,7 +121,4 @@ public class CalShift extends BaseEntity {
private List<CalShift> breakTimeList = new ArrayList<>(); private List<CalShift> breakTimeList = new ArrayList<>();
private Date execStartTime;
private Date execEndTime;
} }
...@@ -66,7 +66,7 @@ public class CalWorkunit extends BaseEntity { ...@@ -66,7 +66,7 @@ public class CalWorkunit extends BaseEntity {
@TableField(exist = false) @TableField(exist = false)
private String workstationCode; private String workstationCode;
@TableField(exist = false) @TableField(exist = false)
private String workstationName; private String workstationName;
......
...@@ -40,7 +40,6 @@ public class CalShiftVo extends BaseEntity implements Comparable<CalShiftVo> { ...@@ -40,7 +40,6 @@ public class CalShiftVo extends BaseEntity implements Comparable<CalShiftVo> {
*/ */
private Long planId; private Long planId;
private String planCode; private String planCode;
private String planName;
/** /**
* 序号 * 序号
...@@ -117,6 +116,5 @@ public class CalShiftVo extends BaseEntity implements Comparable<CalShiftVo> { ...@@ -117,6 +116,5 @@ public class CalShiftVo extends BaseEntity implements Comparable<CalShiftVo> {
private String workstationName; private String workstationName;
private String workshopName; private String workshopName;
private Integer nextDay;
private List<CalShiftVo> breakTimeList = new ArrayList<>(); private List<CalShiftVo> breakTimeList = new ArrayList<>();
} }
...@@ -3,7 +3,6 @@ package com.ximai.mes.cal.mapper; ...@@ -3,7 +3,6 @@ package com.ximai.mes.cal.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ximai.mes.cal.domain.CalPlanWorkunit; import com.ximai.mes.cal.domain.CalPlanWorkunit;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update; import org.apache.ibatis.annotations.Update;
...@@ -55,11 +54,6 @@ public interface CalPlanWorkunitMapper extends BaseMapper<CalPlanWorkunit> { ...@@ -55,11 +54,6 @@ public interface CalPlanWorkunitMapper extends BaseMapper<CalPlanWorkunit> {
*/ */
int deleteCalPlanWorkunitByid(Long planWorkunitId); int deleteCalPlanWorkunitByid(Long planWorkunitId);
@Delete("delete from cal_plan_workunit where plan_code = #{planCode}")
int deleteByPlanCode(@Param("planCode") String planCode);
/** /**
* 批量删除计划工作单元 * 批量删除计划工作单元
* *
......
...@@ -3,10 +3,8 @@ package com.ximai.mes.cal.mapper; ...@@ -3,10 +3,8 @@ package com.ximai.mes.cal.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ximai.mes.cal.domain.CalWorkunit; import com.ximai.mes.cal.domain.CalWorkunit;
import com.ximai.mes.md.domain.MdWorkunit;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.springframework.security.core.parameters.P;
import java.util.List; import java.util.List;
...@@ -43,17 +41,6 @@ public interface CalWorkunitMapper extends BaseMapper<CalWorkunit> { ...@@ -43,17 +41,6 @@ public interface CalWorkunitMapper extends BaseMapper<CalWorkunit> {
@Select("select t1.*,t2.workstation_id,t2.workstation_code,t3.workstation_name,t4.workshop_id,t4.workshop_code,t4.workshop_name,t5.factory_id,t5.factory_code,t5.factory_name from cal_workunit t1 inner join md_workunit t2 on t1.workunit_id = t2.workunit_id inner join md_workstation t3 on t2.workstation_id = t3.workstation_id inner join md_workshop t4 on t4.workshop_id = t3.workshop_id inner join md_factory t5 on t5.factory_id = t4.factory_id ${ew.customSqlSegment}") @Select("select t1.*,t2.workstation_id,t2.workstation_code,t3.workstation_name,t4.workshop_id,t4.workshop_code,t4.workshop_name,t5.factory_id,t5.factory_code,t5.factory_name from cal_workunit t1 inner join md_workunit t2 on t1.workunit_id = t2.workunit_id inner join md_workstation t3 on t2.workstation_id = t3.workstation_id inner join md_workshop t4 on t4.workshop_id = t3.workshop_id inner join md_factory t5 on t5.factory_id = t4.factory_id ${ew.customSqlSegment}")
List<CalWorkunit> selectListByQw(@Param("ew") QueryWrapper<CalWorkunit> query); List<CalWorkunit> selectListByQw(@Param("ew") QueryWrapper<CalWorkunit> query);
/**
* 关联工作中心查询作业单元列表
*
* @param query
* @return
*/
@Select("select distinct t1.*,t2.workstation_id,t2.workstation_code,t3.workstation_name,t4.workshop_id,t4.workshop_code,t4.workshop_name,t5.factory_id,t5.factory_code,t5.factory_name from cal_workunit t1 inner join md_workunit t2 on t1.workunit_id = t2.workunit_id inner join md_workstation t3 on t2.workstation_id = t3.workstation_id inner join md_workshop t4 on t4.workshop_id = t3.workshop_id inner join md_factory t5 on t5.factory_id = t4.factory_id ${ew.customSqlSegment}")
List<MdWorkunit> selectListByQwV2(@Param("ew") QueryWrapper<CalWorkunit> query);
/** /**
* 新增计划工作单元 * 新增计划工作单元
* *
...@@ -89,10 +76,4 @@ public interface CalWorkunitMapper extends BaseMapper<CalWorkunit> { ...@@ -89,10 +76,4 @@ public interface CalWorkunitMapper extends BaseMapper<CalWorkunit> {
int deleteCalWorkunitByPlanId(Long planId); int deleteCalWorkunitByPlanId(Long planId);
int deleteCalWorkunitByPlanCode(String planCode); int deleteCalWorkunitByPlanCode(String planCode);
List<MdWorkunit> selectMdworkunitList(@Param("workunitCode") String workunitCode,
@Param("workunitName") String workunitName,
@Param("workstationName")String workstationName,
@Param("workshopName")String workshopName,
@Param("workunitCodes")List<String> workunitCodes);
} }
...@@ -70,7 +70,7 @@ public interface ICalPlanWorkunitService { ...@@ -70,7 +70,7 @@ public interface ICalPlanWorkunitService {
* @param planWorkunitIds 需要删除的计划工作单元主键集合 * @param planWorkunitIds 需要删除的计划工作单元主键集合
* @return 结果 * @return 结果
*/ */
int deleteListByIds(Long[] planWorkunitIds); int deleteCalPlanWorkunitByPlanWorkunitIds(Long[] planWorkunitIds);
/** /**
* 删除计划工作单元信息 * 删除计划工作单元信息
......
...@@ -2,7 +2,6 @@ package com.ximai.mes.cal.service; ...@@ -2,7 +2,6 @@ package com.ximai.mes.cal.service;
import java.util.List; import java.util.List;
import com.ximai.mes.cal.domain.CalPlan;
import com.ximai.mes.cal.domain.CalTeamshift; import com.ximai.mes.cal.domain.CalTeamshift;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
......
package com.ximai.mes.cal.service; package com.ximai.mes.cal.service;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.mes.cal.domain.CalWorkunit; import com.ximai.mes.cal.domain.CalWorkunit;
import com.ximai.mes.md.domain.MdWorkunit; import com.ximai.mes.md.domain.MdWorkunit;
...@@ -19,7 +18,7 @@ public interface ICalWorkunitService { ...@@ -19,7 +18,7 @@ public interface ICalWorkunitService {
* @param id 计划工作单元主键 * @param id 计划工作单元主键
* @return 计划工作单元 * @return 计划工作单元
*/ */
CalWorkunit getObjById(Long id); CalWorkunit selectCalWorkunitById(Long id);
/** /**
* 查询计划工作单元列表 * 查询计划工作单元列表
...@@ -67,6 +66,4 @@ public interface ICalWorkunitService { ...@@ -67,6 +66,4 @@ public interface ICalWorkunitService {
void deleteCalWorkunitByPlanCode(String planCode); void deleteCalWorkunitByPlanCode(String planCode);
List<MdWorkunit> getWorkunitByPlanId(CalWorkunit calWorkunit,List<CalWorkunit> calWorkunits);
} }
...@@ -14,13 +14,10 @@ import com.ximai.mes.cal.mapper.CalTeamMemberMapper; ...@@ -14,13 +14,10 @@ import com.ximai.mes.cal.mapper.CalTeamMemberMapper;
import com.ximai.mes.cal.mapper.CalTeamshiftMapper; import com.ximai.mes.cal.mapper.CalTeamshiftMapper;
import com.ximai.mes.cal.service.ICalCalendarService; import com.ximai.mes.cal.service.ICalCalendarService;
import com.ximai.mes.cal.utils.MesCalendarUtil; import com.ximai.mes.cal.utils.MesCalendarUtil;
import com.ximai.mes.md.domain.MdWorkunit;
import com.ximai.mes.md.mapper.MdWorkunitMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -37,9 +34,6 @@ public class CalCalendarServiceImpl implements ICalCalendarService { ...@@ -37,9 +34,6 @@ public class CalCalendarServiceImpl implements ICalCalendarService {
@Autowired @Autowired
private CalTeamMemberMapper calTeamMemberMapper; private CalTeamMemberMapper calTeamMemberMapper;
@Autowired
private MdWorkunitMapper mdWorkunitMapper;
@Autowired @Autowired
private CalPlanWorkunitMapper calPlanWorkunitMapper; private CalPlanWorkunitMapper calPlanWorkunitMapper;
...@@ -129,23 +123,6 @@ public class CalCalendarServiceImpl implements ICalCalendarService { ...@@ -129,23 +123,6 @@ public class CalCalendarServiceImpl implements ICalCalendarService {
List<CalPlanWorkunit> resultCalPlanWorkunits = new ArrayList<>(); List<CalPlanWorkunit> resultCalPlanWorkunits = new ArrayList<>();
for (Map.Entry<String, List<CalPlanWorkunit>> entry : groupBy.entrySet()) { for (Map.Entry<String, List<CalPlanWorkunit>> entry : groupBy.entrySet()) {
//获取当天的时间
switch ( entry.getValue().get(0).getShiftName()){
case "白班":
String s = CalPlanWorkunitUp(entry);
entry.getValue().get(0).setWorkDate(s);
break;
case "中班":
String s1 = CalPlanWorkunitCentre(entry);
entry.getValue().get(0).setWorkDate(s1);
break;
case "夜班":
String s2 = CalPlanWorkunitCentre(entry);
entry.getValue().get(0).setWorkDate(s2);
break;
default:
break;
}
resultCalPlanWorkunits.add(entry.getValue().get(0)); resultCalPlanWorkunits.add(entry.getValue().get(0));
} }
if (CollUtil.isNotEmpty(resultCalPlanWorkunits)) { if (CollUtil.isNotEmpty(resultCalPlanWorkunits)) {
...@@ -190,15 +167,11 @@ public class CalCalendarServiceImpl implements ICalCalendarService { ...@@ -190,15 +167,11 @@ public class CalCalendarServiceImpl implements ICalCalendarService {
public List<CalCalendar> getCalendarByWorkunit(Date day, CalCalendar calCalendar) { public List<CalCalendar> getCalendarByWorkunit(Date day, CalCalendar calCalendar) {
List<CalCalendar> calendars = MesCalendarUtil.getDays(day); List<CalCalendar> calendars = MesCalendarUtil.getDays(day);
for (CalCalendar cal : calendars) { for (CalCalendar cal : calendars) {
MdWorkunit mdWorkunit1 = new MdWorkunit();
mdWorkunit1.setWorkunitId(calCalendar.getWorkunitId());
mdWorkunitMapper.selectMdWorkunitLists(mdWorkunit1);
CalPlanWorkunit param = new CalPlanWorkunit(); CalPlanWorkunit param = new CalPlanWorkunit();
param.setIsWork(calCalendar.getIsWork()); param.setIsWork(calCalendar.getIsWork());
param.setTheDay(cal.getTheDay()); param.setTheDay(cal.getTheDay());
if (calCalendar.getWorkunitName() != null && calCalendar.getWorkunitId() != null) { if (calCalendar.getWorkunitName() != null) {
param.setWorkunitName(calCalendar.getWorkunitName()); param.setWorkunitName(calCalendar.getWorkunitName());
param.setWorkunitId(calCalendar.getWorkunitId());
} }
List<CalPlanWorkunit> calPlanWorkunits = calPlanWorkunitMapper.selectCalPlanWorkunitListV2(param); List<CalPlanWorkunit> calPlanWorkunits = calPlanWorkunitMapper.selectCalPlanWorkunitListV2(param);
...@@ -206,25 +179,7 @@ public class CalCalendarServiceImpl implements ICalCalendarService { ...@@ -206,25 +179,7 @@ public class CalCalendarServiceImpl implements ICalCalendarService {
List<CalPlanWorkunit> resultCalPlanWorkunits = new ArrayList<>(); List<CalPlanWorkunit> resultCalPlanWorkunits = new ArrayList<>();
for (Map.Entry<String, List<CalPlanWorkunit>> entry : groupBy.entrySet()) { for (Map.Entry<String, List<CalPlanWorkunit>> entry : groupBy.entrySet()) {
//获取当天的时间 resultCalPlanWorkunits.add(entry.getValue().get(0));
switch ( entry.getValue().get(0).getShiftName()){
case "白班":
String s = CalPlanWorkunitUp(entry);
entry.getValue().get(0).setWorkDate(s);
break;
case "中班":
String s1 = CalPlanWorkunitCentre(entry);
entry.getValue().get(0).setWorkDate(s1);
break;
case "夜班":
String s2 = CalPlanWorkunitCentre(entry);
entry.getValue().get(0).setWorkDate(s2);
break;
default:
break;
}
resultCalPlanWorkunits.add(entry.getValue().get(0));
} }
if (CollUtil.isNotEmpty(resultCalPlanWorkunits)) { if (CollUtil.isNotEmpty(resultCalPlanWorkunits)) {
...@@ -239,38 +194,6 @@ public class CalCalendarServiceImpl implements ICalCalendarService { ...@@ -239,38 +194,6 @@ public class CalCalendarServiceImpl implements ICalCalendarService {
} }
//白天的时间拼接
public String CalPlanWorkunitUp(Map.Entry<String, List<CalPlanWorkunit>> entry){
Date startDate = entry.getValue().get(0).getStartDate();
Date endDate = entry.getValue().get(0).getEndDate();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String startDates= formatter.format(startDate);
String endDates = formatter.format(endDate);
String a=startDates+"--"+endDates+"\n";
Date startDate1 = entry.getValue().get(1).getStartDate();
Date endDate1 = entry.getValue().get(1).getEndDate();
String startDates1= formatter.format(startDate1);
String endDates1 = formatter.format(endDate1);
String b=startDates1+"--"+endDates1+"\n";
Date startDate2 = entry.getValue().get(2).getStartDate();
Date endDate2 = entry.getValue().get(2).getEndDate();
String startDates2= formatter.format(startDate2);
String endDates2 = formatter.format(endDate2);
String c=startDates2+"--"+endDates2;
return a+b+c;
}
//中班和中班
public String CalPlanWorkunitCentre(Map.Entry<String, List<CalPlanWorkunit>> entry){
Date startDate = entry.getValue().get(0).getStartDate();
Date endDate = entry.getValue().get(0).getEndDate();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String startDates= formatter.format(startDate);
String endDates = formatter.format(endDate);
String a=startDates+"--"+endDates;
return a;
}
private List<CalPlanWorkunit> queryCalendarMountData(CalPlanWorkunit calPlanWorkunit) { private List<CalPlanWorkunit> queryCalendarMountData(CalPlanWorkunit calPlanWorkunit) {
List<CalPlanWorkunit> calPlanWorkunits = calPlanWorkunitMapper.selectCalPlanWorkunitListV2(calPlanWorkunit); List<CalPlanWorkunit> calPlanWorkunits = calPlanWorkunitMapper.selectCalPlanWorkunitListV2(calPlanWorkunit);
Map<String, List<CalPlanWorkunit>> groupBy = calPlanWorkunits.stream().collect(Collectors.groupingBy(x -> x.getWorkunitId() + ":" + x.getShiftName())); Map<String, List<CalPlanWorkunit>> groupBy = calPlanWorkunits.stream().collect(Collectors.groupingBy(x -> x.getWorkunitId() + ":" + x.getShiftName()));
......
...@@ -2,6 +2,7 @@ package com.ximai.mes.cal.service.impl; ...@@ -2,6 +2,7 @@ package com.ximai.mes.cal.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.common.utils.MessageUtils;
import com.ximai.common.utils.data.DateUtils; import com.ximai.common.utils.data.DateUtils;
import com.ximai.common.utils.data.ExceptionUtil; import com.ximai.common.utils.data.ExceptionUtil;
import com.ximai.mes.cal.domain.CalPlan; import com.ximai.mes.cal.domain.CalPlan;
...@@ -32,6 +33,7 @@ import java.util.concurrent.ExecutorService; ...@@ -32,6 +33,7 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.ximai.common.utils.data.DateUtils.formatShiftDate;
import static com.ximai.common.utils.data.DateUtils.getWeekendByMonth; import static com.ximai.common.utils.data.DateUtils.getWeekendByMonth;
import static com.ximai.mes.cal.utils.MesCalendarUtil.addDays; import static com.ximai.mes.cal.utils.MesCalendarUtil.addDays;
...@@ -98,38 +100,23 @@ public class CalPlanServiceImpl implements ICalPlanService { ...@@ -98,38 +100,23 @@ public class CalPlanServiceImpl implements ICalPlanService {
@Override @Override
public void updateRelationship(CalPlan calPlan) { public void updateRelationship(CalPlan calPlan) {
// String planCode = calPlan.getPlanCode(); String planCode = calPlan.getPlanCode();
CalPlan calPlan1 = this.selectCalPlanByPlanId(calPlan.getPlanId());
String planCode = calPlan1.getPlanCode();
String planName = calPlan1.getPlanName();
calPlan.setPlanCode(planCode);
calPlan.setPlanName(planName);
List<CalShift> calShifts2 = new ArrayList<>(); List<CalShift> calShifts2 = new ArrayList<>();
List<CalShift> calShifts = calPlan.getCalShifts(); List<CalShift> calShifts = calPlan.getCalShifts();
calShiftMapper.deleteByPlanCode(planCode); calShiftMapper.deleteByPlanCode(planCode);
for (CalShift calShift : calShifts) { for (CalShift calShift : calShifts) {
calShift = calPlan.deepSetObjParameter(calShift); calShift = calPlan.deepSetObj(calShift);
calShift.setShiftId(null); calShift.setShiftId(null);
calShift.setCreateTime(calPlan.getCreateTime());
calShift.setCreateBy(calPlan.getCreateBy());
calShift.setUpdateBy(calPlan.getUpdateBy());
calShift.setUpdateTime(calPlan.getUpdateTime());
calShift.setManualUpdate(true); calShift.setManualUpdate(true);
calShiftService.insertCalShift(calShift); calShiftService.insertCalShift(calShift);
List<CalShift> breakTimeList = calShift.getBreakTimeList(); if (CollectionUtil.isNotEmpty(calShift.getBreakTimeList())) {
if (CollectionUtil.isNotEmpty(breakTimeList)) { for (CalShift shift : calShift.getBreakTimeList()) {
for (CalShift shift : breakTimeList) { shift = calPlan.deepSetObj(shift);
shift = calPlan.deepSetObjParameter(shift);
shift.setShiftId(null); shift.setShiftId(null);
shift.setOrderNum(calShift.getOrderNum()); shift.setOrderNum(calShift.getOrderNum());
shift.setOperType(1);
shift.setShiftName(calShift.getShiftName()); shift.setShiftName(calShift.getShiftName());
shift.setCreateTime(calPlan.getCreateTime());
shift.setCreateBy(calPlan.getCreateBy());
shift.setUpdateBy(calPlan.getUpdateBy());
shift.setUpdateTime(calPlan.getUpdateTime());
shift.setManualUpdate(true); shift.setManualUpdate(true);
calShiftService.insertCalShift(shift); calShiftService.insertCalShift(shift);
} }
...@@ -200,16 +187,13 @@ public class CalPlanServiceImpl implements ICalPlanService { ...@@ -200,16 +187,13 @@ public class CalPlanServiceImpl implements ICalPlanService {
* @param calWorkunits * @param calWorkunits
*/ */
private static List<CalPlanWorkunit> generateShiftRecords(List<CalShift> shifts, CalPlan plan, List<String> list, List<CalWorkunit> calWorkunits) { private static List<CalPlanWorkunit> generateShiftRecords(List<CalShift> shifts, CalPlan plan, List<String> list, List<CalWorkunit> calWorkunits) {
List<CalPlanWorkunit> saveList = new ArrayList<>(); List<CalPlanWorkunit> saveList = new ArrayList<>();
for (String nowDate : list) { for (String nowDate : list) {
for (CalWorkunit calWorkunit : calWorkunits) { for (CalWorkunit calWorkunit : calWorkunits) {
for (CalShift shift : shifts) { for (CalShift shift : shifts) {
CalPlanWorkunit calPlanWorkunit = new CalPlanWorkunit(); CalPlanWorkunit calPlanWorkunit = new CalPlanWorkunit();
calPlanWorkunit.setPlanId(plan.getPlanId()); calPlanWorkunit.setPlanId(plan.getPlanId());
calPlanWorkunit.setPlanCode(plan.getPlanCode()); calPlanWorkunit.setShiftType(plan.getShiftType());
calPlanWorkunit.setPlanName(plan.getPlanName());
calPlanWorkunit.setShiftType(shift.getShiftType());
calPlanWorkunit.setShiftId(shift.getShiftId()); calPlanWorkunit.setShiftId(shift.getShiftId());
calPlanWorkunit.setShiftName(shift.getShiftName()); calPlanWorkunit.setShiftName(shift.getShiftName());
calPlanWorkunit.setIsWork(CalPlanWorkunitEnum.YES.getType()); calPlanWorkunit.setIsWork(CalPlanWorkunitEnum.YES.getType());
...@@ -217,17 +201,14 @@ public class CalPlanServiceImpl implements ICalPlanService { ...@@ -217,17 +201,14 @@ public class CalPlanServiceImpl implements ICalPlanService {
calPlanWorkunit.setWorkunitId(calWorkunit.getWorkunitId()); calPlanWorkunit.setWorkunitId(calWorkunit.getWorkunitId());
calPlanWorkunit.setWorkunitCode(calWorkunit.getWorkunitCode()); calPlanWorkunit.setWorkunitCode(calWorkunit.getWorkunitCode());
calPlanWorkunit.setWorkunitName(calWorkunit.getWorkunitName()); calPlanWorkunit.setWorkunitName(calWorkunit.getWorkunitName());
Date startDate = shift.getExecStartTime(); Date date1 = MesCalendarUtil.dateStrToDate(nowDate + " " + MesCalendarUtil.getDateHourStr(shift.getStartDate()));
Date endDate = shift.getExecEndTime(); calPlanWorkunit.setStartDate(date1);
Date date = MesCalendarUtil.dateStrToDate(nowDate + " " + MesCalendarUtil.getDateHourStr(shift.getEndDate()));
// Date Sdate = MesCalendarUtil.dateStrToDate(nowDate + " " + MesCalendarUtil.getDateHourStr(startDate)); if (date1.getTime() > date.getTime()) {
// Date Edate = MesCalendarUtil.dateStrToDate(nowDate + " " + MesCalendarUtil.getDateHourStr(endDate)); calPlanWorkunit.setEndDate(addDays(date, 1));
if (startDate.getTime() > endDate.getTime()) {
calPlanWorkunit.setEndDate(addDays(endDate, 1));
} else { } else {
calPlanWorkunit.setEndDate(endDate); calPlanWorkunit.setEndDate(date);
} }
calPlanWorkunit.setStartDate(startDate);
calPlanWorkunit.setRestFlag(shift.getRestFlag()); calPlanWorkunit.setRestFlag(shift.getRestFlag());
saveList.add(calPlanWorkunit); saveList.add(calPlanWorkunit);
} }
...@@ -277,55 +258,54 @@ public class CalPlanServiceImpl implements ICalPlanService { ...@@ -277,55 +258,54 @@ public class CalPlanServiceImpl implements ICalPlanService {
@Override @Override
public void genRecords(CalPlan calPlan) { public void genRecords(CalPlan calPlan) {
List<CalShift> shifts = calPlan.getCalShifts(); List<CalShift> shifts = calPlan.getCalShifts();
List<CalShift> execShiftList = new ArrayList<>(); List<CalShift> shiftList = new ArrayList<>();
Date startDate = calPlan.getStartDate(); Date startDate = calPlan.getStartDate();
Date endDate = calPlan.getEndDate(); Date endDate = calPlan.getEndDate();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String startDateFormat = sdf.format(startDate);
for (CalShift shift : shifts) { for (CalShift shift : shifts) {
List<CalShift> breakTimeList = shift.getBreakTimeList(); List<CalShift> breakTimeList = shift.getBreakTimeList();
if (CollectionUtil.isNotEmpty(breakTimeList)) { if (CollectionUtil.isNotEmpty(breakTimeList)) {
breakTimeList.sort(Comparator.comparing(CalShift::getOrderNum)); breakTimeList = breakTimeList.stream().sorted(Comparator.comparing(CalShift::getOrderNum)).collect(Collectors.toList());
CalShift calShift1 = breakTimeList.get(0); Date shift1StartDate = formatShiftDate(startDateFormat, shift.getStartTime());
if (breakTimeList.size() == 2) { Date shift1EndDate = formatShiftDate(startDateFormat, breakTimeList.get(0).getBreakStartTime());
CalShift startCalShift = shift.deepCopyObj(); CalShift shift1 = shift.deepCopyObj();
startCalShift.setExecEndTime(calShift1.getExecStartTime()); shift1.setStartDate(shift1StartDate);
execShiftList.add(startCalShift); shift1.setEndDate(shift1EndDate);
for (CalShift calShift : breakTimeList) { shiftList.add(shift1);
CalShift o = calShift.deepCopyObj();
o.setShiftName(shift.getShiftName()); for (CalShift calShift : breakTimeList) {
execShiftList.add(o); shift1StartDate = formatShiftDate(startDateFormat, calShift.getBreakStartTime());
} shift1EndDate = formatShiftDate(startDateFormat, calShift.getBreakEndTime());
shift1 = new CalShift();
CalShift calShift2 = breakTimeList.get(1); shift1.setStartDate(shift1StartDate);
if (breakTimeList.size() == 2) { shift1.setEndDate(shift1EndDate);
CalShift calShift = calShift1.deepCopyObj(); shift1.setOperType(1);
calShift.setExecStartTime(calShift1.getExecEndTime()); shift1.setShiftName(calShift.getShiftName());
calShift.setExecEndTime(calShift2.getExecStartTime()); shift1.setShiftId(calShift.getShiftId());
calShift.setRestFlag(0); shiftList.add(shift1);
execShiftList.add(calShift);
}
CalShift endCalShift = shift.deepCopyObj();
endCalShift.setExecStartTime(calShift2.getExecEndTime());
execShiftList.add(endCalShift);
} else {
CalShift startCalShift = shift.deepCopyObj();
startCalShift.setExecEndTime(calShift1.getExecStartTime());
execShiftList.add(startCalShift);
for (CalShift calShift : breakTimeList) {
execShiftList.add(calShift.deepCopyObj());
}
CalShift endCalShift = shift.deepCopyObj();
endCalShift.setExecStartTime(calShift1.getExecEndTime());
execShiftList.add(endCalShift);
} }
Date shift3EndDate = formatShiftDate(startDateFormat, shift.getEndTime());
CalShift shift3 = shift.deepCopyObj();
shift3.setStartDate(shift1EndDate);
shift3.setEndDate(shift3EndDate);
shiftList.add(shift3);
} else { } else {
execShiftList.add(shift.deepCopyObj()); Date shift1StartDate = formatShiftDate(startDateFormat, shift.getStartTime());
Date shift1EndDate = formatShiftDate(startDateFormat, shift.getEndTime());
CalShift shift1 = shift.deepCopyObj();
shift1.setStartDate(shift1StartDate);
shift1.setEndDate(shift1EndDate);
shiftList.add(shift1);
} }
} }
List<CalWorkunit> calWorkunits = calWorkunitMapper.selectListByQw(new QueryWrapper<CalWorkunit>().eq("plan_id", calPlan.getPlanId()));
List<CalWorkunit> calWorkunits = calWorkunitMapper.selectListByQw(new QueryWrapper<CalWorkunit>().eq("t1.plan_id", calPlan.getPlanId())); ExceptionUtil.checkTrueThrowException(CollectionUtil.isEmpty(calWorkunits), MessageUtils.message("cal.error.error19"));
ExceptionUtil.checkTrueThrowException(CollectionUtil.isEmpty(calWorkunits), "工作单元为空,无法排班");
List<Integer> weekList = new ArrayList<>(); List<Integer> weekList = new ArrayList<>();
if (Objects.equals(calPlan.getSaturday(), CalPlanWorkDayEnum.WEEKEND.getType())) { if (Objects.equals(calPlan.getSaturday(), CalPlanWorkDayEnum.WEEKEND.getType())) {
...@@ -340,21 +320,18 @@ public class CalPlanServiceImpl implements ICalPlanService { ...@@ -340,21 +320,18 @@ public class CalPlanServiceImpl implements ICalPlanService {
List<String> weekendMonthStrList = weekendByMonth.stream().filter(Objects::nonNull).map(MesCalendarUtil::getDateDayStr).collect(Collectors.toList()); List<String> weekendMonthStrList = weekendByMonth.stream().filter(Objects::nonNull).map(MesCalendarUtil::getDateDayStr).collect(Collectors.toList());
List<Long> taskWorkunitIds = calWorkunits.stream().map(CalWorkunit::getWorkunitId).collect(Collectors.toList()); List<Long> taskWorkunitIds = calWorkunits.stream().map(CalWorkunit::getWorkunitId).collect(Collectors.toList());
List<String> shiftNames = shifts.stream().map(CalShift::getShiftName).collect(Collectors.toList()); List<String> shiftNames = shifts.stream().map(CalShift::getShiftName).collect(Collectors.toList());
calPlanWorkunitMapper.deleteByPlanCode(calPlan.getPlanCode());
// 删除同一天在同一个工作单元已经粗在上的旧数据 // 删除同一天在同一个工作单元已经粗在上的旧数据
QueryWrapper<CalPlanWorkunit> qw = new QueryWrapper<>(); QueryWrapper<CalPlanWorkunit> calPlanWorkunitQueryWrapper = new QueryWrapper<>();
qw.in("t1.the_day", weekendMonthStrList); calPlanWorkunitQueryWrapper.in("t1.the_day", weekendMonthStrList);
qw.in("t1.shift_name", shiftNames); calPlanWorkunitQueryWrapper.in("t1.shift_name", shiftNames);
qw.in("t1.workunit_id", taskWorkunitIds); calPlanWorkunitQueryWrapper.in("t1.workunit_id", taskWorkunitIds);
List<Long> ids = calPlanWorkunitService.selectListByQw(qw).stream().map(CalPlanWorkunit::getId).collect(Collectors.toList()); List<Long> ids = calPlanWorkunitService.selectListByQw(calPlanWorkunitQueryWrapper).stream().map(CalPlanWorkunit::getId).collect(Collectors.toList());
List<List<Long>> deletelists = chunkList(ids, 500); List<List<Long>> deletelists = chunkList(ids, 500);
for (List<Long> list : deletelists) { for (List<Long> list : deletelists) {
EXECUTOR.execute(() -> calPlanWorkunitService.deleteListByIds(list.toArray(new Long[]{}))); EXECUTOR.execute(() -> calPlanWorkunitService.deleteCalPlanWorkunitByPlanWorkunitIds(list.toArray(new Long[]{})));
} }
List<CalPlanWorkunit> calPlanWorkunits = generateShiftRecords(execShiftList, calPlan, weekendMonthStrList, calWorkunits); List<CalPlanWorkunit> calPlanWorkunits = generateShiftRecords(shiftList, calPlan, weekendMonthStrList, calWorkunits);
calPlanWorkunits.forEach(x -> { calPlanWorkunits.forEach(x -> {
String updateBy = calPlan.getUpdateBy(); String updateBy = calPlan.getUpdateBy();
x.setCreateBy(updateBy); x.setCreateBy(updateBy);
...@@ -389,7 +366,7 @@ public class CalPlanServiceImpl implements ICalPlanService { ...@@ -389,7 +366,7 @@ public class CalPlanServiceImpl implements ICalPlanService {
calWorkunitService.deleteCalWorkunitByPlanCode(calPlan.getPlanCode()); calWorkunitService.deleteCalWorkunitByPlanCode(calPlan.getPlanCode());
List<CalWorkunit> calWorkunits = calPlan.getCalWorkunits(); List<CalWorkunit> calWorkunits = calPlan.getCalWorkunits();
for (CalWorkunit calWorkunit : calWorkunits) { for (CalWorkunit calWorkunit : calWorkunits) {
calWorkunit = calPlan.deepSetObjParameter(calWorkunit); calWorkunit = calPlan.deepSetObj(calWorkunit);
calWorkunit.setManualUpdate(true); calWorkunit.setManualUpdate(true);
calWorkunit.setId(null); calWorkunit.setId(null);
calWorkunitService.insertCalWorkunit(calWorkunit); calWorkunitService.insertCalWorkunit(calWorkunit);
......
...@@ -111,7 +111,7 @@ public class CalPlanWorkunitServiceImpl implements ICalPlanWorkunitService { ...@@ -111,7 +111,7 @@ public class CalPlanWorkunitServiceImpl implements ICalPlanWorkunitService {
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteListByIds(Long[] planWorkunitIds) { public int deleteCalPlanWorkunitByPlanWorkunitIds(Long[] planWorkunitIds) {
return calPlanWorkunitMapper.deleteCalPlanWorkunitByids(planWorkunitIds); return calPlanWorkunitMapper.deleteCalPlanWorkunitByids(planWorkunitIds);
} }
......
...@@ -8,9 +8,9 @@ import com.ximai.mes.cal.domain.CalShift; ...@@ -8,9 +8,9 @@ import com.ximai.mes.cal.domain.CalShift;
import com.ximai.mes.cal.domain.vo.CalShiftVo; import com.ximai.mes.cal.domain.vo.CalShiftVo;
import com.ximai.mes.cal.mapper.CalShiftMapper; import com.ximai.mes.cal.mapper.CalShiftMapper;
import com.ximai.mes.cal.service.ICalShiftService; import com.ximai.mes.cal.service.ICalShiftService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
...@@ -24,7 +24,7 @@ import java.util.stream.Collectors; ...@@ -24,7 +24,7 @@ import java.util.stream.Collectors;
*/ */
@Service @Service
public class CalShiftServiceImpl implements ICalShiftService { public class CalShiftServiceImpl implements ICalShiftService {
@Resource @Autowired
private CalShiftMapper calShiftMapper; private CalShiftMapper calShiftMapper;
/** /**
...@@ -188,7 +188,6 @@ public class CalShiftServiceImpl implements ICalShiftService { ...@@ -188,7 +188,6 @@ public class CalShiftServiceImpl implements ICalShiftService {
breakShift2.setStartTime(null); breakShift2.setStartTime(null);
breakShift2.setEndTime(null); breakShift2.setEndTime(null);
breakShift2.setOrderNum(1); breakShift2.setOrderNum(1);
breakShift2.setNextDay(1);
list2.add(breakShift2); list2.add(breakShift2);
shiftNight.setBreakTimeList(list2); shiftNight.setBreakTimeList(list2);
...@@ -229,9 +228,9 @@ public class CalShiftServiceImpl implements ICalShiftService { ...@@ -229,9 +228,9 @@ public class CalShiftServiceImpl implements ICalShiftService {
List<CalShiftVo> list3 = new ArrayList<>(); List<CalShiftVo> list3 = new ArrayList<>();
CalShiftVo breakShift3 = new CalShiftVo(); CalShiftVo breakShift3 = new CalShiftVo();
breakShift3.setBreakStartTime("00:00"); breakShift3.setBreakStartTime("00:00");
breakShift3.setBreakEndTime("1:00"); breakShift3.setBreakEndTime("1:00");
breakShift3.setNextDay(1);
breakShift3.setStartTime(null); breakShift3.setStartTime(null);
breakShift3.setEndTime(null); breakShift3.setEndTime(null);
breakShift3.setOrderNum(1); breakShift3.setOrderNum(1);
......
...@@ -7,7 +7,6 @@ import com.ximai.mes.cal.domain.CalWorkunit; ...@@ -7,7 +7,6 @@ import com.ximai.mes.cal.domain.CalWorkunit;
import com.ximai.mes.cal.mapper.CalWorkunitMapper; import com.ximai.mes.cal.mapper.CalWorkunitMapper;
import com.ximai.mes.cal.service.ICalWorkunitService; import com.ximai.mes.cal.service.ICalWorkunitService;
import com.ximai.mes.md.domain.MdWorkunit; import com.ximai.mes.md.domain.MdWorkunit;
import com.ximai.mes.md.mapper.MdWorkunitMapper;
import com.ximai.mes.md.service.IMdWorkunitService; import com.ximai.mes.md.service.IMdWorkunitService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -28,12 +27,10 @@ public class CalWorkunitServiceImpl implements ICalWorkunitService { ...@@ -28,12 +27,10 @@ public class CalWorkunitServiceImpl implements ICalWorkunitService {
@Resource @Resource
private CalWorkunitMapper calWorkunitMapper; private CalWorkunitMapper calWorkunitMapper;
@Resource
private MdWorkunitMapper mdWorkunitMapper;
@Autowired @Autowired
private IMdWorkunitService mdWorkunitService; private IMdWorkunitService mdWorkunitService;
/** /**
* 查询计划工作单元 * 查询计划工作单元
* *
...@@ -41,7 +38,7 @@ public class CalWorkunitServiceImpl implements ICalWorkunitService { ...@@ -41,7 +38,7 @@ public class CalWorkunitServiceImpl implements ICalWorkunitService {
* @return 计划工作单元 * @return 计划工作单元
*/ */
@Override @Override
public CalWorkunit getObjById(Long id) { public CalWorkunit selectCalWorkunitById(Long id) {
return calWorkunitMapper.selectCalWorkunitById(id); return calWorkunitMapper.selectCalWorkunitById(id);
} }
...@@ -165,34 +162,14 @@ public class CalWorkunitServiceImpl implements ICalWorkunitService { ...@@ -165,34 +162,14 @@ public class CalWorkunitServiceImpl implements ICalWorkunitService {
@Override @Override
public List<MdWorkunit> selectUnSelectList(CalWorkunit calWorkunit) { public List<MdWorkunit> selectUnSelectList(CalWorkunit calWorkunit) {
Long planId = calWorkunit.getPlanId(); QueryWrapper<MdWorkunit> qw = new QueryWrapper<>();
String workunitCode = calWorkunit.getWorkunitCode(); qw.eq(StringUtils.isNotEmpty(calWorkunit.getWorkunitCode()), "t1.workunit_code", calWorkunit.getWorkunitCode());
String workunitName = calWorkunit.getWorkunitName(); qw.like(StringUtils.isNotEmpty(calWorkunit.getWorkunitName()), "t1.workunit_name", calWorkunit.getWorkunitName());
String workstationName = calWorkunit.getWorkstationName(); qw.like(StringUtils.isNotEmpty(calWorkunit.getWorkstationName()), "mws.workstation_name", calWorkunit.getWorkstationName());
String workshopName = calWorkunit.getWorkshopName(); qw.like(StringUtils.isNotEmpty(calWorkunit.getWorkshopName()), "mws.workshop_name", calWorkunit.getWorkshopName());
List<MdWorkunit> mdWorkunits = mdWorkunitService.selectListByQw(qw);
QueryWrapper<CalWorkunit> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(StringUtils.isNotEmpty(planId), "t1.plan_id", planId);
queryWrapper.eq(StringUtils.isNotEmpty(workunitCode), "t2.workunit_code", workunitCode);
queryWrapper.like(StringUtils.isNotEmpty(workunitName), "t2.workunit_name", workunitName);
queryWrapper.like(StringUtils.isNotEmpty(workstationName), "t3.workstation_name", workstationName);
queryWrapper.like(StringUtils.isNotEmpty(workshopName), "t4.workshop_name", workshopName);
queryWrapper.isNotNull("t2.workunit_name");
List<MdWorkunit> calWorkunits = calWorkunitMapper.selectListByQwV2(queryWrapper);
return calWorkunits;
}
@Override
public List<MdWorkunit> getWorkunitByPlanId(CalWorkunit calWorkunit,List<CalWorkunit> calWorkunits) {
String workunitCode = calWorkunit.getWorkunitCode();
String workunitName = calWorkunit.getWorkunitName();
String workstationName = calWorkunit.getWorkstationName();
String workshopName = calWorkunit.getWorkshopName();
List<String> workunitCodes = calWorkunits.stream().map(calWorkunit1 -> calWorkunit1.getWorkunitCode()).collect(Collectors.toList());
List<MdWorkunit> mdWorkunits = calWorkunitMapper.selectMdworkunitList(workunitCode,workunitName,workstationName,workshopName,workunitCodes.size() > 0 ? workunitCodes : null);
return mdWorkunits; return mdWorkunits;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment