宏源优化
This commit is contained in:
parent
d87b48f693
commit
2687a26327
|
|
@ -174,7 +174,11 @@ public class PushProDataUseInfoController extends BaseController {
|
|||
}
|
||||
}
|
||||
|
||||
// 检验临期和检验超期数量
|
||||
/**
|
||||
* 机具物资检验临期和检验超期数量
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "getApproachingAndTimeout")
|
||||
public AjaxResult getApproachingAndTimeout(ProIdsBean bean) {
|
||||
try {
|
||||
|
|
@ -194,40 +198,7 @@ public class PushProDataUseInfoController extends BaseController {
|
|||
@GetMapping(value = "getHyCheckingTimeout")
|
||||
public AjaxResult getHyCheckTimeout(ProIdsBean bean) {
|
||||
try {
|
||||
StaticsNumsBean results = new StaticsNumsBean();
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
map.put("projectId", bean.getProjectId());
|
||||
map.put("projectName", bean.getProjectName());
|
||||
String body = JSONObject.toJSONString(map);
|
||||
// 检验临期接口路径
|
||||
String url = "http://10.138.55.101:21021/iws/hystw/backstage/machine/getHyNearWarnList";
|
||||
String data = HttpHelper.sendHttpPost(url, body);
|
||||
JSONObject object = JSONObject.parseObject(data);
|
||||
System.out.println(data);
|
||||
String code = object.getString("res");
|
||||
if ("1".equals(code)) {
|
||||
JSONObject obj = object.getJSONObject("obj");
|
||||
JSONArray dataArray = obj.getJSONArray("list");
|
||||
// 临期数量
|
||||
int num = dataArray.size();
|
||||
results.setApproachingNum(BigDecimal.valueOf(num));
|
||||
System.out.println("数组大小: " + dataArray.size());
|
||||
}
|
||||
|
||||
// 检验超期接口路径
|
||||
String url1 = "http://10.138.55.101:21021/iws/hystw/backstage/machine/getHyOverWarnList";
|
||||
String overData = HttpHelper.sendHttpPost(url1, body);
|
||||
JSONObject overObject = JSONObject.parseObject(overData);
|
||||
System.out.println(overObject);
|
||||
String overCode = overObject.getString("res");
|
||||
if ("1".equals(overCode)) {
|
||||
JSONObject obj = overObject.getJSONObject("obj");
|
||||
JSONArray dataArray = obj.getJSONArray("list");
|
||||
// 超期数量
|
||||
int num = dataArray.size();
|
||||
results.setTimeoutNum(BigDecimal.valueOf(num));
|
||||
System.out.println("数组大小: " + dataArray.size());
|
||||
}
|
||||
StaticsNumsBean results = service.getHyApproachingAndTimeout(bean);
|
||||
return AjaxResult.success(results);
|
||||
} catch (Exception e) {
|
||||
logger.error(e.toString(), e);
|
||||
|
|
@ -242,138 +213,10 @@ public class PushProDataUseInfoController extends BaseController {
|
|||
*/
|
||||
@GetMapping(value = "getHyApproachingDetails")
|
||||
public AjaxResult getHyApproachingDetails(ProIdsBean bean) {
|
||||
Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1);
|
||||
Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10);
|
||||
List<MachineInfoBean> results = new ArrayList<>();
|
||||
try {
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
map.put("projectId", bean.getProjectId());
|
||||
map.put("projectName", bean.getProjectName());
|
||||
String body = JSONObject.toJSONString(map);
|
||||
if (bean.getType() == null) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
if (bean.getType() == 0) {
|
||||
// 检验临期接口路径
|
||||
String url = "http://10.138.55.101:21021/iws/hystw/backstage/machine/getHyNearWarnList";
|
||||
String data = HttpHelper.sendHttpPost(url, body);
|
||||
JSONObject object = JSONObject.parseObject(data);
|
||||
String code = object.getString("res");
|
||||
if ("1".equals(code)) {
|
||||
JSONObject obj = object.getJSONObject("obj");
|
||||
JSONArray dataArray = obj.getJSONArray("list");
|
||||
System.out.println("数组大小: " + dataArray.size());
|
||||
if (!dataArray.isEmpty()) {
|
||||
// 有数据
|
||||
for (int i = 0; i < dataArray.size(); i++) {
|
||||
JSONObject item = dataArray.getJSONObject(i);
|
||||
//物资名称
|
||||
JSONObject typeObject = item.getJSONObject("type");
|
||||
String typeName = (typeObject != null) ? typeObject.getString("parentName") : null;
|
||||
// 规格型号
|
||||
String typeModelName = (typeObject != null) ? typeObject.getString("name") : null;
|
||||
// 计量单位
|
||||
String unitName = (typeObject != null) ? typeObject.getString("unitName") : null;
|
||||
// 设备编码
|
||||
String maCode = item.getString("code");
|
||||
// 工程名称
|
||||
String projectName = item.getString("projectName");
|
||||
// 下次检验时间
|
||||
String nextCheckTime = item.getString("nextRepairTime");
|
||||
// 领用时间
|
||||
String leaseTime = item.getString("pickTime");
|
||||
// 实施单位
|
||||
String deptName = item.getString("deptName");
|
||||
// 到期天数
|
||||
Integer daysDiff = item.getInteger("days");
|
||||
MachineInfoBean rs = new MachineInfoBean();
|
||||
rs.setTypeName(typeName);
|
||||
rs.setTypeModelName(typeModelName);
|
||||
rs.setUnit(unitName);
|
||||
rs.setMaCode(maCode);
|
||||
rs.setProName(projectName);
|
||||
rs.setExpireTime(nextCheckTime);
|
||||
rs.setLeaseTime(leaseTime);
|
||||
rs.setDeptName(deptName);
|
||||
rs.setDaysDiff(daysDiff);
|
||||
results.add(rs);
|
||||
}
|
||||
// 根据前端传入的类型或者规格型号查询相关设备
|
||||
if (StringUtils.isNotBlank(bean.getTypeName()) || StringUtils.isNotBlank(bean.getTypeModelName())) {
|
||||
results = results.stream().filter(item -> {
|
||||
boolean isTypeNameMatch = StringUtils.isBlank(bean.getTypeName())
|
||||
|| (item.getTypeName() != null && item.getTypeName().contains(bean.getTypeName()));
|
||||
|
||||
boolean isModelNameMatch = StringUtils.isBlank(bean.getTypeModelName())
|
||||
|| (item.getTypeModelName() != null && item.getTypeModelName().contains(bean.getTypeModelName()));
|
||||
return isTypeNameMatch && isModelNameMatch;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (bean.getType() == 1) {
|
||||
// 检验超期接口路径
|
||||
String url1 = "http://10.138.55.101:21021/iws/hystw/backstage/machine/getHyOverWarnList";
|
||||
String overData = HttpHelper.sendHttpPost(url1, body);
|
||||
JSONObject overObject = JSONObject.parseObject(overData);
|
||||
String overCode = overObject.getString("res");
|
||||
|
||||
if ("1".equals(overCode)) {
|
||||
JSONObject obj = overObject.getJSONObject("obj");
|
||||
JSONArray dataArray = obj.getJSONArray("list");
|
||||
System.out.println("数组大小: " + dataArray.size());
|
||||
if (!dataArray.isEmpty()) {
|
||||
// 有数据
|
||||
for (int i = 0; i < dataArray.size(); i++) {
|
||||
JSONObject item = dataArray.getJSONObject(i);
|
||||
//物资名称
|
||||
JSONObject typeObject = item.getJSONObject("type");
|
||||
String typeName = (typeObject != null) ? typeObject.getString("parentName") : null;
|
||||
// 规格型号
|
||||
String typeModelName = (typeObject != null) ? typeObject.getString("name") : null;
|
||||
// 计量单位
|
||||
String unitName = (typeObject != null) ? typeObject.getString("unitName") : null;
|
||||
// 设备编码
|
||||
String maCode = item.getString("code");
|
||||
// 工程名称
|
||||
String projectName = item.getString("projectName");
|
||||
// 下次检验时间
|
||||
String nextCheckTime = item.getString("nextRepairTime");
|
||||
// 领用时间
|
||||
String leaseTime = item.getString("pickTime");
|
||||
// 实施单位
|
||||
String deptName = item.getString("deptName");
|
||||
// 到期天数
|
||||
Integer daysDiff = item.getInteger("days");
|
||||
MachineInfoBean rs = new MachineInfoBean();
|
||||
rs.setTypeName(typeName);
|
||||
rs.setTypeModelName(typeModelName);
|
||||
rs.setUnit(unitName);
|
||||
rs.setMaCode(maCode);
|
||||
rs.setProName(projectName);
|
||||
rs.setExpireTime(nextCheckTime);
|
||||
rs.setLeaseTime(leaseTime);
|
||||
rs.setDeptName(deptName);
|
||||
rs.setDaysDiff(daysDiff);
|
||||
results.add(rs);
|
||||
}
|
||||
// 根据前端传入的类型或者规格型号查询相关设备
|
||||
if (StringUtils.isNotBlank(bean.getTypeName()) || StringUtils.isNotBlank(bean.getTypeModelName())) {
|
||||
results = results.stream().filter(item -> {
|
||||
boolean isTypeNameMatch = StringUtils.isBlank(bean.getTypeName())
|
||||
|| (item.getTypeName() != null && item.getTypeName().contains(bean.getTypeName()));
|
||||
|
||||
boolean isModelNameMatch = StringUtils.isBlank(bean.getTypeModelName())
|
||||
|| (item.getTypeModelName() != null && item.getTypeModelName().contains(bean.getTypeModelName()));
|
||||
return isTypeNameMatch && isModelNameMatch;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1);
|
||||
Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10);
|
||||
List<MachineInfoBean> results = service.getHyApproachingDetails(bean);
|
||||
return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, results));
|
||||
} catch (Exception e) {
|
||||
logger.error(e.toString(), e);
|
||||
|
|
@ -381,7 +224,11 @@ public class PushProDataUseInfoController extends BaseController {
|
|||
}
|
||||
}
|
||||
|
||||
// 临期、超期设备详情
|
||||
/**
|
||||
* 机具物资临期、超期设备详情
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "getApproachingDetails")
|
||||
public TableDataInfo getApproachingDetails(ProIdsBean bean) {
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -61,4 +61,18 @@ public interface ProDataUseInfoMapper {
|
|||
List<TotalNumsBean> getDeviceNumByType(ProIdsBean bean);
|
||||
|
||||
List<MachineInfoBean> getProDataDetails(ProIdsBean bean);
|
||||
|
||||
/**
|
||||
* 宏源物资检验临期和检验超期数量
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
StaticsNumsBean getHyApproachingAndTimeout(ProIdsBean bean);
|
||||
|
||||
/**
|
||||
* 宏源物资检验临期和检验超期详情
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
List<MachineInfoBean> getHyApproachingDetails(ProIdsBean bean);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,4 +68,18 @@ public interface ProDataUseInfoService {
|
|||
* @return
|
||||
*/
|
||||
List<MaterialRetainedEquipmentInfo> getRetainedEquipmentList(MaterialRetainedEquipmentInfo bean);
|
||||
|
||||
/**
|
||||
* 宏源物资检验临期和检验超期数量
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
StaticsNumsBean getHyApproachingAndTimeout(ProIdsBean bean);
|
||||
|
||||
/**
|
||||
* 宏源物资检验临期和检验超期数量详情
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
List<MachineInfoBean> getHyApproachingDetails(ProIdsBean bean);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -236,6 +236,26 @@ public class ProDataUseInfoImpl implements ProDataUseInfoService {
|
|||
return usList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 宏源物资检验临期和检验超期数量
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public StaticsNumsBean getHyApproachingAndTimeout(ProIdsBean bean) {
|
||||
return proDataUseInfoMapper.getHyApproachingAndTimeout(bean);
|
||||
}
|
||||
|
||||
/**
|
||||
* 宏源物资检验临期和检验超期数量详情
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<MachineInfoBean> getHyApproachingDetails(ProIdsBean bean) {
|
||||
return proDataUseInfoMapper.getHyApproachingDetails(bean);
|
||||
}
|
||||
|
||||
/**
|
||||
* 模糊查询
|
||||
* @param item
|
||||
|
|
|
|||
|
|
@ -537,8 +537,8 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
|
|||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult outerAudit(@NotNull List<RepairAuditDetails> repairAuditDetails) {
|
||||
// 获取锁(公平锁会按线程等待请求顺序分配锁)
|
||||
lock.lock();
|
||||
/*// 获取锁(公平锁会按线程等待请求顺序分配锁)
|
||||
lock.lock();*/
|
||||
final List<Long> taskIds = repairAuditDetails.stream()
|
||||
.filter(Objects::nonNull)
|
||||
.map(RepairAuditDetails::getTaskId)
|
||||
|
|
@ -631,10 +631,10 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
|
|||
} catch (ServiceException e) {
|
||||
log.error("修改维修审核状态失败", e);
|
||||
throw new ServiceException("修饰审核失败,请联系管理员");
|
||||
} finally {
|
||||
} /*finally {
|
||||
// 释放锁
|
||||
lock.unlock();
|
||||
}
|
||||
}*/
|
||||
return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1347,4 +1347,106 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</if>
|
||||
GROUP BY bp.pro_name,mt.type_id,sai.ma_id
|
||||
</select>
|
||||
|
||||
<select id="getHyApproachingAndTimeout" resultType="com.bonus.material.push.domain.StaticsNumsBean">
|
||||
SELECT
|
||||
COUNT(CASE
|
||||
WHEN mm.next_check_time BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 30 DAY)
|
||||
THEN 1
|
||||
ELSE NULL
|
||||
END) AS ApproachingNum,
|
||||
COUNT(CASE
|
||||
WHEN mm.next_check_time < NOW()
|
||||
THEN 1
|
||||
ELSE NULL
|
||||
END) AS TimeoutNum
|
||||
FROM ma_machine mm
|
||||
LEFT JOIN slt_agreement_info sai on sai.ma_id = mm.ma_id and mm.type_id = sai.type_id
|
||||
LEFT JOIN bm_agreement_info bai ON sai.agreement_id = bai.agreement_id
|
||||
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
|
||||
LEFT JOIN ma_type mt ON sai.type_id = mt.type_id
|
||||
LEFT JOIN ma_type mt2 ON mt.parent_id = mt2.type_id
|
||||
left join sys_dept sd ON sd.dept_id = bp.imp_unit
|
||||
where mm.next_check_time is not null
|
||||
AND mm.this_check_time is not null
|
||||
AND bp.pro_name is not null
|
||||
and sai.`status`='0'
|
||||
and sai.is_slt = 0
|
||||
and mm.ma_status = 2
|
||||
and mt2.type_id not in (9021, 9035) and mt.company_id = 309
|
||||
AND (sai.source = 1 OR sai.source is NULL)
|
||||
<if test="deptId != null">
|
||||
AND sd.dept_id = #{deptId}
|
||||
</if>
|
||||
<if test="projectId != null and projectId !=''">
|
||||
AND bp.external_id = #{projectId}
|
||||
</if>
|
||||
<if test="projectName != null and projectName !=''">
|
||||
AND bp.pro_name like concat ('%', #{projectName}, '%')
|
||||
</if>
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<select id="getHyApproachingDetails" resultType="com.bonus.material.push.domain.MachineInfoBean">
|
||||
SELECT
|
||||
sd.dept_name as deptName,
|
||||
bp.pro_center as proCenter,
|
||||
bp.pro_name as proName,
|
||||
mt2.type_name as typeName,
|
||||
mt.type_name as typeModelName,
|
||||
mt.unit_name as unit,
|
||||
mm.ma_code as maCode,
|
||||
sai.start_time as leaseTime,
|
||||
mm.next_check_time as expireTime,
|
||||
CASE
|
||||
WHEN #{type} = 0 THEN DATEDIFF(mm.next_check_time, NOW())
|
||||
WHEN #{type} = 1 THEN DATEDIFF(NOW(), mm.next_check_time)
|
||||
ELSE NULL
|
||||
END AS daysDiff
|
||||
FROM ma_machine mm
|
||||
LEFT JOIN slt_agreement_info sai on sai.ma_id = mm.ma_id and mm.type_id = sai.type_id
|
||||
LEFT JOIN bm_agreement_info bai ON sai.agreement_id = bai.agreement_id
|
||||
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
|
||||
LEFT JOIN sys_dept sd on bp.imp_unit = sd.dept_id
|
||||
LEFT JOIN ma_type mt ON sai.type_id = mt.type_id
|
||||
LEFT JOIN ma_type mt2 ON mt.parent_id = mt2.type_id
|
||||
WHERE mm.next_check_time is not null
|
||||
AND mm.this_check_time is not null
|
||||
AND bp.pro_name is not null
|
||||
and sai.`status`='0'
|
||||
and sai.is_slt = 0
|
||||
and mm.ma_status = 2
|
||||
and mt2.type_id not in (9021, 9035) and mt.company_id = 309
|
||||
AND (sai.source = 1 OR sai.source is NULL)
|
||||
<if test="proId != null">
|
||||
AND bp.pro_id = #{proId}
|
||||
</if>
|
||||
<if test="type != null and type == 0">
|
||||
AND mm.next_check_time BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 30 DAY)
|
||||
</if>
|
||||
<if test="type != null and type == 1">
|
||||
AND mm.next_check_time < NOW()
|
||||
</if>
|
||||
<if test="deptName != null and deptName !=''">
|
||||
AND sd.dept_name like concat ('%', #{deptName}, '%')
|
||||
</if>
|
||||
<if test="proCenter != null and proCenter !=''">
|
||||
AND bp.pro_center like concat ('%', #{proCenter}, '%')
|
||||
</if>
|
||||
<if test="typeName != null and typeName !=''">
|
||||
AND mt2.type_name like concat ('%', #{typeName}, '%')
|
||||
</if>
|
||||
<if test="typeModelName != null and typeModelName !=''">
|
||||
AND mt.type_name like concat ('%', #{typeModelName}, '%')
|
||||
</if>
|
||||
<if test="proId != null">
|
||||
GROUP BY bp.pro_id
|
||||
</if>
|
||||
<if test="projectId != null and projectId !=''">
|
||||
AND bp.external_id = #{projectId}
|
||||
</if>
|
||||
<if test="projectName != null and projectName !=''">
|
||||
AND bp.pro_name like concat ('%', #{projectName}, '%')
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue