diff --git a/acquisition-business/src/main/java/cn/wise/sc/acquisition/business/service/impl/TProcessesAuxiliaryServiceImpl.java b/acquisition-business/src/main/java/cn/wise/sc/acquisition/business/service/impl/TProcessesAuxiliaryServiceImpl.java
index bba63cc68f49c36a60d51a59f7b243bca180e293..29930ebbfaaa2d1f76a6022c6250281a561c1440 100644
--- a/acquisition-business/src/main/java/cn/wise/sc/acquisition/business/service/impl/TProcessesAuxiliaryServiceImpl.java
+++ b/acquisition-business/src/main/java/cn/wise/sc/acquisition/business/service/impl/TProcessesAuxiliaryServiceImpl.java
@@ -7,6 +7,7 @@ import cn.wise.sc.acquisition.business.mapper.TProcessesAuxiliaryMapper;
 import cn.wise.sc.acquisition.business.model.query.TProcessesAuxiliaryQuery;
 import cn.wise.sc.acquisition.business.service.ITProcessesAuxiliaryService;
 import cn.wise.sc.acquisition.business.service.ITSysDictService;
+import cn.wise.sc.acquisition.business.util.BeanUtilsNewCopy;
 import cn.wise.sc.acquisition.business.wrapper.page.Query;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -76,12 +77,21 @@ public class TProcessesAuxiliaryServiceImpl extends ServiceImpl<TProcessesAuxili
         if (StringUtils.isNotBlank(query.getTag())) {
             return R.failed("辅助工序中->tag为自动生成字段,不能修改");
         }
+        //当月累计油量不为空时,需要判断。当月累计油量不为0时,当月累计产量不能为0 因为dh 由当月累计油量/当月累计产量 计算而来,分母不能为0
+        if ((query.getLjyl() != null && query.getLjyl() != 0)
+                && query.getDyljcl() != null
+                && query.getDyljcl() == 0) {
+            return R.failed("辅助工序中->当要同时修改当月累计油量和当月累计油量时, 当月累计油量Ljyl 不为0时,当月累计产量Dyljcl不能为0,因为dh 由当月累计油量/当月累计产量 计算而来,分母不能为0");
+        }
         //条件封装
         TProcessesAuxiliary tSampleList = new TProcessesAuxiliary();
-        BeanUtils.copyProperties(query, tSampleList);
+        BeanUtilsNewCopy.copyPropertiesIgnoreNull(query, tSampleList);
 
         QueryWrapper<TProcessesAuxiliary> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq(ProjectEnum.TProcessesAuxiliary.UID.getLabel(), query.getUid());
+        //计算单耗 防止失去精度,先转成字符串
+        float dh = tSampleList.getLjyl() / tSampleList.getDyljcl();
+        tSampleList.setDh(Double.valueOf(String.valueOf(dh)));
         //修改
         int update = baseMapper.update(tSampleList, queryWrapper);
         if (update > 0) {