自动化立体仓库 - WCS系统
#
Junjie
2025-04-23 4c88c0606bb333ac1ad4c1ad536a848f7d27fdb7
src/main/java/com/zy/asrs/controller/TaskWrkLogController.java
@@ -1,25 +1,39 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.TaskStatusType;
import com.zy.asrs.entity.TaskWrkLog;
import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.TaskWrkLogService;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.common.utils.HttpHandler;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@Slf4j
@RestController
public class TaskWrkLogController extends BaseController {
    @Value("${wms.url}")
    private String wmsUrl;
    @Value("${wms.TaskExecCallback}")
    private String TaskExecCallback;
    @Autowired
    private ApiLogService apiLogService;
    @Autowired
    private TaskWrkLogService taskWrkLogService;
@@ -41,6 +55,7 @@
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
        wrapper.orderDesc(Collections.singleton("create_time"));
        return R.ok(taskWrkLogService.selectPage(new Page<>(curr, limit), wrapper));
    }
@@ -67,7 +82,7 @@
   @RequestMapping(value = "/taskWrkLog/update/auth")
   @ManagerAuth
    public R update(TaskWrkLog taskWrkLog){
        if (Cools.isEmpty(taskWrkLog) || null==taskWrkLog.getId()){
        if (Cools.isEmpty(taskWrkLog)){
            return R.error();
        }
        taskWrkLogService.updateById(taskWrkLog);
@@ -103,8 +118,8 @@
        List<Map<String, Object>> result = new ArrayList<>();
        for (TaskWrkLog taskWrkLog : page.getRecords()){
            Map<String, Object> map = new HashMap<>();
            map.put("id", taskWrkLog.getId());
            map.put("value", taskWrkLog.getId());
            map.put("id", taskWrkLog.getTaskNo());
            map.put("value", taskWrkLog.getTaskNo());
            result.add(map);
        }
        return R.ok(result);
@@ -120,4 +135,48 @@
        return R.ok();
    }
    @RequestMapping(value = "/taskWrkLog/resubmitTheTask/auth")
    @ManagerAuth(memo = "重新上报任务完结")
    public R resubmitTheTask(@RequestParam String taskNo){
        TaskWrkLog taskWrk = taskWrkLogService.selectOne(new EntityWrapper<TaskWrkLog>().eq("task_no", taskNo));
        if(!Cools.isEmpty(taskWrk)){
            HashMap<String, Object> headParam = new HashMap<>();
            if (taskWrk.getStatus().equals(TaskStatusType.OVER.id)) {//完成
                headParam.put("Result", 1);
            } else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) {
                headParam.put("Result", 2);
            }
            String response = "";
            Boolean bool = false;
            try {
                headParam.put("TaskNo", taskWrk.getTaskNo());
                log.info("重新上报任务完结={}", taskWrk);
                response = new HttpHandler.Builder()
                        // .setHeaders(headParam)
                        .setUri(wmsUrl)
                        .setPath(TaskExecCallback)
                        .setJson(JSON.toJSONString(headParam))
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                if(jsonObject.get("ReturnStatus").equals(0)){
                    bool = true;
                }
            } catch (Exception e) {
                log.error("重新上报任务完结失败{},返回值={}", taskWrk, response);
            }finally {
                apiLogService.save("重新上报任务完结"
                        , wmsUrl + TaskExecCallback
                        , null
                        , "127.0.0.1"
                        , JSON.toJSONString(headParam)
                        , response
                        , bool
                );
            }
        }
        return R.ok();
    }
}