package com.ld.igds.phone.service.impl; import com.alibaba.fastjson.JSONObject; import com.ld.igds.constant.OrderStatus; import com.ld.igds.constant.OrderType; import com.ld.igds.constant.RespCodeEnum; import com.ld.igds.phone.constant.PhoneConstant; import com.ld.igds.phone.dto.*; import com.ld.igds.phone.mapper.PhoneCommonMapper; import com.ld.igds.phone.param.ParamOrder; import com.ld.igds.phone.param.PhoneRequest; import com.ld.igds.phone.service.PhoneService; import com.ld.igds.phone.util.PhoneRespUtil; import com.ld.igds.work.CoreApplyOrderService; import com.ld.igds.work.dto.ApplyOrderData; import com.ld.igds.work.dto.ApplyOrderParam; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 工单模块-查询工单列表(包含工单记录、待审核工单) * * @author chen */ @Service public class ServiceImpl5703 implements PhoneService { @Autowired private CoreApplyOrderService applyOrderService; @Autowired private PhoneCommonMapper phoneCommonMapper; @Override public String getInterfaceId() { return PhoneConstant.API_PHONE_5703; } @SuppressWarnings("unchecked") @Override public PhoneResponse execute(PhoneRequest req, AuthUser authUser) throws Exception { //转化为对象 ParamOrder paramer = JSONObject.parseObject(req.getData().toString(), ParamOrder.class); ApplyOrderParam param = new ApplyOrderParam(); param.setCompanyId(authUser.getCompanyId()); //说明是工单审核页面,查询所有待审核工单 if(StringUtils.isNotEmpty(paramer.getStatus()) && OrderStatus.Status_10.getCode().equals(paramer.getStatus())){ param.setStatus(paramer.getStatus()); param.setAuditUser("%" + authUser.getUsername() + "%"); param.setDeptId(authUser.getDeptId()); }else { //说明进入的工单记录页面,查询当前登录人的申请记录 param.setApplyUser(authUser.getUsername()); } List orderList = applyOrderService.getOrderList(param); if(orderList == null || orderList.isEmpty()){ return PhoneRespUtil.error(RespCodeEnum.CODE_2000, "查询数据为空!"); } List deptList = phoneCommonMapper.getDeptList(authUser.getCompanyId(), authUser.getDeptId() + "%"); for (ApplyOrderData applyOrderData : orderList) { if(StringUtils.isNotEmpty(applyOrderData.getDeptId()) && deptList.size() > 0){ for (DtoDept dtoDept : deptList) { if(dtoDept.getId().equals(applyOrderData.getDeptId())){ applyOrderData.setDeptId(dtoDept.getName()); if(StringUtils.isNotEmpty(applyOrderData.getDepotId())){ List depots = phoneCommonMapper.phoneListDepot(authUser.getCompanyId(), dtoDept.getId()); if(depots.size() > 0){ for (DtoDepot depot : depots) { if(depot.getDepotId().equals(applyOrderData.getDepotId())){ applyOrderData.setDepotId(depot.getDepotName()); } } } } } } } applyOrderData.setType(OrderType.getMsg(applyOrderData.getType())); applyOrderData.setStatus(OrderStatus.getMsg(applyOrderData.getStatus())); } return PhoneRespUtil.success(orderList, req); } }