| | |
| | | |
| | | import org.dromara.common.satoken.utils.LoginHelper; |
| | | import org.dromara.eims.domain.EimsMaintPlan; |
| | | import org.dromara.eims.domain.bo.EimsMaintPlanBo; |
| | | import org.dromara.eims.domain.vo.EimsEquVo; |
| | | import org.dromara.eims.domain.vo.MaintOrdeGroupVo; |
| | | import org.dromara.eims.domain.EimsSpareInout; |
| | | import org.dromara.eims.domain.bo.EimsSpareBo; |
| | | import org.dromara.eims.domain.bo.EimsSpareInoutBo; |
| | | import org.dromara.eims.domain.bo.MaintOrderBo; |
| | | import org.dromara.eims.domain.vo.*; |
| | | import org.dromara.eims.mapper.EimsEquMapper; |
| | | import org.dromara.eims.mapper.EimsMaintPlanMapper; |
| | | import org.dromara.eims.service.IEimsSpareInoutService; |
| | | import org.dromara.system.domain.SysDept; |
| | | import org.dromara.system.domain.vo.SysDeptVo; |
| | | import org.dromara.system.mapper.SysDeptMapper; |
| | | import org.springframework.stereotype.Service; |
| | | import org.dromara.eims.domain.bo.EimsMaintOrderBo; |
| | | import org.dromara.eims.domain.vo.EimsMaintOrderVo; |
| | | import org.dromara.eims.domain.EimsMaintOrder; |
| | | import org.dromara.eims.mapper.EimsMaintOrderMapper; |
| | | import org.dromara.eims.service.IEimsMaintOrderService; |
| | |
| | | private final EimsMaintPlanMapper planMapper; |
| | | private final SysDeptMapper sysDeptMapper; |
| | | private final EimsEquMapper equMapper; |
| | | private final IEimsSpareInoutService spareInoutService; |
| | | |
| | | /** |
| | | * 查询保养工单 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 批量修改保养工单 |
| | | * |
| | | * @param bo 保养工单 |
| | | * @return 是否修改成功 |
| | | */ |
| | | @Override |
| | | public boolean updateBatchByBo(MaintOrderBo bo) { |
| | | LoginUser loginUser = LoginHelper.getLoginUser(); |
| | | List<EimsMaintOrder> list = MapstructUtils.convert(bo.getMaintOrderList(), EimsMaintOrder.class); |
| | | list.forEach(e -> { |
| | | e.setStatus(DictConstants.MAINT_ORDER_STATUS_DETAIL.DAIYANZHENG); |
| | | e.setEndTime(new Date()); |
| | | e.setMaintUser(loginUser.getUserId()); |
| | | e.setUpdateTime(new Date()); |
| | | }); |
| | | bo.getMaintOrderList().forEach(item -> { |
| | | // 判断备件列表是否为空,不为空则新增一个备件出库单,同时增加出库明细 |
| | | if (item.getSpareParts() != null && item.getSpareParts().size() > 0) { |
| | | EimsSpareInoutBo spareInoutBo = new EimsSpareInoutBo(); |
| | | // 根据日期生成单号,格式为CK+日期+流水号 |
| | | spareInoutBo.setOrderCode("CK"+DateUtils.dateTimeNow("yyyyMMddHHmmss")); |
| | | spareInoutBo.setOrderTime(new Date()); |
| | | spareInoutBo.setType(DictConstants.SPARE_INOUT_TYPE_DETAIL.CK); |
| | | spareInoutBo.setPartnerName(loginUser.getNickname()); |
| | | spareInoutBo.setSpareList(item.getSpareParts()); |
| | | spareInoutBo.setChargeUser(loginUser.getUserId()); |
| | | spareInoutBo.setChargeDept(loginUser.getDeptId()); |
| | | spareInoutBo.setAssociatedOrder(item.getMaintCode()); |
| | | // 保存进数据库 |
| | | Boolean b = spareInoutService.insertByBo(spareInoutBo); |
| | | |
| | | |
| | | } |
| | | }); |
| | | |
| | | return baseMapper.updateBatchById(list); |
| | | } |
| | | |
| | | /** |
| | | * 保存前的数据校验 |
| | | */ |
| | | private void validEntityBeforeSave(EimsMaintOrder entity){ |
| | |
| | | } |
| | | return String.join(StringUtils.SEPARATOR, list); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<EimsSpareVo> querySpareParts(String code) { |
| | | // 查询关联的备件,关系如下:备件出入库单的associatedOrder 关联传入的code,备件出入库明细通过出入库单的id关联,备件名称通过出入库明细中的spareId关联 |
| | | |
| | | EimsSpareInoutBo bo = new EimsSpareInoutBo(); |
| | | bo.setAssociatedOrder(code); |
| | | List<EimsSpareInoutVo> list = spareInoutService.queryList(bo); |
| | | if (!list.isEmpty()) { |
| | | // 查询备件明细和名称 |
| | | EimsSpareInoutVo eimsSpareInoutVo = spareInoutService.queryById(list.get(0).getId()); |
| | | return eimsSpareInoutVo.getSpareList(); |
| | | } |
| | | return List.of(); |
| | | } |
| | | } |