Commit cff1d672 authored by tianyiming's avatar tianyiming

两员配备说明统计接口

parent 57b0f54a
...@@ -110,6 +110,8 @@ public class ControllerAop { ...@@ -110,6 +110,8 @@ public class ControllerAop {
urls.add("/elevator/alert-called/save"); urls.add("/elevator/alert-called/save");
urls.add("/tcm/base-institution/register"); urls.add("/tcm/base-institution/register");
urls.add("/tcm/base-individuality/person/register"); urls.add("/tcm/base-individuality/person/register");
urls.add("/tcm/userInfo/arrangement-statistic");
urls.add("/tcm/userInfo/arrangement-statistic");
// 获取请求路径 // 获取请求路径
for (String uri : urls) { for (String uri : urls) {
Pattern p = Pattern.compile(uri); Pattern p = Pattern.compile(uri);
......
...@@ -7,6 +7,10 @@ import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo; ...@@ -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.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Map;
public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> { public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> {
Page<TzsUserInfoDto> selectPageMessage(@Param("page") Page<TzsUserInfoDto> page, @Param("dto") TzsUserInfoDto dto); 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> { ...@@ -26,4 +26,5 @@ public interface ITzsUserInfoService extends IService<TzsUserInfo> {
List<Map<String, Object>> getEquipmentType(String creditCode); List<Map<String, Object>> getEquipmentType(String creditCode);
Map<String,Integer> getArrangementStatistic(String companyCode);
} }
...@@ -51,4 +51,19 @@ ...@@ -51,4 +51,19 @@
</where> </where>
order by rec_date desc order by rec_date desc
</select> </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> </mapper>
\ No newline at end of file
...@@ -4,7 +4,10 @@ import com.alibaba.fastjson.JSON; ...@@ -4,7 +4,10 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.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.dto.TzsUserInfoDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo; import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserQualifications; import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserQualifications;
...@@ -41,6 +44,8 @@ public class TzsUserInfoController extends BaseController { ...@@ -41,6 +44,8 @@ public class TzsUserInfoController extends BaseController {
@Autowired @Autowired
private ITzsUserInfoService tzsUserInfoService; private ITzsUserInfoService tzsUserInfoService;
@Autowired
RedisUtils redisUtils;
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save") @PostMapping(value = "/save")
...@@ -48,12 +53,16 @@ public class TzsUserInfoController extends BaseController { ...@@ -48,12 +53,16 @@ public class TzsUserInfoController extends BaseController {
public ResponseModel<TzsUserInfoDto> save(@RequestBody JSONObject map) { public ResponseModel<TzsUserInfoDto> save(@RequestBody JSONObject map) {
Map<String, Object> userInfo = (Map<String, Object>)map.get("userInfo"); Map<String, Object> userInfo = (Map<String, Object>)map.get("userInfo");
TzsUserInfoDto tzsUserInfo = JSON.parseObject(JSON.toJSONString(userInfo), TzsUserInfoDto.class); TzsUserInfoDto tzsUserInfo = JSON.parseObject(JSON.toJSONString(userInfo), TzsUserInfoDto.class);
List<CompanyModel> companyModels = FeignUtil.remoteCall(()->Privilege.companyClient.queryListByChild(RequestContext.getExeUserId())); ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if(companyModels.isEmpty()){ if (ObjectUtils.isEmpty(reginParams)) {
return null;
}
CompanyModel companyModel = reginParams.getUserModel().getCompanys().get(0);
if(ObjectUtils.isEmpty(companyModel)){
throw new BadRequest("未指定人员归属单位信息"); throw new BadRequest("未指定人员归属单位信息");
} }
tzsUserInfo.setUnitName(companyModels.get(0).getCompanyName()); tzsUserInfo.setUnitName(companyModel.getCompanyName());
tzsUserInfo.setUnitCode(companyModels.get(0).getCompanyCode()); tzsUserInfo.setUnitCode(companyModel.getCompanyCode());
tzsUserInfo.setRecDate(new Date()); tzsUserInfo.setRecDate(new Date());
Map<String, Object> qualificationsInfo = (Map<String, Object>)map.get("qualificationsInfo"); Map<String, Object> qualificationsInfo = (Map<String, Object>)map.get("qualificationsInfo");
Object subForm = qualificationsInfo.get("subForm"); Object subForm = qualificationsInfo.get("subForm");
...@@ -74,12 +83,16 @@ public class TzsUserInfoController extends BaseController { ...@@ -74,12 +83,16 @@ public class TzsUserInfoController extends BaseController {
@RequestParam Long rowId) { @RequestParam Long rowId) {
Map<String, Object> userInfo = (Map<String, Object>)map.get("userInfo"); Map<String, Object> userInfo = (Map<String, Object>)map.get("userInfo");
TzsUserInfo tzsUserInfo = JSON.parseObject(JSON.toJSONString(userInfo), TzsUserInfo.class); TzsUserInfo tzsUserInfo = JSON.parseObject(JSON.toJSONString(userInfo), TzsUserInfo.class);
List<CompanyModel> companyModels = FeignUtil.remoteCall(()->Privilege.companyClient.queryListByChild(RequestContext.getExeUserId())); ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if(companyModels.isEmpty()){ if (ObjectUtils.isEmpty(reginParams)) {
return null;
}
CompanyModel companyModel = reginParams.getUserModel().getCompanys().get(0);
if(ObjectUtils.isEmpty(companyModel)){
throw new BadRequest("未指定人员归属单位信息"); throw new BadRequest("未指定人员归属单位信息");
} }
tzsUserInfo.setUnitName(companyModels.get(0).getCompanyName()); tzsUserInfo.setUnitName(companyModel.getCompanyName());
tzsUserInfo.setUnitCode(companyModels.get(0).getCompanyCode()); tzsUserInfo.setUnitCode(companyModel.getCompanyCode());
Map<String, Object> qualificationsInfo = (Map<String, Object>)map.get("qualificationsInfo"); Map<String, Object> qualificationsInfo = (Map<String, Object>)map.get("qualificationsInfo");
Object subForm = qualificationsInfo.get("subForm"); Object subForm = qualificationsInfo.get("subForm");
List<TzsUserQualifications> list = JSON.parseArray(JSON.toJSONString(subForm), TzsUserQualifications.class); List<TzsUserQualifications> list = JSON.parseArray(JSON.toJSONString(subForm), TzsUserQualifications.class);
...@@ -119,11 +132,15 @@ public class TzsUserInfoController extends BaseController { ...@@ -119,11 +132,15 @@ public class TzsUserInfoController extends BaseController {
@RequestParam(value = "size") String size, @RequestParam(value = "size") String size,
TzsUserInfoDto dto) { TzsUserInfoDto dto) {
List<CompanyModel> companyModels = FeignUtil.remoteCall(()->Privilege.companyClient.queryListByChild(RequestContext.getExeUserId())); ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if(companyModels.isEmpty()){ if (ObjectUtils.isEmpty(reginParams)) {
return null;
}
CompanyModel companyModel = reginParams.getUserModel().getCompanys().get(0);
if(ObjectUtils.isEmpty(companyModel)){
throw new BadRequest("未指定人员归属单位信息"); throw new BadRequest("未指定人员归属单位信息");
} }
dto.setUnitCode(companyModels.get(0).getCompanyCode()); dto.setUnitCode(companyModel.getCompanyCode());
Page<TzsUserInfoDto> page = new Page<>(); Page<TzsUserInfoDto> page = new Page<>();
page.setCurrent(Long.parseLong(current)); page.setCurrent(Long.parseLong(current));
page.setSize(Long.parseLong(size)); page.setSize(Long.parseLong(size));
...@@ -152,4 +169,16 @@ public class TzsUserInfoController extends BaseController { ...@@ -152,4 +169,16 @@ public class TzsUserInfoController extends BaseController {
return ResponseHelper.buildResponse(tzsUserInfoService.getEquipmentType(creditCode)); 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 ...@@ -294,4 +294,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
} }
return new ArrayList<>(); 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