Commit 8183b5b6 authored by hcing's avatar hcing

fix(jg): 安全追溯刷入区域信息+历史数据处理

parent 1667e227
...@@ -14,43 +14,52 @@ public enum UserPostEnum { ...@@ -14,43 +14,52 @@ public enum UserPostEnum {
//质量安全员 //质量安全员
ZLAQY("质量安全员","6551","1"), ZLAQY("质量安全员","6551","1"),
//作业人员 //作业人员
ZYRY("作业人员", "6552", "1,2,3,4,5"), ZYRY("作业人员", "6552", "1,2,3"),
//检验人员 //检验人员
ZJRY("检验人员", "66151", "1,4,5"), ZJRY("检验人员", "66151", "1,2,4,5"),
//检测人员 //检测人员
JCRY("检测人员", "66152", "1,4,5"), JCRY("检测人员", "66152", "1,2,4,5"),
//安全总监 //安全总监
AQZJ("安全总监","6547","2,3"), AQZJ("安全总监","6547","2,3"),
//安全员 //安全员
AQY("安全员","6549","2,3"), AQY("安全员","6549","2,3"),
// todo hcing
JSFZR("技术负责人","6660",""),
SJRY("设计人员","6661",""), JSFZR("技术负责人", "6660", "1,3,4,5"),
JSRY("技术人员","6662",""), SJRY("设计人员", "6661", "1"),
ZLJYRY("质量检验人员","6663",""), JSRY("技术人员", "6662", "1"),
XMFZR("项目负责人","6664",""), ZLJYRY("质量检验人员", "6663", "1"),
LHJYRY("理化检验人员","6665",""), XMFZR("项目负责人", "6664", "1"),
HYRY("化验人员","6666",""), LHJYRY("理化检验人员", "6665", "1"),
JYJCQYFZR("检验检测区域负责人","6667",""), HYRY("化验人员", "6666", "3"),
AQGLY("安全管理员","6617",""), JYJCQYFZR("检验检测区域负责人", "6667", "1,2,4,5"),
ZLFZR("质量负责人","质量负责人",""), AQGLY("安全管理员", "6617", "2"),
ZRS("责任师","责任师",""), ZLFZR("质量负责人", "6761", "4,5"),
JCARY("检查人员","责任师",""), ZRS("责任师", "6762", "4,5"),
JCARY("检查人员", "6763", "3"),
//质量保证体系人员(非字典表字段,后期修改code) FXBSY("风险报送员", "6766", "1,2,3,4,5"),
ZLBZTXRY("质量保证体系人员", "6619", "1,3,4,5");
YWFZR("业务负责人", "6767", "1,2,4,5"),
PTYG("普通员工", "6546", "1,2,3,4,5"),
YWBLRY("业务办理人员", "6616", "1,2,3,4,5"),
AGWFZR("安改维负责人", "6553", "1"),
// 质量保证体系人员
ZLBZTXRY("质量保证体系人员", "6619", "1");
String name; String name;
String code; String code;
......
...@@ -340,4 +340,11 @@ public class DataHandlerController extends BaseController { ...@@ -340,4 +340,11 @@ public class DataHandlerController extends BaseController {
@RequestParam(value = "num", defaultValue = "10") String num) { @RequestParam(value = "num", defaultValue = "10") String num) {
return ResponseHelper.buildResponse(dataHandlerService.generateSeq(num)); return ResponseHelper.buildResponse(dataHandlerService.generateSeq(num));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "安全追溯表历史数据刷入reginCode和reginName", notes = "安全追溯表历史数据刷入reginCode和reginName")
@GetMapping(value = "/safetyProblemData/writeRegionCodeAndName")
public ResponseModel<String> safetyProblemDataWriteRegionCodeAndName() {
return ResponseHelper.buildResponse(dataHandlerService.safetyProblemDataWriteRegionCodeAndName());
}
} }
\ No newline at end of file
...@@ -4,20 +4,21 @@ import com.alibaba.fastjson.JSON; ...@@ -4,20 +4,21 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.module.common.api.entity.TzsUserPermission;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.jg.api.entity.SafetyProblemTracing; import com.yeejoin.amos.boot.module.jg.api.entity.SafetyProblemTracing;
import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemSourceTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemSourceTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.event.SafetyProblemEvent; import com.yeejoin.amos.boot.module.jg.api.event.SafetyProblemEvent;
import com.yeejoin.amos.boot.module.jg.api.event.handler.SafetyProblemEventHandler; import com.yeejoin.amos.boot.module.jg.api.event.handler.SafetyProblemEventHandler;
import com.yeejoin.amos.boot.module.jg.api.mapper.SafetyProblemTracingMapper;
import com.yeejoin.amos.boot.module.jg.biz.handler.SafetyProblemEventHandlerFactory; import com.yeejoin.amos.boot.module.jg.biz.handler.SafetyProblemEventHandlerFactory;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgOtherInfoServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.SafetyProblemTracingServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.SafetyProblemTracingServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.StartPlatformTokenService; import com.yeejoin.amos.boot.module.ymt.api.entity.BaseUnitLicence;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttMessage; import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -30,6 +31,7 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil; ...@@ -30,6 +31,7 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy; import javax.annotation.PreDestroy;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.concurrent.BlockingQueue; import java.util.concurrent.BlockingQueue;
...@@ -54,20 +56,32 @@ public class SafetyProblemTopicMessage extends EmqxListener { ...@@ -54,20 +56,32 @@ public class SafetyProblemTopicMessage extends EmqxListener {
@Value("${safety.problem.tracing.topic:safetyProblemTracing/#}") @Value("${safety.problem.tracing.topic:safetyProblemTracing/#}")
private String problemEventTopic; private String problemEventTopic;
@Autowired private static TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
RedisUtils redisUtil; private static BaseUnitLicenceMapper baseUnitLicenceMapper;
private static IdxBizJgUseInfoMapper idxBizJgUseInfoMapper;
private static TzsUserPermissionMapper tzsUserPermissionMapper;
private static TzsUserInfoMapper tzsUserInfoMapper;
@Autowired @Autowired
StartPlatformTokenService platformTokenService; public void setTzBaseEnterpriseInfoMapper(TzBaseEnterpriseInfoMapper mapper) {
SafetyProblemTopicMessage.tzBaseEnterpriseInfoMapper = mapper;
}
@Autowired @Autowired
SafetyProblemTracingMapper safetyProblemTracingMapper; public void setBaseUnitLicenceMapper(BaseUnitLicenceMapper mapper) {
SafetyProblemTopicMessage.baseUnitLicenceMapper = mapper;
}
@Autowired @Autowired
IdxBizJgOtherInfoServiceImpl idxBizJgOtherInfoService; public void setIdxBizJgUseInfoMapper(IdxBizJgUseInfoMapper mapper) {
SafetyProblemTopicMessage.idxBizJgUseInfoMapper = mapper;
}
@Autowired @Autowired
ESEquipmentCategory esEquipmentCategory; public void setTzsUserPermissionMapper(TzsUserPermissionMapper mapper) {
SafetyProblemTopicMessage.tzsUserPermissionMapper = mapper;
}
@Autowired
public void setTzsUserInfoMapper(TzsUserInfoMapper mapper) {
SafetyProblemTopicMessage.tzsUserInfoMapper = mapper;
}
private final BlockingQueue<SafetyProblemEvent> blockingQueue = new LinkedBlockingQueue<>(); private final BlockingQueue<SafetyProblemEvent> blockingQueue = new LinkedBlockingQueue<>();
...@@ -151,8 +165,9 @@ public class SafetyProblemTopicMessage extends EmqxListener { ...@@ -151,8 +165,9 @@ public class SafetyProblemTopicMessage extends EmqxListener {
safetyProblemTracing.setGoverningBodyCode(json.getOrDefault("COMPANY_ORG_BRANCH_CODE", "").toString()); safetyProblemTracing.setGoverningBodyCode(json.getOrDefault("COMPANY_ORG_BRANCH_CODE", "").toString());
safetyProblemTracing.setGoverningBodyOrgCode(json.getOrDefault("ORG_BRANCH_CODE", "").toString()); safetyProblemTracing.setGoverningBodyOrgCode(json.getOrDefault("ORG_BRANCH_CODE", "").toString());
safetyProblemTracing.setExtraInfo(json.getOrDefault("extraInfo", "").toString()); safetyProblemTracing.setExtraInfo(json.getOrDefault("extraInfo", "").toString());
// safetyProblemTracing.setRegionName(json.getString("regionName")); JSONObject region = getRegionBySourceTypeAndId(SafetyProblemSourceTypeEnum.EQUIP.getName(), json.getOrDefault("RECORD", "").toString());
safetyProblemTracing.setRegionCode(json.getString("regionCode")); safetyProblemTracing.setRegionName(region.getString("regionName"));
safetyProblemTracing.setRegionCode(region.getString("regionCode"));
safetyProblemTracing.setCreateDate(new Date()); safetyProblemTracing.setCreateDate(new Date());
// safetyProblemTracing.setCreateUser(json.getString("createUser")); // safetyProblemTracing.setCreateUser(json.getString("createUser"));
// safetyProblemTracing.setCreateUserId(json.getString("createUserId")); // safetyProblemTracing.setCreateUserId(json.getString("createUserId"));
...@@ -168,6 +183,71 @@ public class SafetyProblemTopicMessage extends EmqxListener { ...@@ -168,6 +183,71 @@ public class SafetyProblemTopicMessage extends EmqxListener {
} }
} }
/**
* 根据SourceType和SourceId 获取所属区域的code name
*
* @param sourceType SafetyProblemSourceTypeEnum
* @param sourceId 设备record/企业许可id/人员资质id
* @return JSONObject
*/
public static JSONObject getRegionBySourceTypeAndId(String sourceType, String sourceId) {
String regionCode = "";
String regionName = "";
if (SafetyProblemSourceTypeEnum.EQUIP.getName().equals(sourceType)) {
// 取设备的使用地点
JSONObject usePlaceAndCode = idxBizJgUseInfoMapper.getUsePlaceAndCodeByRecord(sourceId);
if (null != usePlaceAndCode) {
regionCode = usePlaceAndCode.getString("USE_PLACE_CODE");
regionName = usePlaceAndCode.getString("USE_PLACE");
}
}
if (SafetyProblemSourceTypeEnum.UNIT.getName().equals(sourceType)) {
// 单位的注册地点
BaseUnitLicence baseUnitLicence = baseUnitLicenceMapper.selectById(sourceId);
if (baseUnitLicence != null) {
String unitCode = baseUnitLicence.getUnitCode();
TzBaseEnterpriseInfo enterpriseInfo = tzBaseEnterpriseInfoMapper.selectOne(new LambdaQueryWrapper<TzBaseEnterpriseInfo>().eq(TzBaseEnterpriseInfo::getUseUnitCode, unitCode));
if (enterpriseInfo != null) {
// regionCode 目前数据不支持,暂定为空
regionCode = null;
regionName = String.join("/", getRegionParts(enterpriseInfo));
}
}
}
if (SafetyProblemSourceTypeEnum.PERSONNEL.getName().equals(sourceType)) {
// 人员所在单位的单位地点
TzsUserPermission userPermission = tzsUserPermissionMapper.selectById(sourceId);
if (userPermission != null) {
Long userSeq = userPermission.getUserSeq();
TzsUserInfo userInfo = tzsUserInfoMapper.selectById(userSeq);
if (userInfo != null) {
String unitCode = userInfo.getUnitCode();
TzBaseEnterpriseInfo enterpriseInfo = tzBaseEnterpriseInfoMapper.selectOne(new LambdaQueryWrapper<TzBaseEnterpriseInfo>().eq(TzBaseEnterpriseInfo::getUseUnitCode, unitCode));
if (enterpriseInfo != null) {
// regionCode 目前数据不支持,暂定为空
regionCode = null;
regionName = String.join("/", getRegionParts(enterpriseInfo));
}
}
}
}
return new JSONObject().fluentPut("regionCode", regionCode).fluentPut("regionName", regionName);
}
private static List<String> getRegionParts(TzBaseEnterpriseInfo enterpriseInfo) {
List<String> regionParts = new ArrayList<>();
if (enterpriseInfo.getProvince() != null && !enterpriseInfo.getProvince().isEmpty()) {
regionParts.add(enterpriseInfo.getProvince());
}
if (enterpriseInfo.getCity() != null && !enterpriseInfo.getCity().isEmpty()) {
regionParts.add(enterpriseInfo.getCity());
}
if (enterpriseInfo.getDistrict() != null && !enterpriseInfo.getDistrict().isEmpty()) {
regionParts.add(enterpriseInfo.getDistrict());
}
return regionParts;
}
public static Date getProblemTime(JSONObject json) { public static Date getProblemTime(JSONObject json) {
// 安全处理problemTime字段,支持时间戳转换 // 安全处理problemTime字段,支持时间戳转换
Object problemTimeObj = json.getOrDefault("problemTime", ""); Object problemTimeObj = json.getOrDefault("problemTime", "");
...@@ -216,6 +296,9 @@ public class SafetyProblemTopicMessage extends EmqxListener { ...@@ -216,6 +296,9 @@ public class SafetyProblemTopicMessage extends EmqxListener {
safetyProblemTracing.setGoverningBodyOrgCode(json.getOrDefault("superviseOrgCode", "").toString()); safetyProblemTracing.setGoverningBodyOrgCode(json.getOrDefault("superviseOrgCode", "").toString());
safetyProblemTracing.setUserName(ValidationUtil.isEmpty(json.getString("userName")) ? null : json.getString("userName")); safetyProblemTracing.setUserName(ValidationUtil.isEmpty(json.getString("userName")) ? null : json.getString("userName"));
safetyProblemTracing.setCreateDate(new Date()); safetyProblemTracing.setCreateDate(new Date());
JSONObject region = getRegionBySourceTypeAndId(json.getString("sourceType"), json.getString("problemSourceId"));
safetyProblemTracing.setRegionName(region.getString("regionName"));
safetyProblemTracing.setRegionCode(region.getString("regionCode"));
safetyProblemTracing.setProblemStatus(SafetyProblemStatusEnum.UNHANDLED.getName()); safetyProblemTracing.setProblemStatus(SafetyProblemStatusEnum.UNHANDLED.getName());
safetyProblemTracing.setProblemStatusCode(SafetyProblemStatusEnum.UNHANDLED.getCode()); safetyProblemTracing.setProblemStatusCode(SafetyProblemStatusEnum.UNHANDLED.getCode());
return safetyProblemTracing; return safetyProblemTracing;
......
...@@ -42,6 +42,7 @@ import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemTypeEnum; ...@@ -42,6 +42,7 @@ import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.*; import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.handler.strategy.ProblemHandleStrategy; import com.yeejoin.amos.boot.module.jg.biz.handler.strategy.ProblemHandleStrategy;
import com.yeejoin.amos.boot.module.jg.biz.listener.SafetyProblemTopicMessage;
import com.yeejoin.amos.boot.module.jg.biz.refresh.StatisticsDataUpdateService; import com.yeejoin.amos.boot.module.jg.biz.refresh.StatisticsDataUpdateService;
import com.yeejoin.amos.boot.module.ymt.api.dto.EquipWaitRefreshDataQualityScore; import com.yeejoin.amos.boot.module.ymt.api.dto.EquipWaitRefreshDataQualityScore;
import com.yeejoin.amos.boot.module.ymt.api.dto.ProjectWaitRefreshDataQualityScore; import com.yeejoin.amos.boot.module.ymt.api.dto.ProjectWaitRefreshDataQualityScore;
...@@ -129,7 +130,6 @@ public class DataHandlerServiceImpl { ...@@ -129,7 +130,6 @@ public class DataHandlerServiceImpl {
private final CategoryOtherInfoMapper categoryOtherInfoMapper; private final CategoryOtherInfoMapper categoryOtherInfoMapper;
private final CommonMapper commonMapper; private final CommonMapper commonMapper;
private final ProblemHandleStrategy equipmentStrategy; private final ProblemHandleStrategy equipmentStrategy;
;
private final SafetyProblemTracingServiceImpl safetyProblemTracingService; private final SafetyProblemTracingServiceImpl safetyProblemTracingService;
private final JgChangeRegistrationUnitServiceImpl jgChangeRegistrationUnitService; private final JgChangeRegistrationUnitServiceImpl jgChangeRegistrationUnitService;
private final JgChangeRegistrationUnitEqServiceImpl jgChangeRegistrationUnitEqService; private final JgChangeRegistrationUnitEqServiceImpl jgChangeRegistrationUnitEqService;
...@@ -1547,6 +1547,7 @@ public class DataHandlerServiceImpl { ...@@ -1547,6 +1547,7 @@ public class DataHandlerServiceImpl {
return license; return license;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
public Integer initEquipStatistData2EsBatch() { public Integer initEquipStatistData2EsBatch() {
log.info("综合统计设备信息入库开始"); log.info("综合统计设备信息入库开始");
StopWatch watch = new StopWatch(); StopWatch watch = new StopWatch();
...@@ -2062,7 +2063,7 @@ public class DataHandlerServiceImpl { ...@@ -2062,7 +2063,7 @@ public class DataHandlerServiceImpl {
map.put("record", dto.getSEQUENCE_NBR()); map.put("record", dto.getSEQUENCE_NBR());
map.put("orgBranchCode", dto.getORG_BRANCH_CODE()); map.put("orgBranchCode", dto.getORG_BRANCH_CODE());
map.put("orgBranchName", dto.getORG_BRANCH_NAME()); map.put("orgBranchName", dto.getORG_BRANCH_NAME());
log.info("==========>record,{},orgBranchCode,{},orgBranchName,{}",dto.getSEQUENCE_NBR(),dto.getORG_BRANCH_CODE(),dto.getORG_BRANCH_NAME()); log.info("==========>record,{},orgBranchCode,{},orgBranchName,{}", dto.getSEQUENCE_NBR(), dto.getORG_BRANCH_CODE(), dto.getORG_BRANCH_NAME());
return map; return map;
} }
...@@ -2148,4 +2149,24 @@ public class DataHandlerServiceImpl { ...@@ -2148,4 +2149,24 @@ public class DataHandlerServiceImpl {
} }
return result; return result;
} }
public String safetyProblemDataWriteRegionCodeAndName() {
int maxNum = 5000;
int pageNum = 1;
int result;
int count = result = safetyProblemTracingService.count();
while (count > 0) {
Page<SafetyProblemTracing> page = new Page<>(pageNum++, maxNum);
IPage<SafetyProblemTracing> safetyProblemTracingIPage = safetyProblemTracingService.page(page);
List<SafetyProblemTracing> safetyProblemTracingList = safetyProblemTracingIPage.getRecords();
safetyProblemTracingList.parallelStream().forEach(x -> {
JSONObject region = SafetyProblemTopicMessage.getRegionBySourceTypeAndId(x.getSourceType(), x.getSourceId());
x.setRegionCode(region.getString("regionCode"));
x.setRegionName(region.getString("regionName"));
});
safetyProblemTracingService.saveOrUpdateBatch(safetyProblemTracingList);
count -= maxNum;
}
return String.format("刷新数据数量:%s", result);
}
} }
package com.yeejoin.amos.boot.module.ymt.api.mapper; package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.mapper.CustomBaseMapper; import com.yeejoin.amos.boot.module.common.api.mapper.CustomBaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.dto.EquipWaitRefreshDataQualityScore; import com.yeejoin.amos.boot.module.ymt.api.dto.EquipWaitRefreshDataQualityScore;
import com.yeejoin.amos.boot.module.ymt.api.dto.RefreshDataDto; import com.yeejoin.amos.boot.module.ymt.api.dto.RefreshDataDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -42,4 +44,5 @@ public interface IdxBizJgUseInfoMapper extends CustomBaseMapper<IdxBizJgUseInfo> ...@@ -42,4 +44,5 @@ public interface IdxBizJgUseInfoMapper extends CustomBaseMapper<IdxBizJgUseInfo>
Page<String> selectPiPeRecords(Page<String> page); Page<String> selectPiPeRecords(Page<String> page);
JSONObject getUsePlaceAndCodeByRecord(@Param("record") String record);
} }
...@@ -69,6 +69,14 @@ ...@@ -69,6 +69,14 @@
WHERE WHERE
ibjui."RECORD" = #{record} ibjui."RECORD" = #{record}
</select> </select>
<select id="getUsePlaceAndCodeByRecord" resultType="com.alibaba.fastjson.JSONObject">
SELECT concat_ws('/', ibjui."PROVINCE_NAME", ibjui."CITY_NAME", ibjui."COUNTY_NAME",
ibjui."STREET_NAME") AS "USE_PLACE",
concat_ws('#', ibjui."PROVINCE", ibjui."CITY", ibjui."COUNTY",
ibjui."FACTORY_USE_SITE_STREET") AS "USE_PLACE_CODE"
FROM idx_biz_jg_use_info ibjui
WHERE ibjui."RECORD" = #{record}
</select>
<update id="updateVersionBatch"> <update id="updateVersionBatch">
<foreach collection="records" separator=";" item="record" open="" close=""> <foreach collection="records" separator=";" item="record" open="" close="">
UPDATE idx_biz_jg_use_info SET "VERSION"=#{version} WHERE record = #{record} UPDATE idx_biz_jg_use_info SET "VERSION"=#{version} WHERE record = #{record}
......
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