czt
2026-02-04 9ad1c8159544ed36729cffa66cb13b7e60fa46ec
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
@@ -23,6 +23,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -257,6 +258,24 @@
    /**
     * 新增出入库记录
     *
     * @param list
     * @return
     */
    public String addInoutRecordList(List<InoutRecord> list) {
        if(null == list || list.isEmpty()){
            return "新增失败";
        }
        for (InoutRecord inoutRecord : list) {
            addInoutRecord(inoutRecord);
        }
        return null;
    }
    /**
     * 新增出入库记录
     *
     * @param data
     * @return
     */
@@ -279,7 +298,7 @@
        int num = inoutRecordMapper.insert(data);
        //TODO 更新缓存
        //updateInoutCache(data);
        return num;
    }
@@ -303,6 +322,234 @@
    }
    /**
     * 数据修改,保留修改记录
     * @param updateData
     * @return
     */
    public int checkAndUpdate(InoutRecord updateData) {
        //获取原来的数据
        InoutParam param = new InoutParam();
        param.setId(updateData.getId());
        InoutRecord record = this.selectOne(param);
        String remarks = checkRemarks(updateData, record);
        updateData.setRemarks(remarks);
        return updateInoutRecord(updateData);
    }
    /**
     * 校验修改信息
     * @param updateData  修改数据
     * @param record      原始数据
     * @return
     */
    public String checkRemarks(InoutRecord updateData, InoutRecord record) {
        String remarks = "[" + ContextUtil.getLoginUserName() + "]修改数据:";
        boolean updateTag = false;
        //校验仓库信息
        if(null != updateData.getDepotId() && null != record.getDepotId()){
            updateTag = !updateData.getDepotId().equals(record.getDepotId());
            if(updateTag){
                remarks += "[仓库编码](" + record.getDepotId() + ")修改为(" + updateData.getDepotId() + "),";
            }
        }
        //校验品种信息
        if(null != updateData.getFoodVariety() && null != record.getFoodVariety()){
            updateTag = !updateData.getFoodVariety().equals(record.getFoodVariety());
            if(updateTag){
                remarks += "[品种](" + record.getFoodVariety() + ")修改为(" + updateData.getFoodVariety() + "),";
            }
        }
        //粮食产地
        if(null != updateData.getFoodLocation() && null != record.getFoodLocation()){
            updateTag = !updateData.getFoodLocation().equals(record.getFoodLocation());
            if(updateTag){
                remarks += "[粮食产地](" + record.getFoodLocation() + ")修改为(" + updateData.getFoodLocation() + "),";
            }
        }
        //粮食等级
        if(null != updateData.getFoodLevel() && null != record.getFoodLevel()){
            updateTag = !updateData.getFoodLevel().equals(record.getFoodLevel());
            if(updateTag){
                remarks += "[粮食等级](" + record.getFoodLevel() + ")修改为(" + updateData.getFoodLevel() + "),";
            }
        }
        //粮食年份
        if(null != updateData.getFoodYear() && null != record.getFoodYear()){
            updateTag = !updateData.getFoodYear().equals(record.getFoodYear());
            if(updateTag){
                remarks += "[粮食年份](" + record.getFoodYear() + ")修改为(" + updateData.getFoodYear() + "),";
            }
        }
        //承运人
        if(null != updateData.getUserName() && null != record.getUserName()){
            updateTag = !updateData.getUserName().equals(record.getUserName());
            if(updateTag){
                remarks += "[承运人](" + record.getUserName() + ")修改为(" + updateData.getUserName() + "),";
            }
        }
        //校验通知单信息
        if(null != updateData.getNoticeId() && null != record.getNoticeId()){
            updateTag = !updateData.getNoticeId().equals(record.getNoticeId());
            if(updateTag){
                remarks += "[通知单编码](" + record.getNoticeId() + ")修改为(" + updateData.getNoticeId() + "),";
            }
        }
        //校验往来单位信息
        if(null != updateData.getCustomerName() && null != record.getCustomerName()){
            updateTag = !updateData.getCustomerName().equals(record.getCustomerName());
            if(updateTag){
                remarks += "[往来单位](" + record.getCustomerName() + ")修改为(" + updateData.getCustomerName() + "),";
            }
        }
        //单价
        if(null != updateData.getPrice() && null != record.getPrice()){
            updateTag = !updateData.getPrice().equals(record.getPrice());
            if(updateTag){
                remarks += "[单价](" + record.getPrice() + ")修改为(" + updateData.getPrice() + "),";
            }
        }
        //结算金额
        if(null != updateData.getSettleMoney() && null != record.getSettleMoney()){
            updateTag = !updateData.getSettleMoney().equals(record.getSettleMoney());
            if(updateTag){
                remarks += "[结算金额](" + record.getSettleMoney() + ")修改为(" + updateData.getSettleMoney() + "),";
            }
        }
        //水分
        if(null != updateData.getPerWet() && null != record.getPerWet()){
            updateTag = !updateData.getPerWet().equals(record.getPerWet());
            if(updateTag){
                remarks += "[水分](" + record.getPerWet() + ")修改为(" + updateData.getPerWet() + "),";
            }
        }
        //杂质
        if(null != updateData.getPerImpurity() && null != record.getPerImpurity()){
            updateTag = !updateData.getPerImpurity().equals(record.getPerImpurity());
            if(updateTag){
                remarks += "[杂质](" + record.getPerImpurity() + ")修改为(" + updateData.getPerImpurity() + "),";
            }
        }
        //毛重
        if(null != updateData.getFullWeight() && null != record.getFullWeight()){
            updateTag = !updateData.getFullWeight().equals(record.getFullWeight());
            if(updateTag){
                remarks += "[毛重](" + record.getFullWeight() + ")修改为(" + updateData.getFullWeight() + "),";
            }
        }
        //皮重
        if(null != updateData.getEmptyWeight() && null != record.getEmptyWeight()){
            updateTag = !updateData.getEmptyWeight().equals(record.getEmptyWeight());
            if(updateTag){
                remarks += "[皮重](" + record.getEmptyWeight() + ")修改为(" + updateData.getEmptyWeight() + "),";
            }
        }
        //扣重
        if(null != updateData.getDeOther() && null != record.getDeOther()){
            updateTag = !updateData.getDeOther().equals(record.getDeOther());
            if(updateTag){
                remarks += "[扣重](" + record.getDeOther() + ")修改为(" + updateData.getDeOther() + "),";
            }
        }
        //结算重量
        if(null != updateData.getSettleWeight() && null != record.getSettleWeight()){
            updateTag = !updateData.getSettleWeight().equals(record.getSettleWeight());
            if(updateTag){
                remarks += "[结算重量](" + record.getSettleWeight() + ")修改为(" + updateData.getSettleWeight() + "),";
            }
        }
        //出入库重量
        if(null != updateData.getRecordWeight() && null != record.getRecordWeight()){
            updateTag = !updateData.getRecordWeight().equals(record.getRecordWeight());
            if(updateTag){
                remarks += "[出入库重量](" + record.getRecordWeight() + ")修改为(" + updateData.getRecordWeight() + "),";
            }
        }
        //登记时间
        if(null != updateData.getRegisterTime() && null != record.getRegisterTime()){
            updateTag = !updateData.getRegisterTime().equals(record.getRegisterTime());
            if(updateTag){
                remarks += "[登记时间](" + DateFormatUtils.format(record.getRegisterTime(),"yyyy-MM-dd HH:mm:ss") + ")修改为(" + DateFormatUtils.format(updateData.getRegisterTime(),"yyyy-MM-dd HH:mm:ss") + "),";
            }
        }
        //满车时间
        if(null != updateData.getFullWeightTime() && null != record.getFullWeightTime()){
            updateTag = !updateData.getFullWeightTime().equals(record.getFullWeightTime());
            if(updateTag){
                remarks += "[满车时间](" + DateFormatUtils.format(record.getFullWeightTime(),"yyyy-MM-dd HH:mm:ss") + ")修改为(" + DateFormatUtils.format(updateData.getFullWeightTime(),"yyyy-MM-dd HH:mm:ss") + "),";
            }
        }
        //空车时间
        if(null != updateData.getEmptyWeightTime() && null != record.getEmptyWeightTime()){
            updateTag = !updateData.getEmptyWeightTime().equals(record.getEmptyWeightTime());
            if(updateTag){
                remarks += "[空车时间](" + DateFormatUtils.format(record.getEmptyWeightTime(),"yyyy-MM-dd HH:mm:ss") + ")修改为(" + DateFormatUtils.format(updateData.getEmptyWeightTime(),"yyyy-MM-dd HH:mm:ss") + "),";
            }
        }
        //完成时间
        if(null != updateData.getCompleteTime() && null != record.getCompleteTime()){
            updateTag = !updateData.getCompleteTime().equals(record.getCompleteTime());
            if(updateTag){
                remarks += "[完成时间](" + DateFormatUtils.format(record.getCompleteTime(),"yyyy-MM-dd HH:mm:ss") + ")修改为(" + DateFormatUtils.format(updateData.getCompleteTime(),"yyyy-MM-dd HH:mm:ss") + "),";
            }
        }
        //满车称重人
        if(null != updateData.getFullWeightUser() && null != record.getFullWeightUser()){
            updateTag = !updateData.getFullWeightUser().equals(record.getFullWeightUser());
            if(updateTag){
                remarks += "[满车称重人](" + record.getFullWeightUser() + ")修改为(" + updateData.getFullWeightUser() + "),";
            }
        }
        //空车称重人
        if(null != updateData.getEmptyWeightUser() && null != record.getEmptyWeightUser()){
            updateTag = !updateData.getEmptyWeightUser().equals(record.getEmptyWeightUser());
            if(updateTag){
                remarks += "[空车称重人](" + record.getEmptyWeightUser() + ")修改为(" + updateData.getEmptyWeightUser() + "),";
            }
        }
        //备注说明
        if(null != updateData.getRemarks() && null != record.getRemarks()){
            updateTag = !updateData.getRemarks().equals(record.getRemarks());
            if(updateTag){
                remarks += "[备注说明](" + record.getRemarks() + ")修改为(" + updateData.getRemarks() + "),";
            }
        }
        if(StringUtils.isNotBlank(record.getRemarks())){
            remarks = record.getRemarks() + ";" + remarks;
        }
        return remarks;
    }
    /**
     * 异常终止
     *
     * @param data