自动化立体仓库 - WMS系统
zyx
2024-07-09 0f55c3628ce9d747953c2afe1fdd945baa357e65
erp上报功能
5个文件已修改
68 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/OpenOrderPakoutParam.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OrderSendHandler.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/utils/HttpHandler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -474,6 +474,7 @@
                User user = new User();
                user.setUsername("test");
                mobileService.plaPakin(brand,locNo,batch,packageNo,user);
                json.put("user",user.getUsername());
            }
        }
        //入库成功后上报ERP
src/main/java/com/zy/asrs/entity/param/OpenOrderPakoutParam.java
@@ -2,22 +2,20 @@
import lombok.Data;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
 * 海诺尔U8出库单同步参数
 */
@Data
public class OpenOrderPakoutParam {
public class
OpenOrderPakoutParam {
    //入库单号
    private String cCode;
    //单据日期
    private Date dDate;
    private String dDate;
    //类型
    private String type;
@@ -48,14 +46,16 @@
        this.cCode = cCode;
    }
    public void setdDate(String dDate) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD hh:mm:ss");
        this.dDate =  sdf.parse(dDate);
    public void setdDate(String dDate) {
//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD hh:mm:ss");
//        this.dDate =  sdf.parse(dDate);
        this.dDate = dDate;
    }
    public void setdDate$(Date dDate) {
        this.dDate =  dDate;
    }
//    public void setdDate$(Date dDate) {
//        this.dDate =  dDate;
//    }
    public void setcMaker(String cMaker) {
        this.cMaker = cMaker;
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -573,7 +573,6 @@
        List<OpenOrderPakoutParam> list = new ArrayList<>();
        for (Object o : jsonArray){
            JSONObject jsonObject = (JSONObject)o;
            String brand = jsonObject.get("brand").toString();
@@ -585,8 +584,9 @@
            //当生产单号不一致时,需要新建一个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.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);
@@ -595,6 +595,7 @@
                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 +619,25 @@
            }
        }
        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");
    }
    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 +672,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,
src/main/java/com/zy/asrs/task/handler/OrderSendHandler.java
@@ -12,6 +12,7 @@
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.utils.Utils;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -56,7 +57,7 @@
        param.setcAccount(order.getNumber());
        param.setcMemo(order.getMemo());
        param.setType(order.getDocType$());
        param.setdDate$(order.getCreateTime());
        param.setdDate(Utils.getDateStr(order.getCreateTime()));
        param.setAllocation(order.getItemName());
src/main/java/com/zy/common/utils/HttpHandler.java
@@ -15,7 +15,7 @@
 */
public class HttpHandler {
    private static final Integer DEFAULT_TIMEOUT_SECONDS = 5;
    private static final Integer DEFAULT_TIMEOUT_SECONDS = 60;
    private static final MediaType MEDIA_TYPE = MediaType.parse("application/json;charset=utf-8");
    private String uri;