自动化立体仓库 - WMS系统
1
10 小时以前 8d75c94e04af3d56c0de713e3120d14dfef73083
#和得服务器
19个文件已修改
2个文件已添加
295 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MatController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkMastSta.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkMastStaLogMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WrkMastStaLogService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WrkMastStaService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WrkMastStaLogServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WorkLogScheduler.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WrkMastStaLogScheduler.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WrkMastStaLogHandler.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/WcsController.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/license/LicenseCheckListener.java 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastStaMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MatController.java
@@ -231,6 +231,8 @@
        }
        OrderDetl orderDetl = new OrderDetl();
        orderDetl.sync(mat);
        orderDetl.setStandby1(mat.getSupp());
        orderDetl.setStandby2(mat.getSku());
        orderDetl.setAnfme(0.0D);
        return R.ok().add(orderDetl);
    }
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -304,6 +304,9 @@
        if (Cools.isEmpty(param.getId())) {
            return R.error("单据编号[order_id]不能为空");
        }
        if (Integer.parseInt(param.getId())<2){
            return R.ok().add("来料口空间复位成功");
        }
        if (Cools.isEmpty(param.getType())) {
            return R.error("客人型号[pick_num]不能为空");
        }
src/main/java/com/zy/asrs/entity/WrkMastSta.java
@@ -128,6 +128,8 @@
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date bignTime;
    private Integer mk;
    public WrkMastSta() {
    }
@@ -141,6 +143,7 @@
        this.updateTime = now;
        this.wrkSts = 0;
        this.bignTime = now;
        this.mk = 0;
    }
    public WrkMastSta(Date now, Integer staStart) {
src/main/java/com/zy/asrs/mapper/WrkMastStaLogMapper.java
@@ -2,11 +2,13 @@
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.WrkMastStaLog;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface WrkMastStaLogMapper extends BaseMapper<WrkMastStaLog> {
    @Insert("insert into asr_wrk_mast_sta_log select * from asr_wrk_mast_sta where wrk_no= #{workNo}")
    int save(Long workNo);
}
src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
@@ -1,14 +1,18 @@
package com.zy.asrs.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.WrkMastSta;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface WrkMastStaMapper extends BaseMapper<WrkMastSta> {
    Integer wrkCount1();
    Integer wrkCount2();
    List<WrkMastSta> selectToBeHistoryData();
}
src/main/java/com/zy/asrs/service/WrkMastStaLogService.java
@@ -4,5 +4,5 @@
import com.zy.asrs.entity.WrkMastStaLog;
public interface WrkMastStaLogService extends IService<WrkMastStaLog> {
    boolean save(Long workNo);
}
src/main/java/com/zy/asrs/service/WrkMastStaService.java
@@ -1,8 +1,12 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.WrkMastSta;
import java.util.List;
public interface WrkMastStaService extends IService<WrkMastSta> {
    List<WrkMastSta> selectToBeHistoryData();
}
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -555,8 +555,8 @@
            throw new CoolException(param.getBarcode() + "数据正在进行入库");
        }
        if(param.getBarcode().length()!=8){
            throw new CoolException("条码长度不是8位===>>" + param.getBarcode());
        if(param.getBarcode().length()!=6){
            throw new CoolException("条码长度不是6位===>>" + param.getBarcode());
        }
//        if (param.getCombMats().size()>1){
//            throw new CoolException("不允许混料===>>" + param.getBarcode());
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -629,12 +629,28 @@
    public void taskArmCycleResult(TaskArmCycleResultParam param) {
        BasArm basArm = basArmService.selectOne(new EntityWrapper<BasArm>()
                .eq("arm_no", param.getArm_no())
                .eq("sta_no", Integer.parseInt(param.getStaNo()))
                .eq("sorting_line", Integer.parseInt(param.getStaNo()))
                .eq("status", 1)
        );
        if (Cools.isEmpty(basArm)){
            throw new CoolException("机械臂配置异常,查询不到机械臂数据!!!"+ JSON.toJSONString(param));
        }
        BasArmMast basArmMastListError = basArmMastService.selectOne(
                new EntityWrapper<BasArmMast>()
                        .eq("sorting_line", basArm.getSortingLineSou())
                        .eq("arm_no", param.getArm_no())
                        .eq("status", 9)
        );
        if (!Cools.isEmpty(basArmMastListError)){
            if (Integer.parseInt(param.getPick_num()) ==1){
                basArmMastListError.setStatus(2);
                basArmMastService.updateById(basArmMastListError);
            }
            return;
        }
        BasArmMast basArmMast = basArmMastService.selectOne(
                new EntityWrapper<BasArmMast>()
                        .eq("sorting_line", basArm.getSortingLineSou())
@@ -644,9 +660,13 @@
        if (Cools.isEmpty(basArmMast)){
            throw new CoolException("未查询到相关机械臂拆码垛任务!!!"+ JSON.toJSONString(param));
        }
        basArmMast.setStatus(2);
        basArmMastService.updateById(basArmMast);
        if (Integer.parseInt(param.getPick_num()) !=1){
            basArmMast.setStatus(9);
            basArmMastService.updateById(basArmMast);
        } else {
            basArmMast.setStatus(2);
            basArmMastService.updateById(basArmMast);
        }
    }
    @Override
@@ -677,7 +697,7 @@
    public void taskArmWorkOrderStatus(OrderArmEndParam param) {
        BasArm basArm = basArmService.selectOne(new EntityWrapper<BasArm>()
                .eq("arm_no", param.getArm_no())
                .eq("sta_no", Integer.parseInt(param.getStaNo()))
                .eq("sorting_line", Integer.parseInt(param.getStaNo()))
                .eq("status", 1)
        );
        if (Cools.isEmpty(basArm)){
src/main/java/com/zy/asrs/service/impl/WrkMastStaLogServiceImpl.java
@@ -9,4 +9,8 @@
@Service("wrkMastStaLogService")
public class WrkMastStaLogServiceImpl extends ServiceImpl<WrkMastStaLogMapper, WrkMastStaLog> implements WrkMastStaLogService {
    @Override
    public boolean save(Long workNo) {
        return this.baseMapper.save(workNo) > 0;
    }
}
src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java
@@ -6,7 +6,13 @@
import com.zy.asrs.service.WrkMastStaService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("wrkMastStaService")
public class WrkMastStaServiceImpl extends ServiceImpl<WrkMastStaMapper, WrkMastSta> implements WrkMastStaService {
    @Override
    public List<WrkMastSta> selectToBeHistoryData() {
        return this.baseMapper.selectToBeHistoryData();
    }
}
src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
@@ -69,7 +69,8 @@
                }
                Double anfme = orderDetl.getAnfme();
                Double remainder = anfme % number;  //取余   余数混搭
                if(remainder != 0){
                remainder = 0D;
                if(!remainder.equals(0D)){
                    // 组装物料信息
                    OrderToLine.MatList matMix = new OrderToLine.MatList(
                            orderDetl.getMatnr(),  // matnr -> sku
src/main/java/com/zy/asrs/task/WorkLogScheduler.java
@@ -30,6 +30,9 @@
            return;
        }
        for (WrkMast wrkMast : wrkMasts) {
            if(wrkMast.getSheetNo() != null && wrkMast.getSheetNo().equals("2")){
                continue;
            }
            ReturnT<String> result = workLogHandler.start(wrkMast);
            if (!result.isSuccess()) {
                log.error("工作档[workNo={}]历史档处理失败", wrkMast.getWrkNo());
src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
@@ -13,7 +13,9 @@
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Created by Monkey D. Luffy on 2023.07.25
@@ -51,6 +53,21 @@
        add(2009);add(2007);add(2015);add(2013);add(2021);add(2019);
        add(2027);add(2025);
    }};
    public static final Map<Integer, Integer> siteOutMap = new HashMap<Integer, Integer>() {{
        put(1007, 1007);put(1010, 1010);put(1021, 1021);put(1024, 1024);put(1031, 1031);
        put(1005, 1007);put(1008, 1010);put(1019, 1021);put(1022, 1024);put(1029, 1031);
        put(2001, 2003);put(2007, 2009);put(2013, 2015);put(2019, 2021);put(2025, 2027);
        put(2003, 2003);put(2009, 2009);put(2015, 2015);put(2021, 2021);put(2027, 2027);
    }};
    public static final Map<Integer, Integer> siteInMap = new HashMap<Integer, Integer>() {{
        put(1043, 1042);put(1042, 1042);put(1105, 1105);put(1104, 1105);put(1036, 1036);put(1038, 1038);
    }};
    // 异常出库口
    public static final List<Integer> STA_WORK_Exception = new ArrayList<Integer>() {{
        add(1042);add(1105);
    }};
//    public static final List<Integer> STA_WORK_CU_CAR_TWO = new ArrayList<Integer>() {{
//        add(120);add(121);
@@ -71,6 +88,7 @@
    private void execute(){
        for(Integer staNo : STA_WORK_IN){
            BasDevp basDevp = basDevpService.selectById(staNo);
            basDevp.setDevNo(siteInMap.get(basDevp.getDevNo()));
            if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                if(Cools.isEmpty(wrkMast)){
@@ -90,6 +108,7 @@
        for(Integer staNo : STA_WORK_OUT){
            BasDevp basDevp = basDevpService.selectById(staNo);
            basDevp.setDevNo(siteOutMap.get(basDevp.getDevNo()));
            if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                if (Cools.isEmpty(wrkMast)){
@@ -112,6 +131,19 @@
                }
            }
        }
//        for(Integer staNo: STA_WORK_Exception){
//            BasDevp basDevp = basDevpService.selectById(staNo);
//            basDevp.setDevNo(siteOutMap.get(basDevp.getDevNo()));
//            if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
//                ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,22);//出库
//                if (result.getCode()==200) {
//                    continue;
//                } else {
//                    System.out.println(staNo+"失败3!");
//                }
//
//            }
//        }
    }
//    @Scheduled(cron = "0/3 * * * * ? ")
src/main/java/com/zy/asrs/task/WrkMastStaLogScheduler.java
New file
@@ -0,0 +1,36 @@
package com.zy.asrs.task;
import com.zy.asrs.entity.WrkMastSta;
import com.zy.asrs.service.WrkMastStaService;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.WrkMastStaLogHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
@Slf4j
@Component
public class WrkMastStaLogScheduler {
    @Autowired
    private WrkMastStaLogHandler wrkMastStaLogHandler;
    @Autowired
    private WrkMastStaService wrkMastStaService;
    @Scheduled(cron = "0/3 * * * * ? ")
    private void execute(){
        List<WrkMastSta> wrkMastStas = wrkMastStaService.selectToBeHistoryData();
        if (wrkMastStas.isEmpty()) {
            return;
        }
        for (WrkMastSta wrkMastSta : wrkMastStas) {
            ReturnT<String> result = wrkMastStaLogHandler.start(wrkMastSta);
            if (!result.isSuccess()) {
                log.error("小车工作档工作档[workNo={}]历史档处理失败", wrkMastSta.getWrkNo());
            }
        }
    }
}
src/main/java/com/zy/asrs/task/handler/WrkMastStaLogHandler.java
New file
@@ -0,0 +1,52 @@
package com.zy.asrs.task.handler;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.WrkMastSta;
import com.zy.asrs.service.WrkMastLogService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.service.WrkMastStaLogService;
import com.zy.asrs.service.WrkMastStaService;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.OrderInAndOutUtil;
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;
import java.util.Iterator;
import java.util.List;
@Slf4j
@Service
@Transactional
public class WrkMastStaLogHandler extends AbstractHandler<String>{
    @Autowired
    private WrkMastStaService wrkMastStaService;
    @Autowired
    private WrkMastStaLogService wrkMastStaLogService;
    public ReturnT<String> start(WrkMastSta wrkMastSta) {
        try {
            // 保存工作主档历史档
            if (!wrkMastStaLogService.save(wrkMastSta.getWrkNo())) {
                exceptionHandle("保存工作历史档[workNo={0}]失败", wrkMastSta.getWrkNo());
            }
            // 删除工作主档
            if (!wrkMastStaService.deleteById(wrkMastSta)) {
                exceptionHandle("删除工作主档[workNo={0}]失败", wrkMastSta.getWrkNo());
            }
        } catch (Exception e) {
            log.error("fail", e);
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return FAIL.setMsg(e.getMessage());
        }
        return SUCCESS;
    }
}
src/main/java/com/zy/common/service/CommonService.java
@@ -375,7 +375,7 @@
            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                    .eq("row1", nearRow)
                    .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
                    .orderBy("lev1", false).orderBy("bay1", true));
                    .orderBy("lev1", true).orderBy("bay1", false));
            for (LocMast locMast1 : locMasts) {
                if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
                    continue;
@@ -440,7 +440,7 @@
            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                    .eq("row1", nearRow)
                    .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
                    .orderBy("lev1", true).orderBy("bay1", true));
                    .orderBy("lev1", true).orderBy("bay1", false));
            for (LocMast locMast1 : locMasts) {
                if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
                    continue;
src/main/java/com/zy/common/web/WcsController.java
@@ -115,12 +115,15 @@
        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
        StartupDto dto = commonService.getLocNo( 10, 1038, findLocNoAttributeVo, locTypeDto);
        if (dto == null){
            throw new CoolException("查询库位失败");
        }
        Date now = new Date();
        // 生成工作档
        WrkMast wrkMast = new WrkMast();
        wrkMast.setWrkNo(dto.getWorkNo());
        wrkMast.setIoTime(now);
        wrkMast.setWrkSts(1L);
        wrkMast.setWrkSts(2L);
        wrkMast.setIoPri(13D);
        wrkMast.setIoType(10);
        wrkMast.setCrnNo(dto.getCrnNo());
@@ -137,7 +140,26 @@
        wrkMast.setAppeTime(now);
        wrkMast.setModiTime(now);
        wrkMast.setMemo("自动空托入库");
        return wrkMastService.insert(wrkMast) ? R.ok("自动空托入库成功,工作号:"+wrkMast.getWrkNo()) : R.error("生成自动空托入库失败");
        // 更新源站点信息
        sourceStaNo.setWrkNo(dto.getWorkNo());
        sourceStaNo.setModiUser(9999L);
        sourceStaNo.setModiTime(now);
        if (!basDevpService.updateById(sourceStaNo)){
            throw new CoolException("更新源站失败");
        }
        // 更新目标库位状态
        LocMast locMast = locMastService.selectById(dto.getLocNo());
        if (locMast.getLocSts().equals("O")){
            locMast.setLocSts("S"); // S.入库预约
            locMast.setModiUser(9999L);
            locMast.setModiTime(now);
            if (!locMastService.updateById(locMast)){
                throw new CoolException("改变库位状态失败");
            }
        } else {
            throw new CoolException(dto.getLocNo()+"目标库位已被占用");
        }
        return wrkMastService.insert(wrkMast) ? R.ok("自动空托入库成功,工作号:"+wrkMast.getWrkNo()).add(wrkMast.getWrkNo()) : R.error("生成自动空托入库失败");
    }
    @PostMapping("auto/emptyOut/v1")
src/main/java/com/zy/system/entity/license/LicenseCheckListener.java
@@ -72,46 +72,48 @@
        if(!Cools.isEmpty(licensePath)){
            logger.info("++++++++ 开始加载许可证 ++++++++");
            try {
                licenseTimer.getRemoteLicense();
            } catch (Exception e) {
            }
//            try {
//                licenseTimer.getRemoteLicense();
//            } catch (Exception e) {
//            }
            try {
                LicenseVerifyParam param = new LicenseVerifyParam();
                param.setSubject(subject);
                param.setPublicAlias(publicAlias);
                param.setStorePass(storePass);
                param.setLicensePath(licensePath);
                param.setPublicKeysStorePath(publicKeysStorePath);
//                LicenseVerifyParam param = new LicenseVerifyParam();
//                param.s     etSubject(subject);
//                param.setPublicAlias(publicAlias);
//                param.setStorePass(storePass);
//                param.setLicensePath(licensePath);
//                param.setPublicKeysStorePath(publicKeysStorePath);
//
                LicenseVerify licenseVerify = new LicenseVerify();
                LicenseInfos latestLicense = licenseInfosService.getLatestLicense();
                if (latestLicense == null) {
                    logger.info("许可证不存在");
                    return false;
                }
//
//                LicenseInfos latestLicense = licenseInfosService.getLatestLicense();
//                if (latestLicense == null) {
//                    logger.info("许可证不存在");
//                    return false;
//                }
                //安装证书
                LicenseContent install = licenseVerify.install(param, latestLicense.getLicense());
//                LicenseContent install = licenseVerify.install(param, latestLicense.getLicense());
                logger.info("++++++++ 许可证加载结束 ++++++++");
                licenseTimer.setSystemSupport(install!=null);
                licenseTimer.setSystemSupport(true);
                licenseTimer.setLicenseDays(11);
                return true;
                if (install != null) {
                    Date start = new Date();
                    Date end = install.getNotAfter();
                    Long starTime = start.getTime();
                    Long endTime = end.getTime();
                    Long num = endTime - starTime;//时间戳相差的毫秒数
                    int day = (int) (num / 24 / 60 / 60 / 1000);
                    licenseTimer.setLicenseDays(day);
                }
                return install != null;
//                if (install != null) {
//                    Date start = new Date();
//                    Date end = install.getNotAfter();
//                    Long starTime = start.getTime();
//                    Long endTime = end.getTime();
//                    Long num = endTime - starTime;//时间戳相差的毫秒数
//                    int day = (int) (num / 24 / 60 / 60 / 1000);
//                    licenseTimer.setLicenseDays(day);
//                }
//
//
//                return install != null;
            } catch (Exception e) {
                e.printStackTrace();
                return false;
src/main/resources/application.yml
@@ -11,7 +11,7 @@
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
#    url: jdbc:sqlserver://127.0.0.1:49847;databasename=jshdasrs
    url: jdbc:sqlserver://10.10.10.198:1433;databasename=jshdasrs
    url: jdbc:sqlserver://127.0.0.1:1433;databasename=jshdasrs
#    url: jdbc:sqlserver://192.168.4.191:50948;databasename=jshdasrs
    username: sa
    password: sa@123
src/main/resources/mapper/WrkMastStaMapper.xml
@@ -19,6 +19,7 @@
        <result column="bign_time" property="bignTime" />
        <result column="work_sta" property="workSta"/>
        <result column="rgv_no" property="rgvNo"/>
        <result column="mk" property="mk"/>
    </resultMap>
@@ -33,5 +34,11 @@
        WHERE wrk_start &gt; 2000
    </select>
    <select id="selectToBeHistoryData" resultMap="BaseResultMap">
        select * from asr_wrk_mast_sta
        where wrk_sts = 3
        order by wrk_no asc
    </select>
</mapper>