package org.jeecg.modules.eam.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.text.ParseException; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.*; /** * @Description: mom_eam_inspection_project * @Author: jeecg-boot * @Date: 2023-03-10 * @Version: V1.0 */ @Api(tags = "mom_eam_equipment_unloading") @RestController @RequestMapping("/eam/equipmentUnloading") @Slf4j public class EquipmentUnloadingController extends JeecgController { @Autowired private IEquipmentUnloadingService equipmentUnloadingService; @Autowired private IEquipmentUnloadingBorrowDetailService equipmentUnloadingBorrowDetailService; @Autowired private IEquipmentUnloadingReturnDetailService equipmentUnloadingReturnDetailService; @Autowired private IEamEquipmentService equipmentService; /** * 分页列表查询 * * @param equipmentUnloading * @param pageNo * @param pageSize * @param req * @return */ @ApiOperation(value = "设备转存-分页列表查询", notes = "设备转存-分页列表查询") @GetMapping(value = "/list") public Result> queryPageList(EquipmentUnloading equipmentUnloading, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(equipmentUnloading, req.getParameterMap()); Page page = new Page(pageNo, pageSize); IPage pageList; String type = equipmentUnloading.getBusinessType(); if (type == "borrow") { pageList = equipmentUnloadingService.page(page, queryWrapper); } else { pageList = equipmentUnloadingService.page(page, queryWrapper); } return Result.OK(pageList); } /** * qsw 2023-4-26 */ @GetMapping("getEquipmentUnloadingList") public Result getInspectionStandardList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam("unloadingType") String unloadingType, @RequestParam Map params) { String transfertype = String.valueOf(params.get("unloadingType")); if (transfertype.equals("borrow")) { IPage> equipmentUnloadingBorrowList = equipmentUnloadingService.getEquipmentUnloadingList(pageNo, pageSize, unloadingType, params); List> records = equipmentUnloadingBorrowList.getRecords(); for (Map record : records) { String equipmentUnloadingId = (String) record.get("id"); String type = "borrow"; List> equipmentUnloadingBorrowDetailList = equipmentUnloadingBorrowDetailService.getEquipmentUnloadingBorrowDetailList(equipmentUnloadingId); record.put("equipmentUnloadingBorrowDetailList", equipmentUnloadingBorrowDetailList); } return Result.ok(equipmentUnloadingBorrowList); } else { IPage> equipmentUnloadingReturnList = equipmentUnloadingService.getEquipmentUnloadingReturnList(pageNo, pageSize, unloadingType, params); List> records = equipmentUnloadingReturnList.getRecords(); for (Map record : records) { String equipmentUnloadingId = (String) record.get("id"); List> equipmentUnloadingReturnDetailList = equipmentUnloadingReturnDetailService.getEquipmentUnloadingReturnDetailList(equipmentUnloadingId); record.put("equipmentUnloadingReturnDetailList", equipmentUnloadingReturnDetailList); } return Result.ok(equipmentUnloadingReturnList); } } /** * 撤回 * * @param equipmentUnloading * @return */ @AutoLog(value = "设备转存-提交") @ApiOperation(value = "设备转存-提交", notes = "设备转存-提交") @PostMapping(value = "/submit") public Result submit(@RequestBody EquipmentUnloading equipmentUnloading) { String id = equipmentUnloading.getId(); equipmentUnloadingService.submit(id); return Result.OK("提交成功!"); } /** * 撤回 * * @param equipmentUnloading * @return */ @AutoLog(value = "设备转存-撤回") @ApiOperation(value = "设备转存-撤回", notes = "设备转存-撤回") @PostMapping(value = "/revocation") public Result revocation(@RequestBody EquipmentUnloading equipmentUnloading) { String id = equipmentUnloading.getId(); equipmentUnloadingService.revocation(id); return Result.OK("撤回成功!"); } /** * 审批通过 * * @param equipmentUnloading * @return */ @AutoLog(value = "设备转存-审批通过") @ApiOperation(value = "设备转存-审批通过", notes = "设备转存-审批通过") @PostMapping(value = "/approval") public Result approval(@RequestBody EquipmentUnloading equipmentUnloading) { equipmentUnloadingService.approval(equipmentUnloading); return Result.OK("审批通过!"); } /** * 驳回 * * @param equipmentUnloading * @return */ @AutoLog(value = "设备转存-驳回") @ApiOperation(value = "设备转存-驳回", notes = "设备转存-驳回") @PostMapping(value = "/reject") public Result reject(@RequestBody EquipmentUnloading equipmentUnloading) { equipmentUnloadingService.reject(equipmentUnloading); return Result.OK("驳回成功!"); } @AutoLog(value = "设备调动-添加") @ApiOperation(value = "设备调动-添加", notes = "设备调动-添加") @PostMapping(value = "/add") @Transactional(rollbackFor = {Exception.class}) public Result add(@RequestBody EquipmentUnloading equipmentUnloading) throws ParseException { equipmentUnloading.setAuditStatus("notSubmitted"); equipmentUnloadingService.save(equipmentUnloading); String type = equipmentUnloading.getUnloadingType(); String unloadingType = "borrow"; if (unloadingType.equals(type)) { List equipmentUnloadingBorrowDetailList = equipmentUnloading.getEquipmentUnloadingBorrowDetailList(); for (EquipmentUnloadingBorrowDetail equipmentUnloadingBorrowDetail : equipmentUnloadingBorrowDetailList) { equipmentUnloadingBorrowDetail.setEquipmentUnloadingId(equipmentUnloading.getId()); equipmentUnloadingBorrowDetail.setId(null); String actualOutDate = equipmentUnloadingBorrowDetail.getActualBorrowDate(); Instant instant1 = Instant.parse(actualOutDate); ZoneId zooid = ZoneId.systemDefault(); LocalDateTime localDateTime1 = LocalDateTime.ofInstant(instant1, zooid); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String format = localDateTime1.format(formatter); equipmentUnloadingBorrowDetail.setActualBorrowDate(format); Equipment equipment = equipmentService.getById(equipmentUnloadingBorrowDetail.getEquipmentId()); equipment.setUpdateTime(DateUtils.parseDatetime(equipmentUnloadingBorrowDetail.getActualBorrowDate())); equipmentService.updateById(equipment); equipmentUnloadingBorrowDetailService.save(equipmentUnloadingBorrowDetail); } } else { List equipmentUnloadingReturnDetailList = equipmentUnloading.getEquipmentUnloadingReturnDetailList(); for (EquipmentUnloadingReturnDetail equipmentUnloadingReturnDetail : equipmentUnloadingReturnDetailList) { equipmentUnloadingReturnDetail.setEquipmentUnloadingId(equipmentUnloading.getId()); equipmentUnloadingReturnDetail.setId(null); String actualReturnDate = equipmentUnloadingReturnDetail.getActualReturnDate(); /* String actualBorrowDate = equipmentUnloadingReturnDetail.getActualBorrowDate();*/ Instant instant = Instant.parse(actualReturnDate); /* Instant instant1 = Instant.parse(actualBorrowDate);*/ ZoneId zooid = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zooid); /* LocalDateTime localDateTime1 = LocalDateTime.ofInstant(instant1, zooid);*/ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); /* String format = localDateTime1.format(formatter);*/ String locaLTime = localDateTime.format(formatter); equipmentUnloadingReturnDetail.setActualReturnDate(locaLTime); /* equipmentUnloadingReturnDetail.setActualBorrowDate(format);*/ equipmentUnloadingReturnDetailService.save(equipmentUnloadingReturnDetail); } } return Result.OK("添加成功!"); } /** * @param equipmentUnloading * @return */ @AutoLog(value = "设备调动-编辑") @ApiOperation(value = "设备调动-编辑", notes = "设备调动-编辑") @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) @Transactional(rollbackFor = {Exception.class}) public Result edit(@RequestBody EquipmentUnloading equipmentUnloading) { equipmentUnloadingService.updateById(equipmentUnloading); //1.删除原点设备领借 if (equipmentUnloading.getUnloadingType().equals("borrow")) { List equipmentUnloadingBorrowDetails = equipmentUnloadingBorrowDetailService.lambdaQuery() .eq(EquipmentUnloadingBorrowDetail::getEquipmentUnloadingId, equipmentUnloading.getId()) .eq(EquipmentUnloadingBorrowDetail::getDelFlag, 0) .eq(EquipmentUnloadingBorrowDetail::getStatus, "1").list(); for (EquipmentUnloadingBorrowDetail equipmenUnloadingBorrowDetail : equipmentUnloadingBorrowDetails) { equipmenUnloadingBorrowDetail.setDelFlag(1); equipmentUnloadingBorrowDetailService.updateById(equipmenUnloadingBorrowDetail); } //2.重新持久设备领借 List equipmentUnloadingBorrowDetailList = equipmentUnloading.getEquipmentUnloadingBorrowDetailList(); for (EquipmentUnloadingBorrowDetail equipmentUnloadingBorrowDetail : equipmentUnloadingBorrowDetailList) { equipmentUnloadingBorrowDetail.setId(null); equipmentUnloadingBorrowDetail.setEquipmentUnloadingId(equipmentUnloading.getId()); equipmentUnloadingBorrowDetailService.save(equipmentUnloadingBorrowDetail); } } else { List equipmentUnloadingReturnDetails = equipmentUnloadingReturnDetailService.lambdaQuery() .eq(EquipmentUnloadingReturnDetail::getEquipmentUnloadingId, equipmentUnloading.getId()) .eq(EquipmentUnloadingReturnDetail::getDelFlag, 0) .eq(EquipmentUnloadingReturnDetail::getStatus, "1").list(); for (EquipmentUnloadingReturnDetail equipmentTransferInDetail : equipmentUnloadingReturnDetails) { equipmentTransferInDetail.setDelFlag(1); equipmentUnloadingReturnDetailService.updateById(equipmentTransferInDetail); } //2.重新持久设备归还 List equipmentUnloadingReturnDetailList = equipmentUnloading.getEquipmentUnloadingReturnDetailList(); for (EquipmentUnloadingReturnDetail equipmentUnloadingReturnDetail : equipmentUnloadingReturnDetailList) { equipmentUnloadingReturnDetail.setId(null); equipmentUnloadingReturnDetail.setEquipmentUnloadingId(equipmentUnloading.getId()); equipmentUnloadingReturnDetailService.save(equipmentUnloadingReturnDetail); } } return Result.OK("编辑成功!"); } /** * 通过id删除 * * @param id * @return */ @AutoLog(value = "设备调动-通过id删除") @ApiOperation(value = "设备调动-通过id删除", notes = "设备调动-通过id删除") @DeleteMapping(value = "/delete") public Result delete(@RequestParam(name = "id", required = true) String id) { EquipmentUnloading equipmentUnloading = equipmentUnloadingService.getById(id); equipmentUnloading.setDelFlag(1); equipmentUnloadingService.updateById(equipmentUnloading); if (equipmentUnloading.getUnloadingType().equals("borrow")) { List equipmentUnloadingBorrowDetailList = equipmentUnloadingBorrowDetailService.lambdaQuery() .eq(EquipmentUnloadingBorrowDetail::getEquipmentUnloadingId, id) .eq(EquipmentUnloadingBorrowDetail::getDelFlag, 0) .eq(EquipmentUnloadingBorrowDetail::getStatus, "1").list(); for (EquipmentUnloadingBorrowDetail equipmentUnloadingBorrowDetail : equipmentUnloadingBorrowDetailList) { equipmentUnloadingBorrowDetail.setDelFlag(1); equipmentUnloadingBorrowDetailService.updateById(equipmentUnloadingBorrowDetail); } } else { List equipmentUnloadingReturnDetailList = equipmentUnloadingReturnDetailService.lambdaQuery() .eq(EquipmentUnloadingReturnDetail::getEquipmentUnloadingId, id) .eq(EquipmentUnloadingReturnDetail::getDelFlag, 0) .eq(EquipmentUnloadingReturnDetail::getStatus, "1").list(); for (EquipmentUnloadingReturnDetail unloadingReturnDetail : equipmentUnloadingReturnDetailList) { unloadingReturnDetail.setDelFlag(1); equipmentUnloadingReturnDetailService.updateById(unloadingReturnDetail); } } return Result.OK("删除成功!"); } /** * 批量删除 * * @param ids * @return */ @AutoLog(value = "设备调动-批量删除") @ApiOperation(value = "设备调动-批量删除", notes = "设备调动-批量删除") @DeleteMapping(value = "/deleteBatch") public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { List idList = Arrays.asList(ids.split(",")); for (String id : idList) { EquipmentUnloading equipmentUnloading = equipmentUnloadingService.getById(id); equipmentUnloading.setDelFlag(1); equipmentUnloadingService.updateById(equipmentUnloading); } return Result.OK("批量删除成功!"); } /** * 通过id查询 * * @param id * @return */ @ApiOperation(value = "设备调动-通过id查询", notes = "设备调动-通过id查询") @GetMapping(value = "/queryById") public Result queryById(@RequestParam(name = "id", required = true) String id) { EquipmentUnloading equipmentUnloading = equipmentUnloadingService.getById(id); if (equipmentUnloading == null) { return Result.error("未找到对应数据"); } return Result.OK(equipmentUnloading); } /** * 导出excel * * @param request * @param equipmentUnloading */ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, EquipmentUnloading equipmentUnloading) { return super.exportXls(request, equipmentUnloading, EquipmentUnloading.class, "mom_eam_equipment_unloading"); } /** * 通过excel导入数据 * * @param request * @param response * @return */ @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, EquipmentUnloading.class); } }