自动化立体仓库 - WMS系统
#
zjj
2024-08-31 c31bf5a8902485b750b5814a0d1c54ecc65d2c96
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -9,6 +9,7 @@
import com.core.common.R;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.sun.org.apache.xpath.internal.operations.Or;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.InOutCountDto;
@@ -30,9 +31,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
 * Created by vincent on 2022/4/9
@@ -573,7 +572,6 @@
        List<OpenOrderPakoutParam> list = new ArrayList<>();
        for (Object o : jsonArray){
            JSONObject jsonObject = (JSONObject)o;
            String brand = jsonObject.get("brand").toString();
@@ -585,16 +583,18 @@
            //当生产单号不一致时,需要新建一个param
            if(list.size() == 0 || checkOrder(list,pla.getProOrderNo()) == null){
                OpenOrderPakoutParam param = new OpenOrderPakoutParam();
                String type = Cools.isEmpty(pla.getProOrderNo()) ? "调拨入库单" : "生产入库单";
                param.setcCode(pla.getProOrderNo());
                param.setcAccount(pla.getOwner());
                param.setdDate(Utils.getDateStr1(new Date()));
                param.setcMaker(json.get("user").toString());
                String type = Cools.isEmpty(pla.getProOrderNo()) ? "调拨入库单" : "产成品入库";
                param.setcCode(Cools.isEmpty(pla.getProOrderNo()) ? (new Date().getTime()) + "" : pla.getProOrderNo());
                param.setcAccount(pla.getWorkshop());
                param.setdDate(Utils.getDateStr(new Date()));
                param.setType(type);
                List<OpenOrderPakoutParam.Body> bodyList = new ArrayList<>();
                OpenOrderPakoutParam.Body body = new OpenOrderPakoutParam.Body();
                body.setcInvCode(mat.getMatnr());
                body.setiQuantity(pla.getWeightAnfme());
                body.setcBatch("");
                body.setCbMemo(pla.getMemo());
                bodyList.add(body);
@@ -618,13 +618,46 @@
            }
        }
        return doHttpRequest(list, "入库单上报", url, orderReportPath, null, "127.0.0.1");
        for (OpenOrderPakoutParam param : list){
            doHttpRequest(param, "入库单上报", url, orderReportPath, null, "127.0.0.1");
        }
        return 200;
        //return doHttpRequest(list, "入库单上报", url, orderReportPath, null, "127.0.0.1");
    }
    @Override
    public List<String> selectOrderInformation(Map<String, String> param) {
        ArrayList<String> list = new ArrayList<>();
        String name = param.get("name");
        User user = userService.selectOne(new EntityWrapper<User>().eq("username", name));
        if (Cools.isEmpty(user)){
            return list;
        }
        List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("create_by", user.getId()));
        if (Cools.isEmpty(orderList)){
            return list;
        }
        for (Order order : orderList){
            if (order.getSettle() ==1 || order.getSettle() ==2){
                list.add(order.getOrderNo());
            }
        }
        return list;
    }
    private OpenOrderPakoutParam checkOrder(List<OpenOrderPakoutParam> list, String orderNo){
        for (OpenOrderPakoutParam param : list){
            if(Cools.eq("调拨入库单",param.getType()) && Cools.isEmpty(orderNo)){
                return param;
            }
            //判断是否包含重复的订单号
            if(Cools.eq(param.getCCode(),orderNo)){
                return param;
@@ -659,21 +692,26 @@
                    .setJson(JSONObject.toJSONString(requestParam))
                    .build()
                    .doPost();
            JSONObject jsonObject = JSON.parseObject(response);
            if(Cools.isEmpty(jsonObject.get("errCode"))){
                throw new CoolException(jsonObject.get("Message").toString());
            response = response.replace("\\", "");
            response = response.substring(1,response.length()-1);
            JSONObject jsonObject = JSON.parseObject(response);
            JSONArray jsonArray = (JSONArray)jsonObject.get("");
            JSONObject jsonResult = (JSONObject) jsonArray.get(0);
            if(Cools.isEmpty(jsonResult.get("ErrorCode"))){
                throw new CoolException(jsonResult.get("errorMsg").toString());
            }
            int code = (int) jsonObject.get("errCode");
            if(code != 0){
                throw new CoolException(jsonObject.get("errMsg").toString());
            int code = Integer.parseInt(jsonResult.get("ErrorCode").toString());
            if(code != 1){
                throw new CoolException(jsonResult.get("errorMsg").toString());
            }
            success = true;
            return code;
        }catch (Exception e){
            log.error(e.getMessage());
            throw new CoolException("调用接口响应错误");
            throw new CoolException(e.getMessage());
        }finally {
            apiLogService.save(
                    namespace,