|
@@ -11,12 +11,11 @@ import com.usky.common.core.exception.BusinessException;
|
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
|
import com.usky.iot.domain.*;
|
|
|
import com.usky.iot.mapper.BaseBuildFacilityMapper;
|
|
|
+import com.usky.iot.mapper.BaseBuildFacilityTypeMapper;
|
|
|
+import com.usky.iot.mapper.DmpProductAttributeMapper;
|
|
|
import com.usky.iot.service.*;
|
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
|
-import com.usky.iot.service.vo.BaseBuildFacilityRequestVO;
|
|
|
-import com.usky.iot.service.vo.BuildFacilityRequestVO;
|
|
|
-import com.usky.iot.service.vo.BuildFacilityResponeVO;
|
|
|
-import com.usky.iot.service.vo.FacilityDeviceStatusVO;
|
|
|
+import com.usky.iot.service.vo.*;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -50,6 +49,15 @@ public class BaseBuildFacilityServiceImpl extends AbstractCrudService<BaseBuildF
|
|
|
@Autowired
|
|
|
private DmpDeviceTypeService dmpDeviceTypeService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private BaseBuildFacilityMapper baseBuildFacilityMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BaseBuildFacilityTypeMapper baseBuildFacilityTypeMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DmpProductAttributeMapper dmpProductAttributeMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public void add(BaseBuildFacility baseBuildFacility){
|
|
|
baseBuildFacility.setFacilityNum("jzss-"+new SimpleDateFormat("yyyyMMddHHmmssSSS").format(Calendar.getInstance().getTime()));
|
|
@@ -211,6 +219,132 @@ public class BaseBuildFacilityServiceImpl extends AbstractCrudService<BaseBuildF
|
|
|
return new CommonPage<>(list,page.getTotal(),page.getSize(),page.getCurrent());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<FacilityDeviceResultVO> facilityDeviceInfo(FacilityDeviceQueryVO queryVO){
|
|
|
+ List<FacilityDeviceResultVO> list = new ArrayList<>();
|
|
|
+ List<String> facilityList = queryVO.getFacilityNum();
|
|
|
+ if(facilityList.size() > 0){
|
|
|
+ List<String> facilityTypeList = new ArrayList<>();
|
|
|
+ List<String> deviceIdList = new ArrayList<>();
|
|
|
+ List<Integer> productIdList = new ArrayList<>();
|
|
|
+ List<ProductAttributeListVO> productAttributeList = new ArrayList<>();
|
|
|
+ LambdaQueryWrapper<BaseBuildFacility> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.in(BaseBuildFacility::getFacilityNum,facilityList)
|
|
|
+ .eq(BaseBuildFacility::getDeleteFlag,0)
|
|
|
+ .eq(BaseBuildFacility::getTenantId,SecurityUtils.getTenantId());
|
|
|
+ Integer tenantId = SecurityUtils.getTenantId();
|
|
|
+ List<BaseBuildFacility> list1 = this.list(queryWrapper);
|
|
|
+ if(CollectionUtils.isNotEmpty(list1)){
|
|
|
+ for (int i = 0; i < list1.size(); i++) {
|
|
|
+ if(facilityTypeList.contains(list1.get(i).getFacilityType())){
|
|
|
+
|
|
|
+ }else{
|
|
|
+ facilityTypeList.add(list1.get(i).getFacilityType());
|
|
|
+ }
|
|
|
+ deviceIdList.add(list1.get(i).getDeviceId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<BaseBuildFacilityType> baseBuildFacilityTypeList = new ArrayList<>();
|
|
|
+ if(facilityTypeList.size() > 0){
|
|
|
+ LambdaQueryWrapper<BaseBuildFacilityType> queryWrapper1 = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper1.in(BaseBuildFacilityType::getTypeCode,facilityTypeList)
|
|
|
+ .eq(BaseBuildFacilityType::getTenantId,SecurityUtils.getTenantId());
|
|
|
+ baseBuildFacilityTypeList = baseBuildFacilityTypeMapper.selectList(queryWrapper1);
|
|
|
+ }
|
|
|
+ List<DmpDeviceInfo> deviceInfoList = new ArrayList<>();
|
|
|
+
|
|
|
+ if(deviceIdList.size() > 0){
|
|
|
+ LambdaQueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper1.in(DmpDeviceInfo::getDeviceId,deviceIdList)
|
|
|
+ .eq(DmpDeviceInfo::getDeleteFlag,0)
|
|
|
+ .eq(DmpDeviceInfo::getTenantId,SecurityUtils.getTenantId());
|
|
|
+ deviceInfoList = dmpDeviceInfoService.list(queryWrapper1);
|
|
|
+ if(CollectionUtils.isNotEmpty(deviceInfoList)){
|
|
|
+ for (int i = 0; i < deviceInfoList.size(); i++) {
|
|
|
+ if(productIdList.contains(deviceInfoList.get(i).getProductId())){
|
|
|
+
|
|
|
+ }else{
|
|
|
+ productIdList.add(deviceInfoList.get(i).getProductId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(productIdList.size() > 0){
|
|
|
+ List<ProductAttributeVO> attributeList = new ArrayList<>();
|
|
|
+ LambdaQueryWrapper<DmpProductAttribute> queryWrapper2 = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper2.in(DmpProductAttribute::getProductId,productIdList)
|
|
|
+ .eq(DmpProductAttribute::getDeleteFlag,0)
|
|
|
+ .eq(DmpProductAttribute::getTenantId,SecurityUtils.getTenantId());
|
|
|
+ List<DmpProductAttribute> list2 = dmpProductAttributeMapper.selectList(queryWrapper2);
|
|
|
+
|
|
|
+ if(CollectionUtils.isNotEmpty(list2)){
|
|
|
+ for (int i = 0; i < deviceInfoList.size(); i++) {
|
|
|
+ ProductAttributeListVO productAttributeListVO = new ProductAttributeListVO();
|
|
|
+ productAttributeListVO.setDeviceId(deviceInfoList.get(i).getDeviceId());
|
|
|
+ for (int j = 0; j < list2.size(); j++) {
|
|
|
+ if(deviceInfoList.get(i).getProductId().equals(list2.get(j).getProductId())){
|
|
|
+ ProductAttributeVO productAttributeVO = new ProductAttributeVO();
|
|
|
+ productAttributeVO.setAttributeName(list2.get(j).getAttributeName());
|
|
|
+ productAttributeVO.setAttributeCode(list2.get(j).getAttributeCode());
|
|
|
+ productAttributeVO.setAttributeType(list2.get(j).getAttributeType());
|
|
|
+ productAttributeVO.setDataType(list2.get(j).getDataType());
|
|
|
+ productAttributeVO.setAttributeLength(list2.get(j).getAttributeLength());
|
|
|
+ productAttributeVO.setAttributeUnit(list2.get(j).getAttributeUnit());
|
|
|
+ attributeList.add(productAttributeVO);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ productAttributeListVO.setAttributeList(attributeList);
|
|
|
+ productAttributeList.add(productAttributeListVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ LambdaQueryWrapper<BaseBuildFacility> queryWrapper1 = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper1.in(BaseBuildFacility::getFacilityNum,facilityList)
|
|
|
+ .eq(BaseBuildFacility::getDeleteFlag,0)
|
|
|
+ .eq(BaseBuildFacility::getTenantId,SecurityUtils.getTenantId());
|
|
|
+ List<BaseBuildFacility> list2 = baseBuildFacilityMapper.selectList(queryWrapper);
|
|
|
+ if(CollectionUtils.isNotEmpty(list2)){
|
|
|
+ for (int i = 0; i < list2.size(); i++) {
|
|
|
+ FacilityDeviceResultVO resultVO = new FacilityDeviceResultVO();
|
|
|
+ resultVO.setFacilityNum(list2.get(i).getFacilityNum());
|
|
|
+ resultVO.setFacilityName(list2.get(i).getFacilityName());
|
|
|
+ resultVO.setFacilityType(list2.get(i).getFacilityType());
|
|
|
+ resultVO.setFacilityAddress(list2.get(i).getAddress());
|
|
|
+ if(CollectionUtils.isNotEmpty(baseBuildFacilityTypeList)){
|
|
|
+ for (int j = 0; j < baseBuildFacilityTypeList.size(); j++) {
|
|
|
+ if(list2.get(i).getFacilityType().equals(baseBuildFacilityTypeList.get(j).getTypeCode())){
|
|
|
+ resultVO.setTypeImg(baseBuildFacilityTypeList.get(j).getTypeImg());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(CollectionUtils.isNotEmpty(deviceInfoList)){
|
|
|
+ for (int j = 0; j < deviceInfoList.size(); j++) {
|
|
|
+ if(list2.get(i).getDeviceId().equals(deviceInfoList.get(j).getDeviceId())){
|
|
|
+ resultVO.setDeviceName(deviceInfoList.get(j).getDeviceName());
|
|
|
+ resultVO.setDeviceAddress(deviceInfoList.get(j).getInstallAddress());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(CollectionUtils.isNotEmpty(productAttributeList)){
|
|
|
+ for (int j = 0; j < productAttributeList.size(); j++) {
|
|
|
+ if(list2.get(i).getDeviceId().equals(productAttributeList.get(j).getDeviceId())){
|
|
|
+ resultVO.setDataField(productAttributeList.get(j).getAttributeList());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ list.add(resultVO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void setStatus(FacilityDeviceStatusVO statusVO){
|
|
|
BaseBuildFacility baseBuildFacility = new BaseBuildFacility();
|