diff --git a/modules/bmw/src/main/java/com/bonus/bmw/person/controller/ContractController.java b/modules/bmw/src/main/java/com/bonus/bmw/person/controller/ContractController.java index 5324f44..da5c200 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/person/controller/ContractController.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/person/controller/ContractController.java @@ -136,7 +136,7 @@ public class ContractController { if (count == 1){ ar = R.ok(); }else if(count == -1){ - ar = R.fail("合同编号要根据工程名称去生成,请先选择工程名称"); + ar = R.fail("合同编号要根据工程,分包、班组名称去生成,请先在“人员入场”中配置工程,分包、班组名称"); } else { ar = R.fail(Constants.INSERT_FAIL); } diff --git a/modules/bmw/src/main/java/com/bonus/bmw/person/service/ContractServiceImpl.java b/modules/bmw/src/main/java/com/bonus/bmw/person/service/ContractServiceImpl.java index 3ff421c..509255c 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/person/service/ContractServiceImpl.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/person/service/ContractServiceImpl.java @@ -52,7 +52,7 @@ public class ContractServiceImpl implements ContractService { } if(i>0){ String proId = bean.getProId(); - if(!StringUtils.isEmpty(proId)){ + if (!StringUtils.isEmpty(proId) && !"null".equalsIgnoreCase(proId)){ String proName = personComprehensiveDao.getProNme(proId); String abbreviation = getInitialsUpperCaseWithPinyin(proName); int contractNum =personComprehensiveDao.getContractNum(); diff --git a/modules/bmw/src/main/java/com/bonus/bmw/person/service/PersonComprehensiveServiceImp.java b/modules/bmw/src/main/java/com/bonus/bmw/person/service/PersonComprehensiveServiceImp.java index ebc0b7e..84ea24f 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/person/service/PersonComprehensiveServiceImp.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/person/service/PersonComprehensiveServiceImp.java @@ -445,6 +445,17 @@ public class PersonComprehensiveServiceImp implements PersonComprehensiveService } //第四页数据添加 上传合同 //合同签完不能改 if (o.getIsHaveWage() == 0 && StringUtils.isNotEmpty(o.getContractCode())) { + if(Objects.equals(o.getContractCode(), "1111")){ + String proId = o.getProId(); + if (!StringUtils.isEmpty(proId)) { + String proName = dao.getProNme(proId); + String abbreviation = getInitialsUpperCaseWithPinyin(proName); + int contractNum = dao.getContractNum(); + String dateStr = DateUtil.format(DateUtil.date(), "yyyyMMdd"); // 使用 Hutool 的 DateUtil + String contractCode = abbreviation + dateStr + contractNum; + o.setContractCode(contractCode); + } + } dao.replacePersonContractData(o); } if (StringUtils.isNotEmpty(o.getProId())) { diff --git a/modules/bmw/src/main/resources/mapper/team/NoSignalTeamAttendMapper.xml b/modules/bmw/src/main/resources/mapper/team/NoSignalTeamAttendMapper.xml index 78223c2..9220988 100644 --- a/modules/bmw/src/main/resources/mapper/team/NoSignalTeamAttendMapper.xml +++ b/modules/bmw/src/main/resources/mapper/team/NoSignalTeamAttendMapper.xml @@ -140,10 +140,11 @@ FROM bm_no_signal_team bnst LEFT JOIN bm_team_user_relation btur ON btur.team_id = bnst.team_id AND btur.is_active = '1' LEFT JOIN bm_worker bw ON bw.id_number = btur.id_number AND bw.IS_ACTIVE = '1' + LEFT JOIN bm_worker_ein_history bweh on bweh.id_number = bw.id_number AND bweh.is_active ='1' LEFT JOIN bm_no_signal_team_person bnstp ON bnstp.id_number = bw.id_number AND bnstp.IS_ACTIVE = '1' LEFT JOIN bm_worker_photo bwp1 ON bwp1.ID_NUMBER = bw.id_number AND bwp1.IS_ACTIVE = '1' LEFT JOIN bm_worker_contract bwc ON bwc.idCard = bw.id_number AND bwc.is_active = '1' AND CURRENT_DATE() BETWEEN contractValidDate AND contractInvalidDate - WHERE bnst.is_active = '1' AND bw.id_number is not null AND bnst.id = #{params.id} + WHERE bnst.is_active = '1' AND bw.id_number is not null AND bweh.exit_status ='-1' AND bnst.id = #{params.id} and ( bw.`name` like concat('%', #{params.keyWord}, '%') @@ -167,10 +168,11 @@ FROM bm_no_signal_team bnst LEFT JOIN bm_team_user_relation btur ON btur.team_id = bnst.team_id AND btur.is_active = '1' LEFT JOIN bm_worker bw ON bw.id_number = btur.id_number AND bw.IS_ACTIVE = '1' + LEFT JOIN bm_worker_ein_history bweh on bweh.id_number = bw.id_number AND bweh.is_active ='1' LEFT JOIN bm_no_signal_team_person bnstp ON bnstp.id_number = bw.id_number AND bnstp.IS_ACTIVE = '1' LEFT JOIN bm_worker_photo bwp1 ON bwp1.ID_NUMBER = bw.id_number AND bwp1.IS_ACTIVE = '1' LEFT JOIN bm_worker_contract bwc ON bwc.idCard = bw.id_number AND bwc.is_active = '1' AND CURRENT_DATE() BETWEEN contractValidDate AND contractInvalidDate - WHERE bnst.is_active = '1' AND bnst.id = #{params.id} + WHERE bnst.is_active = '1' AND bweh.exit_status ='-1' AND bnst.id = #{params.id} and ( bw.`name` like concat('%', #{params.keyWord}, '%') @@ -288,7 +290,7 @@ FROM bm_no_signal_team_person bnstp LEFT JOIN bm_worker bw ON bw.id_number = bnstp.id_number AND bw.IS_ACTIVE = '1' WHERE bnstp.IS_ACTIVE = '1' AND bnstp.signal_team_id = #{params.id} - + bw.`name` like concat('%', #{params.keyWord}, '%') limit #{offset}, #{limit} @@ -303,7 +305,7 @@ FROM bm_no_signal_team_person bnstp LEFT JOIN bm_worker bw ON bw.id_number = bnstp.id_number AND bw.IS_ACTIVE = '1' WHERE bnstp.IS_ACTIVE = '1' AND bnstp.signal_team_id = #{params.id} - + bw.`name` like concat('%', #{params.keyWord}, '%') ) a diff --git a/modules/bmw/src/main/resources/static/js/work/Person/PersonContract/ContractManageList.js b/modules/bmw/src/main/resources/static/js/work/Person/PersonContract/ContractManageList.js index 01af6b9..56ef5e0 100644 --- a/modules/bmw/src/main/resources/static/js/work/Person/PersonContract/ContractManageList.js +++ b/modules/bmw/src/main/resources/static/js/work/Person/PersonContract/ContractManageList.js @@ -351,7 +351,10 @@ function uploadContractWitnessView(proId,idNumber,id,workerName, workerPostId) { }); }) }else{ + localStorage.setItem("proId", proId); localStorage.setItem("idNumber", idNumber); + localStorage.setItem("workerName", ""); + localStorage.setItem("workerPostId", ""); localStorage.setItem("delId", "-1"); localStorage.setItem("contractId", contractId); var height = '700px'; diff --git a/modules/bmw/src/main/resources/static/js/work/team/noSignalTeam/noSignalTeamConfiguration.js b/modules/bmw/src/main/resources/static/js/work/team/noSignalTeam/noSignalTeamConfiguration.js index c2b8431..9aede62 100644 --- a/modules/bmw/src/main/resources/static/js/work/team/noSignalTeam/noSignalTeamConfiguration.js +++ b/modules/bmw/src/main/resources/static/js/work/team/noSignalTeam/noSignalTeamConfiguration.js @@ -197,11 +197,19 @@ function startTimeMethod(startTime,stopTime) { , done: function (value, date) {//时间回调 var startDate = new Date($('#' + startTime).val()); var endDate = new Date($('#' + stopTime).val()); + + var noSignalTeamStartDate = new Date(noSignalTeamStartTime) + var noSignalTeamStopDate = new Date(noSignalTeamStopTime) if (startDate != null) { - if (endDate != null) { - if (endDate < startDate) { - layer.msg('结束时间应大于开始时间', {icon: 0},); - $("#" + stopTime).val(""); + if((startDate > noSignalTeamStopDate) || (startDate < noSignalTeamStartDate)){ + layer.msg('请选择无信号班组设置的有效时间(' +noSignalTeamStartTime+ ' ~ ' + noSignalTeamStopTime + '之间)', {icon: 0,time: 6000},); + $("#" + startTime).val(""); + }else{ + if (endDate != null) { + if (endDate < startDate) { + layer.msg('结束时间应大于开始时间', {icon: 0},); + $("#" + stopTime).val(""); + } } } } @@ -219,11 +227,20 @@ function stopTimeMethod(startTime,stopTime) { , done: function (value, date) {//时间回调 var startDate = new Date($('#' + startTime).val()); var endDate = new Date($('#' + stopTime).val()); + + var noSignalTeamStartDate = new Date(noSignalTeamStartTime) + var noSignalTeamStopDate = new Date(noSignalTeamStopTime) + if (startDate != null) { if (endDate != null) { - if (endDate < startDate) { - layer.msg('结束时间应大于开始时间', {icon: 0}); + if((endDate > noSignalTeamStopDate) || (endDate < noSignalTeamStartDate)){ + layer.msg('请选择无信号班组设置的有效时间(' +noSignalTeamStartTime+ ' ~ ' + noSignalTeamStopTime + '之间)', {icon: 0,time: 6000},); $("#" + stopTime).val(""); + }else{ + if (endDate < startDate) { + layer.msg('结束时间应大于开始时间', {icon: 0}); + $("#" + stopTime).val(""); + } } } } diff --git a/modules/bmw/src/main/resources/static/js/work/team/noSignalTeam/noSignalTeamSetUpFrom.js b/modules/bmw/src/main/resources/static/js/work/team/noSignalTeam/noSignalTeamSetUpFrom.js index 5a11ec2..c8b71f0 100644 --- a/modules/bmw/src/main/resources/static/js/work/team/noSignalTeam/noSignalTeamSetUpFrom.js +++ b/modules/bmw/src/main/resources/static/js/work/team/noSignalTeam/noSignalTeamSetUpFrom.js @@ -17,6 +17,13 @@ layui.use(['layer','laydate','form'], function () { , type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒) , trigger: 'click' , format: 'yyyy-MM-dd' //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss + , min: (function () { + var date = new Date(); + var year = date.getFullYear(); + var month = ('0' + (date.getMonth() + 1)).slice(-2); // 月份从0开始 + var day = ('0' + date.getDate()).slice(-2); + return year + '-' + month + '-' + day; + })() , btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定 , done: function (value, date) {//时间回调 var startDate = new Date($('#startTime').val()); @@ -36,6 +43,13 @@ layui.use(['layer','laydate','form'], function () { , type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒) , trigger: 'click' , format: 'yyyy-MM-dd' //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss + , min: (function () { + var date = new Date(); + var year = date.getFullYear(); + var month = ('0' + (date.getMonth() + 1)).slice(-2); // 月份从0开始 + var day = ('0' + date.getDate()).slice(-2); + return year + '-' + month + '-' + day; + })() , btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定 , done: function (value, date) {//时间回调 var startDate = new Date($('#startTime').val()); diff --git a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryFrom.js b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryFrom.js index ecbd6dc..70a69a0 100644 --- a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryFrom.js +++ b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryFrom.js @@ -506,7 +506,7 @@ function completeClick(){ //上传合同 contractId, uploadContractSwitch: uploadContractSwitch, //上传合同 是否填写 - contractCode: '0001-zdsc', //上传合同 合同编号 + contractCode: contractRef, //上传合同 合同编号 laborContractType: contractTermType, //上传合同 合同期限类型 contractValidDate: contractStartTime, //上传合同 合同签订日期 contractInvalidDate: contractEndTime, //上传合同 合同终止日期 @@ -630,6 +630,13 @@ function keyContentRequired(){ var phone = $('#phone').val()//手机号码 var proId = $('#proId').val(); //工程 + var checkupDate = $('#checkupDate').val(); //体检日期 + if(checkupDate === '' || checkupDate === 'null' || checkupDate == null){ + layer.alert('未填写体检日期',{icon: 0}) + $('#checkupDate').focus() + return false + } + if(postId === -1 || postId === '-1' || postId === 'null'){ layer.alert('未选择工种',{icon: 0}) $('#postId').focus() @@ -837,7 +844,9 @@ function uploadWageCardRequired(){ //上传合同 非空验证 function uploadContractRequired(){ var imgNum = $('#demoContract img').length //合同见证照片 - var contractRef = $('#contractRef').val() //合同编号 + + //合同编号用原来的前端输入,并存后端生成。 + // var contractRef = $('#contractRef').val() //合同编号 var contractTermType = $('#contractTermType').val() //合同期限类型 var contractStartTime = $('#contractStartTime').val() //合同签订日期 var contractEndTime = $('#contractEndTime').val() //合同终止日期 @@ -1735,8 +1744,21 @@ function nextClick(e){ } } let contractTf = true; - let contractRef = $('#contractRef').val() //合同编号 - contractTf = uploadContractRequired(); + + let contractRef = $('#demoContract img').length; + if(contractRef > 0){ + $('#contractRef').val("1111") + let teamTf= teamAndProChooseRequired(); + if(teamTf){ + contractTf = uploadContractRequired(); + }else{ + contractTf = false; + } + }else{ + $('#contractRef').val('') + } + // let contractRef = $('#contractRef').val() //合同编号 + // contractTf = uploadContractRequired(); // if(contractRef != '' && contractRef != 'null' && contractRef != null){ // contractTf = uploadContractRequired(); // } diff --git a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.js b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.js index 1695e40..6947c77 100644 --- a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.js +++ b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.js @@ -599,6 +599,13 @@ function keyContentRequired() { var phone = $("#phone").val(); //手机号码 var proId = $("#proId").val(); //工程 + var checkupDate = $('#checkupDate').val(); //体检日期 + if(checkupDate === '' || checkupDate === 'null' || checkupDate == null){ + layer.alert('未填写体检日期',{icon: 0}) + $('#checkupDate').focus() + return false + } + if (postId === -1 || postId === "-1" || postId === "null") { layer.alert("未选择工种", { icon: 0 }); $("#postId").focus(); @@ -2004,8 +2011,18 @@ function nextClick(e) { ) { contractTf = uploadContractRequired(); }else{ - layer.alert("合同编号为空,请在合同管理先上传合同", { icon: 0 }); - return false; + var imgNum = $("#demoContract img").length; + if(imgNum > 0){ + $('#contractRef').val("1111") + let teamTf= teamAndProChooseRequired(); + if(teamTf){ + contractTf = uploadContractRequired(); + }else{ + contractTf = false; + } + } + // layer.alert("合同编号为空,请在合同管理先上传合同", { icon: 0 }); + // return false; } if (contractTf) { completeClick();