1.按固定人员考勤、临时人员考勤区分
This commit is contained in:
parent
daafe104f1
commit
bc5800295f
|
|
@ -50,11 +50,11 @@ public class FaceContrastNewServiceImp implements FaceContrastNewService {
|
||||||
//把分公司下级全部查出来
|
//把分公司下级全部查出来
|
||||||
List<FaceContrastNewBean> list = dao.getWorkAttendanceList(params, offset, limit);
|
List<FaceContrastNewBean> list = dao.getWorkAttendanceList(params, offset, limit);
|
||||||
//1115将临时考勤人员查出来
|
//1115将临时考勤人员查出来
|
||||||
List<FaceContrastNewBean> list2 = dao.getWorkAttendanceTemporaryList(params, offset, limit);
|
// List<FaceContrastNewBean> list2 = dao.getWorkAttendanceTemporaryList(params, offset, limit);
|
||||||
//将临时人员加到总人数上
|
//将临时人员加到总人数上
|
||||||
for (int i = 0; i < list.size(); i++) {
|
// for (int i = 0; i < list.size(); i++) {
|
||||||
list.get(i).setAllPersonNum(list.get(i).getAllPersonNum() + list2.get(i).getAllPersonNum());
|
// list.get(i).setAllPersonNum(list.get(i).getAllPersonNum() + list2.get(i).getAllPersonNum());
|
||||||
}
|
// }
|
||||||
//考勤数据较慢单独查
|
//考勤数据较慢单独查
|
||||||
List<Integer> attList = dao.getWorkAttList(params, offset, limit);
|
List<Integer> attList = dao.getWorkAttList(params, offset, limit);
|
||||||
for (int i = 0; i < attList.size(); i++) {
|
for (int i = 0; i < attList.size(); i++) {
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
</if>
|
</if>
|
||||||
LEFT JOIN bm_sub_relation bsr on bsr.sub_contract_id = bsc.id and bsr.type = '3' and bsr.is_active = '1'
|
LEFT JOIN bm_sub_relation bsr on bsr.sub_contract_id = bsc.id and bsr.type = '3' and bsr.is_active = '1'
|
||||||
LEFT JOIN bm_team_user_relation btur ON btur.team_id = bsr.`value` and btur.is_active = '1'
|
LEFT JOIN bm_team_user_relation btur ON btur.team_id = bsr.`value` 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 bw ON bw.ID_NUMBER = btur.ID_NUMBER and bw.is_active = '1' and worker_type = '1'
|
||||||
GROUP BY
|
GROUP BY
|
||||||
pm.id
|
pm.id
|
||||||
ORDER BY
|
ORDER BY
|
||||||
|
|
@ -60,7 +60,11 @@
|
||||||
) pm
|
) pm
|
||||||
LEFT JOIN bm_project bp ON bp.project_general_id = pm.id
|
LEFT JOIN bm_project bp ON bp.project_general_id = pm.id
|
||||||
AND bp.is_active = '1'
|
AND bp.is_active = '1'
|
||||||
LEFT JOIN ( SELECT id_number, pro_id FROM fc_face_contrast WHERE CURRENT_DAY = #{params.startTime} GROUP BY id_number, CURRENT_DAY ) ffc ON ffc.pro_id = bp.id
|
LEFT JOIN (
|
||||||
|
SELECT fc.id_number, fc.pro_id FROM fc_face_contrast fc
|
||||||
|
LEFT JOIN bm_worker bw on bw.id_number = fc.ID_NUMBER and bw.worker_type = '1'
|
||||||
|
WHERE fc.CURRENT_DAY = #{params.startTime} GROUP BY fc.id_number, fc.CURRENT_DAY
|
||||||
|
) ffc ON ffc.pro_id = bp.id
|
||||||
GROUP BY
|
GROUP BY
|
||||||
pm.id
|
pm.id
|
||||||
ORDER BY
|
ORDER BY
|
||||||
|
|
@ -252,7 +256,7 @@
|
||||||
LEFT JOIN bm_team_user_relation btur ON btur.team_id = bsr.`value`
|
LEFT JOIN bm_team_user_relation btur ON btur.team_id = bsr.`value`
|
||||||
AND btur.is_active = '1'
|
AND btur.is_active = '1'
|
||||||
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = btur.ID_NUMBER
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = btur.ID_NUMBER
|
||||||
AND bw.is_active = '1'
|
AND bw.is_active = '1' and bw.worker_type = '1'
|
||||||
<where>
|
<where>
|
||||||
|
|
||||||
<if test="params.proId != null and params.proId != '' ">
|
<if test="params.proId != null and params.proId != '' ">
|
||||||
|
|
@ -295,7 +299,7 @@
|
||||||
</if>
|
</if>
|
||||||
LEFT JOIN bm_sub_team bst ON bst.id = bsr.`value`
|
LEFT JOIN bm_sub_team bst ON bst.id = bsr.`value`
|
||||||
LEFT JOIN bm_team_user_relation btur ON btur.team_id = bst.id and btur.is_active = '1'
|
LEFT JOIN bm_team_user_relation btur ON btur.team_id = bst.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 bw ON bw.ID_NUMBER = btur.ID_NUMBER and bw.is_active = '1' and bw.worker_type = '1'
|
||||||
WHERE
|
WHERE
|
||||||
bp.id = #{params.proId} and bst.id is not null
|
bp.id = #{params.proId} and bst.id is not null
|
||||||
<if test="params.teamName != null and params.teamName != '' ">
|
<if test="params.teamName != null and params.teamName != '' ">
|
||||||
|
|
@ -474,7 +478,7 @@
|
||||||
bweh.is_active
|
bweh.is_active
|
||||||
FROM
|
FROM
|
||||||
bm_worker_ein_history bweh
|
bm_worker_ein_history bweh
|
||||||
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bweh.ID_NUMBER
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bweh.ID_NUMBER and bw.worker_type = '1'
|
||||||
<where>
|
<where>
|
||||||
bweh.project_id = #{params.proId}
|
bweh.project_id = #{params.proId}
|
||||||
<if test="params.teamId != null and params.teamId != '' ">
|
<if test="params.teamId != null and params.teamId != '' ">
|
||||||
|
|
@ -570,11 +574,13 @@
|
||||||
and project_id = #{params.proId}
|
and project_id = #{params.proId}
|
||||||
</if>
|
</if>
|
||||||
GROUP BY id_number)bweh ON bweh.project_id = bp.id
|
GROUP BY id_number)bweh ON bweh.project_id = bp.id
|
||||||
LEFT JOIN ( SELECT id_number, pro_id FROM fc_face_contrast WHERE CURRENT_DAY = #{params.startTime}
|
LEFT JOIN ( SELECT fc.id_number, fc.pro_id FROM fc_face_contrast fc
|
||||||
|
LEFT JOIN bm_worker bw on bw.id_number = fc.ID_NUMBER and bw.worker_type = '1'
|
||||||
|
WHERE fc.CURRENT_DAY = #{params.startTime}
|
||||||
<if test="params.proId != null and params.proId != '' ">
|
<if test="params.proId != null and params.proId != '' ">
|
||||||
and pro_id = #{params.proId}
|
and fc.pro_id = #{params.proId}
|
||||||
</if>
|
</if>
|
||||||
GROUP BY id_number, CURRENT_DAY ) ffc ON ffc.pro_id = bp.id
|
GROUP BY fc.id_number, fc.CURRENT_DAY ) ffc ON ffc.pro_id = bp.id
|
||||||
<where>
|
<where>
|
||||||
<if test="params.proId != null and params.proId != '' ">
|
<if test="params.proId != null and params.proId != '' ">
|
||||||
and bp.id = #{params.proId}
|
and bp.id = #{params.proId}
|
||||||
|
|
@ -727,7 +733,7 @@
|
||||||
) pm
|
) pm
|
||||||
LEFT JOIN bm_project bp ON bp.project_general_id = pm.id and bp.is_active = '1'
|
LEFT JOIN bm_project bp ON bp.project_general_id = pm.id and bp.is_active = '1'
|
||||||
LEFT JOIN ( SELECT id_number, project_id FROM bm_worker_ein_history WHERE (sub_id is null or sub_id = 0)and is_active = '1' AND is_furlough_person = '0' AND exit_status != '1' GROUP BY id_number) bweh ON bweh.project_id = bp.id
|
LEFT JOIN ( SELECT id_number, project_id FROM bm_worker_ein_history WHERE (sub_id is null or sub_id = 0)and is_active = '1' AND is_furlough_person = '0' AND exit_status != '1' GROUP BY id_number) bweh ON bweh.project_id = bp.id
|
||||||
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bweh.ID_NUMBER and bw.is_active = '1'
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bweh.ID_NUMBER and bw.is_active = '1' and worker_type = '1'
|
||||||
GROUP BY
|
GROUP BY
|
||||||
pm.id
|
pm.id
|
||||||
ORDER BY
|
ORDER BY
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
where `id_number` = #{idNumber};
|
where `id_number` = #{idNumber};
|
||||||
INSERT INTO `bm_team_user_relation`
|
INSERT INTO `bm_team_user_relation`
|
||||||
(`team_id`, `id_number`, is_regular_person, is_foreman, `IS_ACTIVE`)
|
(`team_id`, `id_number`, is_regular_person, is_foreman, `IS_ACTIVE`)
|
||||||
VALUES (#{teamId}, #{idNumber}, #{isRegularPerson}, #{isForeman}, '1');
|
VALUES (#{teamId}, #{idNumber}, '0', '0', '1');
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertPersonContractData">
|
<insert id="insertPersonContractData">
|
||||||
insert into bm_worker_contract
|
insert into bm_worker_contract
|
||||||
|
|
|
||||||
|
|
@ -204,12 +204,12 @@ function init() {
|
||||||
var proName = row['proName'];
|
var proName = row['proName'];
|
||||||
var html = '';
|
var html = '';
|
||||||
html += "<a style = 'color:#09A8F1;cursor: pointer' onclick = 'getAttendanceByTeam(\"" + teamId + "\",\"" + teamName + "\",\"" + subId + "\",\"" + subName + "\",\"" + proId + "\",\"" + proName + "\")'>" + NoNull(teamName) + "</a>";
|
html += "<a style = 'color:#09A8F1;cursor: pointer' onclick = 'getAttendanceByTeam(\"" + teamId + "\",\"" + teamName + "\",\"" + subId + "\",\"" + subName + "\",\"" + proId + "\",\"" + proName + "\")'>" + NoNull(teamName) + "</a>";
|
||||||
if(NoNull(teamName) == "无班组人员"){
|
// if(NoNull(teamName) == "无班组人员"){
|
||||||
var str = '人员临时入场,还没有进入班组;' +
|
// var str = '人员临时入场,还没有进入班组;' +
|
||||||
'进入班组后人员自动从无班组人员中去掉;' +
|
// '进入班组后人员自动从无班组人员中去掉;' +
|
||||||
'无班组人员直接将出场无法通过工资册发工资。';
|
// '无班组人员直接将出场无法通过工资册发工资。';
|
||||||
html += "<img onclick='explainClick(\"" + str + "\")' src='../../../../img/explain.png' title='查看注解' width='18' style='cursor: pointer;margin-left: 2px'>"
|
// html += "<img onclick='explainClick(\"" + str + "\")' src='../../../../img/explain.png' title='查看注解' width='18' style='cursor: pointer;margin-left: 2px'>"
|
||||||
}
|
// }
|
||||||
return html;
|
return html;
|
||||||
},width: '25%'},
|
},width: '25%'},
|
||||||
{"data": "allPersonNum",width: '10%'},
|
{"data": "allPersonNum",width: '10%'},
|
||||||
|
|
|
||||||
|
|
@ -106,22 +106,6 @@ function init() {
|
||||||
}, "width": "5%"
|
}, "width": "5%"
|
||||||
},
|
},
|
||||||
{"data": "principal", "defaultContent": "", "width": "5%"},
|
{"data": "principal", "defaultContent": "", "width": "5%"},
|
||||||
{
|
|
||||||
"render": function (data, type, row) {
|
|
||||||
var id = row['id'];
|
|
||||||
var teamNumber = row['teamNumber'];
|
|
||||||
var html = "<span style='color: green;cursor: pointer;' title='' onclick='teamView(\"" + id + "\")'> " + teamNumber + " </span>";
|
|
||||||
return html;
|
|
||||||
}, "width": "5%"
|
|
||||||
},
|
|
||||||
/*{
|
|
||||||
"render": function (data, type, row) {
|
|
||||||
var id = row['id'];
|
|
||||||
var personNumber = row['personNumber'];
|
|
||||||
var html = "<span style='color: green;cursor: pointer;' title='' onclick='personView(\"" + id + "\")'> " + personNumber + " </span>";
|
|
||||||
return html;
|
|
||||||
}, "width": "5%"
|
|
||||||
},*/
|
|
||||||
{
|
{
|
||||||
"render": function (data, type, row) {
|
"render": function (data, type, row) {
|
||||||
var id = row['id'];
|
var id = row['id'];
|
||||||
|
|
@ -327,7 +311,7 @@ function buttonCompleteData(id, permission, pers) {
|
||||||
* 合同完工
|
* 合同完工
|
||||||
* */
|
* */
|
||||||
function completeView(id) {
|
function completeView(id) {
|
||||||
let index = layer.confirm("确定完结该合同吗?<br/>合同完结会将班组移除,非固定人员移出班组并出场,请谨慎操作", function () {
|
let index = layer.confirm("确定完结该合同吗?<br/>合同完结会将班组移除,人员移出班组并出场,请谨慎操作", function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'post',
|
type: 'post',
|
||||||
contentType: "application/x-www-form-urlencoded",
|
contentType: "application/x-www-form-urlencoded",
|
||||||
|
|
|
||||||
|
|
@ -106,9 +106,9 @@ function init() {
|
||||||
},
|
},
|
||||||
{"data": "subName", "defaultContent": "","width":"5%"},
|
{"data": "subName", "defaultContent": "","width":"5%"},
|
||||||
{"data": "teamName", "defaultContent": "","width":"4%"},
|
{"data": "teamName", "defaultContent": "","width":"4%"},
|
||||||
{"data": "foreman","orderable": false, "defaultContent": "","width":"4%"},
|
// {"data": "foreman","orderable": false, "defaultContent": "","width":"4%"},
|
||||||
{"data": "foremanIdNumber","orderable": false, "defaultContent": "","width":"8%"},
|
// {"data": "foremanIdNumber","orderable": false, "defaultContent": "","width":"8%"},
|
||||||
{"data": "foremanPhone","orderable": false, "defaultContent": "","width":"9%"},
|
// {"data": "foremanPhone","orderable": false, "defaultContent": "","width":"9%"},
|
||||||
{
|
{
|
||||||
"width":"7%",
|
"width":"7%",
|
||||||
"data": "",
|
"data": "",
|
||||||
|
|
@ -126,6 +126,8 @@ function init() {
|
||||||
if(idNumbers == '' || idNumbers == null || idNumbers == 'null' || idNumbers == undefined || idNumbers == 'undefined'){
|
if(idNumbers == '' || idNumbers == null || idNumbers == 'null' || idNumbers == undefined || idNumbers == 'undefined'){
|
||||||
html += buttonSwitchSub(id, "sys:teamBasic:update", pers);
|
html += buttonSwitchSub(id, "sys:teamBasic:update", pers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html += buttonCheckData(id, "", pers);
|
||||||
return html;
|
return html;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -134,6 +136,39 @@ function init() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function buttonCheckData(id, permission, pers) {
|
||||||
|
if (permission != "") {
|
||||||
|
if ($.inArray(permission, pers) < 0) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var btn = $("<button class='layui-btn layui-btn-xs' title='详情' onclick='checkView(\"" + id + "\")'>人员详情</button>");
|
||||||
|
return btn.prop("outerHTML");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查看
|
||||||
|
* */
|
||||||
|
function checkView(id) {
|
||||||
|
localStorage.setItem("teamId", id);
|
||||||
|
let width = "80%";
|
||||||
|
let height = "90%";
|
||||||
|
var index = layer.open({
|
||||||
|
title: ['班组成员查看', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
|
||||||
|
type: 2,
|
||||||
|
content: '../PersonSetting/TeamPersonList.html',
|
||||||
|
area: [width, height],
|
||||||
|
maxmin: false,
|
||||||
|
success: function (layero, index) {
|
||||||
|
|
||||||
|
},
|
||||||
|
yes: function (index, layero) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增页面
|
* 新增页面
|
||||||
* */
|
* */
|
||||||
|
|
|
||||||
|
|
@ -252,6 +252,56 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!--分包班组信息-->
|
||||||
|
<div class="layui-colla-item" id="subTeamModule">
|
||||||
|
<div class="layui-colla-title">分包班组信息
|
||||||
|
<i class="tip-required" style="color: red;">(若没有分包、班组信息,请先签署分包合同)</i>
|
||||||
|
</div>
|
||||||
|
<div class="layui-colla-content layui-show">
|
||||||
|
<div class="layui-input-inline" style="width: 60%">
|
||||||
|
<label class="layui-form-label" style="width: 130px">
|
||||||
|
<i class="tip-required"
|
||||||
|
style="color: red;font-size: 20px">*</i>所属分包
|
||||||
|
</label>
|
||||||
|
<div class="layui-input-block" style="margin-left: 130px">
|
||||||
|
<select id="subId" name="subId" lay-filter="subId" lay-filter="subId"
|
||||||
|
lay-search lay-verify="required">
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-inline" style="width: 60%">
|
||||||
|
<label class="layui-form-label" style="width: 130px">
|
||||||
|
<i class="tip-required"
|
||||||
|
style="color: red;font-size: 20px">*</i>所属班组
|
||||||
|
</label>
|
||||||
|
<div class="layui-input-block" style="margin-left: 130px">
|
||||||
|
<select id="teamId" name="teamId" lay-filter="teamId" lay-filter="teamId"
|
||||||
|
lay-search lay-verify="required">
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-input-inline" style="width: 60%;margin-top: 2%">
|
||||||
|
<label class="layui-form-label" style="width: 130px">
|
||||||
|
所属分包合同
|
||||||
|
</label>
|
||||||
|
<div class="layui-input-block" style="margin-left: 130px">
|
||||||
|
<input type="text" name="fallContract" id="fallContract" class="layui-input"
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-inline" style="width: 60%">
|
||||||
|
<label class="layui-form-label" style="width: 130px">
|
||||||
|
所属工程
|
||||||
|
</label>
|
||||||
|
<div class="layui-input-block" style="margin-left: 130px">
|
||||||
|
<input type="text" name="fallPro" id="fallPro" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--安全培训考试-->
|
<!--安全培训考试-->
|
||||||
<div class="layui-colla-item">
|
<div class="layui-colla-item">
|
||||||
<div class="layui-colla-title">安全培训考试
|
<div class="layui-colla-title">安全培训考试
|
||||||
|
|
@ -467,76 +517,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--分包班组信息-->
|
|
||||||
<div class="layui-colla-item" id="subTeamModule">
|
|
||||||
<div class="layui-colla-title">分包班组信息
|
|
||||||
<i class="tip-required" style="color: red;">(固定人员生成工资册之前必须完善)</i>
|
|
||||||
</div>
|
|
||||||
<div class="layui-colla-content layui-show">
|
|
||||||
<div class="layui-input-inline" style="width: 60%">
|
|
||||||
<label class="layui-form-label" style="width: 130px">
|
|
||||||
所属分包
|
|
||||||
</label>
|
|
||||||
<div class="layui-input-block" style="margin-left: 130px">
|
|
||||||
<select id="subId" name="subId" lay-filter="subId" lay-filter="subId"
|
|
||||||
lay-search>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="layui-input-inline" style="width: 60%">
|
|
||||||
<label class="layui-form-label" style="width: 130px">
|
|
||||||
所属班组
|
|
||||||
</label>
|
|
||||||
<div class="layui-input-block" style="margin-left: 130px">
|
|
||||||
<select id="teamId" name="teamId" lay-filter="teamId" lay-filter="teamId"
|
|
||||||
lay-search>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-input-inline" style="width: 60%;margin-top: 2%">
|
|
||||||
<label class="layui-form-label" style="width: 130px">
|
|
||||||
所属分包合同
|
|
||||||
</label>
|
|
||||||
<div class="layui-input-block" style="margin-left: 130px">
|
|
||||||
<input type="text" name="fallContract" id="fallContract" class="layui-input"
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="layui-input-inline" style="width: 60%">
|
|
||||||
<label class="layui-form-label" style="width: 130px">
|
|
||||||
所属工程
|
|
||||||
</label>
|
|
||||||
<div class="layui-input-block" style="margin-left: 130px">
|
|
||||||
<input type="text" name="fallPro" id="fallPro" class="layui-input">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--<div class="layui-input-inline" style="width: 60%">
|
|
||||||
<label class="layui-form-label" style="width: 130px">
|
|
||||||
是否为班组固定人员
|
|
||||||
</label>
|
|
||||||
<div class="layui-input-block" style="margin-left: 130px">
|
|
||||||
<select id="teamRegularSwitch" name="teamRegularSwitch" lay-filter="teamRegularSwitch" lay-search>
|
|
||||||
<option value="1">是</option>
|
|
||||||
<option value="0" selected>否</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>-->
|
|
||||||
|
|
||||||
<!--<div class="layui-input-inline" style="width: 60%">
|
|
||||||
<label class="layui-form-label" style="width: 130px">
|
|
||||||
是否为班组长
|
|
||||||
</label>
|
|
||||||
<div class="layui-input-block" style="margin-left: 130px">
|
|
||||||
<select id="isForeman" name="isForeman" lay-filter="isForeman" lay-search>
|
|
||||||
<option value="1">是</option>
|
|
||||||
<option value="0" selected>否</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>-->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--合同信息-->
|
<!--合同信息-->
|
||||||
<div class="layui-colla-item" id="contractModule">
|
<div class="layui-colla-item" id="contractModule">
|
||||||
<div class="layui-colla-title">合同信息
|
<div class="layui-colla-title">合同信息
|
||||||
|
|
|
||||||
|
|
@ -683,6 +683,9 @@ function keyContentRequired() {
|
||||||
var phone = $("#phone").val(); //手机号码
|
var phone = $("#phone").val(); //手机号码
|
||||||
var proId = $("#proId").val(); //工程
|
var proId = $("#proId").val(); //工程
|
||||||
|
|
||||||
|
var subId = $("#subId").val();
|
||||||
|
var teamId = $("#teamId").val();
|
||||||
|
|
||||||
var checkupDate = $("#checkupDate").val(); //体检日期
|
var checkupDate = $("#checkupDate").val(); //体检日期
|
||||||
if (checkupDate === "" || checkupDate === "null" || checkupDate == null) {
|
if (checkupDate === "" || checkupDate === "null" || checkupDate == null) {
|
||||||
layer.alert("未填写体检日期", { icon: 0 });
|
layer.alert("未填写体检日期", { icon: 0 });
|
||||||
|
|
@ -702,28 +705,15 @@ function keyContentRequired() {
|
||||||
layer.alert("未选择工程", { icon: 0 });
|
layer.alert("未选择工程", { icon: 0 });
|
||||||
$("#proId").focus();
|
$("#proId").focus();
|
||||||
return false;
|
return false;
|
||||||
|
} else if(subId === "" || subId === "null" || subId == null){
|
||||||
|
layer.alert("未选择所属分包", { icon: 0 });
|
||||||
|
$("#subId").focus();
|
||||||
|
return false;
|
||||||
|
} else if(teamId === "" || teamId === "null" || teamId == null){
|
||||||
|
layer.alert("未选择所属班组", { icon: 0 });
|
||||||
|
$("#teamId").focus();
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
// else{
|
|
||||||
// //verifyPersonPhone
|
|
||||||
// let state = true;
|
|
||||||
// $.ajax({
|
|
||||||
// type: 'post',
|
|
||||||
// url: ctxPath + '/personComprehensive/verifyPersonPhone',
|
|
||||||
// async: false,
|
|
||||||
// data: {
|
|
||||||
// phone: phone
|
|
||||||
// },
|
|
||||||
// success: function (data) {
|
|
||||||
// if(data.code != '200'){
|
|
||||||
// layer.alert(data.msg);
|
|
||||||
// state = false;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// if(!state){
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -227,6 +227,54 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!--分包班组信息-->
|
||||||
|
<div class="layui-colla-item" id="subTeamModule">
|
||||||
|
<div class="layui-colla-title">分包班组信息
|
||||||
|
<i class="tip-required" style="color: red;">(固定人员生成工资册之前必须完善)</i>
|
||||||
|
</div>
|
||||||
|
<div class="layui-colla-content layui-show">
|
||||||
|
<div class="layui-input-inline" style="width: 60%">
|
||||||
|
<label class="layui-form-label" style="width: 130px">
|
||||||
|
所属分包
|
||||||
|
</label>
|
||||||
|
<div class="layui-input-block" style="margin-left: 130px">
|
||||||
|
<select id="subId" name="subId" lay-filter="subId" lay-filter="subId"
|
||||||
|
lay-search>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-inline" style="width: 60%">
|
||||||
|
<label class="layui-form-label" style="width: 130px">
|
||||||
|
所属班组
|
||||||
|
</label>
|
||||||
|
<div class="layui-input-block" style="margin-left: 130px">
|
||||||
|
<select id="teamId" name="teamId" lay-filter="teamId" lay-filter="teamId"
|
||||||
|
lay-search>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-input-inline" style="width: 60%;margin-top: 2%">
|
||||||
|
<label class="layui-form-label" style="width: 130px">
|
||||||
|
所属分包合同
|
||||||
|
</label>
|
||||||
|
<div class="layui-input-block" style="margin-left: 130px">
|
||||||
|
<input type="text" name="fallContract" id="fallContract" class="layui-input"
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-inline" style="width: 60%">
|
||||||
|
<label class="layui-form-label" style="width: 130px">
|
||||||
|
所属工程
|
||||||
|
</label>
|
||||||
|
<div class="layui-input-block" style="margin-left: 130px">
|
||||||
|
<input type="text" name="fallPro" id="fallPro" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--安全培训考试-->
|
<!--安全培训考试-->
|
||||||
<div class="layui-colla-item">
|
<div class="layui-colla-item">
|
||||||
<div class="layui-colla-title">安全培训考试
|
<div class="layui-colla-title">安全培训考试
|
||||||
|
|
@ -442,76 +490,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--分包班组信息-->
|
|
||||||
<div class="layui-colla-item" id="subTeamModule">
|
|
||||||
<div class="layui-colla-title">分包班组信息
|
|
||||||
<i class="tip-required" style="color: red;">(固定人员生成工资册之前必须完善)</i>
|
|
||||||
</div>
|
|
||||||
<div class="layui-colla-content layui-show">
|
|
||||||
<div class="layui-input-inline" style="width: 60%">
|
|
||||||
<label class="layui-form-label" style="width: 130px">
|
|
||||||
所属分包
|
|
||||||
</label>
|
|
||||||
<div class="layui-input-block" style="margin-left: 130px">
|
|
||||||
<select id="subId" name="subId" lay-filter="subId" lay-filter="subId"
|
|
||||||
lay-search>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="layui-input-inline" style="width: 60%">
|
|
||||||
<label class="layui-form-label" style="width: 130px">
|
|
||||||
所属班组
|
|
||||||
</label>
|
|
||||||
<div class="layui-input-block" style="margin-left: 130px">
|
|
||||||
<select id="teamId" name="teamId" lay-filter="teamId" lay-filter="teamId"
|
|
||||||
lay-search>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-input-inline" style="width: 60%;margin-top: 2%">
|
|
||||||
<label class="layui-form-label" style="width: 130px">
|
|
||||||
所属分包合同
|
|
||||||
</label>
|
|
||||||
<div class="layui-input-block" style="margin-left: 130px">
|
|
||||||
<input type="text" name="fallContract" id="fallContract" class="layui-input"
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="layui-input-inline" style="width: 60%">
|
|
||||||
<label class="layui-form-label" style="width: 130px">
|
|
||||||
所属工程
|
|
||||||
</label>
|
|
||||||
<div class="layui-input-block" style="margin-left: 130px">
|
|
||||||
<input type="text" name="fallPro" id="fallPro" class="layui-input">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--<div class="layui-input-inline" style="width: 60%">
|
|
||||||
<label class="layui-form-label" style="width: 130px">
|
|
||||||
是否为班组固定人员
|
|
||||||
</label>
|
|
||||||
<div class="layui-input-block" style="margin-left: 130px">
|
|
||||||
<select id="teamRegularSwitch" name="teamRegularSwitch" lay-filter="teamRegularSwitch" lay-search>
|
|
||||||
<option value="1">是</option>
|
|
||||||
<option value="0" selected>否</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>-->
|
|
||||||
|
|
||||||
<!--<div class="layui-input-inline" style="width: 60%">
|
|
||||||
<label class="layui-form-label" style="width: 130px">
|
|
||||||
是否为班组长
|
|
||||||
</label>
|
|
||||||
<div class="layui-input-block" style="margin-left: 130px">
|
|
||||||
<select id="isForeman" name="isForeman" lay-filter="isForeman" lay-search>
|
|
||||||
<option value="1">是</option>
|
|
||||||
<option value="0" selected>否</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>-->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="layui-colla-item" id="electronicContractModule" style="display: none">
|
<div class="layui-colla-item" id="electronicContractModule" style="display: none">
|
||||||
<div class="layui-colla-title">合同信息
|
<div class="layui-colla-title">合同信息
|
||||||
<i class="tip-required" style="color: red;">(正式人员生成工资册之前必须完善)</i>
|
<i class="tip-required" style="color: red;">(正式人员生成工资册之前必须完善)</i>
|
||||||
|
|
|
||||||
|
|
@ -1942,14 +1942,14 @@ function setData(data) {
|
||||||
getTeamBySubId(data.subId, data.teamId); //班组、工程选择 所属班组
|
getTeamBySubId(data.subId, data.teamId); //班组、工程选择 所属班组
|
||||||
getTeamBySubIdToData(data.subId, data.teamId);
|
getTeamBySubIdToData(data.subId, data.teamId);
|
||||||
} else {
|
} else {
|
||||||
getProByTeamId(data.proProId, data.proTeamId);
|
getProByTeamId(data.proId, "");
|
||||||
getSubByProId(data.proProId, data.proSubId);
|
getSubByProId(data.proId, data.subId);
|
||||||
getTeamBySubId(data.proSubId, data.proTeamId); //班组、工程选择 所属班组
|
getTeamBySubId(data.subId, data.proTeamId); //班组、工程选择 所属班组
|
||||||
$("#proId").attr("disabled", "true");
|
$("#proId").attr("disabled", "true");
|
||||||
$("#subId").attr("disabled", "true");
|
$("#subId").attr("disabled", "true");
|
||||||
$("#teamId").attr("disabled", "true");
|
$("#teamId").attr("disabled", "true");
|
||||||
attendanceMachine = getAttendanceMachineByProId(data.proProId);
|
attendanceMachine = getAttendanceMachineByProId(data.proId);
|
||||||
getTeamBySubIdToData(data.proSubId, data.proTeamId);
|
getTeamBySubIdToData(data.subId, data.proTeamId);
|
||||||
}
|
}
|
||||||
subId = data.subId;
|
subId = data.subId;
|
||||||
isFurloughPerson = data.isFurloughPerson;
|
isFurloughPerson = data.isFurloughPerson;
|
||||||
|
|
|
||||||
|
|
@ -76,19 +76,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-inline" style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
|
||||||
<label class="layui-form-label">班组及人员选择</label>
|
|
||||||
<div class="layui-input-block">
|
|
||||||
<button type="button" class="layui-btn" onclick="selectTeam()" style="margin-top: 2%;" >班组及人员选择</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-inline" style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
|
||||||
<div style="width: 99%;float: right;overflow:auto">
|
|
||||||
<table id="teamTable" lay-filter="teamOperation"></table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-form-item" style="display: none">
|
<div class="layui-form-item" style="display: none">
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<button type="button" class="layui-btn" id="commit" lay-submit lay-filter="formDemo">提交</button>
|
<button type="button" class="layui-btn" id="commit" lay-submit lay-filter="formDemo">提交</button>
|
||||||
|
|
|
||||||
|
|
@ -54,8 +54,6 @@
|
||||||
<th>工程名称</th>
|
<th>工程名称</th>
|
||||||
<th>合同金额(元)</th>
|
<th>合同金额(元)</th>
|
||||||
<th>现场负责人</th>
|
<th>现场负责人</th>
|
||||||
<th>备案班组</th>
|
|
||||||
<!-- <th>备案人员</th>-->
|
|
||||||
<th>附件</th>
|
<th>附件</th>
|
||||||
<th>操作</th>
|
<th>操作</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -34,9 +34,9 @@
|
||||||
<button class="layui-btn layui-btn-sm" permission="sys:teamBasic:add" onclick="add()">
|
<button class="layui-btn layui-btn-sm" permission="sys:teamBasic:add" onclick="add()">
|
||||||
<i class="layui-icon"></i> 新增
|
<i class="layui-icon"></i> 新增
|
||||||
</button>
|
</button>
|
||||||
<button class="layui-btn layui-btn-sm"
|
<!--<button class="layui-btn layui-btn-sm"
|
||||||
onclick="team()" style="">班组人员批量配置
|
onclick="team()" style="">班组人员批量配置
|
||||||
</button>
|
</button>-->
|
||||||
<span style="color: #E02232;float: right;margin-top: 2%;">*如要更换分包商需将班组中的人员全部出场</span>
|
<span style="color: #E02232;float: right;margin-top: 2%;">*如要更换分包商需将班组中的人员全部出场</span>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -60,9 +60,9 @@
|
||||||
<th>工程名称</th>
|
<th>工程名称</th>
|
||||||
<th>分包商名称</th>
|
<th>分包商名称</th>
|
||||||
<th>班组名称</th>
|
<th>班组名称</th>
|
||||||
<th>班组长</th>
|
<!-- <th>班组长</th>-->
|
||||||
<th>班组长身份证</th>
|
<!-- <th>班组长身份证</th>-->
|
||||||
<th>班组长联系方式</th>
|
<!-- <th>班组长联系方式</th>-->
|
||||||
<th>操作</th>
|
<th>操作</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
|
||||||
|
|
@ -33,11 +33,10 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getSubByProId" resultType="com.bonus.system.api.domain.SelectBean">
|
<select id="getSubByProId" resultType="com.bonus.system.api.domain.SelectBean">
|
||||||
SELECT distinct bs.id,bs.sub_name as name FROM `bm_subcontractor` bs
|
SELECT distinct bs.id,bs.sub_name as name FROM bm_project bp
|
||||||
left join bm_sub_contract bsc on bsc.sub_id = bs.id and bsc.is_active = 1
|
LEFT JOIN bm_sub_contract bsc on bp.id = bsc.pro_id AND bsc.is_active = '1'
|
||||||
left join bm_sub_relation bsr on bsr.sub_contract_id = bsc.id and bsr.is_active = 1
|
LEFT JOIN bm_subcontractor bs on bsc.sub_id = bs.id and bs.is_active = '1'
|
||||||
left join bm_project bp on bp.id = bsc.pro_id and bp.is_active = 1
|
where bp.id = #{proId}
|
||||||
where bs.is_active = '1' and bp.id = #{proId} and bsr.type = 3
|
|
||||||
group by bs.id
|
group by bs.id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
|
||||||
19
pom.xml
19
pom.xml
|
|
@ -346,25 +346,6 @@
|
||||||
</resources>
|
</resources>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
<profiles>
|
|
||||||
|
|
||||||
<profile>
|
|
||||||
<id>lSun</id>
|
|
||||||
<properties>
|
|
||||||
<profiles.active>lp_smz_dev</profiles.active>
|
|
||||||
<nacos.server>127.0.0.1:8848</nacos.server>
|
|
||||||
<name.space>lp_smz_dev</name.space>
|
|
||||||
<username>nacos</username>
|
|
||||||
<password>nacos</password>
|
|
||||||
</properties>
|
|
||||||
<activation>
|
|
||||||
<activeByDefault>true</activeByDefault>
|
|
||||||
</activation>
|
|
||||||
</profile>
|
|
||||||
|
|
||||||
<!-- 可以添加更多环境配置 -->
|
|
||||||
</profiles>
|
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
<id>public</id>
|
<id>public</id>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue