物资工程量清单暂时复原

This commit is contained in:
2025-09-15 11:18:19 +08:00
parent 2d7f9ea42d
commit af81b1b740
6 changed files with 189 additions and 172 deletions

View File

@ -24,6 +24,7 @@ import org.dromara.land.domain.BusLandTransferLedger;
import org.dromara.land.service.IBusLandBlockService; import org.dromara.land.service.IBusLandBlockService;
import org.dromara.land.service.IBusLandTransferLedgerService; import org.dromara.land.service.IBusLandTransferLedgerService;
import org.dromara.manager.weathermanager.vo.WeatherVo; import org.dromara.manager.weathermanager.vo.WeatherVo;
import org.dromara.other.domain.OthYs7Device;
import org.dromara.other.service.IOthYs7DeviceService; import org.dromara.other.service.IOthYs7DeviceService;
import org.dromara.project.domain.BusProject; import org.dromara.project.domain.BusProject;
import org.dromara.project.domain.vo.project.BusProjectSafetyDayVo; import org.dromara.project.domain.vo.project.BusProjectSafetyDayVo;
@ -274,16 +275,16 @@ public class ProjectBigScreenController {
public R<List<Map<String, Object>>> getClientList(@NotNull(message = "主键不能为空") public R<List<Map<String, Object>>> getClientList(@NotNull(message = "主键不能为空")
@PathVariable Long projectId) { @PathVariable Long projectId) {
List<GpsEquipmentSonVo> voList = gpsEquipmentService.getClientList(projectId); List<GpsEquipmentSonVo> voList = gpsEquipmentService.getClientList(projectId);
// List<OthYs7Device> othYs7DeviceList = othYs7DeviceService.lambdaQuery() List<OthYs7Device> othYs7DeviceList = othYs7DeviceService.lambdaQuery()
// .eq(OthYs7Device::getProjectId, projectId) .eq(OthYs7Device::getProjectId, projectId)
// .list(); .list();
List<Map<String, Object>> maps = new ArrayList<>(); List<Map<String, Object>> maps = new ArrayList<>();
Map<String, Object> gpsMap = new HashMap<>(); Map<String, Object> gpsMap = new HashMap<>();
Map<String, Object> wrjMap = new HashMap<>(); Map<String, Object> wrjMap = new HashMap<>();
Map<String, Object> sxtMap = new HashMap<>(); Map<String, Object> sxtMap = new HashMap<>();
List<Map<String, Object>> gpsChildrenMap = new ArrayList<>(); List<Map<String, Object>> gpsChildrenMap = new ArrayList<>();
// List<Map<String, Object>> wrjChildrenMap = new ArrayList<>(); List<Map<String, Object>> wrjChildrenMap = new ArrayList<>();
// List<Map<String, Object>> sxtChildrenMap = new ArrayList<>(); List<Map<String, Object>> sxtChildrenMap = new ArrayList<>();
if (voList != null && !voList.isEmpty()) { if (voList != null && !voList.isEmpty()) {
for (GpsEquipmentSonVo item : voList) { for (GpsEquipmentSonVo item : voList) {
Map<String, Object> gps = new HashMap<>(); Map<String, Object> gps = new HashMap<>();
@ -297,20 +298,20 @@ public class ProjectBigScreenController {
gpsChildrenMap.add(gps); gpsChildrenMap.add(gps);
} }
} }
// if (othYs7DeviceList != null && !othYs7DeviceList.isEmpty()) { if (othYs7DeviceList != null && !othYs7DeviceList.isEmpty()) {
// for (OthYs7Device item : othYs7DeviceList) { for (OthYs7Device item : othYs7DeviceList) {
// Map<String, Object> sxt = new HashMap<>(); Map<String, Object> sxt = new HashMap<>();
// sxt.put("id", item.getDeviceSerial()); sxt.put("id", item.getDeviceSerial());
// sxt.put("label", item.getDeviceSerial()); sxt.put("label", item.getDeviceSerial());
// sxt.put("name", item.getDeviceName()); sxt.put("name", item.getDeviceName());
// sxt.put("type", "shexiangtou"); sxt.put("type", "shexiangtou");
//// sxt.put("lat", item.getLocLatitude()); sxt.put("lat", item.getLatitude());
//// sxt.put("lng", item.getLocLongitude()); sxt.put("lng", item.getLongitude());
//// sxt.put("alt", item.getLocAltitude()); sxt.put("alt", item.getAltitude());
// sxtChildrenMap.add(sxt); sxtChildrenMap.add(sxt);
// } }
// } }
List<Map<String, Object>> maps1 = setSxt(); // List<Map<String, Object>> maps1 = setSxt();
List<Map<String, Object>> maps2 = setWrj(); List<Map<String, Object>> maps2 = setWrj();
gpsMap.put("id", 1); gpsMap.put("id", 1);
@ -318,8 +319,8 @@ public class ProjectBigScreenController {
gpsMap.put("children", gpsChildrenMap); gpsMap.put("children", gpsChildrenMap);
sxtMap.put("id", 2); sxtMap.put("id", 2);
sxtMap.put("label", "摄像头"); sxtMap.put("label", "摄像头");
// sxtMap.put("children",sxtChildrenMap); sxtMap.put("children",sxtChildrenMap);
sxtMap.put("children", maps1); // sxtMap.put("children", maps1);
wrjMap.put("id", 3); wrjMap.put("id", 3);
wrjMap.put("label", "无人机"); wrjMap.put("label", "无人机");
// wrjMap.put("children",wrjChildrenMap); // wrjMap.put("children",wrjChildrenMap);
@ -354,111 +355,111 @@ public class ProjectBigScreenController {
} }
public List<Map<String, Object>> setSxt() { // public List<Map<String, Object>> setSxt() {
List<Map<String, Object>> sxtChildrenMap = new ArrayList<>(); // List<Map<String, Object>> sxtChildrenMap = new ArrayList<>();
HashMap<String, Object> map1 = new HashMap<>(); // HashMap<String, Object> map1 = new HashMap<>();
map1.put("id", "55"); // map1.put("id", "55");
map1.put("label", "那荷4号方阵-1"); // map1.put("label", "那荷4号方阵-1");
map1.put("name", "22"); // map1.put("name", "22");
map1.put("type", "camera"); // map1.put("type", "camera");
map1.put("lng", 107.111325); // map1.put("lng", 107.111325);
map1.put("lat", 23.820919); // map1.put("lat", 23.820919);
map1.put("alt", 0); // map1.put("alt", 0);
HashMap<String, Object> map2 = new HashMap<>(); // HashMap<String, Object> map2 = new HashMap<>();
map2.put("id", "56"); // map2.put("id", "56");
map2.put("label", "甫必 1号方阵"); // map2.put("label", "甫必 1号方阵");
map2.put("name", "23"); // map2.put("name", "23");
map2.put("type", "camera"); // map2.put("type", "camera");
map2.put("lng", 107.091297); // map2.put("lng", 107.091297);
map2.put("lat", 23.813567); // map2.put("lat", 23.813567);
map2.put("alt", 0); // map2.put("alt", 0);
HashMap<String, Object> map3 = new HashMap<>(); // HashMap<String, Object> map3 = new HashMap<>();
map3.put("id", "57"); // map3.put("id", "57");
map3.put("label", "1222224"); // map3.put("label", "1222224");
map3.put("name", "24"); // map3.put("name", "24");
map3.put("type", "camera"); // map3.put("type", "camera");
map3.put("lng", 107.085442); // map3.put("lng", 107.085442);
map3.put("lat", 23.811958); // map3.put("lat", 23.811958);
map3.put("alt", 0); // map3.put("alt", 0);
HashMap<String, Object> map4 = new HashMap<>(); // HashMap<String, Object> map4 = new HashMap<>();
map4.put("id", "58"); // map4.put("id", "58");
map4.put("label", "甫必2号方阵-1"); // map4.put("label", "甫必2号方阵-1");
map4.put("name", "25"); // map4.put("name", "25");
map4.put("type", "camera"); // map4.put("type", "camera");
map4.put("lng", 107.085181); // map4.put("lng", 107.085181);
map4.put("lat", 23.810556); // map4.put("lat", 23.810556);
map4.put("alt", 0); // map4.put("alt", 0);
HashMap<String, Object> map5 = new HashMap<>(); // HashMap<String, Object> map5 = new HashMap<>();
map5.put("id", "58"); // map5.put("id", "58");
map5.put("label", "甫必 4号方阵"); // map5.put("label", "甫必 4号方阵");
map5.put("name", "25"); // map5.put("name", "25");
map5.put("type", "camera"); // map5.put("type", "camera");
map5.put("lng", 107.081747); // map5.put("lng", 107.081747);
map5.put("lat", 23.808131); // map5.put("lat", 23.808131);
map5.put("alt", 0); // map5.put("alt", 0);
HashMap<String, Object> map6 = new HashMap<>(); // HashMap<String, Object> map6 = new HashMap<>();
map6.put("id", "58"); // map6.put("id", "58");
map6.put("label", "甫必 7号方阵-1"); // map6.put("label", "甫必 7号方阵-1");
map6.put("name", "25"); // map6.put("name", "25");
map6.put("type", "camera"); // map6.put("type", "camera");
map6.put("lng", 107.077922); // map6.put("lng", 107.077922);
map6.put("lat", 23.798344); // map6.put("lat", 23.798344);
map6.put("alt", 0); // map6.put("alt", 0);
HashMap<String, Object> map7 = new HashMap<>(); // HashMap<String, Object> map7 = new HashMap<>();
map7.put("id", "58"); // map7.put("id", "58");
map7.put("label", "68甫必6"); // map7.put("label", "68甫必6");
map7.put("name", "25"); // map7.put("name", "25");
map7.put("type", "camera"); // map7.put("type", "camera");
map7.put("lng", 107.077333); // map7.put("lng", 107.077333);
map7.put("lat", 23.797969); // map7.put("lat", 23.797969);
map7.put("alt", 0); // map7.put("alt", 0);
HashMap<String, Object> map8 = new HashMap<>(); // HashMap<String, Object> map8 = new HashMap<>();
map8.put("id", "58"); // map8.put("id", "58");
map8.put("label", "甫必5号方阵"); // map8.put("label", "甫必5号方阵");
map8.put("name", "25"); // map8.put("name", "25");
map8.put("type", "camera"); // map8.put("type", "camera");
map8.put("lng", 107.075853); // map8.put("lng", 107.075853);
map8.put("lat", 23.796711); // map8.put("lat", 23.796711);
map8.put("alt", 0); // map8.put("alt", 0);
HashMap<String, Object> map9 = new HashMap<>(); // HashMap<String, Object> map9 = new HashMap<>();
map9.put("id", "58"); // map9.put("id", "58");
map9.put("label", "西牛2号方阵"); // map9.put("label", "西牛2号方阵");
map9.put("name", "25"); // map9.put("name", "25");
map9.put("type", "camera"); // map9.put("type", "camera");
map9.put("lng", 107.078942); // map9.put("lng", 107.078942);
map9.put("lat", 23.789306); // map9.put("lat", 23.789306);
map9.put("alt", 0); // map9.put("alt", 0);
HashMap<String, Object> map10 = new HashMap<>(); // HashMap<String, Object> map10 = new HashMap<>();
map10.put("id", "58"); // map10.put("id", "58");
map10.put("label", "福绿1号方阵"); // map10.put("label", "福绿1号方阵");
map10.put("name", "25"); // map10.put("name", "25");
map10.put("type", "camera"); // map10.put("type", "camera");
map10.put("lng", 107.090061); // map10.put("lng", 107.090061);
map10.put("lat", 23.790411); // map10.put("lat", 23.790411);
map10.put("alt", 0); // map10.put("alt", 0);
HashMap<String, Object> map11 = new HashMap<>(); // HashMap<String, Object> map11 = new HashMap<>();
map11.put("id", "58"); // map11.put("id", "58");
map11.put("label", "福绿6号方阵-2"); // map11.put("label", "福绿6号方阵-2");
map11.put("name", "25"); // map11.put("name", "25");
map11.put("type", "camera"); // map11.put("type", "camera");
map11.put("lng", 107.112883); // map11.put("lng", 107.112883);
map11.put("lat", 23.771378); // map11.put("lat", 23.771378);
map11.put("alt", 0); // map11.put("alt", 0);
//
sxtChildrenMap.add(map1); // sxtChildrenMap.add(map1);
sxtChildrenMap.add(map2); // sxtChildrenMap.add(map2);
sxtChildrenMap.add(map3); // sxtChildrenMap.add(map3);
sxtChildrenMap.add(map4); // sxtChildrenMap.add(map4);
sxtChildrenMap.add(map5); // sxtChildrenMap.add(map5);
sxtChildrenMap.add(map6); // sxtChildrenMap.add(map6);
sxtChildrenMap.add(map7); // sxtChildrenMap.add(map7);
sxtChildrenMap.add(map8); // sxtChildrenMap.add(map8);
sxtChildrenMap.add(map9); // sxtChildrenMap.add(map9);
sxtChildrenMap.add(map10); // sxtChildrenMap.add(map10);
sxtChildrenMap.add(map11); // sxtChildrenMap.add(map11);
//
return sxtChildrenMap; // return sxtChildrenMap;
} // }
public List<Map<String, Object>> setWrj() { public List<Map<String, Object>> setWrj() {
List<Map<String, Object>> sxtChildrenMap = new ArrayList<>(); List<Map<String, Object>> sxtChildrenMap = new ArrayList<>();

View File

@ -179,7 +179,8 @@ public class BusMrpBaseController extends BaseController {
*/ */
@SaCheckPermission("cailiaoshebei:purchaseDoc:coryEngineeringList") @SaCheckPermission("cailiaoshebei:purchaseDoc:coryEngineeringList")
@GetMapping("/coryEngineeringList") @GetMapping("/coryEngineeringList")
public R<List<ObtainTheListRes>> obtainTheList(CoryObtainTheListReq req) { public R<List<BusBillofquantities>> obtainTheList(CoryObtainTheListReq req) {
// public R<List<ObtainTheListRes>> obtainTheList(CoryObtainTheListReq req) {
BusBillofquantitiesVersions one = busBillofquantitiesVersionsService.getOne(Wrappers.<BusBillofquantitiesVersions>lambdaQuery() BusBillofquantitiesVersions one = busBillofquantitiesVersionsService.getOne(Wrappers.<BusBillofquantitiesVersions>lambdaQuery()
.eq(BusBillofquantitiesVersions::getWorkOrderType, "3") //物资工程量清单 .eq(BusBillofquantitiesVersions::getWorkOrderType, "3") //物资工程量清单
.eq(BusBillofquantitiesVersions::getProjectId, req.getProjectId()) .eq(BusBillofquantitiesVersions::getProjectId, req.getProjectId())
@ -193,19 +194,20 @@ public class BusMrpBaseController extends BaseController {
List<BusBillofquantities> list = busBillofquantitiesService.list(Wrappers.<BusBillofquantities>lambdaQuery() List<BusBillofquantities> list = busBillofquantitiesService.list(Wrappers.<BusBillofquantities>lambdaQuery()
.eq(BusBillofquantities::getVersions, one.getVersions()) .eq(BusBillofquantities::getVersions, one.getVersions())
); );
List<ObtainTheListRes> obtainTheListRes = new ArrayList<>(); // List<ObtainTheListRes> obtainTheListRes = new ArrayList<>();
list.forEach(billofquantities -> { // list.forEach(billofquantities -> {
ObtainTheListRes res = new ObtainTheListRes(); // ObtainTheListRes res = new ObtainTheListRes();
BeanUtils.copyProperties(billofquantities, res); // BeanUtils.copyProperties(billofquantities, res);
obtainTheListRes.add(res); // obtainTheListRes.add(res);
}); // });
//
Map<String, List<ObtainTheListRes>> parentMap = obtainTheListRes.stream() // Map<String, List<ObtainTheListRes>> parentMap = obtainTheListRes.stream()
.collect(Collectors.groupingBy(ObtainTheListRes::getPid)); // .collect(Collectors.groupingBy(ObtainTheListRes::getPid));
//
// 3. 递归组装树形结构从顶级节点pid=0开始 // // 3. 递归组装树形结构从顶级节点pid=0开始
List<ObtainTheListRes> treeList = buildTree("0", parentMap); // List<ObtainTheListRes> treeList = buildTree("0", parentMap);
return R.ok(treeList); // return R.ok(treeList);
return R.ok(list);
} }
private List<ObtainTheListRes> buildTree(String parentId, Map<String, List<ObtainTheListRes>> parentMap) { private List<ObtainTheListRes> buildTree(String parentId, Map<String, List<ObtainTheListRes>> parentMap) {

View File

@ -232,11 +232,11 @@ public class BusMrpBaseServiceImpl extends ServiceImpl<BusMrpBaseMapper, BusMrpB
// 转换并保存数据 // 转换并保存数据
List<BusMaterialbatchdemandplan> plans = MapstructUtils.convert(dto.getPlanList(), BusMaterialbatchdemandplan.class); List<BusMaterialbatchdemandplan> plans = MapstructUtils.convert(dto.getPlanList(), BusMaterialbatchdemandplan.class);
plans.forEach(item -> { plans.forEach(item -> {
BusBillofquantities byId = busBillofquantitiesService.getById(item.getSuppliespriceId()); // BusBillofquantities byId = busBillofquantitiesService.getById(item.getSuppliespriceId());
if (!"0".equals(byId.getPid())) { // if (!"0".equals(byId.getPid())) {
BusBillofquantities one = busBillofquantitiesService.getOne(new LambdaQueryWrapper<BusBillofquantities>().eq(BusBillofquantities::getSid, byId.getPid())); // BusBillofquantities one = busBillofquantitiesService.getOne(new LambdaQueryWrapper<BusBillofquantities>().eq(BusBillofquantities::getSid, byId.getPid()));
item.setSuppliespricePid(one.getId()); // item.setSuppliespricePid(one.getId());
} // }
item.setMrpBaseId(convert.getId()); item.setMrpBaseId(convert.getId());
item.setProjectId(convert.getProjectId()); item.setProjectId(convert.getProjectId());
}); });

View File

@ -217,7 +217,7 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl<BusBillo
//1、获取到解析数据 //1、获取到解析数据
ExcelReader.ExcelData excelData = ExcelReader.readExcelFromMultipartFile(file); ExcelReader.ExcelData excelData = ExcelReader.readExcelFromMultipartFile(file);
//走正常的工程清单 //走正常的工程清单
// if (!Objects.equals(bo.getWorkOrderType(), "3")) { if (!Objects.equals(bo.getWorkOrderType(), "3")) {
// 2. 解析所有工作表转换为带父子关系的ExcelMaterial列表 解析所有Sheet数据按规则生成sid和pid // 2. 解析所有工作表转换为带父子关系的ExcelMaterial列表 解析所有Sheet数据按规则生成sid和pid
List<BusBillofquantities> allMaterials = new ArrayList<>(); List<BusBillofquantities> allMaterials = new ArrayList<>();
for (ExcelReader.SheetData sheetData : excelData.getSheetDataList()) { for (ExcelReader.SheetData sheetData : excelData.getSheetDataList()) {
@ -239,26 +239,26 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl<BusBillo
throw new RuntimeException("导入失败"); throw new RuntimeException("导入失败");
} }
return true; return true;
// } else { } else {
// // 跳过1行表头读取0到6列共7列映射到ExcelData实体类 // 跳过1行表头读取0到6列共7列映射到ExcelData实体类
// List<MaterialsAndEquipmentExcelDto> dataList = ExcelDynamicReader.readExcel( List<MaterialsAndEquipmentExcelDto> dataList = ExcelDynamicReader.readExcel(
// file, // 上传的文件 file, // 上传的文件
// 1, // 跳过1行表头 1, // 跳过1行表头
// 0, // 从第0列开始 0, // 从第0列开始
// 5, // 到第5列结束 5, // 到第5列结束
// MaterialsAndEquipmentExcelDto.class // 目标实体类 MaterialsAndEquipmentExcelDto.class // 目标实体类
// ); );
// List<BusBillofquantities> busBillofquantities = BeanUtil.copyToList(dataList, BusBillofquantities.class); List<BusBillofquantities> busBillofquantities = BeanUtil.copyToList(dataList, BusBillofquantities.class);
// for (BusBillofquantities busBillofquantity : busBillofquantities) { for (BusBillofquantities busBillofquantity : busBillofquantities) {
// busBillofquantity.setProjectId(bo.getProjectId()); busBillofquantity.setProjectId(bo.getProjectId());
// busBillofquantity.setVersions(banBen); busBillofquantity.setVersions(banBen);
// } }
// boolean b = busBillofquantitiesService.saveBatch(busBillofquantities); boolean b = busBillofquantitiesService.saveBatch(busBillofquantities);
// if (!b) { if (!b) {
// throw new RuntimeException("导入失败"); throw new RuntimeException("导入失败");
// } }
// return true; return true;
// } }
} }
@ -270,9 +270,9 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl<BusBillo
return Collections.emptyList(); return Collections.emptyList();
} }
// sheet为空表示不走下面的代码 // sheet为空表示不走下面的代码
// if (StringUtils.isBlank(bo.getSheet())) { if (StringUtils.isBlank(bo.getSheet())) {
// return flatList; return flatList;
// } }
// 2. 构建父子映射key=父节点pidvalue=该父节点的所有子节点 // 2. 构建父子映射key=父节点pidvalue=该父节点的所有子节点
Map<String, List<ObtainTheListRes>> parentMap = flatList.stream() Map<String, List<ObtainTheListRes>> parentMap = flatList.stream()
.collect(Collectors.groupingBy(ObtainTheListRes::getPid)); .collect(Collectors.groupingBy(ObtainTheListRes::getPid));

View File

@ -6,6 +6,7 @@ import lombok.Data;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
@ -67,6 +68,19 @@ public class OthYs7Device implements Serializable {
*/ */
private String position; private String position;
/**
* 纬度精确到6位小数
*/
private BigDecimal latitude;
/**
* 经度精确到6位小数
*/
private BigDecimal longitude;
/**
* 海拔高度单位未明确默认0
*/
private BigDecimal altitude;
/** /**
* 设备添加时间 * 设备添加时间
*/ */

View File

@ -203,9 +203,9 @@ public class BusBillofquantitiesLimitListServiceImpl extends ServiceImpl<BusBill
.forEach(item -> { .forEach(item -> {
item.setPrice(item.getUnitPrice().multiply(item.getQuantity()).setScale(4, RoundingMode.HALF_UP)); item.setPrice(item.getUnitPrice().multiply(item.getQuantity()).setScale(4, RoundingMode.HALF_UP));
}); });
// if (bo.getType().equals(LimitListTypeEnum.SPECIAL.getCode())) { if (bo.getType().equals(LimitListTypeEnum.SPECIAL.getCode())) {
// return listVoList; return listVoList;
// } }
//构建父子映射 //构建父子映射
Map<String, List<BusBillofquantitiesLimitListVo>> parentMap = listVoList.stream() Map<String, List<BusBillofquantitiesLimitListVo>> parentMap = listVoList.stream()