BackSapStatusService.java 2.98 KB
package com.huaheng.pc.sap.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.huaheng.api.sap.service.ZarApiService;
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.pc.config.station.domain.Station;
import com.huaheng.pc.config.station.service.StationService;
import com.huaheng.pc.config.zone.domain.Zone;
import com.huaheng.pc.config.zone.service.ZoneService;
import com.huaheng.pc.sap.domain.BackSapStatus;
import com.huaheng.pc.sap.domain.Zarsh;
import com.huaheng.pc.sap.mapper.BackSapStatusMapper;
import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;

/**
 * Created by Cotter on 2023/2/1.
 *
 * @author zhouhong
 */
@Service
public class BackSapStatusService extends ServiceImpl<BackSapStatusMapper, BackSapStatus> {

    @Resource
    private ZarApiService zarApiService;
    @Resource
    private TaskHeaderService taskHeaderService;
    @Resource
    private StationService stationService;
    @Resource
    private ZoneService zoneService;
    @Resource
    private ZarshService zarshService;
    @Resource
    private BackSapStatusService backSapStatusService;


    @Transactional(propagation = Propagation.REQUIRES_NEW)
    public boolean addBackSapStatus(String uniqueIds, String lgnum, String locationCode, String mFlag, String cFlag, Integer taskId, String msg){
        LambdaQueryWrapper<BackSapStatus> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.eq(BackSapStatus::getUniqueIds, uniqueIds).eq(BackSapStatus::getLgnum, lgnum)
                .eq(StringUtils.isNotEmpty(locationCode), BackSapStatus::getLocation, locationCode).eq(BackSapStatus::getMFlag, mFlag)
                .eq(StringUtils.isNotNull(taskId), BackSapStatus::getTaskId, taskId);
        queryWrapper.last("limit 1");
        BackSapStatus backSapStatus1 = this.getOne(queryWrapper);
        if (backSapStatus1 == null) {
            BackSapStatus backSapStatus = new BackSapStatus();
            backSapStatus.setStatus(1);
            backSapStatus.setCFlag(cFlag);
            backSapStatus.setLocation(locationCode);
            backSapStatus.setMFlag(mFlag);
            backSapStatus.setTaskId(taskId);
            backSapStatus.setLgnum(lgnum);
            backSapStatus.setUniqueIds(uniqueIds);
            backSapStatus.setMsg(msg);
            backSapStatusService.save(backSapStatus);
        } else {
            backSapStatus1.setCFlag(cFlag);
            backSapStatus1.setStatus(1);
            backSapStatus1.setMsg(msg);
            backSapStatusService.updateById(backSapStatus1);
        }
        return true;
    }
}