Compare commits
No commits in common. "378f6da4a37c46043e9bc90ccd0c186bc142b46a" and "e5d1c148424b2d882483a4e71aa43d1a7ca06665" have entirely different histories.
378f6da4a3
...
e5d1c14842
|
@ -614,7 +614,7 @@ export default {
|
||||||
id: null,
|
id: null,
|
||||||
projectId: this.projectOptions.length==1?this.projectOptions[0].id:null,
|
projectId: this.projectOptions.length==1?this.projectOptions[0].id:null,
|
||||||
infoType: "0",
|
infoType: "0",
|
||||||
problemArea: null,
|
problemArea: this.projectOptions.length==1?this.projectOptions[0].projectName:null,
|
||||||
workParts: null,
|
workParts: null,
|
||||||
changeInfo: null,
|
changeInfo: null,
|
||||||
lordSent: null,
|
lordSent: null,
|
||||||
|
@ -643,26 +643,19 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
changeProject(val,row){
|
changeProject(val,row){
|
||||||
if(val){
|
|
||||||
console.log(1111111111);
|
|
||||||
if(!this.projectIds.includes(val)){
|
if(!this.projectIds.includes(val)){
|
||||||
console.log(2222222222);
|
|
||||||
this.projectIds.push(row.projectId);
|
this.projectIds.push(row.projectId);
|
||||||
this.$api.publics.selectProjectAllUnitUser({projectId: val})
|
this.$api.publics.selectProjectAllUnitUser({projectId: val})
|
||||||
.then((d) => {
|
.then((d) => {
|
||||||
console.log(3333333333);
|
|
||||||
this.projectUnitUsers.push({projectId:val,data:d.data});
|
this.projectUnitUsers.push({projectId:val,data:d.data});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
for(let i=0;i<this.projectOptions.length;i++){
|
for(let i=0;i<this.projectOptions.length;i++){
|
||||||
console.log(4444444444);
|
|
||||||
if(this.projectOptions[i].projectId==val){
|
if(this.projectOptions[i].projectId==val){
|
||||||
console.log(5555555555);
|
|
||||||
row.problemArea = this.projectOptions[i].projectName;
|
row.problemArea = this.projectOptions[i].projectName;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -612,7 +612,7 @@ export default {
|
||||||
let row = {
|
let row = {
|
||||||
index:this.smzSspProblemmodifyDraftList.length+1,
|
index:this.smzSspProblemmodifyDraftList.length+1,
|
||||||
id: null,
|
id: null,
|
||||||
projectId: null,
|
projectId: this.projectOptions.length==1?this.projectOptions[0].id:null,
|
||||||
infoType: "1",
|
infoType: "1",
|
||||||
problemArea: this.projectOptions.length==1?this.projectOptions[0].projectName:null,
|
problemArea: this.projectOptions.length==1?this.projectOptions[0].projectName:null,
|
||||||
workParts: null,
|
workParts: null,
|
||||||
|
@ -643,42 +643,20 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
changeProject(val,row){
|
changeProject(val,row){
|
||||||
if(val){
|
|
||||||
console.log(1111111111);
|
|
||||||
if(!this.projectIds.includes(val)){
|
if(!this.projectIds.includes(val)){
|
||||||
console.log(2222222222);
|
|
||||||
this.projectIds.push(row.projectId);
|
this.projectIds.push(row.projectId);
|
||||||
this.$api.publics.selectProjectAllUnitUser({projectId: val})
|
this.$api.publics.selectProjectAllUnitUser({projectId: val})
|
||||||
.then((d) => {
|
.then((d) => {
|
||||||
console.log(3333333333);
|
|
||||||
this.projectUnitUsers.push({projectId:val,data:d.data});
|
this.projectUnitUsers.push({projectId:val,data:d.data});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
for(let i=0;i<this.projectOptions.length;i++){
|
for(let i=0;i<this.projectOptions.length;i++){
|
||||||
console.log(4444444444);
|
|
||||||
if(this.projectOptions[i].projectId==val){
|
if(this.projectOptions[i].projectId==val){
|
||||||
console.log(5555555555);
|
|
||||||
row.problemArea = this.projectOptions[i].projectName;
|
row.problemArea = this.projectOptions[i].projectName;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// changeProject(val,row){
|
|
||||||
// if(!this.projectIds.includes(val)){
|
|
||||||
// this.projectIds.push(row.projectId);
|
|
||||||
// this.$api.publics.selectProjectAllUnitUser({projectId: val})
|
|
||||||
// .then((d) => {
|
|
||||||
// this.projectUnitUsers.push({projectId:val,data:d.data});
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// for(let i=0;i<this.projectOptions.length;i++){
|
|
||||||
// if(this.projectOptions[i].projectId==val){
|
|
||||||
// row.problemArea = this.projectOptions[i].projectName;
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -24,7 +24,7 @@ spring:
|
||||||
# 国际化资源文件路径
|
# 国际化资源文件路径
|
||||||
basename: i18n/messages
|
basename: i18n/messages
|
||||||
profiles:
|
profiles:
|
||||||
active: druid
|
active: prod
|
||||||
# 文件上传
|
# 文件上传
|
||||||
servlet:
|
servlet:
|
||||||
multipart:
|
multipart:
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
package com.yanzhu.jh.project.mapper;
|
package com.yanzhu.jh.project.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -85,9 +83,4 @@ public interface SurProjectAttendanceDataMapper
|
||||||
List<SurProjectAttendanceData> groupByComany(SurProjectAttendanceData where);
|
List<SurProjectAttendanceData> groupByComany(SurProjectAttendanceData where);
|
||||||
|
|
||||||
public Long getHuazhuPage(Long id);
|
public Long getHuazhuPage(Long id);
|
||||||
|
|
||||||
|
|
||||||
public List<Map<String,Object>> initOtherData(Map<String,Object> data);
|
|
||||||
|
|
||||||
public List<Map<String,Object>> initHuaZhuData(Map<String,Object> data);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package com.yanzhu.jh.project.mapper;
|
package com.yanzhu.jh.project.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceCfg;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceCfg;
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceUser;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceUser;
|
||||||
|
@ -95,7 +94,4 @@ public interface SurProjectAttendanceUserMapper
|
||||||
|
|
||||||
public List<SurProjectAttendanceUser> todayAttendance(SurProjectAttendanceUser where);
|
public List<SurProjectAttendanceUser> todayAttendance(SurProjectAttendanceUser where);
|
||||||
public List<SurProjectAttendanceUser> todayAttendanceData(List<String> list);
|
public List<SurProjectAttendanceUser> todayAttendanceData(List<String> list);
|
||||||
|
|
||||||
public List<SurProjectAttendanceUser> todayAttendanceOtherData(Map<String,Object> data);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
package com.yanzhu.jh.project.service;
|
package com.yanzhu.jh.project.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceUser;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceUser;
|
||||||
|
|
||||||
|
@ -89,8 +87,4 @@ public interface ISurProjectAttendanceDataService
|
||||||
public Long getHuazhuPage(Long id);
|
public Long getHuazhuPage(Long id);
|
||||||
|
|
||||||
public List<SurProjectAttendanceData> groupAllByComany(SurProjectAttendanceData where);
|
public List<SurProjectAttendanceData> groupAllByComany(SurProjectAttendanceData where);
|
||||||
|
|
||||||
public List<Map<String,Object>> initOtherData(Map<String,Object> data);
|
|
||||||
|
|
||||||
public List<Map<String,Object>> initHuaZhuData(Map<String,Object> data);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,8 +3,6 @@ package com.yanzhu.jh.project.service.impl;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateTime;
|
import cn.hutool.core.date.DateTime;
|
||||||
|
|
||||||
|
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceCfg;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceCfg;
|
||||||
|
@ -156,7 +154,6 @@ public class SurProjectAttendanceDataServiceImpl implements ISurProjectAttendanc
|
||||||
SurProjectAttendanceData where=new SurProjectAttendanceData();
|
SurProjectAttendanceData where=new SurProjectAttendanceData();
|
||||||
where.setVendorsCode(sdata.getVendorsCode());
|
where.setVendorsCode(sdata.getVendorsCode());
|
||||||
where.setCfgid(sdata.getCfgid());
|
where.setCfgid(sdata.getCfgid());
|
||||||
where.setServerid(sdata.getServerid());
|
|
||||||
where.setServerid(sdata.getWorkerId());
|
where.setServerid(sdata.getWorkerId());
|
||||||
where.setAttendanceTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", DateTime.now()));
|
where.setAttendanceTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", DateTime.now()));
|
||||||
List<SurProjectAttendanceData> list=selectSurProjectAttendanceDataListEx(where);
|
List<SurProjectAttendanceData> list=selectSurProjectAttendanceDataListEx(where);
|
||||||
|
@ -208,7 +205,6 @@ public class SurProjectAttendanceDataServiceImpl implements ISurProjectAttendanc
|
||||||
sdata.setDeptName(cfg.getDeptName());
|
sdata.setDeptName(cfg.getDeptName());
|
||||||
insertSurProjectAttendanceData(sdata);
|
insertSurProjectAttendanceData(sdata);
|
||||||
}else{
|
}else{
|
||||||
sdata.setId(list.get(0).getId());
|
|
||||||
SurProjectAttendanceData upData=list.get(0);
|
SurProjectAttendanceData upData=list.get(0);
|
||||||
upData.setAttendanceOutTime(sdata.getAttendanceTime());
|
upData.setAttendanceOutTime(sdata.getAttendanceTime());
|
||||||
updateSurProjectAttendanceData(sdata);
|
updateSurProjectAttendanceData(sdata);
|
||||||
|
@ -238,45 +234,4 @@ public class SurProjectAttendanceDataServiceImpl implements ISurProjectAttendanc
|
||||||
public List<SurProjectAttendanceData> groupAllByComany(SurProjectAttendanceData where) {
|
public List<SurProjectAttendanceData> groupAllByComany(SurProjectAttendanceData where) {
|
||||||
return surProjectAttendanceDataMapper.groupAllByComany(where);
|
return surProjectAttendanceDataMapper.groupAllByComany(where);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SurProjectAttendanceUserMapper surProjectAttendanceUserMapper;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Map<String,Object>> initOtherData(Map<String,Object> data) {
|
|
||||||
List<Map<String,Object>> list = surProjectAttendanceDataMapper.initOtherData(data);
|
|
||||||
if(StringUtils.isNotEmpty(list)){
|
|
||||||
List<String> workerIds = list.stream().map(Map -> Map.get("workerId").toString()).collect(Collectors.toList());
|
|
||||||
data.put("list",workerIds);
|
|
||||||
List<SurProjectAttendanceUser> datas=surProjectAttendanceUserMapper.todayAttendanceOtherData(data);
|
|
||||||
for (Map<String,Object> map:list) {
|
|
||||||
for(SurProjectAttendanceUser sau:datas){
|
|
||||||
if(Objects.equals(map.get("workerId").toString(),sau.getWorkerId())){
|
|
||||||
map.put("inTime",map.get("inTime"));
|
|
||||||
map.put("outTime",map.get("outTime"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Map<String,Object>> initHuaZhuData(Map<String,Object> data) {
|
|
||||||
List<Map<String,Object>> list = surProjectAttendanceDataMapper.initHuaZhuData(data);
|
|
||||||
if(StringUtils.isNotEmpty(list)){
|
|
||||||
List<String> workerIds = list.stream().map(Map -> Map.get("workerId").toString()).collect(Collectors.toList());
|
|
||||||
data.put("list",workerIds);
|
|
||||||
List<SurProjectAttendanceUser> datas=surProjectAttendanceUserMapper.todayAttendanceOtherData(data);
|
|
||||||
for (Map<String,Object> map:list) {
|
|
||||||
for(SurProjectAttendanceUser sau:datas){
|
|
||||||
if(Objects.equals(map.get("workerId").toString(),sau.getWorkerId())){
|
|
||||||
map.put("inTime",map.get("inTime"));
|
|
||||||
map.put("outTime",map.get("outTime"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,22 +10,24 @@ import com.ruoyi.common.core.redis.RedisCache;
|
||||||
import com.ruoyi.common.core.text.Convert;
|
import com.ruoyi.common.core.text.Convert;
|
||||||
import com.ruoyi.common.enums.PublicStateEnum;
|
import com.ruoyi.common.enums.PublicStateEnum;
|
||||||
import com.ruoyi.common.enums.SysRoleEnum;
|
import com.ruoyi.common.enums.SysRoleEnum;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import com.ruoyi.system.domain.FlowTaskEntity;
|
import com.ruoyi.system.domain.FlowTaskEntity;
|
||||||
import com.ruoyi.system.service.ISysDeptService;
|
import com.ruoyi.system.service.ISysDeptService;
|
||||||
import com.ruoyi.system.service.ISysUserService;
|
import com.ruoyi.system.service.ISysUserService;
|
||||||
import com.yanzhu.jh.project.domain.*;
|
import com.yanzhu.jh.project.domain.SurProject;
|
||||||
import com.yanzhu.jh.project.service.*;
|
import com.yanzhu.jh.project.domain.SurProjectAuditinfo;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectUnitInfo;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectUserinfo;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectAuditinfoService;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectService;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectUnitInfoService;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectUserinfoService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@ -221,44 +223,4 @@ PublicsController extends BaseController {
|
||||||
flowTaskEntity.setActiveName("await");
|
flowTaskEntity.setActiveName("await");
|
||||||
return success(surProjectAuditinfoService.findMyTask(flowTaskEntity));
|
return success(surProjectAuditinfoService.findMyTask(flowTaskEntity));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ISurProjectAttendanceCfgService surProjectAttendanceCfgService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ISurProjectAttendanceDataService surProjectAttendanceDataService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询代办任务
|
|
||||||
*/
|
|
||||||
@GetMapping("/v1/initAttendanceData")
|
|
||||||
public AjaxResult initAttendanceData()
|
|
||||||
{
|
|
||||||
//开始时间
|
|
||||||
Calendar calendar = Calendar.getInstance();
|
|
||||||
/***
|
|
||||||
* 查询所有项目考勤配置
|
|
||||||
*/
|
|
||||||
List<SurProjectAttendanceCfg> cfgList = surProjectAttendanceCfgService.selectSurProjectAttendanceCfgList(new SurProjectAttendanceCfg());
|
|
||||||
Map<String, Object> data = new HashMap<>();
|
|
||||||
for(SurProjectAttendanceCfg cfg:cfgList){
|
|
||||||
calendar.setTime(DateUtils.parseDate("2023-07-16"));
|
|
||||||
data.put("cfgid",cfg.getId());
|
|
||||||
for(int i=0;i<365;i++){
|
|
||||||
if(calendar.getTimeInMillis()>System.currentTimeMillis()){
|
|
||||||
/** 跳出本次循环 **/
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
calendar.add(Calendar.DATE, 1);
|
|
||||||
data.put("date",DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,calendar.getTime()));
|
|
||||||
List<Map<String,Object>> list;
|
|
||||||
if(cfg.getVendorsCode().equals("huazhu")){
|
|
||||||
list = surProjectAttendanceDataService.initHuaZhuData(data);
|
|
||||||
}else{
|
|
||||||
list = surProjectAttendanceDataService.initOtherData(data);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return success();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -337,26 +337,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<select id="getHuazhuPage" parameterType="long" resultType="Long">
|
<select id="getHuazhuPage" parameterType="long" resultType="Long">
|
||||||
select max(vendorId) vendorId from sur_project_attendance_data_${year} WHERE cfgid=#{id}
|
select max(vendorId) vendorId from sur_project_attendance_data_${year} WHERE cfgid=#{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="initOtherData" parameterType="map" resultType="map">
|
|
||||||
select d.workerId,u.companyId,u.companyName,u.`name`,d.identification,u.recentPhoto,u.gender,u.birthDate,u.ethnic,u.nativePlace,u.phone,
|
|
||||||
u.workTypeName,u.specWorkType,u.groupName,g.companyTypeId,d.teamId,u.workTypeCode,d.vendorId,d.device_code
|
|
||||||
from sur_project_attendance_data d
|
|
||||||
left JOIN sur_project_attendance_user u on d.workerId = u.workerId and d.cfgid = u.cfgid
|
|
||||||
left join sur_project_attendance_group g on u.groupId = g.serverid and g.cfgid = u.cfgid
|
|
||||||
where d.cfgid=#{cfgid} and date(d.attendance_time) = #{date}
|
|
||||||
GROUP BY d.workerId
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="initHuaZhuData" parameterType="map" resultType="map">
|
|
||||||
select d.workerId,u.companyId,u.companyName,u.`name`,d.identification,u.recentPhoto,u.gender,u.birthDate,u.ethnic,u.nativePlace,u.phone,
|
|
||||||
u.workTypeName,u.specWorkType,u.groupName,d.teamId,u.workTypeCode,d.vendorId,d.device_code,
|
|
||||||
CASE WHEN sd.type_flag = 2 THEN '1' WHEN sd.type_flag = 3 THEN '2' WHEN sd.type_flag = 4 THEN '8' else '0' end as companyTypeId
|
|
||||||
from sur_project_attendance_data d
|
|
||||||
left JOIN sur_project_attendance_user u on d.workerId = u.workerId and d.cfgid = u.cfgid
|
|
||||||
left join sys_dept sd on u.companyName = sd.dept_name
|
|
||||||
where d.cfgid=#{cfgid} and date(d.attendance_time) = #{date}
|
|
||||||
GROUP BY d.workerId
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
|
@ -436,15 +436,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</if>
|
</if>
|
||||||
group by workerid,attendance_type
|
group by workerid,attendance_type
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="todayAttendanceOtherData" parameterType="map" resultMap="SurProjectAttendanceUserResult">
|
|
||||||
select workerid,attendance_type name,min(attendance_time) inTime,max(attendance_time) outTime from sur_project_attendance_data where cfgid=#{cfgid} DATE(attendance_time)=#{date}
|
|
||||||
<if test="list !=null and list.size()>0">
|
|
||||||
and workerid in
|
|
||||||
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
|
|
||||||
#{item}
|
|
||||||
</foreach>
|
|
||||||
</if>
|
|
||||||
group by workerid,attendance_type
|
|
||||||
</select>
|
|
||||||
</mapper>
|
</mapper>
|
Loading…
Reference in New Issue