修复无法启动的问题

localizer
lzq 2025-09-12 11:15:18 +08:00
parent c71d6f227e
commit 6335242846
15 changed files with 144 additions and 2606 deletions

View File

@ -2,7 +2,9 @@ package com.njzscloud.common.security.util;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.njzscloud.common.security.contant.Constants;
import com.njzscloud.common.security.support.VerificationCodeService;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
@ -58,6 +60,12 @@ public class EncryptUtil {
return new String[]{password, encryptedPassword};
}
public static boolean checkCode(String codeId, String code) {
VerificationCodeService verificationCodeService = SpringUtil.getBean(VerificationCodeService.class);
return verificationCodeService.checkCode(codeId, code);
}
public static void main(String[] args) {
System.out.println(encrypt("admin"));
}

View File

@ -14,6 +14,7 @@ public enum BizObj implements DictStr {
ShiGongDanWei("ShiGongDanWei", "施工单位"),
DanWei("DanWei", "单位"),
GeRen("GeRen", "个人"),
WuYe("WuYe", "物业"),
QingYunGongSi("QingYunGongSi", "清运公司"),
SiJi("SiJi", "司机"),
XiaoNaCang("XiaoNaCang", "消纳场"),

View File

@ -115,7 +115,7 @@ public class BizCompanyEntity {
/**
*
*/
private String phoneNum;
private String phone;
/**
* ; audit_status

View File

@ -10,6 +10,8 @@ import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Getter
@ -18,7 +20,6 @@ import java.util.List;
@Accessors(chain = true)
public class UserRegisterParam implements Constrained {
/**
* ; biz_obj
*/
@ -43,9 +44,11 @@ public class UserRegisterParam implements Constrained {
*
*/
private Account account;
/**
*
*/
@Valid
private Company company;
@ -54,6 +57,28 @@ public class UserRegisterParam implements Constrained {
return new ValidRule[]{
ValidRule.of(() -> StrUtil.isNotBlank(nickname), "用户昵称不能为空"),
ValidRule.of(() -> account != null, "账号信息不能为空"),
ValidRule.of(() -> {
switch (bizObj) {
case GeRen:
return StrUtil.isNotBlank(account.getPhone()) && StrUtil.isNotBlank(account.getCode()) && StrUtil.isNotBlank(account.getCodeId());
case QingYunGongSi:
case WuYe:
return StrUtil.isNotBlank(account.getUsername()) && StrUtil.isNotBlank(account.getSecret());
default:
return false;
}
}, "账号信息错误"),
ValidRule.of(() -> {
switch (bizObj) {
case GeRen:
return true;
case QingYunGongSi:
case WuYe:
return company != null;
default:
return false;
}
}, "公司信息不能为空"),
};
}
@ -82,12 +107,19 @@ public class UserRegisterParam implements Constrained {
*/
private String secret;
/**
*
*/
private String code;
/**
* 使 uid
*/
private String codeId;
@Override
public ValidRule[] rules() {
return new ValidRule[]{
ValidRule.of(() -> StrUtil.isNotBlank(username), "用户名不能为空"),
ValidRule.of(() -> StrUtil.isNotBlank(secret), "密码不能为空"),
};
return new ValidRule[]{};
}
}
@ -99,110 +131,109 @@ public class UserRegisterParam implements Constrained {
/**
*
*/
@NotBlank(message = "企业名称不能为空")
private String companyName;
/**
* ; biz_company.uscc
*/
@NotBlank(message = "统一社会信用代码不能为空")
private String uscc;
/**
* ;
*/
@NotBlank(message = "营业执照不能为空")
private String businessLicense;
/**
* ;
*/
private String certification;
/**
* ; []
*/
private List<String> businessLicenseDate;
/**
* ; []
*/
private List<String> certificationDate;
/**
*
*/
@NotBlank(message = "法人名称不能为空")
private String legalRepresentative;
/**
* ;
*/
@NotBlank(message = "位置信息不能为空")
private String province;
/**
* ;
*/
@NotBlank(message = "位置信息不能为空")
private String city;
/**
* ;
*/
@NotBlank(message = "位置信息不能为空")
private String county;
private String town;
/**
* ;
*/
@NotBlank(message = "位置信息不能为空")
private String provinceName;
/**
* ;
*/
@NotBlank(message = "位置信息不能为空")
private String cityName;
/**
* ;
*/
@NotBlank(message = "位置信息不能为空")
private String countyName;
/**
* ;
*/
private String townName;
/**
*
*/
@NotBlank(message = "位置信息不能为空")
private String address;
/**
*
*/
@NotBlank(message = "位置信息不能为空")
private String lng;
/**
*
*/
@NotBlank(message = "位置信息不能为空")
private String lat;
/**
*
*/
@NotBlank(message = "联系人不能为空")
private String contacts;
/**
*
*/
private String phoneNum;
@NotBlank(message = "联系电话不能为空")
private String phone;
/**
*
*/
private List<Scope> scopeList;
@Override
public ValidRule[] rules() {
return new ValidRule[]{};
}
}
@Getter
@Setter
@ToString
@Accessors(chain = true)
public static class Scope implements Constrained {
/**
* ;
*/
private String province;
/**
* ;
*/
private String city;
/**
* ;
*/
private String county;
/**
* ;
*/
private String street;
@Override
public ValidRule[] rules() {
return new ValidRule[]{};
}
}
}

View File

@ -8,8 +8,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njzscloud.common.core.ex.ExceptionMsg;
import com.njzscloud.common.core.ex.Exceptions;
import com.njzscloud.common.mp.support.PageResult;
import com.njzscloud.common.security.ex.UserLoginException;
import com.njzscloud.common.security.util.EncryptUtil;
import com.njzscloud.common.security.util.SecurityUtil;
import com.njzscloud.supervisory.biz.contant.BizObj;
import com.njzscloud.supervisory.biz.pojo.param.AddBizCompanyParam;
@ -41,7 +44,6 @@ public class UserService extends ServiceImpl<UserMapper, UserEntity> implements
private final UserRoleService userRoleService;
private final BizCompanyService bizCompanyService;
/**
*
*/
@ -136,20 +138,22 @@ public class UserService extends ServiceImpl<UserMapper, UserEntity> implements
*/
@Transactional(rollbackFor = Exception.class)
public void register(UserRegisterParam userRegisterParam) {
BizObj bizObj = userRegisterParam.getBizObj();
if (bizObj == BizObj.GeRen) {
String codeId = userRegisterParam.getAccount().getCodeId();
String code = userRegisterParam.getAccount().getCode();
Assert.isTrue(EncryptUtil.checkCode(codeId, code), () -> new UserLoginException(ExceptionMsg.CLI_ERR_MSG, "验证码错误"));
}
AddUserParam addUserParam = BeanUtil.copyProperties(userRegisterParam, AddUserParam.class);
addUserParam.setAccount(BeanUtil.copyProperties(userRegisterParam.getAccount(), AddUserAccountParam.class));
Long userId = this.add(addUserParam);
BizObj bizObj = userRegisterParam.getBizObj();
if (bizObj == BizObj.ZhengFuBuMen
|| bizObj == BizObj.DanWei
|| bizObj == BizObj.GeRen
) return;
if (bizObj == BizObj.GeRen) return;
UserRegisterParam.Company company = userRegisterParam.getCompany();
Assert.notNull(company, "公司信息不能为空");
AddBizCompanyParam addBizCompanyParam = BeanUtil
.copyProperties(company, AddBizCompanyParam.class)
.setUserId(userId)

View File

@ -1,559 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njzscloud.supervisory.project.mapper.ProjectBookingMapper">
<resultMap id="pagingMap" autoMapping="true" type="com.njzscloud.supervisory.project.pojo.result.SearchProjectBookingResult">
<result property="bookingStatus" column="booking_status" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="bizObj" column="biz_obj" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="garbageCategory" column="garbage_category" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="sitePhotos" column="site_photos" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
<result property="dispatchingStatus" column="dispatching_status" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
</resultMap>
<select id="paging" resultMap="pagingMap">
<if test="bizObj == 'ShiGongDanWei' or bizObj == 'GeRen' or bizObj == 'DanWei'">
SELECT a.id,
a.sn,
a.filing_id,
a.user_id,
a.biz_obj,
a.company_id,
a.company_name,
a.project_name,
a.garbage_category,
a.square,
a.estimate_quantity,
a.contacts,
a.phone_num,
a.site_photos,
a.province,
a.city,
a.county,
a.street,
a.address,
a.lng,
a.lat,
a.booking_time,
a.booking_status,
a.truck_quantity,
a.residue_quantity,
a.dispatching_status,
a.creator_id,
a.modifier_id,
a.create_time,
a.modify_time,
a.deleted,
b.license_plate,
b.driver_name,
b.phone_num driver_phone_num
FROM project_booking a
LEFT JOIN (SELECT a.booking_id,
b.license_plate,
c.driver_name,
c.phone_num
FROM project_clearance_detail a
INNER JOIN biz_truck b ON b.id = a.truck_id
INNER JOIN biz_driver c ON c.id = a.driver_id) b ON b.booking_id = a.id
</if>
<if test="bizObj == 'QingYunGongSi'">
SELECT id,
sn,
filing_id,
user_id,
biz_obj,
company_id,
company_name,
project_name,
garbage_category,
square,
estimate_quantity,
contacts,
phone_num,
site_photos,
province,
city,
county,
street,
address,
lng,
lat,
booking_time,
booking_status,
truck_quantity,
residue_quantity,
dispatching_status,
creator_id,
modifier_id,
create_time,
modify_time,
deleted,
license_plate,
driver_name,
driver_phone_num
FROM (SELECT a.id,
a.sn,
a.filing_id,
a.user_id,
a.biz_obj,
a.company_id,
a.company_name,
a.project_name,
a.garbage_category,
a.square,
a.estimate_quantity,
a.contacts,
a.phone_num,
a.site_photos,
a.province,
a.city,
a.county,
a.street,
a.address,
a.lng,
a.lat,
a.booking_time,
a.booking_status,
a.truck_quantity,
a.residue_quantity,
a.dispatching_status,
a.creator_id,
a.modifier_id,
a.create_time,
a.modify_time,
a.deleted,
c.license_plate,
c.driver_name,
c.phone_num driver_phone_num
FROM project_booking a
INNER JOIN project_company b ON b.project_source_id = a.id AND b.project_source = 'YuYue' AND b.company_id = ${companyId} AND b.biz_obj = 'QingYunGongSi'
LEFT JOIN (SELECT a.booking_id,
b.license_plate,
c.driver_name,
c.phone_num
FROM project_clearance_detail a
INNER JOIN biz_truck b ON b.id = a.truck_id
INNER JOIN biz_driver c ON c.id = a.driver_id) c ON c.booking_id = a.id
UNION ALL
SELECT a.id,
a.sn,
a.filing_id,
a.user_id,
a.biz_obj,
a.company_id,
a.company_name,
a.project_name,
a.garbage_category,
a.square,
a.estimate_quantity,
a.contacts,
a.phone_num,
a.site_photos,
a.province,
a.city,
a.county,
a.street,
a.address,
a.lng,
a.lat,
a.booking_time,
a.booking_status,
a.truck_quantity,
a.residue_quantity,
a.dispatching_status,
a.creator_id,
a.modifier_id,
a.create_time,
a.modify_time,
a.deleted,
c.license_plate,
c.driver_name,
c.phone_num driver_phone_num
FROM project_booking a
INNER JOIN project_company b ON b.project_source_id = a.filing_id AND b.project_source = 'ZhaoBiao' AND b.company_id = ${companyId} AND b.biz_obj = 'QingYunGongSi'
LEFT JOIN (SELECT a.booking_id,
b.license_plate,
c.driver_name,
c.phone_num
FROM project_clearance_detail a
INNER JOIN biz_truck b ON b.id = a.truck_id
INNER JOIN biz_driver c ON c.id = a.driver_id) c ON c.booking_id = a.id
) t
</if>
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
</select>
<select id="getCompanyInfoByUserId" resultType="com.njzscloud.supervisory.biz.pojo.entity.BizCompanyEntity">
SELECT id, company_name, contacts, phone_num
FROM biz_company
WHERE user_id = #{userId}
AND deleted = 0
</select>
<resultMap id="statisticsCompanyCountMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="biz_obj" property="bizObj"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="company_count" property="companyCount"/>
</resultMap>
<select id="statisticsCompanyCount" resultMap="statisticsCompanyCountMap">
SELECT biz_obj, COUNT(*) company_count
FROM biz_company
WHERE deleted = 0
GROUP BY biz_obj
</select>
<select id="statisticsDaiShenHeCompanyCount" resultMap="statisticsCompanyCountMap">
SELECT 'ShiGongDanWei' AS biz_obj, COUNT(bc.biz_obj) AS company_count
FROM biz_company bc
WHERE bc.deleted = 0
AND bc.audit_status = 'DaiShenHe'
AND bc.biz_obj = 'ShiGongDanWei'
UNION ALL
SELECT 'QingYunGongSi' AS biz_obj, COUNT(bc.biz_obj) AS company_count
FROM biz_company bc
WHERE bc.deleted = 0
AND bc.audit_status = 'DaiShenHe'
AND bc.biz_obj = 'QingYunGongSi'
UNION ALL
SELECT 'XiaoNaCang' AS biz_obj, COUNT(bc.biz_obj) AS company_count
FROM biz_company bc
WHERE bc.deleted = 0
AND bc.audit_status = 'DaiShenHe'
AND bc.biz_obj = 'XiaoNaCang';
</select>
<resultMap id="statisticsProjectCountMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="project_source" property="projectSource"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="project_count" property="projectCount"/>
</resultMap>
<select id="statisticsProjectCount" resultMap="statisticsProjectCountMap">
SELECT project_source, COUNT(*) project_count
FROM (SELECT IF(filing_id IS NULL, 'YuYue', 'ZhaoBiao') project_source
FROM project_booking
WHERE deleted = 0) t
GROUP BY project_source
</select>
<resultMap id="statisticsScopeCountMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="scope" property="scope"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="scope_count" property="scopeCount"/>
</resultMap>
<select id="statisticsScopeCount" resultMap="statisticsScopeCountMap">
SELECT scope, COUNT(*) scope_count
FROM (SELECT CONCAT(IFNULL(province, ''),
IFNULL(city, ''),
IFNULL(county, ''),
IFNULL(street, '')) scope
FROM project_booking
WHERE deleted = 0) t
GROUP BY t.scope
</select>
<resultMap id="statisticsWeightTruckMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="total_weight" property="totalWeight" javaType="java.lang.Integer"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="total_truck" property="totalTruck" javaType="java.lang.Integer"/>
</resultMap>
<select id="statisticsWeightTruck" resultMap="statisticsWeightTruckMap">
SELECT MAX(CASE WHEN t = 1 THEN c ELSE 0 END) total_weight,
MAX(CASE WHEN t = 2 THEN c ELSE 0 END) total_truck
FROM (SELECT 1 t, CAST(SUM(suttle_weight) AS SIGNED) c
FROM project_clearance_detail
WHERE suttle_weight IS NOT NULL
UNION ALL
SELECT 2 t, COUNT(*) c
FROM biz_truck
WHERE deleted = 0) t
</select>
<resultMap id="statisticsWeightMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="d" property="date"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="w" property="totalWeight"/>
</resultMap>
<select id="statisticsWeight" resultMap="statisticsWeightMap">
SELECT all_dates.d, IFNULL(SUM(pcd.suttle_weight), 0) w
FROM (SELECT CURDATE() - INTERVAL 6 DAY AS d
UNION ALL
SELECT CURDATE() - INTERVAL 5 DAY
UNION ALL
SELECT CURDATE() - INTERVAL 4 DAY
UNION ALL
SELECT CURDATE() - INTERVAL 3 DAY
UNION ALL
SELECT CURDATE() - INTERVAL 2 DAY
UNION ALL
SELECT CURDATE() - INTERVAL 1 DAY
UNION ALL
SELECT CURDATE()) all_dates
LEFT JOIN project_clearance_detail pcd
ON all_dates.d = DATE(pcd.out_time)
AND pcd.suttle_weight IS NOT NULL
GROUP BY all_dates.d
ORDER BY all_dates.d
</select>
<resultMap id="searchBill" autoMapping="true" type="com.njzscloud.supervisory.project.pojo.result.SearchBillResult">
<result property="garbageCategory" column="garbage_category" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="clearanceStatus" column="clearance_status" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="photos" column="photos" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
<result property="sitePhotos" column="site_photos" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
</resultMap>
<select id="searchBill" resultMap="searchBill">
SELECT t.id,
t.sn,
t.garbage_category,
t.clearance_status,
t.start_time,
t.end_time,
t.bill_sn,
t.in_time,
t.out_time,
t.in_weight,
t.out_weight,
t.suttle_weight,
t.photos,
t.producing_id,
e.company_name producing_name,
e.contacts producing_contacts,
e.phone_num producing_phone_num,
t.clearance_company_id,
t.clearance_company_name,
t.clearance_contacts,
t.clearance_phone_num,
t.consumption_company_id,
t.consumption_company_name,
t.consumption_contacts,
t.consumption_phone_num,
e.sn booking_sn,
e.project_name,
e.booking_time,
t.dispatching_time,
e.province,
e.city,
e.county,
e.street,
e.address,
e.lng,
e.lat,
e.site_photos,
t.license_plate,
t.carrying_capacity,
t.driver_name,
t.driver_phone_num
FROM project_booking e
LEFT JOIN (SELECT a.booking_id,
a.id,
a.sn,
a.garbage_category,
a.clearance_status,
a.start_time,
a.end_time,
a.bill_sn,
a.in_time,
a.out_time,
a.in_weight,
a.out_weight,
a.suttle_weight,
a.photos,
a.producing_id,
a.clearance_company_id,
c.company_name clearance_company_name,
c.contacts clearance_contacts,
c.phone_num clearance_phone_num,
a.consumption_company_id,
d.company_name consumption_company_name,
d.contacts consumption_contacts,
d.phone_num consumption_phone_num,
a.dispatching_time,
f.license_plate,
f.carrying_capacity,
g.driver_name,
g.phone_num driver_phone_num
FROM project_clearance_detail a
INNER JOIN sys_user b ON b.id = a.producing_id AND b.deleted = 0
INNER JOIN biz_company c ON c.id = a.clearance_company_id AND c.deleted = 0
INNER JOIN biz_company d ON d.id = a.consumption_company_id AND d.deleted = 0
INNER JOIN biz_truck f ON f.id = a.truck_id AND f.deleted = 0
INNER JOIN biz_driver g ON g.id = a.driver_id AND g.deleted = 0
WHERE a.biz_obj IN ('DanWei', 'GeRen')
UNION ALL
SELECT a.booking_id,
a.id,
a.sn,
a.garbage_category,
a.clearance_status,
a.start_time,
a.end_time,
a.bill_sn,
a.in_time,
a.out_time,
a.in_weight,
a.out_weight,
a.suttle_weight,
a.photos,
a.producing_id,
a.clearance_company_id,
c.company_name clearance_company_name,
c.contacts clearance_contacts,
c.phone_num clearance_phone_num,
a.consumption_company_id,
d.company_name consumption_company_name,
d.contacts consumption_contacts,
d.phone_num consumption_phone_num,
a.dispatching_time,
f.license_plate,
f.carrying_capacity,
g.driver_name,
g.phone_num driver_phone_num
FROM project_clearance_detail a
INNER JOIN biz_company b ON b.id = a.producing_id AND b.deleted = 0
INNER JOIN biz_company c ON c.id = a.clearance_company_id AND c.deleted = 0
INNER JOIN biz_company d ON d.id = a.consumption_company_id AND d.deleted = 0
INNER JOIN biz_truck f ON f.id = a.truck_id AND f.deleted = 0
INNER JOIN biz_driver g ON g.id = a.driver_id AND g.deleted = 0
WHERE a.biz_obj = 'ShiGongDanWei') t ON e.id = t.booking_id
WHERE e.deleted = 0
AND e.id = #{bookingId}
</select>
<resultMap id="statisticsGarbageCategoryMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="garbage_category" property="garbageCategory"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="suttle_weight" property="clearanceQuantity"/>
</resultMap>
<select id="statisticsGarbageCategory" resultMap="statisticsGarbageCategoryMap">
SELECT CASE garbage_category
WHEN 'ChaiQianLaJi' THEN '拆迁垃圾'
WHEN 'YuanLinLaJi' THEN '园林垃圾'
WHEN 'ChenFuLaJi' THEN '陈腐垃圾'
WHEN 'ZhuangXiuLaJi' THEN '装修垃圾'
ELSE '' END garbage_category,
suttle_weight
FROM (SELECT 'ChaiQianLaJi' AS garbage_category, IFNULL(SUM(suttle_weight), 0) suttle_weight
FROM project_clearance_detail bc
INNER JOIN project_booking b ON b.id = bc.booking_id AND b.deleted = 0 AND b.filing_id IS NOT NULL
WHERE bc.garbage_category = 'ChaiQianLaJi'
UNION ALL
SELECT 'ChenFuLaJi' AS garbage_category, IFNULL(SUM(suttle_weight), 0) suttle_weight
FROM project_clearance_detail bc
INNER JOIN project_booking b ON b.id = bc.booking_id AND b.deleted = 0 AND b.filing_id IS NOT NULL
WHERE bc.garbage_category = 'ChenFuLaJi'
UNION ALL
SELECT 'ZhuangXiuLaJi' AS garbage_category, IFNULL(SUM(suttle_weight), 0) suttle_weight
FROM project_clearance_detail bc
INNER JOIN project_booking b ON b.id = bc.booking_id AND b.deleted = 0 AND b.filing_id IS NOT NULL
WHERE bc.garbage_category = 'ZhuangXiuLaJi'
UNION ALL
SELECT 'YuanLinLaJi' AS garbage_category, IFNULL(SUM(suttle_weight), 0) suttle_weight
FROM project_clearance_detail bc
INNER JOIN project_booking b ON b.id = bc.booking_id AND b.deleted = 0 AND b.filing_id IS NOT NULL
WHERE bc.garbage_category = 'YuanLinLaJi') t
</select>
<select id="statisticsGarbageCategoryNoProject" resultMap="statisticsGarbageCategoryMap">
SELECT CASE garbage_category
WHEN 'ChaiQianLaJi' THEN '拆迁垃圾'
WHEN 'YuanLinLaJi' THEN '园林垃圾'
WHEN 'ChenFuLaJi' THEN '陈腐垃圾'
WHEN 'ZhuangXiuLaJi' THEN '装修垃圾'
ELSE '' END garbage_category,
suttle_weight
FROM (SELECT 'ChaiQianLaJi' AS garbage_category, IFNULL(SUM(suttle_weight), 0) suttle_weight
FROM project_clearance_detail bc
INNER JOIN project_booking b ON b.id = bc.booking_id AND b.deleted = 0 AND b.filing_id IS NULL
WHERE bc.garbage_category = 'ChaiQianLaJi'
UNION ALL
SELECT 'ChenFuLaJi' AS garbage_category, IFNULL(SUM(suttle_weight), 0) suttle_weight
FROM project_clearance_detail bc
INNER JOIN project_booking b ON b.id = bc.booking_id AND b.deleted = 0 AND b.filing_id IS NULL
WHERE bc.garbage_category = 'ChenFuLaJi'
UNION ALL
SELECT 'ZhuangXiuLaJi' AS garbage_category, IFNULL(SUM(suttle_weight), 0) suttle_weight
FROM project_clearance_detail bc
INNER JOIN project_booking b ON b.id = bc.booking_id AND b.deleted = 0 AND b.filing_id IS NULL
WHERE bc.garbage_category = 'ZhuangXiuLaJi'
UNION ALL
SELECT 'YuanLinLaJi' AS garbage_category, IFNULL(SUM(suttle_weight), 0) suttle_weight
FROM project_clearance_detail bc
INNER JOIN project_booking b ON b.id = bc.booking_id AND b.deleted = 0 AND b.filing_id IS NULL
WHERE bc.garbage_category = 'YuanLinLaJi') t
</select>
<resultMap id="statisticsMonthClearanceQuantityMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="m" property="month"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="w" property="clearanceQuantity"/>
</resultMap>
<select id="statisticsMonthClearanceQuantity" resultMap="statisticsMonthClearanceQuantityMap">
SELECT a.m,
IFNULL(SUM(b.suttle_weight), 0) w
FROM (SELECT 1 m
UNION ALL
SELECT 2 m
UNION ALL
SELECT 3 m
UNION ALL
SELECT 4 m
UNION ALL
SELECT 5 m
UNION ALL
SELECT 6 m
UNION ALL
SELECT 7 m
UNION ALL
SELECT 8 m
UNION ALL
SELECT 9 m
UNION ALL
SELECT 10 m
UNION ALL
SELECT 11 m
UNION ALL
SELECT 12 m) a
LEFT JOIN project_clearance_detail b ON MONTH(b.out_time) = a.m AND YEAR(b.out_time) = ${year}
WHERE a.m BETWEEN 1 AND ${month}
GROUP BY a.m
ORDER BY a.m
</select>
<resultMap id="statisticsProjectClearanceQuantityMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="project_name" property="projectName"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="total_quantity" property="totalQuantity"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="clearance_quantity" property="clearanceQuantity"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="surplus_quantity" property="surplusQuantity"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="ratio" property="ratio"/>
</resultMap>
<select id="statisticsProjectClearanceQuantity" resultMap="statisticsProjectClearanceQuantityMap">
SELECT a.project_name,
total_quantity,
clearance_quantity,
surplus_quantity,
ROUND(ratio, 2) ratio
FROM project_filing a
INNER JOIN (SELECT a.id,
total_quantity,
IFNULL(clearance_quantity, 0) clearance_quantity,
(total_quantity - IFNULL(clearance_quantity, 0)) surplus_quantity,
((IFNULL(clearance_quantity, 0) / total_quantity) * 100) ratio
FROM (SELECT id, IFNULL(SUM(estimate_quantity), 0) total_quantity
FROM project_filing
GROUP BY id) a
LEFT JOIN (SELECT c.id,
IFNULL(SUM(a.suttle_weight), 0) clearance_quantity
FROM project_clearance_detail a
INNER JOIN project_booking b ON b.id = a.booking_id AND b.deleted = 0 AND b.filing_id IS NOT NULL
INNER JOIN project_filing c ON c.id = b.filing_id AND c.deleted = 0
GROUP BY c.id) b ON b.id = a.id) b ON b.id = a.id
</select>
</mapper>

View File

@ -1,74 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njzscloud.supervisory.project.mapper.ProjectCompanyMapper">
<resultMap id="selectCompanyByProjectSourceIdMap" type="com.njzscloud.supervisory.project.pojo.result.SearchProjectCompanyResult">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="bizObj" column="biz_obj" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="companyName" column="company_name"/>
<result property="businessLicense" column="business_license"/>
<result property="certification" column="certification"/>
<result property="businessLicenseDate" column="business_license_date" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
<result property="certificationDate" column="certification_date" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
<result property="legalRepresentative" column="legal_representative"/>
<result property="province" column="province"/>
<result property="city" column="city"/>
<result property="county" column="county"/>
<result property="street" column="street"/>
<result property="address" column="address"/>
<result property="contacts" column="contacts"/>
<result property="phoneNum" column="phone_num"/>
</resultMap>
<select id="selectCompanyByProjectSourceId" resultMap="selectCompanyByProjectSourceIdMap">
SELECT a.id,
a.user_id,
a.biz_obj,
a.company_name,
a.business_license,
a.certification,
a.business_license_date,
a.certification_date,
a.legal_representative,
a.province,
a.city,
a.county,
a.street,
a.address,
a.lng,
a.lat,
a.contacts,
a.phone_num,
a.audit_status
FROM biz_company a
INNER JOIN project_company b ON a.id = b.company_id AND b.project_source_id = #{projectSourceId}
WHERE a.deleted = 0
</select>
<select id="selectCompanyByProjectId"
resultType="com.njzscloud.supervisory.project.pojo.result.SearchProjectCompanyResult">
SELECT a.id,
a.user_id,
a.biz_obj,
a.company_name,
a.business_license,
a.certification,
a.business_license_date,
a.certification_date,
a.legal_representative,
a.province,
a.city,
a.county,
a.street,
a.address,
a.lng,
a.lat,
a.contacts,
a.phone_num,
a.audit_status
FROM biz_company a
INNER JOIN project_company b ON a.id = b.company_id AND b.project_id = #{projectId}
WHERE a.deleted = 0
</select>
</mapper>

View File

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njzscloud.supervisory.project.mapper.ProjectFilingMapper">
<resultMap id="pagingMap" autoMapping="true" type="com.njzscloud.supervisory.project.pojo.result.SearchProjectFilingResult">
<result property="garbageCategory" column="garbage_category" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="auditStatus" column="audit_status" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
</resultMap>
<select id="paging" resultMap="pagingMap">
SELECT a.id,
a.user_id,
a.project_name,
a.garbage_category,
a.estimate_quantity,
a.province,
a.city,
a.county,
a.street,
a.address,
a.lng,
a.lat,
a.contract,
a.audit_status,
a.start_date,
a.end_date,
a.creator_id,
a.modifier_id,
a.create_time,
a.modify_time,
a.deleted,
a.audit_memo,
a.contacts,
a.phone_num,
b.company_name,
b.lng company_lng,
b.lat company_lat
FROM project_filing a
LEFT JOIN biz_company b ON b.user_id = a.user_id AND b.deleted = 0
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
</select>
</mapper>

View File

@ -1,465 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njzscloud.supervisory.project.mapper.ProjectInfoMapper">
<resultMap id="pagingMap" autoMapping="true" type="com.njzscloud.supervisory.project.pojo.result.SearchProjectInfoResult">
<result property="projectSource" column="project_source" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="garbageCategory" column="garbage_category" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="progressStage" column="progress_stage" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
</resultMap>
<select id="paging" resultMap="pagingMap">
<if test="bizObj == 'ShiGongDanWei'">
SELECT
a.id,
a.sn,
a.project_source,
a.project_source_id,
a.project_name,
a.province,
a.city,
a.county,
a.street,
a.address,
a.garbage_category,
a.estimate_quantity,
a.contract,
a.site_photos,
a.start_date,
a.end_date,
a.progress_stage,
a.truck_quantity,
a.dispatching_status,
a.creator_id,
a.modifier_id,
a.create_time,
a.modify_time,
a.deleted
FROM project_info a
INNER JOIN project_filing b ON b.id = a.project_source_id AND b.user_id = #{userId} AND b.deleted = 0
WHERE a.project_source = 'ZhaoBiao'
AND a.deleted = 0
</if>
<if test="bizObj == 'QingYunGongSi'">
SELECT a.id,
a.sn,
a.project_source,
a.project_source_id,
a.project_name,
a.province,
a.city,
a.county,
a.street,
a.address,
a.garbage_category,
a.estimate_quantity,
a.contract,
a.site_photos,
a.start_date,
a.end_date,
a.progress_stage,
a.truck_quantity,
a.dispatching_status,
a.create_time
FROM (
SELECT a.id,
a.project_source,
a.project_source_id,
a.project_name,
a.province,
a.city,
a.county,
a.street,
a.address,
a.garbage_category,
a.estimate_quantity,
a.contract,
a.site_photos,
a.start_date,
a.end_date,
a.progress_stage,
a.truck_quantity,
a.dispatching_status,
a.sn,
c.biz_obj,
'' company_name,
b.contacts,
b.phone_num,
b.create_time
FROM project_info a
INNER JOIN project_booking b ON b.id = a.project_source_id AND b.deleted = 0
INNER JOIN sys_user c ON c.id = b.user_id AND c.deleted = 0
WHERE a.deleted = 0
UNION ALL
SELECT a.id,
a.project_source,
a.project_source_id,
a.project_name,
a.province,
a.city,
a.county,
a.street,
a.address,
a.garbage_category,
a.estimate_quantity,
a.contract,
a.site_photos,
a.start_date,
a.end_date,
a.progress_stage,
a.truck_quantity,
a.dispatching_status,
a.sn,
c.biz_obj,
c.company_name,
c.contacts,
c.phone_num,
b.create_time
FROM project_info a
INNER JOIN project_filing b ON b.id = a.project_source_id AND b.deleted = 0
INNER JOIN biz_company c ON c.user_id = b.user_id AND c.deleted = 0
WHERE a.deleted = 0) a
INNER JOIN (SELECT a.project_id
FROM project_company a
INNER JOIN biz_company b ON b.id = a.company_id AND b.user_id = ${userId} AND b.deleted = 0
WHERE a.biz_obj = 'QingYunGongSi') b ON b.project_id = a.id
</if>
</select>
<resultMap id="searchABillResultMap" autoMapping="true" type="com.njzscloud.supervisory.project.pojo.result.SearchABillResult">
<result property="garbageCategory" column="garbage_category" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
</resultMap>
<select id="searchABillResult" resultMap="searchABillResultMap">
SELECT sn,
project_name,
province,
city,
county,
street,
address,
contacts,
phone_num,
garbage_category,
start_date,
end_date
FROM project_info
</select>
<resultMap id="searchBBillResultMap" autoMapping="true" type="com.njzscloud.supervisory.project.pojo.result.SearchBBillResult">
<result property="garbageCategory" column="garbage_category" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
</resultMap>
<select id="searchBBillResult" resultMap="searchBBillResultMap">
SELECT a.sn,
a.license_plate,
a.driver_name,
a.driver_phone_num,
a.garbage_category,
a.suttle_weight,
a.start_time,
a.end_time,
b.project_name,
b.province,
b.city,
b.county,
b.street,
b.address,
b.contacts,
b.phone_num,
c.company_name consumption_company_name
FROM project_clearance_detail a
INNER JOIN project_info b ON a.project_id = b.id AND b.deleted = 0
INNER JOIN biz_company c ON a.consumption_company_id = c.id AND c.deleted = 0
</select>
<resultMap id="searchCBillResultMap" autoMapping="true" type="com.njzscloud.supervisory.project.pojo.result.SearchCBillResult">
<result property="garbageCategory" column="garbage_category" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
</resultMap>
<select id="searchCBillResult" resultMap="searchCBillResultMap">
SELECT a.sn,
a.license_plate,
a.driver_name,
a.driver_phone_num,
a.garbage_category,
a.suttle_weight,
a.start_time,
a.end_time,
b.project_name,
b.province,
b.city,
b.county,
b.street,
b.address,
b.contacts,
b.phone_num,
c.company_name consumption_company_name
FROM project_clearance_detail a
INNER JOIN project_info b ON a.project_id = b.id AND b.deleted = 0
INNER JOIN biz_company c ON a.consumption_company_id = c.id AND c.deleted = 0
</select>
<resultMap id="statisticsCompanyCountMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="biz_obj" property="bizObj"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="company_count" property="companyCount"/>
</resultMap>
<select id="statisticsCompanyCount" resultMap="statisticsCompanyCountMap">
SELECT biz_obj, COUNT(*) company_count
FROM biz_company
WHERE deleted = 0
GROUP BY biz_obj
</select>
<select id="statisticsDaiShenHeCompanyCount" resultMap="statisticsCompanyCountMap">
SELECT biz_obj, COUNT(*) company_count
FROM biz_company
WHERE deleted = 0
AND audit_status = 'DaiShenHe'
GROUP BY biz_obj
</select>
<resultMap id="statisticsProjectCountMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="project_source" property="projectSource"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="project_count" property="projectCount"/>
</resultMap>
<select id="statisticsProjectCount" resultMap="statisticsProjectCountMap">
SELECT project_source, COUNT(*) project_count
FROM project_info
WHERE deleted = 0
GROUP BY project_source
</select>
<resultMap id="statisticsScopeCountMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="scope" property="scope"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="scope_count" property="scopeCount"/>
</resultMap>
<select id="statisticsScopeCount" resultMap="statisticsScopeCountMap">
SELECT scope, COUNT(*) scope_count
FROM (SELECT CONCAT(IFNULL(province, ''),
IFNULL(city, ''),
IFNULL(county, ''),
IFNULL(street, '')) scope
FROM project_info
WHERE deleted = 0) t
GROUP BY t.scope
</select>
<resultMap id="statisticsWeightTruckMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="total_weight" property="totalWeight" javaType="java.lang.Integer"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="total_truck" property="totalTruck" javaType="java.lang.Integer"/>
</resultMap>
<select id="statisticsWeightTruck" resultMap="statisticsWeightTruckMap">
SELECT MAX(CASE WHEN t = 1 THEN c ELSE 0 END) total_weight,
MAX(CASE WHEN t = 2 THEN c ELSE 0 END) total_truck
FROM (SELECT 1 t, CAST(SUM(suttle_weight) AS SIGNED) c
FROM project_clearance_detail
WHERE suttle_weight IS NOT NULL
UNION ALL
SELECT 2 t, COUNT(*) c
FROM biz_truck
WHERE deleted = 0) t
</select>
<resultMap id="statisticsWeightMap" type="hashmap">
<!--suppress MybatisXMapperXmlInspection -->
<result column="d" property="date"/>
<!--suppress MybatisXMapperXmlInspection -->
<result column="w" property="totalWeight"/>
</resultMap>
<select id="statisticsWeight" resultMap="statisticsWeightMap">
SELECT DATE(out_time) d, SUM(suttle_weight) w
FROM project_clearance_detail
WHERE suttle_weight IS NOT NULL
AND out_time >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
GROUP BY DATE(out_time)
ORDER BY DATE(out_time)
</select>
<resultMap id="searchBill" autoMapping="true" type="com.njzscloud.supervisory.project.pojo.result.SearchBillResult">
<result property="garbageCategory" column="garbage_category" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<association property="company" autoMapping="true" javaType="com.njzscloud.supervisory.biz.pojo.result.SearchCompanyResult">
<result property="bizObj" column="biz_obj" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="companyName" column="company_name"/>
<result property="contacts" column="contacts"/>
<result property="phoneNum" column="phone_num"/>
</association>
<association property="companyA" autoMapping="true" javaType="com.njzscloud.supervisory.biz.pojo.result.SearchCompanyResult">
<result property="bizObj" column="biz_obj_a" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="companyName" column="company_name_a"/>
<result property="contacts" column="contacts_a"/>
<result property="phoneNum" column="phone_num_a"/>
</association>
<association property="companyB" autoMapping="true" javaType="com.njzscloud.supervisory.biz.pojo.result.SearchCompanyResult">
<result property="bizObj" column="biz_obj_b" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="companyName" column="company_name_b"/>
<result property="contacts" column="contacts_b"/>
<result property="phoneNum" column="phone_num_b"/>
</association>
</resultMap>
<select id="searchBill" resultMap="searchBill">
SELECT a.sn,
a.license_plate,
a.driver_name,
a.driver_phone_num,
a.garbage_category,
a.suttle_weight,
a.start_time,
a.end_time,
b.sn project_sn,
b.project_name,
b.province,
b.city,
b.county,
b.street,
b.address,
b.biz_obj biz_obj,
b.company_name company_name,
b.contacts contacts,
b.phone_num phone_num,
b.start_date project_start_date,
b.end_date project_end_date,
d.biz_obj biz_obj_a,
d.company_name company_name_a,
d.contacts contacts_a,
d.phone_num phone_num_a,
c.biz_obj biz_obj_b,
c.company_name company_name_b,
c.contacts contacts_b,
c.phone_num phone_num_b
FROM project_clearance_detail a
INNER JOIN (SELECT a.id,
a.project_source,
a.project_source_id,
a.project_name,
a.province,
a.city,
a.county,
a.street,
a.address,
a.garbage_category,
a.estimate_quantity,
a.contract,
a.site_photos,
a.start_date,
a.end_date,
a.progress_stage,
a.truck_quantity,
a.dispatching_status,
a.sn,
c.biz_obj,
'' company_name,
b.contacts,
b.phone_num
FROM project_info a
INNER JOIN project_booking b ON b.id = a.project_source_id AND b.deleted = 0
INNER JOIN sys_user c ON c.id = b.user_id AND c.deleted = 0
WHERE a.deleted = 0
UNION ALL
SELECT a.id,
a.project_source,
a.project_source_id,
a.project_name,
a.province,
a.city,
a.county,
a.street,
a.address,
a.garbage_category,
a.estimate_quantity,
a.contract,
a.site_photos,
a.start_date,
a.end_date,
a.progress_stage,
a.truck_quantity,
a.dispatching_status,
a.sn,
c.biz_obj,
c.company_name,
c.contacts,
c.phone_num
FROM project_info a
INNER JOIN project_filing b ON b.id = a.project_source_id AND b.deleted = 0
INNER JOIN biz_company c ON c.user_id = b.user_id AND c.deleted = 0
WHERE a.deleted = 0) b ON a.project_id = b.id
INNER JOIN biz_company c ON a.consumption_company_id = c.id AND c.deleted = 0
INNER JOIN biz_company d ON a.clearance_company_id = d.id AND d.deleted = 0
WHERE a.id = #{clearanceDetailId}
</select>
<resultMap id="detailMap" autoMapping="true" type="com.njzscloud.supervisory.project.pojo.result.SearchProjectInfoResult">
<result property="projectSource" column="project_source" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="garbageCategory" column="garbage_category" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
<result property="progressStage" column="progress_stage" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
</resultMap>
<select id="detail" resultMap="detailMap">
SELECT a.id,
a.sn,
a.project_source,
a.project_source_id,
a.project_name,
a.province,
a.city,
a.county,
a.street,
a.address,
a.garbage_category,
a.estimate_quantity,
a.contract,
a.site_photos,
a.start_date,
a.end_date,
a.progress_stage,
a.truck_quantity,
a.dispatching_status,
a.creator_id,
a.modifier_id,
a.create_time,
a.modify_time,
a.deleted,
c.company_name,
c.contacts,
c.phone_num
FROM project_info a
INNER JOIN project_filing b ON b.id = a.project_source_id AND b.deleted = 0
INNER JOIN biz_company c ON b.user_id = c.user_id AND c.deleted = 0
WHERE a.id = #{id}
AND a.deleted = 0
UNION ALL
SELECT a.id,
a.sn,
a.project_source,
a.project_source_id,
a.project_name,
a.province,
a.city,
a.county,
a.street,
a.address,
a.garbage_category,
a.estimate_quantity,
a.contract,
a.site_photos,
a.start_date,
a.end_date,
a.progress_stage,
a.truck_quantity,
a.dispatching_status,
a.creator_id,
a.modifier_id,
a.create_time,
a.modify_time,
a.deleted,
b.company_name,
b.contacts,
b.phone_num
FROM project_info a
INNER JOIN project_booking b ON b.id = a.project_source_id AND b.deleted = 0
WHERE a.id = #{id}
AND a.deleted = 0
</select>
</mapper>

View File

@ -4,7 +4,7 @@
"avatar": "data:image/png;base64,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",
"version": "4.9.4",
"createdTime": "2023-4-13 11:53:52",
"updatedTime": "2025-9-12 00:08:21",
"updatedTime": "2025-9-12 09:53:02",
"dbConns": [],
"profile": {
"default": {
@ -10025,6 +10025,40 @@
"extProps": {},
"id": "B8986485-96D0-4810-86FF-2A5E5C5D8ADB"
},
{
"defKey": "project_id",
"defName": "项目 Id",
"comment": "",
"type": "BIGINT",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"baseType": "9B6B9E10-DB11-4409-878B-5868A19CD9B0",
"extProps": {},
"id": "7C7B38D2-1BC8-42C9-9C76-CA65500EBB6E"
},
{
"defKey": "traffic_company_id",
"defName": "清运公司 Id",
"comment": "",
"type": "BIGINT",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"baseType": "9B6B9E10-DB11-4409-878B-5868A19CD9B0",
"extProps": {},
"id": "0DE621DB-FDD5-4BF8-ACB4-6BAF52742049"
},
{
"defKey": "user_id",
"defName": "下单人 Id",
@ -10152,7 +10186,7 @@
"len": "",
"scale": "",
"primaryKey": false,
"notNull": true,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
@ -10169,7 +10203,7 @@
"len": "",
"scale": "",
"primaryKey": false,
"notNull": true,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
@ -13057,298 +13091,6 @@
"indexes": [],
"type": "P"
},
{
"id": "DEF64C15-6DDA-44F7-A7CC-57D5B88A22E2",
"env": {
"base": {
"nameSpace": "com.njzscloud.supervisory.biz",
"codeRoot": "BizObj"
},
"template": {
"Java": {
"Entity": {
"suffix": "entity/{{=it.codeRoot}}Entity.java",
"enable": true
},
"Mapper": {
"suffix": "mapper/{{=it.codeRoot}}Mapper.java",
"enable": true
},
"Mapper.xml": {
"suffix": "mapper/{{=it.codeRoot}}Mapper.xml",
"enable": true
},
"Service": {
"suffix": "service/{{=it.codeRoot}}Service.java",
"enable": true
},
"Controller": {
"suffix": "controller/{{=it.codeRoot}}Controller.java",
"enable": true
},
"IService": {
"suffix": "",
"enable": false
},
"ServiceImpl": {
"suffix": "service/impl/{{=it. codeRoot}}ServiceImpl.java",
"enable": false
},
"Enum": {
"suffix": "",
"enable": false
},
"sql": {
"suffix": "",
"enable": false
}
}
},
"custom": {}
},
"defKey": "biz_obj",
"defName": "客户分类",
"comment": "",
"properties": {},
"sysProps": {
"nameTemplate": "{defKey}[{defName}]"
},
"notes": {},
"headers": [
{
"refKey": "hideInGraph",
"hideInGraph": true
},
{
"refKey": "defKey",
"freeze": false,
"hideInGraph": false
},
{
"refKey": "type",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "len",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "scale",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "defaultValue",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "defName",
"freeze": false,
"hideInGraph": false
},
{
"refKey": "comment",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "notNull",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "primaryKey",
"freeze": false,
"hideInGraph": false
},
{
"refKey": "autoIncrement",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "refDict",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "domain",
"freeze": false,
"hideInGraph": false
},
{
"refKey": "isStandard",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "uiHint",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "extProps",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr1",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr2",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr3",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr4",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr5",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr6",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr7",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr8",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr9",
"freeze": false,
"hideInGraph": true
}
],
"fields": [
{
"defKey": "id",
"defName": "Id",
"comment": "",
"type": "BIGINT",
"len": "",
"scale": "",
"primaryKey": true,
"notNull": true,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "",
"id": "802B7C49-C6F7-4DDF-A79C-0200563BA463",
"baseType": "9B6B9E10-DB11-4409-878B-5868A19CD9B0"
},
{
"defKey": "pid",
"defName": "上级 Id",
"comment": "",
"type": "BIGINT",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": true,
"autoIncrement": false,
"defaultValue": "0",
"hideInGraph": false,
"refDict": "",
"baseType": "9B6B9E10-DB11-4409-878B-5868A19CD9B0",
"extProps": {},
"id": "8FA519F2-E99A-4825-955A-DD7EE0C59657"
},
{
"defKey": "psn",
"defName": "上级编号",
"comment": "",
"type": "VARCHAR",
"len": 128,
"scale": "",
"primaryKey": false,
"notNull": true,
"autoIncrement": false,
"defaultValue": "''",
"hideInGraph": false,
"refDict": "",
"baseType": "AA07828C-4FCB-4EDA-9B51-53A3F264F231",
"extProps": {},
"id": "0498C6ED-7B42-45A8-B0C6-3A246BF914AA"
},
{
"defKey": "sn",
"defName": "类型编号",
"comment": "",
"type": "VARCHAR",
"len": 128,
"scale": "",
"primaryKey": false,
"notNull": true,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"baseType": "AA07828C-4FCB-4EDA-9B51-53A3F264F231",
"extProps": {},
"id": "64876365-F46B-443F-837A-4281E73D8317"
},
{
"defKey": "category_name",
"defName": "分类名称",
"comment": "",
"type": "VARCHAR",
"len": 255,
"scale": "",
"primaryKey": false,
"notNull": true,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"baseType": "AA07828C-4FCB-4EDA-9B51-53A3F264F231",
"extProps": {},
"id": "9C5A1002-9850-4CD5-A752-5CF917738B30"
},
{
"defKey": "disable",
"defName": "是否禁用",
"comment": "0-->否、1-->是",
"type": "TINYINT",
"len": 1,
"scale": "",
"primaryKey": false,
"notNull": true,
"autoIncrement": false,
"defaultValue": "0",
"hideInGraph": false,
"refDict": "",
"baseType": "9C056E28-859C-4498-9E07-63480343AFEB",
"extProps": {},
"id": "1A234C6C-3AFC-4E73-99B0-1314248FC3BC"
}
],
"correlations": [],
"indexes": [],
"type": "P"
},
{
"id": "CC31178D-2259-40C0-92C2-DE5680542FBE",
"env": {