package com.fzzy.igds.app.v1.service.impl; import com.alibaba.fastjson.JSONObject; import com.fzzy.common.constant.RespCodeEnum; import com.fzzy.igds.app.v1.constant.PhoneConstant; import com.fzzy.igds.app.v1.data.AuthUser; import com.fzzy.igds.app.v1.data.ParamDepot; import com.fzzy.igds.app.v1.data.PhoneRequest; import com.fzzy.igds.app.v1.data.PhoneResponse; import com.fzzy.igds.app.v1.dto.PQuantityDto; import com.fzzy.igds.app.v1.service.PhoneService; import com.fzzy.igds.app.v1.util.PhoneRespUtil; import com.fzzy.igds.constant.DepotType; import com.fzzy.igds.domain.Depot; import com.fzzy.igds.domain.Quantity; import com.fzzy.igds.service.DepotService; import com.fzzy.igds.service.QuantityService; import com.fzzy.igds.service.SysDeptService; import com.fzzy.igds.utils.ContextUtil; import com.ruoyi.common.core.domain.entity.SysDept; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; /** * @Author: YYC * @Description: 料位总览-料位列表 * @DateTime: 2026-1-12 14:43 **/ @Service public class ServiceImpl5206 implements PhoneService { @Resource private DepotService depotService; @Resource private QuantityService quantityService; @Autowired private SysDeptService deptService; @Override public String getInterfaceId() { return PhoneConstant.API_PHONE_5206; } @Override public PhoneResponse execute(PhoneRequest req, AuthUser authUser) throws Exception { ParamDepot param = JSONObject.parseObject(req.getData().toString(), ParamDepot.class); if (null == param) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!"); } //参数验证 if (StringUtils.isEmpty(param.getDeptId())) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!"); } if (StringUtils.isEmpty(param.getDeptId())) { param.setDeptId(authUser.getDeptId()); } //获取所有筒仓及浅圆仓 List depotList = depotService.getCacheDepotList(param.getDeptId()); if (null == depotList || depotList.isEmpty()) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "未查到信息!!"); } List list = new ArrayList<>(); List quantityList; PQuantityDto quantity; SysDept dept; for (Depot depot : depotList) { if (DepotType.TYPE_02.getCode().equals(depot.getDepotType()) || DepotType.TYPE_04.getCode().equals(depot.getDepotType())) { quantityList = quantityService.getQuantityList(depot.getId(), 1); quantity = new PQuantityDto(); if (null == quantityList || quantityList.isEmpty()) { quantity.setDepotId(depot.getId()); } else { BeanUtils.copyProperties(quantityList.get(0),quantity); } dept = deptService.getCacheDept(depot.getCompanyId(),depot.getDeptId()); quantity.setDepotData(depot); quantity.setDeptName(dept.getDeptName()); list.add(quantity); } } return PhoneRespUtil.success(list, req); } }