#
vincentlu
2025-12-26 2df63e034920c7069905e9173618ca149e0aa15b
#
5个文件已修改
76 ■■■■■ 已修改文件
zy-acs-flow/src/page/staReserve/StaReserveList.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/StaReserve.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/StaReserveService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaReserveServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/page/staReserve/StaReserveList.jsx
@@ -84,7 +84,7 @@
    <DateInput source="expireTime" label="table.field.staReserve.expireTime" />,
    <DateInput source="waitingAt" label="table.field.staReserve.waitingAt" />,
    <DateInput source="confirmedAt" label="table.field.staReserve.confirmedAt" />,
    <DateInput source="cancelledAt" label="table.field.staReserve.cancelledAt" />,
    // <DateInput source="cancelledAt" label="table.field.staReserve.cancelledAt" />,
    <TextInput source="uniqKey" label="table.field.staReserve.uniqKey" />,
    <TextInput label="common.field.memo" source="memo" />,
@@ -160,7 +160,7 @@
                    <DateField source="expireTime" label="table.field.staReserve.expireTime" showTime />
                    <DateField source="waitingAt" label="table.field.staReserve.waitingAt" showTime />
                    <DateField source="confirmedAt" label="table.field.staReserve.confirmedAt" showTime />
                    <DateField source="cancelledAt" label="table.field.staReserve.cancelledAt" showTime />
                    {/* <DateField source="cancelledAt" label="table.field.staReserve.cancelledAt" showTime /> */}
                    <TextField source="uniqKey" label="table.field.staReserve.uniqKey" />
                    <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/StaReserve.java
@@ -63,6 +63,7 @@
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date confirmedAt;
    // 用不到,使用确认时间代替
    @ApiModelProperty(value= "取消时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date cancelledAt;
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/StaReserveService.java
@@ -14,4 +14,6 @@
    void confirmStaReserve(Sta sta, Task task, Integer qty, StaReserveType type);
    void cancelStaReserve(Sta sta, Task task, Integer qty, StaReserveType type);
}
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaReserveServiceImpl.java
@@ -105,7 +105,8 @@
        // update reserve state to be confirmed
        if (0 == this.baseMapper.updateState(task.getId(), sta.getId(), type.toString(), StaReserveStateType.CONFIRMED.toString())) {
            throw new BusinessException("failed to confirm sta reserve");
            log.error("failed to confirm sta reserve");
            return;
        }
        int cntOfDealWithReserve = 0;
@@ -120,7 +121,33 @@
                break;
        }
        if (cntOfDealWithReserve == 0) {
            throw new BusinessException("Sta[" + sta.getStaNo() + "] apply confirmed failed, type=" + type.toString());
            throw new BusinessException("Sta[" + sta.getStaNo() + "] confirm failed, type=" + type.toString());
        }
    }
    @Override
    public void cancelStaReserve(Sta sta, Task task, Integer qty, StaReserveType type) {
        qty = Optional.ofNullable(qty).orElse(1);
        // update reserve state to be canceled
        if (0 == this.baseMapper.updateState(task.getId(), sta.getId(), type.toString(), StaReserveStateType.CANCELLED.toString())) {
            log.error("failed to cancel sta reserve");
            return;
        }
        int cntOfDealWithReserve = 0;
        switch (type) {
            case IN:
                cntOfDealWithReserve = staMapper.releaseReserveIn(sta.getId(), qty);
                break;
            case OUT:
                cntOfDealWithReserve = staMapper.releaseReserveOut(sta.getId(), qty);
                break;
            default:
                break;
        }
        if (cntOfDealWithReserve == 0) {
            throw new BusinessException("Sta[" + sta.getStaNo() + "] cancel failed, type=" + type.toString());
        }
    }
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
@@ -98,7 +98,7 @@
        if (null == task) {
            return Boolean.FALSE;
        }
        this.maintainLocSts(task, Boolean.TRUE);
        this.maintainLocAndStaHandler(task, Boolean.TRUE);
        task.setTaskSts(TaskStsType.COMPLETE.val());
        task.setUpdateTime(new Date());
@@ -117,7 +117,7 @@
        if (null == task) {
            return Boolean.FALSE;
        }
        this.maintainLocSts(task, Boolean.FALSE);
        this.maintainLocAndStaHandler(task, Boolean.FALSE);
        task.setTaskSts(TaskStsType.CANCEL.val());
        task.setUpdateTime(new Date());
@@ -300,7 +300,7 @@
    @Transactional
    public void maintainLocSts(Task task, Boolean complete) {
    public void maintainLocAndStaHandler(Task task, Boolean complete) {
        Loc oriLoc = null; Loc destLoc = null;
        Sta oriSta = null; Sta destSta = null;
        Date now = new Date();
@@ -331,18 +331,18 @@
                }
                destSta = staService.getById(task.getDestSta());
                destSta.setStaSts(complete?StaStsType.STOCK.val():StaStsType.IDLE.val());
                destSta.setUpdateTime(now);
                if (!staService.updateById(destSta)) {
                    throw new BusinessException("Sta [" + destSta.getStaNo() + "] 站点修改状态失败 !!!");
                if (complete) {
                    staReserveService.confirmStaReserve(destSta, task, 1, StaReserveType.IN);
                } else {
                    staReserveService.cancelStaReserve(destSta, task, 1, StaReserveType.IN);
                }
                break;
            case STA_TO_LOC:
                oriSta = staService.getById(task.getOriSta());
                oriSta.setStaSts(complete?StaStsType.IDLE.val():StaStsType.STOCK.val());
                oriSta.setUpdateTime(now);
                if (!staService.updateById(oriSta)) {
                    throw new BusinessException("Sta [" + oriSta.getStaNo() + "] 站点修改状态失败 !!!");
                if (complete) {
                    staReserveService.confirmStaReserve(oriSta, task, 1, StaReserveType.OUT);
                } else {
                    staReserveService.cancelStaReserve(oriSta, task, 1, StaReserveType.OUT);
                }
                destLoc = locService.getById(task.getDestLoc());
@@ -354,17 +354,17 @@
                break;
            case STA_TO_STA:
                oriSta = staService.getById(task.getOriSta());
                oriSta.setStaSts(complete?StaStsType.IDLE.val():StaStsType.STOCK.val());
                oriSta.setUpdateTime(now);
                if (!staService.updateById(oriSta)) {
                    throw new BusinessException("Sta [" + oriSta.getStaNo() + "] 站点修改状态失败 !!!");
                if (complete) {
                    staReserveService.confirmStaReserve(oriSta, task, 1, StaReserveType.OUT);
                } else {
                    staReserveService.cancelStaReserve(oriSta, task, 1, StaReserveType.OUT);
                }
                destSta = staService.getById(task.getDestSta());
                destSta.setStaSts(complete?StaStsType.STOCK.val():StaStsType.IDLE.val());
                destSta.setUpdateTime(now);
                if (!staService.updateById(destSta)) {
                    throw new BusinessException("Sta [" + destSta.getStaNo() + "] 站点修改状态失败 !!!");
                if (complete) {
                    staReserveService.confirmStaReserve(destSta, task, 1, StaReserveType.IN);
                } else {
                    staReserveService.cancelStaReserve(destSta, task, 1, StaReserveType.IN);
                }
                break;
            case TO_CHARGE: