AssignTaskController.java 4.96 KB
package com.huaheng.api.wcs.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.huaheng.api.wcs.domain.AssignTask;
import com.huaheng.api.wcs.domain.WmsTask;
import com.huaheng.api.wcs.service.assignTask.AssignTaskService;
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.common.utils.http.HttpUtils;
import com.huaheng.framework.aspectj.lang.annotation.Log;
import com.huaheng.framework.aspectj.lang.constant.BusinessType;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.address.service.AddressService;
import com.huaheng.pc.inventory.inventoryHeader.service.InventoryHeaderService;
import com.huaheng.pc.system.config.service.IConfigService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

/**任务完成
 * wcs向wms传递数据
 * @author ricard
 * @date   2019/10/11
 *
 */

@RestController
@RequestMapping("/API/WMS/v2")
public class AssignTaskController extends BaseController {
    @Resource
    private AssignTaskService assignTaskService;
    @Resource
    private InventoryHeaderService inventoryHeaderService;
    @Resource
    private AddressService addressService;
    @Resource
    private IConfigService iConfigService;

    @Log(title = "WMS下发下架任务或移位任务至WIS", action = BusinessType.INSERT)
    @PostMapping("/assignTask")
    @ApiOperation("WMS下发下架任务或移位任务至WIS")
    @ResponseBody
    public AjaxResult assignTask(@RequestBody AssignTask assignTask)    {
        AjaxResult ajaxResult=assignTaskService.assignTaskByWIS(assignTask);
        return ajaxResult;
    }


    @Log(title = "站台呼叫空托盘", action = BusinessType.INSERT)
    @PostMapping("/emptyContainerOutWcs")
    @ApiOperation("站台呼叫空托盘")
    @ResponseBody
    public AjaxResult emptyContainerOutWcs(){
        String containercode="";
        AjaxResult result=inventoryHeaderService.emptyContainerOutWcs(containercode);
        return result;
    }

    @Log(title = "空托盘校验", action = BusinessType.INSERT)
    @PostMapping("/wmsPltCheck")
    @ApiOperation("空托盘校验")
    @ResponseBody
    public AjaxResult wmsPltCheck(@RequestBody WmsTask wmsTask){
        wmsTask.setReqID("123");
        wmsTask.setRequestTime("2021.11.18");
        String JsonParam = JSON.toJSONString(wmsTask);
        System.out.println(JsonParam);
        String url="";
        String result = HttpUtils.bodypost(url, JsonParam);
        if (StringUtils.isEmpty(result)) {
            throw new ServiceException("接口地址错误或返回为空");
        }
        return null;
    }

    @PostMapping("/StationInfos")
    @ResponseBody
    public AjaxResult StationInfos() {
        JSONObject json=new JSONObject();
        String port []= {"P1001","P1004","P1005","P1008"};
        json.put("stations",port);
        String url="http://10.20.137.43:8124/api/WCSTask/StationInfos";
        //String url = addressService.selectAddress(QuantityConstant.ADDRESS_WCS_TASK_ASSIGN, warehouseCode, area);
        String result = HttpUtils.bodypost(url, json.toJSONString());
        json=JSONObject.parseObject(result);
        String data=json.getString("data");
        List<JSONObject>jsonlist=JSON.parseArray(data,JSONObject.class);
        for(JSONObject ob:jsonlist){
            System.out.println(ob.getString("station"));
            System.out.println(ob.getString("state"));
            if(ob.getString("state")=="0"){
                result=ob.getString("station");
                break;
            }
        }

        return  AjaxResult.success(result);
    }

    @PostMapping("/getTaskNo")
    @ResponseBody
    public JSONObject getTaskNo(@RequestBody WmsTask wmsTask){
        String taskNo="";
        String emptyPallet="";
        JSONObject json=new JSONObject();
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
        wmsTask.setReqID(iConfigService.getRegId());
        wmsTask.setRequestTime(df.format(new Date()));
        String JsonParam = JSON.toJSONString(wmsTask);
        System.out.println(JsonParam);
        String url = addressService.selectAddress(QuantityConstant.ADDRESS_WMS_EMPTY_JUDGE, "ZH0001", "1");
        String result = HttpUtils.bodypost(url, JsonParam);
        json=JSONObject.parseObject(result);
        System.out.println(json.getString("data"));
        JSONObject jsondata=JSONObject.parseObject(json.getString("data"));
        taskNo=jsondata.getString("taskNo");
        emptyPallet=jsondata.getString("emptyPallet");
        System.out.println("pppppppp:0."+taskNo+"lllllll:"+emptyPallet);
        return JSONObject.parseObject(taskNo);
    }
}