package com.fzzy.igds.dzhwk.v1.impl; import com.alibaba.fastjson.JSONObject; import com.fzzy.igds.dzhwk.domain.Depot; import com.fzzy.igds.dzhwk.v1.ApiV1Service; import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data1005; import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto; import com.fzzy.igds.sys.DepotService; import com.ruoyi.common.utils.StringUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.time.DateUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * @Description 解析货位信息 * @Author CZT * @Date 2025/6/04 18:50 */ @Slf4j @Service public class ApiV1ServiceImpl1005 implements ApiV1Service { @Resource private DepotService depotService; @Override public String getInterfaceId() { return "1005"; } @Override public void analysis(String dataStr, ApiV1ReqDto configData) { List list = JSONObject.parseArray(dataStr, ApiV1Data1005.class); if (null == list || list.isEmpty()) { log.error("-----未获取到货位信息,不解析---------"); return; } try { Depot depot; for (ApiV1Data1005 apiData : list) { depot = depotService.getCacheDepot(configData.getSign(), apiData.getHwdm()); if (null == depot) { depot = new Depot(); } depot.setId(apiData.getHwdm()); depot.setName(apiData.getHwmc()); depot.setCompanyId(configData.getSign()); depot.setDeptId(configData.getDeptId()); depot.setBuildingId(apiData.getAjdm().substring(0, 25)); depot.setGranaryId(apiData.getAjdm()); depot.setStorageMax(apiData.getHwrl()); depot.setStoreKeeperName(apiData.getBgy()); depot.setFoodVariety(apiData.getLspzdm()); depot.setFoodType(apiData.getLsxzdm()); depot.setFoodLevel(apiData.getLsdjdm()); depot.setFoodYear(apiData.getShnd()); depot.setFoodLocation(apiData.getCd()); depot.setDepotStatus(apiData.getHwzt()); if (StringUtils.isNotEmpty(apiData.getRcsj())) { depot.setStoreDate(DateUtils.parseDate(apiData.getRcsj(), "yyyy-MM-dd HH:mm:ss")); } if (StringUtils.isNotEmpty(apiData.getZhgxsj())) { depot.setUpdateTime(DateUtils.parseDate(apiData.getZhgxsj(), "yyyy-MM-dd HH:mm:ss")); } depot.setStorageReal(apiData.getSjsl()); depotService.saveDepot(depot); } } catch (Exception e) { log.error("-----解析失败={}---------", e); } } }