whycxzp
2025-04-07 f0f3670adf0ce34c89b9cd51846a217691679d5d
src/main/java/com/whyc/service/WmsService.java
@@ -4,6 +4,7 @@
import com.github.pagehelper.PageInfo;
import com.google.gson.reflect.TypeToken;
import com.whyc.dto.*;
import com.whyc.pojo.db_abe_ram.AbeInf;
import com.whyc.pojo.db_param.PageParam;
import com.whyc.pojo.db_wms.Task;
import com.whyc.util.HttpUtil;
@@ -11,6 +12,7 @@
import com.whyc.util.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import sun.applet.Main;
import java.util.Date;
import java.util.HashMap;
@@ -24,7 +26,7 @@
    private TaskService taskService;
    @Autowired
    private PageParamService paramService;
    private AbeInfService abeInfService;
    public Response getMaterialList() {
        String httpUrl = "http://192.168.10.133:8051"+"/api/Wms_material/get_all";
@@ -62,27 +64,30 @@
            String dataStr = (String) response.getData();
            WmsResponse responseInside = JsonUtil.getGson().fromJson(dataStr, WmsResponse.class);
            response.set(1,responseInside);
            //对下发的任务进行数据库存储
            Date date = new Date();
            List<String> pallets = palletDto.getPallets();
            List<String> taskNos = responseInside.getTask_no();
            for (int i = 0; i < pallets.size(); i++) {
                String pallet = pallets.get(i);
                String taskNo = taskNos.get(i);
                Task task = new Task();
                task.setTaskNo(taskNo);
                task.setPallets(pallet);
                task.setDes(palletDto.getDes());
            if(responseInside.getCode() ==0) {
                //对下发的任务进行数据库存储
                Date date = new Date();
                List<String> pallets = palletDto.getPallets();
                List<String> taskNos = responseInside.getTask_no();
                for (int i = 0; i < pallets.size(); i++) {
                    String pallet = pallets.get(i);
                    String taskNo = taskNos.get(i);
                    Task task = new Task();
                    task.setTaskNo(taskNo);
                    task.setPallets(pallet);
                    task.setDes(palletDto.getDes());
                List<String> activateParameter = palletDto.getActivateParameter();
                task.setActivateParameter(String.join(",",activateParameter));
                task.setCreateTime(date);
                    if (palletDto.getDes() == 3) { //活化,填入活化参数
                        List<String> activateParameter = palletDto.getActivateParameter();
                        task.setActivateParameter(String.join(",", activateParameter));
                    }
                    task.setCreateTime(date);
                taskService.add(task);
                    taskService.add(task);
                }
            }
        }
        return response;
    }
@@ -93,11 +98,12 @@
        //对结果进行处理
        if(response.getCode() == 1){ //请求成功,data有正常数据
            String dataStr = (String) response.getData();
            //截取dataStr中"data:"后的字符串
            /*//截取dataStr中"data:"后的字符串
            int index = dataStr.indexOf("data");
            dataStr = dataStr.substring(index+6, dataStr.length()-3);
            //WmsLocationDto wmsLocationDto = JsonUtil.getGson().fromJson(dataStr, WmsLocationDto.class);
            List<WmsLocationDto> wmsLocationDtoList = JsonUtil.getGson().fromJson(dataStr, new TypeToken<List<WmsLocationDto>>(){}.getType());
            //WmsLocationDto wmsLocationDto = JsonUtil.getGson().fromJson(dataStr, WmsLocationDto.class);*/
            WmsResponse<List<WmsLocationDto>> wmsResponse = JsonUtil.getGson().fromJson(dataStr, new TypeToken<WmsResponse<List<WmsLocationDto>>>(){}.getType());
            List<WmsLocationDto> wmsLocationDtoList = wmsResponse.getData();
            response.set(1,wmsLocationDtoList);
        }
        return response;
@@ -113,11 +119,13 @@
        //对结果进行处理
        if(response.getCode() == 1){ //请求成功,data有正常数据
            String dataStr = (String) response.getData();
            /*
            //截取dataStr中"data:"后的字符串
            int index = dataStr.indexOf("data");
            dataStr = dataStr.substring(index+6, dataStr.length()-3);
            //WmsLocationDto wmsLocationDto = JsonUtil.getGson().fromJson(dataStr, WmsLocationDto.class);
            List<WmsPallet> wmsPalletList = JsonUtil.getGson().fromJson(dataStr, new TypeToken<List<WmsPallet>>(){}.getType());
            List<WmsPallet> wmsPalletList = JsonUtil.getGson().fromJson(dataStr, new TypeToken<List<WmsPallet>>(){}.getType());*/
            WmsResponse<List<WmsPallet>> wmsResponse = JsonUtil.getGson().fromJson(dataStr, new TypeToken<WmsResponse<List<WmsPallet>>>(){}.getType());
            List<WmsPallet> wmsPalletList = wmsResponse.getData();
            response.set(1,wmsPalletList);
        }
        return response;
@@ -149,23 +157,26 @@
            case 1:
            case 11:
            case 21: {
                String pallet = task.getPallets();
                if(pallet == null){
                    pallet = taskService.getByTaskNo(taskNo).getPallets();
                }
                //更新电池单体编号
                PageParam pageParam = new PageParam();
                pageParam.setId(3);
                pageParam.setValue(Integer.valueOf(pallet));
                paramService.updateById(pageParam);
                //更新任务时间
                task.setPickUpStartTime(statusTime);
            }break;
            case 2:
            case 12:
            case 22: task.setPickUpTime(statusTime);break;
            case 13:
            case 23: task.setActivationChamberStartTime(statusTime);break;
            case 23: {
                /*String pallet = task.getPallets();
                if(pallet == null){
                    pallet = taskService.getByTaskNo(taskNo).getPallets();
                }*/
                String pallet = taskService.getByTaskNo(taskNo).getPallets();
                //更新电池单体编号和任务编号
                AbeInf abeInf = abeInfService.get();
                abeInf.setAbeMonId(Integer.valueOf(pallet));
                abeInf.setTaskNo(taskNo);
                abeInfService.updateById(abeInf);
                //设置放置到活化仓的开始时间
                task.setActivationChamberStartTime(statusTime);
            }break;
            case 14:
            case 24:
                task.setActivationChamberPickUpTime(statusTime);break;