分包资质,分包资质统计,班组管理增加工程名称

This commit is contained in:
itcast 2026-02-03 17:58:57 +08:00
parent c6b7205b71
commit 7dbda93b19
12 changed files with 86 additions and 8 deletions

View File

@ -12,6 +12,9 @@ public class CertificateBean {
private Integer subId; //分包商ID
private String subName; //分包商名称
private Integer proId; //工程ID
private String proName; //工程名称
private String legal; //法人
private String remark; //备注

View File

@ -10,6 +10,9 @@ public class SubCertificateStatisticsBean {
private String startTime;
private String stopTime;
private Integer proId; //工程ID
private String proName; //工程名称
private String subName; //分包商名称
private String legalName; //法人
private String tradeCertificate; //营业执照

View File

@ -30,6 +30,9 @@ public class TeamBean
/** 分包商名称 */
private String subName;
private Integer proId; //工程ID
private String proName; //工程名称
private String foreman;
private String foremanIdNumber;

View File

@ -37,7 +37,7 @@
<select id="getList" resultType="com.bonus.bmw.subcontract.entity.CertificateBean">
SELECT
bsc.id,bsc.sub_id AS subId,bs.sub_name AS subName,
bsc.id,bsc.sub_id AS subId,bs.sub_name AS subName,bp.id as proId,bp.`name` as proName,
if((bsc.`name` IS NULL or bscy.`name` = ''),bscy.`name`,bsc.`name`) AS name,
bs.legal_name as legal,
bsc.path,bsc.start_time AS startTime,bsc.stop_time AS stopTime,
@ -47,6 +47,8 @@
now() BETWEEN bsc.start_time AND bsc.stop_time AS `status`
FROM
bm_subcontractor_certificate AS bsc
LEFT JOIN bm_sub_contract bsct on bsct.sub_id = bsc.sub_id
LEFT JOIN bm_project bp ON bp.id = bsct.pro_id and bp.is_active = '1'
LEFT JOIN bm_subcontractor bs ON bs.id = bsc.sub_id
LEFT JOIN bm_subcontractor_certificate_type bscy ON bscy.id = bsc.certificate_id
WHERE bsc.is_active = '1'
@ -60,6 +62,9 @@
<if test="params.subId != null and params.subId != ''">
and bs.id = #{params.subId}
</if>
<if test="params.proId != null and params.proId != ''">
and bp.id = #{params.proId}
</if>
<if test="params.examStatus != null and params.examStatus != ''">
and bsc.examine_status = #{params.examStatus}
</if>

View File

@ -6,6 +6,7 @@
SELECT
subName,
legalName,
proName,
GROUP_CONCAT(certificateName) AS certificateName,
GROUP_CONCAT(expirationDate) AS expirationDate,
GROUP_CONCAT(statu) AS statu,
@ -16,6 +17,7 @@
bs.id,
bs.sub_name AS subName,
bs.legal_name AS legalName,
bp.`name` as proName,
if((bsct.`name` IS NULL OR bsct.`name` = ''),bsc.`name`,bsct.`name`) AS certificateName,
CONCAT(bsc.start_time,' ~ ',bsc.stop_time) AS expirationDate,
now() BETWEEN bsc.start_time AND bsc.stop_time AS statu,
@ -23,6 +25,8 @@
bsc.stop_time AS stopTime
FROM
bm_subcontractor bs
LEFT JOIN bm_sub_contract bsct1 on bsct1.sub_id = bs.id
LEFT JOIN bm_project bp ON bp.id = bsct1.pro_id and bp.is_active = '1'
LEFT JOIN bm_subcontractor_certificate bsc ON bsc.sub_id = bs.id AND bsc.is_active = '1'
LEFT JOIN bm_subcontractor_certificate_type bsct ON bsct.id = bsc.certificate_id AND bsct.is_active = '1'
WHERE bs.is_active = '1'
@ -35,6 +39,9 @@
<if test="params.subId != null and params.subId !='' ">
AND bs.id = #{params.subId}
</if>
<if test="params.proId != null and params.proId != ''">
and bp.id = #{params.proId}
</if>
<if test="params.certificateName != '' and params.certificateName != null">
and (
bsc.`name` like concat('%', #{params.certificateName}, '%') OR

View File

@ -8,6 +8,9 @@
<if test="params.subId != null and params.subId != ''">
and bst.sub_id = #{params.subId}
</if>
<if test="params.proId != null and params.proId != ''">
and bp.id = #{params.proId}
</if>
<if test="params.keyWord != null and params.keyWord != ''">
and (
bs.sub_name like concat('%', #{params.keyWord}, '%') or
@ -41,6 +44,8 @@
select count(1) FROM
`bm_sub_team` bst
LEFT JOIN bm_subcontractor bs ON bs.id = bst.sub_id and bs.is_active = '1'
LEFT JOIN bm_sub_contract bsct1 on bsct1.sub_id = bs.id
LEFT JOIN bm_project bp ON bp.id = bsct1.pro_id and bp.is_active = '1'
LEFT JOIN `bm_worker` bw ON bw.id_number = bst.team_Idnumber AND bs.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 bw1 ON bw1.id_number = btur.id_number AND bw1.IS_ACTIVE = '1' AND bw1.ein_status = '1'
@ -50,6 +55,7 @@
<select id="list" resultType="com.bonus.bmw.team.entity.TeamBean">
SELECT
bst.id,
bp.`name` as proName,
bst.team_name AS teamName,
bs.sub_name AS subName,
w.`name` as foreman,
@ -63,6 +69,8 @@
FROM
`bm_sub_team` bst
LEFT JOIN bm_subcontractor bs ON bs.id = bst.sub_id and bs.is_active = '1'
LEFT JOIN bm_sub_contract bsct1 on bsct1.sub_id = bs.id
LEFT JOIN bm_project bp ON bp.id = bsct1.pro_id and bp.is_active = '1'
LEFT JOIN `bm_worker` bw ON bw.id_number = bst.team_Idnumber AND bs.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 bw1 ON bw1.id_number = btur.id_number AND bw1.IS_ACTIVE = '1' AND bw1.ein_status = '1'

View File

@ -7,7 +7,7 @@ layui.use(['layer', 'form'], function () {
// getPro(form, data.value);
});
getCerSub("");
getProByOrgId("","","");
init();
pers = checkPermission();
$("#searchBt").click(function () {
@ -41,7 +41,7 @@ function init() {
d.subId = $("#subId").val();
d.status = $("#status").val();
// d.companyId = $("#companyId").val();
// d.proId = $("#proId").val();
d.proId = $("#proId").val();
// d.proStatus = $("#status").find("option:selected").val();
},
"error": function (xhr, textStatus, errorThrown) {
@ -101,6 +101,14 @@ function init() {
return c;
}
},
//{"data": "proName","width":"10%"},
{
"data": "proName",
"width": "10%",
"render": function (data, type, row) {
return (data && data.trim()) ? data.trim() : "未绑定合同";
}
},
{"data": "subName","width":"10%"},
{"data": "legal","width":"5%"},
{"data": "name","width":"8%"},

View File

@ -8,6 +8,7 @@ layui.use(['layer', 'form'], function () {
});
getCertificateSub()
getProByOrgId("","","");
init();
pers = checkPermission();
@ -39,6 +40,7 @@ function init() {
"data": function (d) {
d.keyWord = $("#keyWord").val();
d.certificateName = $("#certificateName").val()
d.proId = $("#proId").val();
},
"error": function (xhr, textStatus, errorThrown) {
var msg = xhr.responseText;
@ -97,6 +99,13 @@ function init() {
return c;
}
},
{
"data": "proName",
"width": "8%",
"render": function (data, type, row) {
return (data && data.trim()) ? data.trim() : "未绑定合同";
}
},
{"data": "subName","width":"8%"},
{"data": "legalName","width":"5%"},
{
@ -115,7 +124,7 @@ function init() {
return html;
}
},
{"data": "tradeExpirationDate","width":"15%"},
{"data": "tradeExpirationDate","width":"10%"},
{
"data": "",
"width":"5%",
@ -153,7 +162,7 @@ function init() {
return html;
}
},
{"data": "aptitudeExpirationDate","width":"15%"},
{"data": "aptitudeExpirationDate","width":"10%"},
{
"data": "",
"width":"5%",
@ -191,7 +200,7 @@ function init() {
return html;
}
},
{"data": "safeExpirationDate","width":"15%"},
{"data": "safeExpirationDate","width":"10%"},
{
"data": "",
"width":"5%",

View File

@ -9,6 +9,7 @@ layui.use(['form','layer'], function () {
example.ajax.reload();
});
getCerSub("");
getProByOrgId("","","");
init();
});
@ -28,6 +29,7 @@ function init() {
"data": function (d) {
d.subId = $('#subId').val();
d.keyWord = $('#keyWord').val();
d.proId = $('#proId').val();
},
"error": function (xhr, textStatus, errorThrown) {
var msg = xhr.responseText;
@ -95,8 +97,15 @@ function init() {
return c;
}
},
{"data": "teamName", "defaultContent": "","width":"4%"},
{
"data": "proName",
"width": "5%",
"render": function (data, type, row) {
return (data && data.trim()) ? data.trim() : "未绑定合同";
}
},
{"data": "subName", "defaultContent": "","width":"5%"},
{"data": "teamName", "defaultContent": "","width":"4%"},
{"data": "foreman","orderable": false, "defaultContent": "","width":"4%"},
{"data": "foremanIdNumber","orderable": false, "defaultContent": "","width":"8%"},
{"data": "foremanPhone","orderable": false, "defaultContent": "","width":"9%"},

View File

@ -36,6 +36,13 @@
</div>
</div>
<div class="layui-inline" >
<div class="layui-input-inline" style="display: flex;align-items: center;">
工程:
<select id="proId" name="proId" lay-verify="required" lay-search="" lay-filter="proId"></select>
</div>
</div>
<!-- <div class="layui-inline">-->
<!-- <div class="layui-input-inline" style="width:100px">-->
<!-- 证件有效状态-->
@ -92,6 +99,7 @@
<thead>
<tr>
<th>序号</th>
<th>工程名称</th>
<th>分包商名称</th>
<th>法人</th>
<th>证件名称</th>

View File

@ -36,6 +36,13 @@
</div>
</div>
<div class="layui-inline" >
<div class="layui-input-inline" style="display: flex;align-items: center;">
工程:
<select id="proId" name="proId" lay-verify="required" lay-search="" lay-filter="proId"></select>
</div>
</div>
<!--<div class="layui-inline" style="margin-left: 10px;margin-right: 10px;">
证件有效状态:
<div class="layui-input-inline" style="width:100px">
@ -65,6 +72,7 @@
<thead>
<tr>
<th>序号</th>
<th>工程名称</th>
<th>分包商名称</th>
<th>法人</th>

View File

@ -23,6 +23,12 @@
<span style="font-size: medium">分包商:</span>
<select id="subId" name="subId" class="form-control input-sm" lay-search=""></select>
</div>
</div>
<div class="layui-inline" >
<div class="layui-input-inline" style="display: flex;align-items: center;">
工程:
<select id="proId" name="proId" lay-verify="required" lay-search="" lay-filter="proId"></select>
</div>
</div>
<button id="searchBt" class="layui-btn layui-btn-sm" permission="sys:teamBasic:query" style="margin-left:1% "><i class="layui-icon">&#xe615;</i>搜索</button>
<button class="layui-btn layui-btn-sm" permission="sys:teamBasic:add" onclick="add()">
@ -51,8 +57,9 @@
</tr>
<tr>
<th>序号</th>
<th>班组名称</th>
<th>工程名称</th>
<th>分包商名称</th>
<th>班组名称</th>
<th>班组长</th>
<th>班组长身份证</th>
<th>班组长联系方式</th>