Commit 9dafd861 authored by renchao's avatar renchao

炮孔设计模块,设计爆区爆破量模块代码编写

parent d94ef302
......@@ -17,7 +17,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
/**
* <p>
......@@ -103,7 +102,7 @@ public class TProcessesBlastdesignHoleController {
@RequestMapping(value = "/getByUid", method = RequestMethod.GET)
public R getByUid(String Uid) {
TProcessesBlastdesignHoleQuery param = new TProcessesBlastdesignHoleQuery();
param.setUid(param.getUid());
param.setUid(Uid);
return itProcessesBlastdesignHoleService.getByUid(param);
}
}
......
......@@ -10,6 +10,7 @@ import cn.wise.sc.acquisition.business.model.vo.TProcessesBlastdesignHoleResultV
import cn.wise.sc.acquisition.business.model.vo.TProcessesBlastdesignHoleVo;
import cn.wise.sc.acquisition.business.service.ITProcessesBlastdesignHoleService;
import cn.wise.sc.acquisition.business.service.ITProcessesBlastdesignVolumeService;
import cn.wise.sc.acquisition.business.util.BeanUtilsNewCopy;
import cn.wise.sc.acquisition.business.util.DateUtil;
import cn.wise.sc.acquisition.business.wrapper.page.Query;
import com.alibaba.fastjson.JSON;
......@@ -38,7 +39,7 @@ import org.springframework.stereotype.Service;
public class TProcessesBlastdesignHoleServiceImpl extends ServiceImpl<TProcessesBlastdesignHoleMapper, TProcessesBlastdesignHole> implements ITProcessesBlastdesignHoleService {
@Autowired
ITProcessesBlastdesignVolumeService itProcessesBlastdesignVolumeService;
private ITProcessesBlastdesignVolumeService itProcessesBlastdesignVolumeService;
@Override
public R getPage(TProcessesBlastdesignHoleQuery tProcessesBlastdesignHoleQuery, Query query) {
......@@ -59,11 +60,11 @@ public class TProcessesBlastdesignHoleServiceImpl extends ServiceImpl<TProcesses
}
//查询分页数据
Page<TProcessesBlastdesignHoleVo> data = baseMapper.getPage(page, queryWrapper);
//查询,根据筛选条件的总条数的孔深合计,不分页 孔深合计
//查询,根据筛选条件的总条数的孔深合计,不分页 孔深合计 表连接sql需要 a.字段
Double depthSum = baseMapper.getSumByCondition(new StringBuffer()
.append(ProjectEnum.TableAlias.A.getLabel())
.append(ProjectEnum.TProcessesBlastdesignVolume.DEPTH.getLabel()).toString(), queryWrapper);
return R.ok(new TProcessesBlastdesignHoleResultVo<>(data,depthSum));
return R.ok(new TProcessesBlastdesignHoleResultVo<>(data, depthSum));
}
......@@ -92,21 +93,24 @@ public class TProcessesBlastdesignHoleServiceImpl extends ServiceImpl<TProcesses
}
//条件封装
TProcessesBlastdesignHole tProcessesBlastdesignHole = new TProcessesBlastdesignHole();
BeanUtils.copyProperties(query, tProcessesBlastdesignHole);
//如果修改了孔距,排距,台阶高度 需要重新计算单孔爆破量, 单孔爆破量(m3)=孔距*排距*台阶高度
//所以直接copy上面根据uid查出来的数据 copy ->非空值<- 将query的值更新到查出来的对象上 进行计算并更新到数据库即可
BeanUtilsNewCopy.copyPropertiesIgnoreNull(query, temp);
//计算单孔爆破量
calculateHoleBlastVolume(temp);
QueryWrapper<TProcessesBlastdesignHole> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(ProjectEnum.TProcessesBlastdesignHole.UID.getLabel(), query.getUid());
//修改
int update = baseMapper.update(tProcessesBlastdesignHole, queryWrapper);
int update = baseMapper.update(temp, queryWrapper);
if (update > 0) {
return R.ok("修改成功");
} else {
log.info(JSON.toJSONString(tProcessesBlastdesignHole));
log.info(JSON.toJSONString(temp));
return R.failed("修改失败");
}
}
@Override
public R deleteByUid(TProcessesBlastdesignHoleQuery query) {
log.info(JSON.toJSONString(query));
......@@ -162,9 +166,7 @@ public class TProcessesBlastdesignHoleServiceImpl extends ServiceImpl<TProcesses
TProcessesBlastdesignHole tProcessesBlastdesignHole = new TProcessesBlastdesignHole();
BeanUtils.copyProperties(query, tProcessesBlastdesignHole);
//单孔爆破量(m3)=孔距*排距*台阶高度
tProcessesBlastdesignHole.setHoleBlastVolume(tProcessesBlastdesignHole.getHoleSpace()
* tProcessesBlastdesignHole.getRowSpace()
* tProcessesBlastdesignHole.getStepHeight());
calculateHoleBlastVolume(tProcessesBlastdesignHole);
//增加
log.info(JSON.toJSONString(tProcessesBlastdesignHole));
int insert = baseMapper.insert(tProcessesBlastdesignHole);
......@@ -185,4 +187,13 @@ public class TProcessesBlastdesignHoleServiceImpl extends ServiceImpl<TProcesses
//查询并且返回
return R.ok(baseMapper.selectById(query.getUid()));
}
/**
* 计算并设值 单孔爆破量(m3)=孔距*排距*台阶高度
*/
private void calculateHoleBlastVolume(TProcessesBlastdesignHole tProcessesBlastdesignHole) {
tProcessesBlastdesignHole.setHoleBlastVolume(tProcessesBlastdesignHole.getHoleSpace()
* tProcessesBlastdesignHole.getRowSpace()
* tProcessesBlastdesignHole.getStepHeight());
}
}
package cn.wise.sc.acquisition.business.util;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeanWrapper;
import org.springframework.beans.BeanWrapperImpl;
import java.util.HashSet;
import java.util.Set;
/**
* author: renchao
*/
public class BeanUtilsNewCopy {
/**
* 获取对象属性
* @param source
* @return
*/
private static String[] getNullPropertyNames (Object source) {
final BeanWrapper src = new BeanWrapperImpl(source);
java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors();
Set<String> emptyNames = new HashSet<String>();
for(java.beans.PropertyDescriptor pd : pds) {
Object srcValue = src.getPropertyValue(pd.getName());
if (srcValue == null) emptyNames.add(pd.getName());
}
String[] result = new String[emptyNames.size()];
return emptyNames.toArray(result);
}
/**
* 封装同名称属性复制,但是空属性不复制过去
* @param src
* @param target
*/
public static void copyPropertiesIgnoreNull(Object src, Object target){
BeanUtils.copyProperties(src, target, getNullPropertyNames(src));
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment