sgj
4 天以前 241d327e57cbfe504aa806c61aa22e6205706098
fzzy-igdss-web/src/main/java/com/fzzy/common/manager/CommonManager.java
@@ -9,7 +9,6 @@
import com.fzzy.igds.service.*;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.DateUtil;
import com.fzzy.work.data.OrderStatus;
import com.fzzy.work.service.WorkOrderService;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysDictData;
@@ -21,6 +20,7 @@
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
@@ -58,6 +58,22 @@
    private EventInfoService eventInfoService;
    @Resource
    private SnapRecordService snapRecordService;
    @Resource
    private GatewaySerService gatewaySerService;
    /**
     * 根据库区编码获取库区网关信息
     *
     * @param deptId
     * @return
     */
    public GatewaySer getGatewaySerByDeptId(String deptId) {
        if (StringUtils.isBlank(deptId)) {
            deptId = ContextUtil.subDeptId(null);
        }
        return gatewaySerService.getCacheSerByDeptId(deptId);
    }
    /**
     * 根据库区编码获取库区下所有仓库列表
@@ -126,6 +142,29 @@
    }
    /**
     * 根据仓库类型获取库区下仓库列表
     *
     * @param deptId
     * @param depotTypes 类型多个,用逗号隔开
     * @return
     */
    public List<Depot> listAllDepot(String deptId, String depotTypes) {
        List<Depot> depots = this.listDepotByDeptId(deptId);
        if (null == depots || depots.isEmpty()) {
            return null;
        }
        List<Depot> result = new ArrayList<>();
        for (Depot depot : depots) {
            if (depotTypes.contains(depot.getDepotType())) {
                result.add(depot);
            }
        }
        return result;
    }
    /**
     * @return
     */
    public List<SysDictData> getInoutType() {
@@ -134,13 +173,13 @@
    /**
     * 获取分库列表
     * 根据公司ID获取公司下的分库列表
     *
     * @author sgj
     * @date 2025/12/12
     */
    public List<Dept> listDeptData() {
        return coreDeptService.getDeptData();
    public List<Dept> listDeptData(String parentId) {
        return coreDeptService.getDeptByUserType(parentId);
    }
    /**
@@ -177,8 +216,7 @@
     * @date 2025/12/17
     */
    public List<Company> listCompanyData() {
        SysUser user = ContextUtil.getLoginUser();
        return coreCompanyService.listCompany(null, null, user.getDeptId() + "");
        return coreCompanyService.getCompanyByUserType();
    }
@@ -206,7 +244,7 @@
        MainData mainData = new MainData();
        //待办工单数
        Integer orderNum = workOrderService.getNumByUser(OrderStatus.STATUS_30.getCode(), user.getLoginName());
        Integer orderNum = workOrderService.getTodoNumByUser(user);
        mainData.setOrderNum(orderNum);
        //统计出入库信息
@@ -218,6 +256,7 @@
        LinkedHashMap<String, Integer> mapMonthOutNum = new LinkedHashMap<>();
        LinkedHashMap<String, Integer> mapWeekAiNum = new LinkedHashMap<>();
        LinkedHashMap<String, Integer> mapWeekSnapNum = new LinkedHashMap<>();
        LinkedHashMap<String, Double> mapWeekMaizeNum = new LinkedHashMap<>();
        String key;
        for (int i = -29; i <= 0; i++) {
            mapMonthInNum.put(DateFormatUtils.format(DateUtil.getNewByDay(new Date(), i), "MM-dd"), 0);
@@ -227,6 +266,7 @@
                mapWeekOutNum.put(DateFormatUtils.format(DateUtil.getNewByDay(new Date(), i), "MM-dd"), 0);
                mapWeekAiNum.put(DateFormatUtils.format(DateUtil.getNewByDay(new Date(), i), "MM-dd"), 0);
                mapWeekSnapNum.put(DateFormatUtils.format(DateUtil.getNewByDay(new Date(), i), "MM-dd"), 0);
                mapWeekMaizeNum.put(DateFormatUtils.format(DateUtil.getNewByDay(new Date(), i), "MM-dd"), 0.0);
            }
        }
@@ -264,12 +304,40 @@
            mainData.getWeekSnapDateList().add(mapKey);
            mainData.getWeekSnapNumList().add(mapWeekSnapNum.get(mapKey));
        }
        //近七天玉米出库价格统计
        InoutParam inoutParamOfMaize = new InoutParam();
        inoutParamOfMaize.setDeptId(user.getDeptId() + "");
        //粮食品种玉米
        inoutParamOfMaize.setFoodVariety("1120000");
        inoutParamOfMaize.setType(Constant.TYPE_OUT);
        inoutParamOfMaize.setStart(DateUtil.getNewByDay(new Date(), -6));
        inoutParamOfMaize.setEnd(new Date());
        List<InoutRecord> inoutRecordsOfMaize = inoutRecordService.listInout(inoutParamOfMaize);
        if (null != inoutRecordsOfMaize && !inoutRecordsOfMaize.isEmpty()) {
            for (InoutRecord record : inoutRecordsOfMaize) {
                key = DateFormatUtils.format(record.getRegisterTime(), "MM-dd");
                if (null != mapWeekMaizeNum.get(key)) {
                    Double nowPrice = mapWeekMaizeNum.get(key);
                    Double newPrice = record.getPrice();
                    if (nowPrice > newPrice || nowPrice == 0) {
                        nowPrice = newPrice;
                    }
                    mapWeekMaizeNum.put(key, nowPrice);
                }
            }
        }
        for (String mapKey : mapWeekMaizeNum.keySet()) {
            mainData.getWeekMaizeDateList().add(mapKey);
            mainData.getWeekMaizeNumList().add(mapWeekMaizeNum.get(mapKey));
        }
        //查询近30天所有出入库信息
        InoutParam inoutParam = new InoutParam();
        param.setDeptId(user.getDeptId() + "");
        param.setStart(DateUtil.getNewByDay(new Date(), -29));
        param.setEnd(new Date());
        inoutParam.setDeptId(user.getDeptId() + "");
        inoutParam.setStart(DateUtil.getNewByDay(new Date(), -29));
        inoutParam.setEnd(new Date());
        List<InoutRecord> inoutRecords = inoutRecordService.listInout(inoutParam);
        if (null != inoutRecords && !inoutRecords.isEmpty()) {
            for (InoutRecord record : inoutRecords) {