*
lsh
2025-03-30 4e6c566128bc0430d28e204672d54f0efcb4713d
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -13,6 +13,7 @@
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
/**
 * Created by vincent on 2024/10/16
@@ -20,7 +21,7 @@
@Slf4j
@RestController
@RequestMapping("open/rcs")
public class OpenController extends BaseController {
public class  OpenController extends BaseController {
    private static final boolean auth = true;
    public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{
@@ -51,25 +52,59 @@
        if (Cools.isEmpty(param.getEndSta())  || param.getEndSta$()==0) {
            return R.error("终点[endSta]不能为空");
        }
        openService.wcsTaskDistribution(param);
//        openService.wcsTaskDistribution(param);
        return openService.wcsTaskDistribution(param);
    }
    /**
     * 添加出库单
     */
    @PostMapping("/task/cs/down/default/v2")
    @AppAuth(memo = "WCS任务下发")
    public synchronized R wcsTaskDistribution2(@RequestHeader(required = false) String appkey,
                                              @RequestBody List<WcsTaskDistributionParam> param1,
                                              HttpServletRequest request) {
        auth(appkey, param1, request);
        for (WcsTaskDistributionParam param:param1){
            if (Cools.isEmpty(param)) {
                return R.parse(BaseRes.PARAM);
            }
            if (Cools.isEmpty(param.getTaskNo())) {
                return R.error("工作号[taskNo]不能为空");
            }
            if (Cools.isEmpty(param.getStartSta()) || param.getStartSta$()==0) {
                return R.error("起点[startSta]不能为空");
            }
            if (Cools.isEmpty(param.getEndSta())  || param.getEndSta$()==0) {
                return R.error("终点[endSta]不能为空");
            }
//        openService.wcsTaskDistribution(param);
             openService.wcsTaskDistribution(param);
        }
        return R.ok();
    }
    /**
     * 库存统计
     * 数据同步
     */
    @RequestMapping("/stock/default/v1")
    public R queryStock(@RequestHeader(required = false) String appkey,
                        HttpServletRequest request) {
        auth(appkey, null, request);
        return R.ok().add(openService.queryStock());
    @PostMapping("/status/cs/default/v1")
    @AppAuth(memo = "WCS数据同步")
    public synchronized R wcsTaskStatus(@RequestHeader(required = false) String appkey,
                                              @RequestBody Long timestamp,
                                              HttpServletRequest request) {
        auth(appkey, timestamp, request);
        if (Cools.isEmpty(timestamp)) {
            return R.parse(BaseRes.PARAM);
        }
        return openService.wcsTaskStatus(timestamp);
    }
    private void auth(String appkey, Object obj, HttpServletRequest request) {
        log.info("{}接口被访问;appkey:{};请求数据:{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
//        log.info("{}接口被访问;appkey:{};请求数据:{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
        request.setAttribute("cache", obj);
        if (!auth) {
            return;