Commit 2502cc02 authored by suhuiguang's avatar suhuiguang

Merge branch 'develop_tzs_register' of…

Merge branch 'develop_tzs_register' of http://36.40.66.175:5000/moa/amos-boot-biz into develop_tzs_register
parents fefe1dcb bd39c65c
package com.yeejoin.amos.api.openapi.face.service;
import com.yeejoin.amos.api.openapi.face.model.*;
import com.yeejoin.amos.api.openapi.face.orm.dao.ESCylinderFillingRecordRepository;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.cylinder.api.entity.ESCylinderFillingRecordDto;
import com.yeejoin.amos.boot.module.cylinder.flc.api.dto.*;
import com.yeejoin.amos.boot.module.cylinder.flc.api.mapper.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.Bean;
import com.baomidou.dynamic.datasource.annotation.DS;
......@@ -20,16 +26,11 @@ import com.yeejoin.amos.boot.module.cylinder.flc.api.entity.CylinderInspection;
import com.yeejoin.amos.boot.module.cylinder.flc.api.entity.CylinderTags;
import com.yeejoin.amos.boot.module.cylinder.flc.api.entity.CylinderUnit;
import com.yeejoin.amos.boot.module.cylinder.flc.api.entity.CylinderUnitVideo;
import com.yeejoin.amos.boot.module.cylinder.flc.api.mapper.CylCylinderFillingCheckMapper;
import com.yeejoin.amos.boot.module.cylinder.flc.api.mapper.CylinderFillingCheckMapper;
import com.yeejoin.amos.boot.module.cylinder.flc.api.mapper.CylinderFillingExamineMapper;
import com.yeejoin.amos.boot.module.cylinder.flc.api.mapper.CylinderFillingMapper;
import com.yeejoin.amos.boot.module.cylinder.flc.api.mapper.CylinderInfoMapper;
import com.yeejoin.amos.boot.module.cylinder.flc.api.mapper.CylinderInspectionMapper;
import com.yeejoin.amos.boot.module.cylinder.flc.api.mapper.CylinderTagsMapper;
import com.yeejoin.amos.boot.module.cylinder.flc.api.mapper.CylinderUnitMapper;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Component
@DS("tzs")
......@@ -73,7 +74,13 @@ public class SyncCylinderDataService
@Autowired
private CylinderInspectionMapper cylinderInspectionMapper;
@DS("tzs")
@Autowired
CylinderFillingRecordMapper cylinderFillingRecordMapper;
@Autowired
ESCylinderFillingRecordRepository esCylinderFillingRecordRepository;
public void syncCylinderUnit(List<TmCylinderUnitModel> cylinderUnitDto) {
// List<CylinderUnit> cylinderUnits = Bean.toModels(cylinderUnitDto,CylinderUnit.class);
// LambdaQueryWrapper<CylinderUnit> wrapper = new LambdaQueryWrapper<>();
......@@ -81,40 +88,85 @@ public class SyncCylinderDataService
List<CylinderUnit> cylinderUnitList = Bean.toModels(cylinderUnitDto,CylinderUnit.class);
cylinderUnitMapper.saveOrUpdateBatch(cylinderUnitList);
}
@DS("tzs")
public void syncCylinderInfo(final List<TmCylinderInfoModel> cylinderInfoDto) {
List<CylinderInfo> cylinderUnitList = Bean.toModels(cylinderInfoDto,CylinderInfo.class);
cylinderInfoMapper.saveOrUpdateBatch(cylinderUnitList);
}
@DS("tzs")
public void syncCylinderFillingExamine(List<TmCylinderFillingExamineModel> cylinderFillingExamineDto) {
List<CylinderFillingExamine> cylinderFillingExamineList = Bean.toModels(cylinderFillingExamineDto,
CylinderFillingExamine.class);
cylinderFillingExamineMapper.saveOrUpdateBatch(cylinderFillingExamineList);
}
@DS("tzs")
public void syncCylinderFillingRecord(List<TmCylinderFillingRecordModel> cylinderFillingRecordDtos) {
List<CylinderFillingRecord> cylinderFillingRecordList = Bean.toModels(cylinderFillingRecordDtos, CylinderFillingRecord.class);
cylCylinderFillingCheckMapper.batchInsertOrUpdate(cylinderFillingRecordList);
}
@DS("tzs")
public void syncCylinderInspection(List<TmCylinderInspectionModel> cylinderInspectionDto) {
List<CylinderInspection> cylinderInspectionList = Bean.toModels(cylinderInspectionDto, CylinderInspection.class);
cylinderInspectionMapper.saveOrUpdateBatch(cylinderInspectionList);
}
@DS("tzs")
public void syncCylinderTag(List<TmCylinderTagsModel> cylinderTagsDtos) {
List<CylinderTags> cylinderTagsList = Bean.toModels(cylinderTagsDtos, CylinderTags.class);
cylinderTagsMapper.saveOrUpdateBatch(cylinderTagsList);
}
@DS("tzs")
public void syncCylinderFillingBefore(List<TmCylinderFillingModel> cylinderFillingDtos) {
List<CylinderFilling> cylinderFillingList = Bean.toModels(cylinderFillingDtos, CylinderFilling.class);
cylCylinderFillingCheckMapper.saveAndBatchInsert(cylinderFillingList);
}
@DS("tzs")
public void syncCylinderFillingAfter(List<TmCylinderFillingCheckModel> cylinderFillingCheckDtos) {
List<CylinderFillingCheck> cylinderFillingChecList = Bean.toModels(cylinderFillingCheckDtos, CylinderFillingCheck.class);
cylinderFillingCheckMapper.saveOrUpdateByCondition(cylinderFillingChecList);
}
public void createCylinderFillingRecord(List<ESCylinderFillingRecordDto> cylinderFillingRecord) {
if (!ObjectUtils.isEmpty(cylinderFillingRecord)) {
List<String> appIds = cylinderFillingRecord.stream().map(ESCylinderFillingRecordDto::getAppId).collect(Collectors.toList());
List<String> sequenceCodeS = cylinderFillingRecord.stream().map(ESCylinderFillingRecordDto::getSequenceCode).collect(Collectors.toList());
List<ESCylinderFillingRecordDto> cylinderFillingRecordInfo = cylinderFillingRecordMapper.getCylinderFillingRecordInfo(appIds, sequenceCodeS);
cylinderFillingRecord.stream().map(item -> {
List<ESCylinderFillingRecordDto> collect = cylinderFillingRecordInfo.stream().filter(e -> item.getAppIdAndSequenceCode().equals(e.getAppIdAndSequenceCode())).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(collect)) {
item.setUnitName(collect.get(0).getUnitName());
item.setFactoryNum(collect.get(0).getFactoryNum());
item.setCylinderVariety(collect.get(0).getCylinderVariety());
item.setCylinderVarietyName(collect.get(0).getCylinderVarietyName());
item.setUnitInnerCode(collect.get(0).getUnitInnerCode());
item.setSequenceCode(collect.get(0).getSequenceCode());
item.setQrCode(collect.get(0).getQrCode());
item.setElectronicLabelCode(collect.get(0).getElectronicLabelCode());
item.setAppId(collect.get(0).getAppId());
item.setCreditCode(collect.get(0).getCreditCode());
item.setRegionCode(collect.get(0).getRegionCode());
try {
item.setInspectionDateMs(ObjectUtils.isEmpty(item.getFillingStartTime()) ? 0L : DateUtils.dateParseWithPattern(item.getFillingStartTime()).getTime());
item.setInspectionDateAfterMS(ObjectUtils.isEmpty(item.getFillingEndTime()) ? 0L : DateUtils.dateParseWithPattern(item.getFillingEndTime()).getTime());
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
return item;
}).collect(Collectors.toList());
saveCylinderFillingRecord2ES(cylinderFillingRecord);
}
}
public void saveCylinderFillingRecord2ES(List<ESCylinderFillingRecordDto> records) {
List<String> ids = new ArrayList<>();
for (ESCylinderFillingRecordDto record : records) {
CylinderFillingRecord cylinderFillingRecord = new CylinderFillingRecord();
BeanUtils.copyProperties(record, cylinderFillingRecord);
ids.add(String.valueOf(record.getSequenceNbr()));
}
esCylinderFillingRecordRepository.saveAll(records);
cylinderFillingRecordMapper.updateCylinderFillingToEsStatus(ids);
}
}
......@@ -63,9 +63,6 @@ public class TmCylinderFillingRecordService extends BaseService<TmCylinderFillin
// throw new BadRequest("气瓶标签信息为空.");
syncCylinderFilling(model);
ArrayList<ESCylinderFillingRecordDto> models = Bean.toModels(model, ESCylinderFillingRecordDto.class);
createCylinderFillingRecord(models);
for (TmCylinderFillingRecordModel cylinderFillingRecordModel : model) {
cylinderFillingRecordModel.setRecDate(new Date());
cylinderFillingRecordModel.setAppId(getAppId());
......@@ -77,6 +74,9 @@ public class TmCylinderFillingRecordService extends BaseService<TmCylinderFillin
@DS("tzs")
private void syncCylinderFilling(List<TmCylinderFillingRecordModel> model) {
syncCylinderDataService.syncCylinderFillingRecord(model);
ArrayList<ESCylinderFillingRecordDto> models = Bean.toModels(model, ESCylinderFillingRecordDto.class);
syncCylinderDataService.createCylinderFillingRecord(models);
}
private String getAppId() {
......@@ -89,50 +89,4 @@ public class TmCylinderFillingRecordService extends BaseService<TmCylinderFillin
return baseMapper.getDateList();
}
@DS("tzs")
public void createCylinderFillingRecord(List<ESCylinderFillingRecordDto> cylinderFillingRecord) {
if (!ObjectUtils.isEmpty(cylinderFillingRecord)) {
List<String> appIds = cylinderFillingRecord.stream().map(ESCylinderFillingRecordDto::getAppId).collect(Collectors.toList());
List<String> sequenceCodeS = cylinderFillingRecord.stream().map(ESCylinderFillingRecordDto::getSequenceCode).collect(Collectors.toList());
List<ESCylinderFillingRecordDto> cylinderFillingRecordInfo = cylinderFillingRecordMapper.getCylinderFillingRecordInfo(appIds, sequenceCodeS);
cylinderFillingRecord.stream().map(item -> {
List<ESCylinderFillingRecordDto> collect = cylinderFillingRecordInfo.stream().filter(e -> item.getAppIdAndSequenceCode().equals(e.getAppIdAndSequenceCode())).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(collect)) {
item.setUnitName(collect.get(0).getUnitName());
item.setFactoryNum(collect.get(0).getFactoryNum());
item.setCylinderVariety(collect.get(0).getCylinderVariety());
item.setCylinderVarietyName(collect.get(0).getCylinderVarietyName());
item.setUnitInnerCode(collect.get(0).getUnitInnerCode());
item.setSequenceCode(collect.get(0).getSequenceCode());
item.setQrCode(collect.get(0).getQrCode());
item.setElectronicLabelCode(collect.get(0).getElectronicLabelCode());
item.setAppId(collect.get(0).getAppId());
item.setCreditCode(collect.get(0).getCreditCode());
item.setRegionCode(collect.get(0).getRegionCode());
try {
item.setInspectionDateMs(ObjectUtils.isEmpty(item.getFillingStartTime()) ? 0L : DateUtils.dateParseWithPattern(item.getFillingStartTime()).getTime());
item.setInspectionDateAfterMS(ObjectUtils.isEmpty(item.getFillingEndTime()) ? 0L : DateUtils.dateParseWithPattern(item.getFillingEndTime()).getTime());
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
return item;
}).collect(Collectors.toList());
saveCylinderFillingRecord2ES(cylinderFillingRecord);
}
}
public void saveCylinderFillingRecord2ES(List<ESCylinderFillingRecordDto> records) {
List<String> ids = new ArrayList<>();
for (ESCylinderFillingRecordDto record : records) {
CylinderFillingRecord cylinderFillingRecord = new CylinderFillingRecord();
BeanUtils.copyProperties(record, cylinderFillingRecord);
ids.add(String.valueOf(record.getSequenceNbr()));
}
esCylinderFillingRecordRepository.saveAll(records);
cylinderFillingRecordMapper.updateCylinderFillingToEsStatus(ids);
}
}
......@@ -51,4 +51,7 @@ public class CylinderAreaDataDto extends BaseDto {
@ApiModelProperty(value = "纬度")
private String latitude;
@ApiModelProperty(value = "超期数量")
private Integer outOfDateNum;
}
......@@ -80,4 +80,10 @@ public class CylinderAreaData extends BaseEntity {
*/
@TableField("latitude")
private String latitude;
/**
* 超期数量
*/
@TableField("out_of_date_num")
private Integer outOfDateNum;
}
......@@ -55,6 +55,14 @@ public interface CylinderInfoMapper extends BaseMapper<CylinderInfo> {
Integer getWarnNum(String code);
/**
* 查询超期数量
* @author LiuLin
* @param code 区域code
* @return
*/
Integer getOutOfDateNum(String code);
Integer getMonthInfoTotalUnit(@Param("appId") String appId);
......
......@@ -61,6 +61,11 @@
<select id="getWarnNum" resultType="java.lang.Integer">
select count(1) from view_cylider_outofdate v where v.app_id in (<include refid="selectAPPIdByRegionCode"/>)
</select>
<select id="getOutOfDateNum" resultType="java.lang.Integer">
select count(1) from view_cylider_outofdate v where v.app_id in (<include refid="selectAPPIdByRegionCode"/>)
and v.next_inspection_date <![CDATA[ > ]]> now()
</select>
<select id="getMonthInfoTotalUnit" resultType="java.lang.Integer">
select
......@@ -422,6 +427,7 @@
"app_id" = #{appId}
</if>
</where>
limit 1
</select>
<select id="countNumber" resultType="java.lang.Integer">
......
......@@ -26,7 +26,7 @@
#{item.recUserId},
#{item.syncDate},
#{item.syncState},
#{item.appId}),
#{item.appId},
#{item.scrapQuantity})
</foreach>
on conflict (app_id,sequence_code) do update set
......
......@@ -9,7 +9,7 @@
<insert id="saveOrUpdateBatch" parameterType="com.yeejoin.amos.boot.module.cylinder.flc.api.entity.CylinderTags">
INSERT INTO tz_cylinder_tags"(
INSERT INTO "tz_cylinder_tags"(
sequence_nbr,
sequence_code,
qrcode,
......@@ -44,7 +44,6 @@
"sync_state" = EXCLUDED."sync_state",
"app_id" = EXCLUDED."app_id",
"integrity" = EXCLUDED."integrity",
"security_adm_phone" = EXCLUDED."security_adm_phone",
"gas_cylinder_stamp" = EXCLUDED."gas_cylinder_stamp"
</insert>
......
......@@ -1370,10 +1370,10 @@ public class CylinderInfoController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "资质附件,轮播图用")
@GetMapping(value = "/getAttachmentByUnitCode")
public ResponseModel<List<String>> getAttachmentByUnitCode(String unitCode) {
public ResponseModel<List<String>> getAttachmentByUnitCode(@RequestParam(value = "companyId") String companyId) {
List<String> result = new ArrayList<>();
String attachmentByUnitCode = cylinderInfoServiceImpl.getBaseMapper().getAttachmentByUnitCode(unitCode);
String attachmentByUnitCode = cylinderInfoServiceImpl.getBaseMapper().getAttachmentByUnitCode(companyId);
if (attachmentByUnitCode != null && !attachmentByUnitCode.isEmpty()) {
JSONArray jsonArray = JSON.parseArray(attachmentByUnitCode);
if (jsonArray != null) {
......
......@@ -40,7 +40,7 @@ public class CylinderAreaDataServiceImpl extends BaseService<CylinderAreaDataDto
.regionCode(v.getRegionCode())
.longitude(v.getLongitude())
.latitude(v.getLatitude())
.isAlarm(v.getWarnNum() != 0)
.isAlarm(v.getOutOfDateNum() != 0)
.cylindersCount(v.getCylinderNum())
.stationCount(v.getUnitNum())
.build())
......
......@@ -214,6 +214,10 @@ public class CylinderInfoServiceImpl extends BaseService<CylinderInfoDto, Cylind
return baseMapper.getWarnNum(code);
}
public Integer getOutOfDateNum(String code) {
return baseMapper.getOutOfDateNum(code);
}
/**
* 按单位统计
*/
......@@ -250,7 +254,7 @@ public class CylinderInfoServiceImpl extends BaseService<CylinderInfoDto, Cylind
* 按区域统计
*/
@Transactional(rollbackFor = Exception.class)
@Scheduled(cron = "0 0 2 * * ?")
@Scheduled(cron = "0 0 4 * * ?")
@SchedulerLock(name = "synAreaDataTask", lockAtMostFor = "PT60M")
public void synAreaDataJob() {
this.synAreaData();
......@@ -284,6 +288,7 @@ public class CylinderInfoServiceImpl extends BaseService<CylinderInfoDto, Cylind
temp.setLevel(regionModel.getLevel().trim());
temp.setLatitude(regionModel.getLatitude());
temp.setLongitude(regionModel.getLongitude());
temp.setOutOfDateNum(this.getOutOfDateNum(code));
cylinderAreaDataServiceImpl.createWithModel(temp);
});
}
......
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