SchModifyLog.java 2.76 KB
package com.bsth.data.schedule;

import com.bsth.controller.realcontrol.dto.ChangePersonCar;
import com.bsth.entity.mcy_forms.Changetochange;
import com.bsth.entity.realcontrol.ScheduleRealInfo;
import com.bsth.entity.sys.SysUser;
import com.bsth.repository.form.ChangetochangeRepository;
import com.bsth.security.util.SecurityUtils;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;

/**
 * 线调实际排班修改日志记录
 * Created by panzhao on 2017/5/7.
 */
@Service
public class SchModifyLog {

    private static DateTimeFormatter fmtHHmm = DateTimeFormat.forPattern("HH:mm");

    Logger log = LoggerFactory.getLogger(this.getClass());

    @Autowired
    ChangetochangeRepository changetochangeRepository;

    /**
     * 换人换车情况表
     */
    public void saveChangetochange(ScheduleRealInfo sch, ChangePersonCar cpc){
        try {
            String newNbbm = cpc.getClZbh();
            String newJsy = cpc.getJsy();
            String oldJsy = sch.getjGh()+"/"+sch.getjName();

            if(newNbbm == null && newJsy == null)
                return;

            if(newNbbm != null && newJsy != null
                    && newNbbm.equals(sch.getClZbh()) && newJsy.equals(oldJsy))
                return;

            Date d = new Date();
            SysUser user = SecurityUtils.getCurrentUser();
            Changetochange cc = new Changetochange();
            cc.setRq(sch.getScheduleDateStr());
            cc.setGs(sch.getGsBm());
            cc.setFgs(sch.getFgsBm());
            cc.setXl(sch.getXlBm());
            cc.setLp(sch.getLpName());
            cc.setFssj(fmtHHmm.print(d.getTime()));
            cc.setXgsj(fmtHHmm.print(d.getTime()));
            if(user != null)
                cc.setXgr(user.getUserName());

            cc.setPcch(sch.getClZbh());
            cc.setPcry(oldJsy);
            cc.setJhch(sch.getClZbh());
            cc.setJhgh(sch.getjGh());

            if(StringUtils.isNotEmpty(newNbbm))
                cc.setSjch(newNbbm);
            if(StringUtils.isNotEmpty(newJsy))
                cc.setSjgh(newJsy);

            changetochangeRepository.save(cc);
        }catch (Exception e){
            log.error("纪录换人换车情况表", e);
        }
    }

    public void saveChangetochange(ScheduleRealInfo sch, String nbbm, String jsy){
        ChangePersonCar cpc = new ChangePersonCar();
        cpc.setClZbh(nbbm);
        cpc.setJsy(jsy);
        saveChangetochange(sch, cpc);
    }
}