自动化立体仓库 - WMS系统
zyx
2023-08-23 060f0e7a7cee54449577b237399521abcfeb246e
U8接口相关功能
1个文件已添加
4个文件已修改
222 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/MatInfoParam.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/AgvCommonService.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/home/map_edit.html 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -233,6 +233,20 @@
        }
    }
    @PostMapping("/mat/v1")
    public synchronized R syncMatInfoU8(@RequestHeader(required = false) String appkey,
                                         @RequestBody(required = false) MatSyncParam param,
                                         HttpServletRequest request){
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        return R.ok();
    }
    public static void main(String[] args) {
        // 1
        System.out.println("======================================");
src/main/java/com/zy/asrs/entity/param/MatInfoParam.java
New file
@@ -0,0 +1,73 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.util.Date;
/**
 * 存货档案同步 u8
 */
@Data
public class MatInfoParam {
    /*
    存货编码
     */
    private String cinvcode;
    /*
    存货名称
     */
    private String cinvname;
    /*
    规格型号
     */
    private String cInvStd;
    /*
    存货分类编码
     */
    private String cinvccode;
    /*
    存货分类名称
     */
    private String cInvCName;
    /*
    计量单位
     */
    private String cComUnitName;
    /*
    进项税
     */
    private double iImpTaxRate;
    /*
    销项税
     */
    private double iTaxRate;
    /*
    启用日期
     */
    private Date dSDate;
    /*
    建档人
     */
    private String cCreatePerson;
    /*
    建档日期
     */
    private Date dInvCreateDatetime;
    /*
    通用型号
     */
    private String cinvdefine4;
}
src/main/java/com/zy/common/service/AgvCommonService.java
@@ -27,6 +27,8 @@
    private AgvLocRuleService agvLocRuleService;
    @Autowired
    private AgvLocMastService agvLocMastService;
    @Autowired
    private MatService matService;
    public int getWorkNo(Integer wrkMk) {
        AgvWrkLastno wrkLastno = agvWrkLastnoService.selectById(wrkMk);
@@ -85,6 +87,15 @@
            //找到库位,返回dto
            //return getLocNoStep6(staDescId, sourceStaNo, locMast);//返回dto
        }
        //根据物料频率搜索库位,频率高则搜索离缓存货架最近库位,频率低则搜索最远库位
        Mat mat = matService.selectByMatnr(agvWaitPakinList.get(0).getMatnr());
        if(true){
        }else {
        }
//
//        // 靠近摆放规则 --- 空托
//        locMast = getLocNoStep4(staDescId, locTypeDto);
@@ -141,12 +152,45 @@
    /*
    靠近摆放规则
     */
    private AgvLocMast getLocByProximityRule(){
        //to do
        return null;
    }
    /*
    根据物料频率查找
     */
    private AgvLocMast getLocByFre(int fre, int floor){
        if(floor == 1){
            if(fre == 1){
                return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>()
                        .eq("floor",floor)
                        .eq("loc_sts","O")
                        .orderBy("bay1",false));
            }else{
                return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>()
                        .eq("floor",floor)
                        .eq("loc_sts","O")
                        .orderBy("bay1"));
            }
        }
        if(floor == 3){
            if(fre == 1){
                return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>()
                        .eq("floor",floor)
                        .eq("loc_sts","O")
                        .orderBy("row1",false));
            }else{
                return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>()
                        .eq("floor",floor)
                        .eq("loc_sts","O")
                        .orderBy("row1"));
            }
        }
        throw new CoolException("搜索库位时,楼层出错。");
    }
    //随机取一个货位
    private AgvLocMast getLocNoRule(int floor){
        return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>()
src/main/java/com/zy/common/service/CommonService.java
@@ -144,6 +144,8 @@
            //找到库位,返回dto
            return getLocNoStep6(staDescId, sourceStaNo, locMast);//返回dto
        }
        // 根据物料频率查询库位
        // 如果没有相近物料,则按规则轮询货架
        // 开始查找库位 ==============================>>
src/main/webapp/views/home/map_edit.html
@@ -234,6 +234,93 @@
                            })
                            continue
                        }
                        if(j == 2 || j==5 || j==8 || j==11 || j==13 || j==16 || j== 18 || j== 21 || j== 24 || j== 27 || j== 29 || j== 32 ||
                            j== 35 || j== 38 || j== 41 || j== 44 || j== 47 || j== 50){
                            x.push({
                                value: -1,
                                data: '',
                                top: 1000,
                                bottom: 1000,
                                left: 1000,
                                right: 1000,
                                x: i,
                                y: j
                            })
                            continue
                        }
                        if(i==25 || i==58){
                            x.push({
                                value: -1,
                                data: '',
                                top: 1000,
                                bottom: 1000,
                                left: 1000,
                                right: 1000,
                                x: i,
                                y: j
                            })
                            continue
                        }
                        if((j == 1 || j==3) && i <= 24){
                            x.push({
                                value: -1,
                                data: '',
                                top: 1000,
                                bottom: 1000,
                                left: 1000,
                                right: 1000,
                                x: i,
                                y: j
                            })
                            continue
                        }
                        if(j == 4 && i <= 10){
                            x.push({
                                value: -1,
                                data: '',
                                top: 1000,
                                bottom: 1000,
                                left: 1000,
                                right: 1000,
                                x: i,
                                y: j
                            })
                            continue
                        }
                        if((j==40 || j== 42) && i <= 37){
                            x.push({
                                value: -1,
                                data: '',
                                top: 1000,
                                bottom: 1000,
                                left: 1000,
                                right: 1000,
                                x: i,
                                y: j
                            })
                            continue
                        }
                        if( j >= 43 && i <= 58){
                            x.push({
                                value: -1,
                                data: '',
                                top: 1000,
                                bottom: 1000,
                                left: 1000,
                                right: 1000,
                                x: i,
                                y: j
                            })
                            continue
                        }
                        // x.push(0)
                        x.push({
                            value: 0,