Commit cff1d672 authored by tianyiming's avatar tianyiming

两员配备说明统计接口

parent 57b0f54a
......@@ -110,6 +110,8 @@ public class ControllerAop {
urls.add("/elevator/alert-called/save");
urls.add("/tcm/base-institution/register");
urls.add("/tcm/base-individuality/person/register");
urls.add("/tcm/userInfo/arrangement-statistic");
urls.add("/tcm/userInfo/arrangement-statistic");
// 获取请求路径
for (String uri : urls) {
Pattern p = Pattern.compile(uri);
......
......@@ -7,6 +7,10 @@ import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> {
Page<TzsUserInfoDto> selectPageMessage(@Param("page") Page<TzsUserInfoDto> page, @Param("dto") TzsUserInfoDto dto);
Map<String, Integer> getArrangementStatistic(String companyCode);
}
......@@ -26,4 +26,5 @@ public interface ITzsUserInfoService extends IService<TzsUserInfo> {
List<Map<String, Object>> getEquipmentType(String creditCode);
Map<String,Integer> getArrangementStatistic(String companyCode);
}
......@@ -51,4 +51,19 @@
</where>
order by rec_date desc
</select>
<select id="getArrangementStatistic" resultType="java.util.Map">
SELECT
(SELECT count(1) FROM "tzs_user_info" WHERE unit_code= #{companyCode} AND post_name like '%主要负责人%') principal,
(SELECT count(1) FROM "tzs_user_info" WHERE unit_code= #{companyCode} AND post_name like '%安全总监%') majordomo,
(SELECT count(1) FROM "tzs_user_info" WHERE unit_code= #{companyCode} AND post_name like '%安全员%') safety,
(SELECT COUNT( * )
FROM
"idx_biz_jg_use_info" ibjui
LEFT JOIN idx_biz_jg_other_info ibjoi ON ibjui."RECORD" = ibjoi."RECORD"
WHERE
"USE_UNIT_CREDIT_CODE" = #{companyCode}
AND "CLAIM_STATUS" = '已认领'
AND ibjui."SEQUENCE_NBR" NOT IN ( SELECT DISTINCT equip_id FROM tzs_user_equip WHERE credit_code = #{companyCode} )) notBindSum;
</select>
</mapper>
\ No newline at end of file
......@@ -4,7 +4,10 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsUserInfoDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserQualifications;
......@@ -41,6 +44,8 @@ public class TzsUserInfoController extends BaseController {
@Autowired
private ITzsUserInfoService tzsUserInfoService;
@Autowired
RedisUtils redisUtils;
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
......@@ -48,12 +53,16 @@ public class TzsUserInfoController extends BaseController {
public ResponseModel<TzsUserInfoDto> save(@RequestBody JSONObject map) {
Map<String, Object> userInfo = (Map<String, Object>)map.get("userInfo");
TzsUserInfoDto tzsUserInfo = JSON.parseObject(JSON.toJSONString(userInfo), TzsUserInfoDto.class);
List<CompanyModel> companyModels = FeignUtil.remoteCall(()->Privilege.companyClient.queryListByChild(RequestContext.getExeUserId()));
if(companyModels.isEmpty()){
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (ObjectUtils.isEmpty(reginParams)) {
return null;
}
CompanyModel companyModel = reginParams.getUserModel().getCompanys().get(0);
if(ObjectUtils.isEmpty(companyModel)){
throw new BadRequest("未指定人员归属单位信息");
}
tzsUserInfo.setUnitName(companyModels.get(0).getCompanyName());
tzsUserInfo.setUnitCode(companyModels.get(0).getCompanyCode());
tzsUserInfo.setUnitName(companyModel.getCompanyName());
tzsUserInfo.setUnitCode(companyModel.getCompanyCode());
tzsUserInfo.setRecDate(new Date());
Map<String, Object> qualificationsInfo = (Map<String, Object>)map.get("qualificationsInfo");
Object subForm = qualificationsInfo.get("subForm");
......@@ -74,12 +83,16 @@ public class TzsUserInfoController extends BaseController {
@RequestParam Long rowId) {
Map<String, Object> userInfo = (Map<String, Object>)map.get("userInfo");
TzsUserInfo tzsUserInfo = JSON.parseObject(JSON.toJSONString(userInfo), TzsUserInfo.class);
List<CompanyModel> companyModels = FeignUtil.remoteCall(()->Privilege.companyClient.queryListByChild(RequestContext.getExeUserId()));
if(companyModels.isEmpty()){
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (ObjectUtils.isEmpty(reginParams)) {
return null;
}
CompanyModel companyModel = reginParams.getUserModel().getCompanys().get(0);
if(ObjectUtils.isEmpty(companyModel)){
throw new BadRequest("未指定人员归属单位信息");
}
tzsUserInfo.setUnitName(companyModels.get(0).getCompanyName());
tzsUserInfo.setUnitCode(companyModels.get(0).getCompanyCode());
tzsUserInfo.setUnitName(companyModel.getCompanyName());
tzsUserInfo.setUnitCode(companyModel.getCompanyCode());
Map<String, Object> qualificationsInfo = (Map<String, Object>)map.get("qualificationsInfo");
Object subForm = qualificationsInfo.get("subForm");
List<TzsUserQualifications> list = JSON.parseArray(JSON.toJSONString(subForm), TzsUserQualifications.class);
......@@ -119,11 +132,15 @@ public class TzsUserInfoController extends BaseController {
@RequestParam(value = "size") String size,
TzsUserInfoDto dto) {
List<CompanyModel> companyModels = FeignUtil.remoteCall(()->Privilege.companyClient.queryListByChild(RequestContext.getExeUserId()));
if(companyModels.isEmpty()){
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (ObjectUtils.isEmpty(reginParams)) {
return null;
}
CompanyModel companyModel = reginParams.getUserModel().getCompanys().get(0);
if(ObjectUtils.isEmpty(companyModel)){
throw new BadRequest("未指定人员归属单位信息");
}
dto.setUnitCode(companyModels.get(0).getCompanyCode());
dto.setUnitCode(companyModel.getCompanyCode());
Page<TzsUserInfoDto> page = new Page<>();
page.setCurrent(Long.parseLong(current));
page.setSize(Long.parseLong(size));
......@@ -152,4 +169,16 @@ public class TzsUserInfoController extends BaseController {
return ResponseHelper.buildResponse(tzsUserInfoService.getEquipmentType(creditCode));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/arrangement-statistic")
@ApiOperation(httpMethod = "GET", value = "两员配备说明统计", notes = "两员配备说明统计")
public ResponseModel<Map<String,Integer>> arrangementStatistic() {
List<CompanyModel> companyModels = FeignUtil.remoteCall(()->Privilege.companyClient.queryListByChild(RequestContext.getExeUserId()));
if(companyModels.isEmpty()){
throw new BadRequest("未指定人员归属单位信息");
}
return ResponseHelper.buildResponse(tzsUserInfoService.getArrangementStatistic(companyModels.get(0).getCompanyCode()));
}
}
......@@ -294,4 +294,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
}
return new ArrayList<>();
}
@Override
public Map<String, Integer> getArrangementStatistic(String companyCode) {
return tzsUserInfoMapper.getArrangementStatistic(companyCode);
}
}
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