自动化立体仓库 - WMS系统
1
zjj
14 小时以前 07ce8b2ffcb2ac5b6038b397924ff0635e401bbb
1
2个文件已修改
2个文件已添加
178 ■■■■■ 已修改文件
pom.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/LocMoveAllHandler.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -15,7 +15,7 @@
    <properties>
        <java.version>1.8</java.version>
        <cool.version>3.4.0</cool.version>
        <cool.version>3.2.0</cool.version>
        <mysql-driver.version>5.1.47</mysql-driver.version>
        <mybatis-plus.version>2.3.2</mybatis-plus.version>
        <fastjson.version>1.2.58</fastjson.version>
@@ -39,11 +39,6 @@
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>cn.cool</groupId>
            <artifactId>framework</artifactId>
            <version>${cool.version}</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java
New file
@@ -0,0 +1,113 @@
package com.zy.asrs.task;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.LocMoveAllHandler;
import com.zy.asrs.utils.Utils;
import com.zy.common.properties.SlaveProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Iterator;
import java.util.List;
/**
 * Created by vincent on 2020/7/7
 */
@Slf4j
@Component
public class LocMoveAllScheduler {
    @Value("${loc-move.enable}")
    private boolean enable;
    @Value("${loc-move.crn1}")
    private boolean crn1;
    @Value("${loc-move.crn2}")
    private boolean crn2;
    @Autowired
    private LocMoveAllHandler locMoveAllHandler;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private LocMastService locMastService;
    @Autowired
    private BasCrnpService basCrnpService;
    @Autowired
    private SlaveProperties slaveProperties;
    @Scheduled(cron = "0/3 * * * * ? ")
    private void execute() {
        if (!enable) return;
        List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>());
        if (basCrnps.isEmpty()) {
            return;
        }
        Iterator<BasCrnp> iterator = basCrnps.iterator();
        while (iterator.hasNext()) {
            BasCrnp basCrnp = iterator.next();
            if (basCrnp.getCrnNo() == 1 && !crn1) {
                iterator.remove();
            }
            if (basCrnp.getCrnNo() == 2 && !crn2) {
                iterator.remove();
            }
        }
        if (basCrnps.isEmpty()) {
            return;
        }
        for (BasCrnp basCrnp : basCrnps) {
            if (basCrnp.getCrnSts() != 3) continue;
            if (!basCrnp.getInEnable().equals("N") || !basCrnp.getOutEnable().equals("Y")) continue;
            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", basCrnp.getCrnNo()).eq("io_type", 11));
            if (Cools.isEmpty(wrkMasts) || wrkMasts.size() == 0) {
                LocMast locMastStart = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("crn_no", basCrnp.getCrnNo()).orderBy("appe_time", true));//空板所在
                if (Cools.isEmpty(locMastStart)) {
                    continue;
                }
                if (Utils.isShallowLoc(slaveProperties, locMastStart.getLocNo())) {
                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, locMastStart.getLocNo());
                    LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLocNo));
                    if (locNo != null && locNo.getLocSts().equals("D")) {
                        locMastStart = locNo;
                    }
                }
                LocMast locMastEnd = locMastService.selectOne(new EntityWrapper<LocMast>()
                        .eq("loc_sts", "O")
                        .eq("crn_no", basCrnp.getCrnNo())
                        //.eq("loc_type1", locMastStart.getLocType1())
                        .ne("modi_user", 77)
                        .orderBy("lev1", true));//目标
                if (Cools.isEmpty(locMastEnd)) {
                    continue;
                }
                if (Utils.isShallowLoc(slaveProperties, locMastEnd.getLocNo())) {
                    String shallowLocNo = Utils.getDeepLoc(slaveProperties, locMastEnd.getLocNo());
                    LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLocNo));
                    if (locNo != null && locNo.getModiUser() != 77L && locNo.getLocSts().equals("O")) {
                        locMastEnd = locNo;
                    }
                }
//                if (Cools.isEmpty(locMastStart) || Cools.isEmpty(locMastEnd)){
                ReturnT<String> result = locMoveAllHandler.start(locMastStart, locMastEnd, basCrnp.getCrnNo());
                if (!result.isSuccess()) {
                    log.error("处理失败");
                }
            }
        }
    }
}
src/main/java/com/zy/asrs/task/handler/LocMoveAllHandler.java
New file
@@ -0,0 +1,45 @@
package com.zy.asrs.task.handler;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WorkService;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
/**
 * Created by vincent on 2020/7/6
 */
@Slf4j
@Service
public class LocMoveAllHandler extends AbstractHandler<String> {
    @Autowired
    private WorkService workService;
    @Autowired
    private LocMastService locMastService;
    private final Integer BAY = 28;//YINGTAN
    @Transactional
    public ReturnT<String> start(LocMast locMastStart, LocMast locMastEnd, Integer crnNo) {
        try {
            LocMast locMastEndNew = null;
            workService.locMove(locMastStart.getLocNo(), locMastEnd.getLocNo(), 77L);
        } catch (Exception e) {
            log.error("fail", e);
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return FAIL.setMsg(e.getMessage());
        }
        return SUCCESS;
    }
}
src/main/resources/application.yml
@@ -13,7 +13,7 @@
#    url: jdbc:sqlserver://192.168.4.191:1433;databasename=integrationasrs
#    username: sa
#    password: sa@123
#    url: jdbc:sqlserver://127.0.0.1:1433;databasename=source
    url: jdbc:sqlserver://localhost:1433;databasename=nbjswcs
#    username: sa
#    password: sa@123
#    url: jdbc:sqlserver://127.0.0.1:51433;databasename=source
@@ -22,7 +22,7 @@
#    url: jdbc:sqlserver://192.168.4.191:50948;databasename=source
#    username: sa
#    password: sa@123
    url: jdbc:sqlserver://127.0.0.1:62316;databasename=source
#    url: jdbc:sqlserver://127.0.0.1:62316;databasename=source
    username: sa
    password: sa@123
  mvc:
@@ -113,4 +113,11 @@
    acctID: "647e849ab6fa0f"
    username: "llw"
    password: "666666"
    lcid: 2052
    lcid: 2052
loc-move:
  enable: true
  crn1: true
  crn2: true
  crn3: false
  crn4: false