whycxzp
2023-12-20 022c4c7f652f3bcde6466de6fb1e30ca73091d4a
src/main/java/com/whyc/service/CKPowerDevBattRtStateSetService.java
@@ -7,15 +7,15 @@
import com.whyc.dto.Response;
import com.whyc.mapper.CKPowerDevBattRtStateSetMapper;
import com.whyc.mapper.CKPowerDevBattSetLogMapper;
import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevBattRtDataSet;
import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevBattRtStateSet;
import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevBattSetLog;
import com.whyc.pojo.db_ckpwrdev_data_rt.*;
import com.whyc.util.OpCmdUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
@Service
@@ -36,18 +36,21 @@
    @Autowired
    private CKPowerDevBattRtDataService dataService;
    @Autowired
    private CKPowerDevBattRtStateService stateService;
    public Response update(BattRtSetDto set) {
        CKPowerDevBattRtDataSet dataSet = set.getDataSet();
        CKPowerDevBattRtStateSet stateSet = set.getStateSet();
        updateDataFromDataAndStateToSet();
        updateDataFromDataAndStateToSet(dataSet.getBattIndex());
        //设置state_set表,与李军沟通确定,组端和单体设置,都采用设置下面这个cmd值.因为单体和组端会一起设置
        stateSet.setOpCmd(CMD_Constant.CMD_SetBatt1MonData);
        mapper.update(stateSet,null);
        //设置data_set表
        //设置data_set表 TODO 待确定是设置单体时 所有单体还是某个单体
        dataSetService.update(dataSet);
        //读取opCmd返回是否成功
        QueryWrapper<CKPowerDevBattRtStateSet> query = Wrappers.query();
        Response opStatus =OpCmdUtil.getOpStatus(mapper, query, set.getStateSet().getOpCmd(),20,set.getStateSet().getBattIndex());
        Response opStatus =OpCmdUtil.getOpStatus(mapper, query, CMD_Constant.CMD_SetBatt1MonData,20,set.getStateSet().getBattIndex());
        if(opStatus.getData()!=null && (boolean)opStatus.getData()) { //成功
            //记录日志
            Date now = new Date();
@@ -64,7 +67,21 @@
        return opStatus;
    }
    private void updateDataFromDataAndStateToSet() {
        //TODO
    private void updateDataFromDataAndStateToSet(Integer battIndex) {
        List<CKPowerDevBattRtData> rtDataList = dataService.getList(battIndex);
        CKPowerDevBattRtState state = stateService.get();
        //属性迁移
        List<CKPowerDevBattRtDataSet> rtSetDataList = new LinkedList<>();
        CKPowerDevBattRtStateSet stateSet = new CKPowerDevBattRtStateSet();
        for (CKPowerDevBattRtData temp : rtDataList) {
            CKPowerDevBattRtDataSet set = new CKPowerDevBattRtDataSet();
            BeanUtils.copyProperties(temp,set);
            rtSetDataList.add(set);
        }
        BeanUtils.copyProperties(state,stateSet);
        //rt表数据更新到set表中 TODO 待确定是设置单体时 所有单体还是某个单体
        //dataSetService.update();
    }
}