master
parent
23377618ba
commit
3a1a47a86e
77 changed files with 1582 additions and 254 deletions
@ -0,0 +1,45 @@ |
||||
package com.nov.KgLowDurable.controller; |
||||
import com.nov.KgLowDurable.pojo.vo.DepartmentVO; |
||||
import com.nov.KgLowDurable.service.IDepartmentService; |
||||
import com.nov.KgLowDurable.util.Result; |
||||
import io.swagger.annotations.ApiImplicitParam; |
||||
import io.swagger.annotations.ApiImplicitParams; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import io.swagger.annotations.ApiOperationSort; |
||||
import lombok.AllArgsConstructor; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.GetMapping; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RequestParam; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
import java.util.List; |
||||
|
||||
|
||||
/** |
||||
* @author liweidong |
||||
*/ |
||||
@RestController |
||||
@AllArgsConstructor |
||||
@RequestMapping("/department") |
||||
public class DepartmentController { |
||||
|
||||
@Autowired |
||||
IDepartmentService departmentService; |
||||
|
||||
|
||||
@GetMapping("/getOnePutDepartment") |
||||
@ApiOperationSort(1) |
||||
@ApiOperation(value = "获取一级出库部门", notes = "获取指定部门", httpMethod = "GET", response = Result.class) |
||||
public Result getOnePutDepartment() { |
||||
try { |
||||
List<DepartmentVO> quarters = departmentService.getOnePutDepartment(); |
||||
return Result.OK(quarters); |
||||
} catch (Exception e) { |
||||
return Result.error("获取部门列表失败"); |
||||
} |
||||
} |
||||
|
||||
|
||||
|
||||
} |
||||
@ -0,0 +1,62 @@ |
||||
package com.nov.KgLowDurable.controller; |
||||
import com.nov.KgLowDurable.pojo.dto.LdTwoOutStorageDto; |
||||
import com.nov.KgLowDurable.pojo.dto.LdTwoPutStorageDto; |
||||
import com.nov.KgLowDurable.service.ILdTwoOutStorageService; |
||||
import com.nov.KgLowDurable.util.Result; |
||||
import io.swagger.annotations.*; |
||||
import lombok.AllArgsConstructor; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.format.annotation.DateTimeFormat; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import java.util.Date; |
||||
|
||||
|
||||
/** |
||||
* @author liweidong |
||||
*/ |
||||
@RestController |
||||
@AllArgsConstructor |
||||
@RequestMapping("/twoOutStorage") |
||||
public class LdTwoOutStorageController { |
||||
|
||||
@Autowired |
||||
ILdTwoOutStorageService twoOutStorageService; |
||||
|
||||
@GetMapping("/list") |
||||
@ApiOperationSort(1) |
||||
@ApiOperation(value = "获取二级库存列表", notes = "获取二级库存列表,支持条件筛选", httpMethod = "GET", response = Result.class) |
||||
public Result list(@ApiParam(hidden = true) |
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
@RequestParam(required = false) Date startTime, |
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
@RequestParam(required = false) Date endTime, |
||||
@RequestParam(required = false) String shipperName, |
||||
@RequestParam(required = false) String departmentId, |
||||
@RequestParam(required = false ,defaultValue = "1") Integer pageNum, |
||||
@RequestParam(required = false ,defaultValue = "10") Integer pageSize) { |
||||
|
||||
return Result.OK(twoOutStorageService.getTwoOutStorageList(startTime,endTime,shipperName,departmentId,pageNum,pageSize)); |
||||
} |
||||
|
||||
@PostMapping("/submit") |
||||
@ApiOperationSort(2) |
||||
@ApiOperation(value = "提交", notes = "二级入库提交") |
||||
public Result submit(@RequestBody LdTwoOutStorageDto dto) { |
||||
|
||||
return Result.OK(twoOutStorageService.submit(dto)); |
||||
} |
||||
|
||||
|
||||
@GetMapping("/detail") |
||||
@ApiOperationSort(3) |
||||
@ApiOperation(value = "获取二级出库详情", notes = "根据二级出库ID获取详细信息") |
||||
@ApiImplicitParams({ |
||||
@ApiImplicitParam(name = "twoOutStorageId", value = "二级出库单Id", dataType = "Long", paramType = "query"), |
||||
}) |
||||
public Result detail(@RequestParam Long twoOutStorageId) { |
||||
return Result.OK(twoOutStorageService.getDetail(twoOutStorageId)); |
||||
} |
||||
|
||||
|
||||
} |
||||
@ -0,0 +1,25 @@ |
||||
package com.nov.KgLowDurable.controller; |
||||
import com.nov.KgLowDurable.pojo.vo.DepartmentVO; |
||||
import com.nov.KgLowDurable.service.IDepartmentService; |
||||
import com.nov.KgLowDurable.util.Result; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import io.swagger.annotations.ApiOperationSort; |
||||
import lombok.AllArgsConstructor; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.GetMapping; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
import java.util.List; |
||||
|
||||
|
||||
/** |
||||
* @author liweidong |
||||
*/ |
||||
@RestController |
||||
@AllArgsConstructor |
||||
@RequestMapping("/twoOutStorageDetail") |
||||
public class LdTwoOutStorageDetailController { |
||||
|
||||
|
||||
} |
||||
@ -0,0 +1,45 @@ |
||||
package com.nov.KgLowDurable.controller; |
||||
import com.nov.KgLowDurable.pojo.vo.DepartmentVO; |
||||
import com.nov.KgLowDurable.service.IDepartmentService; |
||||
import com.nov.KgLowDurable.service.IUserService; |
||||
import com.nov.KgLowDurable.util.Result; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import io.swagger.annotations.ApiOperationSort; |
||||
import lombok.AllArgsConstructor; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.GetMapping; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RequestParam; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
import java.util.List; |
||||
|
||||
|
||||
/** |
||||
* @author liweidong |
||||
*/ |
||||
@RestController |
||||
@AllArgsConstructor |
||||
@RequestMapping("/user") |
||||
public class UserController { |
||||
|
||||
@Autowired |
||||
IUserService userService; |
||||
|
||||
@GetMapping("/getUserInfo") |
||||
@ApiOperationSort(1) |
||||
@ApiOperation(value = "用户信息", notes = "获取用户信息", httpMethod = "GET", response = Result.class) |
||||
public Result list(@RequestParam(required = false) String materialName) throws Exception { |
||||
|
||||
return Result.OK(userService.getUserInfo()); |
||||
} |
||||
|
||||
@GetMapping("/getUserByDeptId") |
||||
@ApiOperationSort(2) |
||||
@ApiOperation(value = "获取二级出库领用人", notes = "根据部门信息获取领用人", httpMethod = "GET", response = Result.class) |
||||
public Result getUserByDeptId(@RequestParam(required = false) String departmentId) { |
||||
|
||||
return Result.OK(userService.getUserByDeptId(departmentId)); |
||||
} |
||||
|
||||
} |
||||
@ -1,33 +0,0 @@ |
||||
|
||||
package com.nov.KgLowDurable.controller; |
||||
import com.nov.KgLowDurable.pojo.entity.LdMaterial; |
||||
import com.nov.KgLowDurable.service.ILdMaterialService; |
||||
import com.nov.KgLowDurable.service.IUserInfoService; |
||||
import com.nov.KgLowDurable.util.Result; |
||||
import com.nov.KgLowDurable.util.StringUtils; |
||||
import io.swagger.annotations.*; |
||||
import lombok.AllArgsConstructor; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
|
||||
/** |
||||
* @author liweidong |
||||
*/ |
||||
@RestController |
||||
@AllArgsConstructor |
||||
@RequestMapping("/userInfo") |
||||
public class UserInfoController { |
||||
|
||||
private final IUserInfoService userInfoService; |
||||
|
||||
|
||||
@GetMapping("/getUserInfo") |
||||
@ApiOperationSort(1) |
||||
@ApiOperation(value = "用户信息", notes = "获取用户信息", httpMethod = "GET", response = Result.class) |
||||
|
||||
public Result list(@RequestParam(required = false) String materialName) throws Exception { |
||||
|
||||
return Result.OK(userInfoService.getUserInfo()); |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,19 @@ |
||||
package com.nov.KgLowDurable.mapper; |
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.nov.KgLowDurable.pojo.entity.Department; |
||||
import com.nov.KgLowDurable.pojo.entity.LdApprove; |
||||
import com.nov.KgLowDurable.pojo.vo.DepartmentVO; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.List; |
||||
|
||||
|
||||
/** |
||||
* |
||||
* @author liweidong |
||||
*/ |
||||
public interface DepartmentMapper extends BaseMapper<Department> { |
||||
|
||||
|
||||
List<DepartmentVO> selectOnePutDepartment(); |
||||
} |
||||
@ -0,0 +1,17 @@ |
||||
package com.nov.KgLowDurable.mapper; |
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.nov.KgLowDurable.pojo.entity.LdTwoOutStorageDetail; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.List; |
||||
|
||||
|
||||
/** |
||||
* |
||||
* @author liweidong |
||||
*/ |
||||
public interface LdTwoOutStorageDetailMapper extends BaseMapper<LdTwoOutStorageDetail> { |
||||
|
||||
|
||||
List<LdTwoOutStorageDetail> selectByTwoOutStorageId(@Param("twoOutStorageId") Long twoOutStorageId); |
||||
} |
||||
@ -0,0 +1,21 @@ |
||||
package com.nov.KgLowDurable.mapper; |
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.nov.KgLowDurable.pojo.entity.LdTwoOutStorage; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.Date; |
||||
import java.util.List; |
||||
|
||||
|
||||
/** |
||||
* |
||||
* @author liweidong |
||||
*/ |
||||
public interface LdTwoOutStorageMapper extends BaseMapper<LdTwoOutStorage> { |
||||
|
||||
|
||||
List<LdTwoOutStorage> selectTwoOutStorageList(@Param("startTime") Date startTime, |
||||
@Param("endTime") Date endTime, |
||||
@Param("shipperName") String shipperName, |
||||
@Param("departmentId") String departmentId); |
||||
} |
||||
@ -0,0 +1,19 @@ |
||||
package com.nov.KgLowDurable.mapper; |
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.nov.KgLowDurable.pojo.entity.Department; |
||||
import com.nov.KgLowDurable.pojo.entity.User; |
||||
import com.nov.KgLowDurable.pojo.vo.DepartmentVO; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.List; |
||||
|
||||
|
||||
/** |
||||
* |
||||
* @author liweidong |
||||
*/ |
||||
public interface UserMapper extends BaseMapper<User> { |
||||
|
||||
|
||||
List<User> selectByDepartmentId(@Param("departmentId") String departmentId); |
||||
} |
||||
@ -0,0 +1,37 @@ |
||||
package com.nov.KgLowDurable.pojo.dto; |
||||
|
||||
import com.nov.KgLowDurable.pojo.entity.LdTwoOutStorage; |
||||
import com.nov.KgLowDurable.pojo.entity.LdTwoOutStorageDetail; |
||||
import com.nov.KgLowDurable.pojo.entity.LdTwoPutStorage; |
||||
import com.nov.KgLowDurable.pojo.vo.UserInfoVO; |
||||
import lombok.Data; |
||||
import lombok.experimental.Accessors; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
|
||||
/** |
||||
* 二级出库Dto类 |
||||
* |
||||
* @author liweidong |
||||
*/ |
||||
@Data |
||||
@Accessors(chain = true) |
||||
public class LdTwoOutStorageDto implements Serializable { |
||||
|
||||
/** |
||||
* 二级出库基础信息 |
||||
*/ |
||||
private LdTwoOutStorage ldTwoOutStorage; |
||||
|
||||
/** |
||||
* 二级出库明细信息 |
||||
*/ |
||||
private List<LdTwoOutStorageDetail> ldTwoOutStorageDetailList; |
||||
|
||||
private UserInfoVO userInfoVO; |
||||
|
||||
|
||||
|
||||
} |
||||
@ -0,0 +1,49 @@ |
||||
package com.nov.KgLowDurable.pojo.entity; |
||||
import com.baomidou.mybatisplus.annotation.IdType; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Builder; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
import java.io.Serializable; |
||||
|
||||
/** |
||||
* 部门实体类 |
||||
* @author: liweidong |
||||
* @create: 2025-12-26 |
||||
*/ |
||||
@Data |
||||
@Builder |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@TableName(value = "t_department") |
||||
public class Department implements Serializable { |
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
/** |
||||
* 部门ID - 主键 |
||||
*/ |
||||
@TableId(value = "id", type = IdType.AUTO) |
||||
private String id; |
||||
|
||||
/** |
||||
* 部门名称 |
||||
*/ |
||||
private String name; |
||||
|
||||
/** |
||||
* 父部门ID |
||||
*/ |
||||
private String parentid; |
||||
|
||||
/** |
||||
* 排序字段 |
||||
*/ |
||||
private Long order; |
||||
|
||||
/** |
||||
* OA上部门id |
||||
*/ |
||||
private Long oaId; |
||||
} |
||||
@ -0,0 +1,89 @@ |
||||
package com.nov.KgLowDurable.pojo.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType; |
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import lombok.experimental.Accessors; |
||||
|
||||
import java.io.Serializable; |
||||
import java.math.BigDecimal; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* 二级出入库记录表实体类 |
||||
* |
||||
* @author |
||||
* @since |
||||
*/ |
||||
@Data |
||||
@EqualsAndHashCode(callSuper = false) |
||||
@Accessors(chain = true) |
||||
@TableName("ld_two_inventory_record") |
||||
public class LdTwoInventoryRecord implements Serializable { |
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
/** |
||||
* 主键ID |
||||
*/ |
||||
@TableId(value = "id", type = IdType.AUTO) |
||||
private Long id; |
||||
|
||||
/** |
||||
* 易耗品库存ID |
||||
*/ |
||||
@TableField("consumer_form_id") |
||||
private Long consumerFormId; |
||||
|
||||
/** |
||||
* 交易类型:1-出库 2-入库 |
||||
*/ |
||||
@TableField("transaction_type") |
||||
private String transactionType; |
||||
|
||||
/** |
||||
* 数量 |
||||
*/ |
||||
@TableField("quantity") |
||||
private BigDecimal quantity; |
||||
|
||||
/** |
||||
* 单价 |
||||
*/ |
||||
@TableField("money") |
||||
private BigDecimal money; |
||||
|
||||
/** |
||||
* 操作人ID |
||||
*/ |
||||
@TableField("operator_id") |
||||
private String operatorId; |
||||
|
||||
/** |
||||
* 操作人姓名 |
||||
*/ |
||||
@TableField("operator_name") |
||||
private String operatorName; |
||||
|
||||
/** |
||||
* 操作时间 |
||||
*/ |
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
||||
@TableField("operation_time") |
||||
private Date operationTime; |
||||
|
||||
/** |
||||
* 部门ID |
||||
*/ |
||||
@TableField("department_id") |
||||
private String departmentId; |
||||
|
||||
/** |
||||
* 部门名称 |
||||
*/ |
||||
@TableField("department_name") |
||||
private String departmentName; |
||||
} |
||||
@ -0,0 +1,100 @@ |
||||
package com.nov.KgLowDurable.pojo.entity; |
||||
import com.baomidou.mybatisplus.annotation.IdType; |
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import lombok.experimental.Accessors; |
||||
import java.io.Serializable; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* 二级库出库表实体类 |
||||
* @author: liweidong |
||||
* @create: 2025-12-26 |
||||
*/ |
||||
@Data |
||||
@EqualsAndHashCode(callSuper = false) |
||||
@Accessors(chain = true) |
||||
@TableName("ld_two_out_storage") |
||||
public class LdTwoOutStorage implements Serializable { |
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
/** |
||||
* ID - 主键,自增 |
||||
*/ |
||||
@TableId(value = "id", type = IdType.AUTO) |
||||
private Long id; |
||||
|
||||
/** |
||||
* 出库单号 |
||||
*/ |
||||
@TableField("order_no") |
||||
private String orderNo; |
||||
|
||||
/** |
||||
* 出库申请日期 |
||||
*/ |
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
||||
@TableField("out_date") |
||||
private Date outDate; |
||||
|
||||
/** |
||||
* 事由 |
||||
*/ |
||||
private String reason; |
||||
|
||||
/** |
||||
* 物资类型:办公物资/其他物资 |
||||
*/ |
||||
@TableField("material_type") |
||||
private String materialType; |
||||
|
||||
/** |
||||
* 部门ID |
||||
*/ |
||||
@TableField("department_id") |
||||
private String departmentId; |
||||
|
||||
/** |
||||
* 部门 |
||||
*/ |
||||
private String department; |
||||
|
||||
/** |
||||
* 申请人id |
||||
*/ |
||||
@TableField("proposer_id") |
||||
private String proposerId; |
||||
|
||||
/** |
||||
* 申请人姓名 |
||||
*/ |
||||
@TableField("proposer_name") |
||||
private String proposerName; |
||||
|
||||
/** |
||||
* 出库人ID |
||||
*/ |
||||
@TableField("shipper_id") |
||||
private String shipperId; |
||||
|
||||
/** |
||||
* 出库人名称 |
||||
*/ |
||||
@TableField("shipper_name") |
||||
private String shipperName; |
||||
|
||||
/** |
||||
* 审批编号 |
||||
*/ |
||||
@TableField("sp_no") |
||||
private String spNo; |
||||
|
||||
/** |
||||
* 出库状态:0-未出库;1-已出库;2-已驳回 |
||||
*/ |
||||
private String status; |
||||
} |
||||
@ -0,0 +1,102 @@ |
||||
package com.nov.KgLowDurable.pojo.entity; |
||||
import com.baomidou.mybatisplus.annotation.*; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import lombok.experimental.Accessors; |
||||
import java.io.Serializable; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @author liweidong |
||||
*/ |
||||
@Data |
||||
@EqualsAndHashCode(callSuper = false) |
||||
@Accessors(chain = true) |
||||
@TableName("ld_two_out_storage_detail") |
||||
public class LdTwoOutStorageDetail implements Serializable { |
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
/** |
||||
* ID - 主键,自增 |
||||
*/ |
||||
@TableId(value = "id", type = IdType.AUTO) |
||||
private Long id; |
||||
|
||||
/** |
||||
* 一级出库单ID |
||||
*/ |
||||
@TableField("two_out_storage_id") |
||||
private Long twoOutStorageId; |
||||
|
||||
/** |
||||
* 一级出库单号 |
||||
*/ |
||||
@TableField("two_out_storage_no") |
||||
private String twoOutStorageNo; |
||||
|
||||
/** |
||||
* 一级出库明细编号 |
||||
*/ |
||||
@TableField("two_out_detail_code") |
||||
private String twoOutDetailCode; |
||||
|
||||
/** |
||||
* 物资ID |
||||
*/ |
||||
@TableField("material_id") |
||||
private Long materialId; |
||||
|
||||
/** |
||||
* 物资名称 |
||||
*/ |
||||
@TableField("material_name") |
||||
private String materialName; |
||||
|
||||
/** |
||||
* 物资编码 |
||||
*/ |
||||
@TableField("material_code") |
||||
private String materialCode; |
||||
|
||||
/** |
||||
* 规格型号 |
||||
*/ |
||||
@TableField("model") |
||||
private String model; |
||||
|
||||
/** |
||||
* 类别:耐用品/易耗品 |
||||
*/ |
||||
@TableField("type") |
||||
private String type; |
||||
|
||||
/** |
||||
* 计量单位 |
||||
*/ |
||||
@TableField("unit") |
||||
private String unit; |
||||
|
||||
/** |
||||
* 数量 出库数量 |
||||
*/ |
||||
@TableField("num") |
||||
private String num; |
||||
|
||||
/** |
||||
* 物品详细描述 |
||||
*/ |
||||
@TableField("remark") |
||||
private String remark; |
||||
|
||||
/** |
||||
* 出库情况:已出库/未出库 |
||||
*/ |
||||
@TableField("shipper_status") |
||||
private String shipperStatus; |
||||
|
||||
/** |
||||
* 提交时间 |
||||
*/ |
||||
@TableField("opt_time") |
||||
private Date optTime; |
||||
} |
||||
@ -0,0 +1,26 @@ |
||||
package com.nov.KgLowDurable.pojo.vo; |
||||
|
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
|
||||
/** |
||||
* @author: liweidong |
||||
* @create: 2025-12-26 |
||||
*/ |
||||
@Data |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
public class DepartmentVO { |
||||
/** |
||||
* 部门ID |
||||
*/ |
||||
private String departmentId; |
||||
|
||||
/** |
||||
* 部门名称 |
||||
*/ |
||||
private String department; |
||||
|
||||
|
||||
} |
||||
@ -0,0 +1,35 @@ |
||||
package com.nov.KgLowDurable.pojo.vo; |
||||
|
||||
import com.nov.KgLowDurable.pojo.entity.*; |
||||
import lombok.Data; |
||||
import lombok.experimental.Accessors; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
|
||||
/** |
||||
* 二级出库详情VO |
||||
* |
||||
* @author liweidong |
||||
*/ |
||||
@Data |
||||
@Accessors(chain = true) |
||||
public class LdTwoOutStorageInfoVO implements Serializable { |
||||
|
||||
/** |
||||
* 二级出库 |
||||
*/ |
||||
private LdTwoOutStorage ldTwoOutStorage; |
||||
|
||||
/** |
||||
* 二级出库明细 |
||||
*/ |
||||
private List<LdTwoOutStorageDetail> ldTwoOutStorageDetailList; |
||||
|
||||
/** |
||||
* 二级出库审批人列表 |
||||
*/ |
||||
private List<LdApprove> approveList; |
||||
|
||||
} |
||||
@ -0,0 +1,21 @@ |
||||
package com.nov.KgLowDurable.service; |
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.nov.KgLowDurable.pojo.entity.Department; |
||||
import com.nov.KgLowDurable.pojo.entity.LdConsumerForm; |
||||
import com.nov.KgLowDurable.pojo.vo.DepartmentVO; |
||||
|
||||
import java.util.List; |
||||
|
||||
|
||||
/** |
||||
* 审批 |
||||
* @author liweidong |
||||
*/ |
||||
public interface IDepartmentService extends IService<Department> { |
||||
|
||||
/** |
||||
* 获取一级出库指定部门 |
||||
* @return |
||||
*/ |
||||
List<DepartmentVO> getOnePutDepartment(); |
||||
} |
||||
@ -0,0 +1,20 @@ |
||||
package com.nov.KgLowDurable.service; |
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.nov.KgLowDurable.pojo.entity.LdTwoOutStorageDetail; |
||||
|
||||
import java.util.List; |
||||
|
||||
|
||||
/** |
||||
* 审批 |
||||
* @author liweidong |
||||
*/ |
||||
public interface ILdTwoOutStorageDetailService extends IService<LdTwoOutStorageDetail> { |
||||
|
||||
/** |
||||
* 根据二级出库ID查询详情 |
||||
* @param twoOutStorageId |
||||
* @return |
||||
*/ |
||||
List<LdTwoOutStorageDetail> selectByTwoOutStorageId(Long twoOutStorageId); |
||||
} |
||||
@ -0,0 +1,42 @@ |
||||
package com.nov.KgLowDurable.service; |
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.github.pagehelper.PageInfo; |
||||
import com.nov.KgLowDurable.pojo.dto.LdTwoOutStorageDto; |
||||
import com.nov.KgLowDurable.pojo.entity.LdTwoOutStorage; |
||||
import com.nov.KgLowDurable.pojo.vo.LdTwoOutStorageInfoVO; |
||||
|
||||
import java.util.Date; |
||||
|
||||
|
||||
/** |
||||
* 审批 |
||||
* @author liweidong |
||||
*/ |
||||
public interface ILdTwoOutStorageService extends IService<LdTwoOutStorage> { |
||||
|
||||
/** |
||||
* 二级出库列表 |
||||
* @param startTime |
||||
* @param endTime |
||||
* @param shipperName |
||||
* @param departmentId |
||||
* @param pageNum |
||||
* @param pageSize |
||||
* @return |
||||
*/ |
||||
PageInfo<LdTwoOutStorage> getTwoOutStorageList(Date startTime, Date endTime, String shipperName, String departmentId, Integer pageNum, Integer pageSize); |
||||
|
||||
/** |
||||
* 二级出库提交 |
||||
* @param dto |
||||
* @return |
||||
*/ |
||||
boolean submit(LdTwoOutStorageDto dto); |
||||
|
||||
/** |
||||
* 二级出库详情 |
||||
* @param twoOutStorageId |
||||
* @return |
||||
*/ |
||||
LdTwoOutStorageInfoVO getDetail(Long twoOutStorageId); |
||||
} |
||||
@ -1,38 +0,0 @@ |
||||
package com.nov.KgLowDurable.service; |
||||
|
||||
|
||||
import com.nov.KgLowDurable.pojo.entity.Tuser; |
||||
import com.nov.KgLowDurable.pojo.vo.ApproverUser; |
||||
import com.nov.KgLowDurable.pojo.vo.UserInfoVO; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 用户 |
||||
* |
||||
* @author Chill |
||||
*/ |
||||
public interface IUserInfoService { |
||||
|
||||
/** |
||||
* 获取用户信息 |
||||
* @return |
||||
*/ |
||||
UserInfoVO getUserInfo() throws Exception; |
||||
|
||||
/** |
||||
* 获取审批人 |
||||
* @param mainErDepartment |
||||
* @param type |
||||
* @param ldOnePutStorageId |
||||
* @return |
||||
*/ |
||||
boolean getApprover(String mainErDepartment, String type,Long ldOnePutStorageId); |
||||
|
||||
/** |
||||
* 获取部门负责人 |
||||
* @param department |
||||
* @return |
||||
*/ |
||||
Tuser getDeptApprove(String department); |
||||
} |
||||
@ -0,0 +1,46 @@ |
||||
package com.nov.KgLowDurable.service; |
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.nov.KgLowDurable.pojo.entity.Department; |
||||
import com.nov.KgLowDurable.pojo.entity.User; |
||||
import com.nov.KgLowDurable.pojo.vo.DepartmentVO; |
||||
import com.nov.KgLowDurable.pojo.vo.UserInfoVO; |
||||
|
||||
import java.util.List; |
||||
|
||||
|
||||
/** |
||||
* 审批 |
||||
* @author liweidong |
||||
*/ |
||||
public interface IUserService extends IService<User> { |
||||
|
||||
|
||||
/** |
||||
* 获取用户信息 |
||||
* @return |
||||
*/ |
||||
UserInfoVO getUserInfo() throws Exception; |
||||
|
||||
/** |
||||
* 获取审批人 |
||||
* @param mainErDepartment |
||||
* @param type |
||||
* @param formId |
||||
* @return |
||||
*/ |
||||
boolean getApprover(String mainErDepartment, String type,Long formId); |
||||
|
||||
/** |
||||
* 获取部门负责人 |
||||
* @param department |
||||
* @return |
||||
*/ |
||||
User getDeptApprove(String department); |
||||
|
||||
/** |
||||
* 根据部门Id获取领用人 |
||||
* @param departmentId |
||||
* @return |
||||
*/ |
||||
List<User> getUserByDeptId(String departmentId); |
||||
} |
||||
@ -0,0 +1,32 @@ |
||||
package com.nov.KgLowDurable.service.Impl; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.nov.KgLowDurable.mapper.DepartmentMapper; |
||||
import com.nov.KgLowDurable.mapper.LdApproveMapper; |
||||
import com.nov.KgLowDurable.pojo.entity.Department; |
||||
import com.nov.KgLowDurable.pojo.entity.LdApprove; |
||||
import com.nov.KgLowDurable.pojo.vo.DepartmentVO; |
||||
import com.nov.KgLowDurable.service.IDepartmentService; |
||||
import com.nov.KgLowDurable.service.ILdApproveService; |
||||
import lombok.AllArgsConstructor; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 服务实现类 |
||||
* @author liweidong |
||||
*/ |
||||
@Service |
||||
@AllArgsConstructor |
||||
public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Department> implements IDepartmentService { |
||||
|
||||
@Autowired |
||||
DepartmentMapper departmentMapper; |
||||
|
||||
@Override |
||||
public List<DepartmentVO> getOnePutDepartment() { |
||||
return departmentMapper.selectOnePutDepartment(); |
||||
} |
||||
} |
||||
@ -0,0 +1,30 @@ |
||||
package com.nov.KgLowDurable.service.Impl; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.nov.KgLowDurable.mapper.LdTwoOutStorageDetailMapper; |
||||
import com.nov.KgLowDurable.pojo.entity.LdTwoOutStorageDetail; |
||||
|
||||
|
||||
import com.nov.KgLowDurable.service.ILdTwoOutStorageDetailService; |
||||
import lombok.AllArgsConstructor; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 服务实现类 |
||||
* @author liweidong |
||||
*/ |
||||
@Service |
||||
@AllArgsConstructor |
||||
public class LdTwoOutStorageDetailServiceImpl extends ServiceImpl<LdTwoOutStorageDetailMapper, LdTwoOutStorageDetail> implements ILdTwoOutStorageDetailService { |
||||
|
||||
@Autowired |
||||
LdTwoOutStorageDetailMapper twoOutStorageDetailMapper; |
||||
|
||||
@Override |
||||
public List<LdTwoOutStorageDetail> selectByTwoOutStorageId(Long twoOutStorageId) { |
||||
return twoOutStorageDetailMapper.selectByTwoOutStorageId(twoOutStorageId); |
||||
} |
||||
} |
||||
@ -0,0 +1,141 @@ |
||||
package com.nov.KgLowDurable.service.Impl; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.github.pagehelper.PageHelper; |
||||
import com.github.pagehelper.PageInfo; |
||||
import com.nov.KgLowDurable.constant.BatchConstant; |
||||
import com.nov.KgLowDurable.exception.CustomerException; |
||||
import com.nov.KgLowDurable.mapper.LdTwoOutStorageMapper; |
||||
import com.nov.KgLowDurable.pojo.dto.LdTwoOutStorageDto; |
||||
import com.nov.KgLowDurable.pojo.entity.LdApprove; |
||||
import com.nov.KgLowDurable.pojo.entity.LdTwoOutStorage; |
||||
import com.nov.KgLowDurable.pojo.entity.LdTwoOutStorageDetail; |
||||
import com.nov.KgLowDurable.pojo.vo.LdTwoOutStorageInfoVO; |
||||
import com.nov.KgLowDurable.pojo.vo.UserInfoVO; |
||||
import com.nov.KgLowDurable.service.ILdApproveService; |
||||
import com.nov.KgLowDurable.service.ILdTwoOutStorageDetailService; |
||||
import com.nov.KgLowDurable.service.ILdTwoOutStorageService; |
||||
import com.nov.KgLowDurable.service.IUserService; |
||||
import com.nov.KgLowDurable.util.OrderNoGen; |
||||
import lombok.AllArgsConstructor; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.transaction.annotation.Transactional; |
||||
import org.springframework.util.CollectionUtils; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 服务实现类 |
||||
* @author liweidong |
||||
*/ |
||||
@Service |
||||
@AllArgsConstructor |
||||
public class LdTwoOutStorageServiceImpl extends ServiceImpl<LdTwoOutStorageMapper, LdTwoOutStorage> implements ILdTwoOutStorageService { |
||||
|
||||
@Autowired |
||||
LdTwoOutStorageMapper twoOutStorageMapper; |
||||
|
||||
@Autowired |
||||
OrderNoGen orderNoGen; |
||||
|
||||
@Autowired |
||||
ILdTwoOutStorageDetailService twoOutStorageDetailService; |
||||
|
||||
@Autowired |
||||
IUserService userService; |
||||
|
||||
@Autowired |
||||
ILdApproveService approveService; |
||||
|
||||
@Override |
||||
public PageInfo<LdTwoOutStorage> getTwoOutStorageList(Date startTime, Date endTime, String shipperName, String departmentId, Integer pageNum, Integer pageSize) { |
||||
PageHelper.startPage(pageNum,pageSize); |
||||
// 查询全部
|
||||
List<LdTwoOutStorage> ldErstockOutList = twoOutStorageMapper.selectTwoOutStorageList(startTime,endTime,shipperName,departmentId); |
||||
// 返回结果
|
||||
PageInfo<LdTwoOutStorage> pageInfo = new PageInfo<>(ldErstockOutList); |
||||
return pageInfo; |
||||
} |
||||
|
||||
@Override |
||||
@Transactional(rollbackFor = Exception.class) |
||||
public boolean submit(LdTwoOutStorageDto dto) { |
||||
if(null == dto.getLdTwoOutStorage()){ |
||||
throw new CustomerException("基础数据不能为空"); |
||||
} |
||||
if(CollectionUtils.isEmpty(dto.getLdTwoOutStorageDetailList())){ |
||||
throw new CustomerException("出库明细数据不能为空"); |
||||
} |
||||
|
||||
UserInfoVO userInfo = dto.getUserInfoVO(); |
||||
LdTwoOutStorage ldTwoOutStorage = dto.getLdTwoOutStorage(); |
||||
|
||||
// 生成出库单号
|
||||
String orderNo = orderNoGen.generate("SO"); |
||||
ldTwoOutStorage.setOrderNo(orderNo); |
||||
|
||||
// 设置出库操作人
|
||||
ldTwoOutStorage.setShipperId(userInfo.getUserId()); |
||||
ldTwoOutStorage.setShipperName(userInfo.getName()); |
||||
|
||||
//设置状态
|
||||
ldTwoOutStorage.setStatus(BatchConstant.NO_SHIPPED_OUT); |
||||
|
||||
// 保存主表
|
||||
int insertResult = twoOutStorageMapper.insert(ldTwoOutStorage); |
||||
if (insertResult <= 0) { |
||||
throw new CustomerException("一级出库单保存失败"); |
||||
} |
||||
|
||||
Long outOneStorageId = ldTwoOutStorage.getId(); |
||||
if (outOneStorageId == null) { |
||||
throw new CustomerException("获取二级出库单ID失败"); |
||||
} |
||||
|
||||
//处理二级出库明细
|
||||
List<LdTwoOutStorageDetail> list = new ArrayList<>(); |
||||
List<LdTwoOutStorageDetail> ldTwoOutStorageDetailList = dto.getLdTwoOutStorageDetailList(); |
||||
for (LdTwoOutStorageDetail ldTwoOutStorageDetail : ldTwoOutStorageDetailList) { |
||||
ldTwoOutStorageDetail.setTwoOutStorageId(outOneStorageId); |
||||
ldTwoOutStorageDetail.setTwoOutStorageNo(ldTwoOutStorage.getOrderNo()); |
||||
ldTwoOutStorageDetail.setTwoOutDetailCode(orderNoGen.generate("SOD")); |
||||
ldTwoOutStorageDetail.setShipperStatus(BatchConstant.NO_SHIPPED_OUT); |
||||
ldTwoOutStorageDetail.setOptTime(new Date()); |
||||
list.add(ldTwoOutStorageDetail); |
||||
} |
||||
boolean saveDetailResult = twoOutStorageDetailService.saveBatch(list); |
||||
if (!saveDetailResult) { |
||||
throw new CustomerException("二级出库明细保存失败"); |
||||
} |
||||
|
||||
//获取审批人
|
||||
try { |
||||
boolean approver = userService.getApprover(ldTwoOutStorage.getDepartmentId(), |
||||
"1", ldTwoOutStorage.getId()); |
||||
|
||||
} catch (Exception e) { |
||||
throw new CustomerException("获取审批人失败: " + e.getMessage()); |
||||
} |
||||
|
||||
// 5. todo 提交审批
|
||||
return true; |
||||
} |
||||
|
||||
@Override |
||||
public LdTwoOutStorageInfoVO getDetail(Long twoOutStorageId) { |
||||
//基础信息
|
||||
LdTwoOutStorage ldTwoOutStorage = twoOutStorageMapper.selectById(twoOutStorageId); |
||||
//明细信息
|
||||
List<LdTwoOutStorageDetail> ldTwoOutStorageDetailList = twoOutStorageDetailService.selectByTwoOutStorageId(twoOutStorageId); |
||||
//审批信息
|
||||
List<LdApprove> ldApproveList = approveService.getByFromId(twoOutStorageId, BatchConstant.OUT_STORAGE_TYPE); |
||||
|
||||
return new LdTwoOutStorageInfoVO() |
||||
.setApproveList(ldApproveList) |
||||
.setLdTwoOutStorage(ldTwoOutStorage) |
||||
.setLdTwoOutStorageDetailList(ldTwoOutStorageDetailList); |
||||
} |
||||
} |
||||
@ -0,0 +1,20 @@ |
||||
<?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.nov.KgLowDurable.mapper.DepartmentMapper"> |
||||
|
||||
<resultMap id="departmentResultMap" type="com.nov.KgLowDurable.pojo.entity.Department"> |
||||
<id column="id" property="id"/> |
||||
<result column="name" property="name"/> |
||||
<result column="parentid" property="parentid"/> |
||||
<result column="order" property="order"/> |
||||
<result column="oa_id" property="oaId"/> |
||||
</resultMap> |
||||
<select id="selectOnePutDepartment" resultType="com.nov.KgLowDurable.pojo.vo.DepartmentVO"> |
||||
SELECT id as departmentId, name department |
||||
FROM t_department |
||||
WHERE parentid = 1 |
||||
AND id NOT IN (12, 20, 50, 51, 52, 60); |
||||
</select> |
||||
|
||||
|
||||
</mapper> |
||||
@ -0,0 +1,26 @@ |
||||
<?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.nov.KgLowDurable.mapper.LdTwoOutStorageDetailMapper"> |
||||
|
||||
<!-- 二级库出库明细表查询映射结果 --> |
||||
<resultMap id="ldTwoOutStorageDetailResultMap" type="com.nov.KgLowDurable.pojo.entity.LdTwoOutStorageDetail"> |
||||
<id column="id" property="id"/> |
||||
<result column="two_out_storage_id" property="twoOutStorageId"/> |
||||
<result column="two_out_storage_no" property="twoOutStorageNo"/> |
||||
<result column="two_out_detail_code" property="twoOutDetailCode"/> |
||||
<result column="material_id" property="materialId"/> |
||||
<result column="material_name" property="materialName"/> |
||||
<result column="material_code" property="materialCode"/> |
||||
<result column="model" property="model"/> |
||||
<result column="type" property="type"/> |
||||
<result column="unit" property="unit"/> |
||||
<result column="num" property="num"/> |
||||
<result column="remark" property="remark"/> |
||||
<result column="shipper_status" property="shipperStatus"/> |
||||
<result column="opt_time" property="optTime"/> |
||||
</resultMap> |
||||
<select id="selectByTwoOutStorageId" resultType="com.nov.KgLowDurable.pojo.entity.LdTwoOutStorageDetail"> |
||||
select * from ld_two_out_storage_detail where two_out_storage_id = #{twoOutStorageId} |
||||
</select> |
||||
|
||||
</mapper> |
||||
@ -0,0 +1,35 @@ |
||||
<?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.nov.KgLowDurable.mapper.LdTwoOutStorageMapper"> |
||||
|
||||
<!-- 二级库出库表查询映射结果 --> |
||||
<resultMap id="ldTwoOutStorageResultMap" type="com.nov.KgLowDurable.pojo.entity.LdTwoOutStorage"> |
||||
<id column="id" property="id"/> |
||||
<result column="order_no" property="orderNo"/> |
||||
<result column="out_date" property="outDate"/> |
||||
<result column="reason" property="reason"/> |
||||
<result column="material_type" property="materialType"/> |
||||
<result column="department_id" property="departmentId"/> |
||||
<result column="department" property="department"/> |
||||
<result column="proposer_id" property="proposerId"/> |
||||
<result column="proposer_name" property="proposerName"/> |
||||
<result column="shipper_id" property="shipperId"/> |
||||
<result column="shipper_name" property="shipperName"/> |
||||
<result column="sp_no" property="spNo"/> |
||||
<result column="status" property="status"/> |
||||
</resultMap> |
||||
<select id="selectTwoOutStorageList" resultType="com.nov.KgLowDurable.pojo.entity.LdTwoOutStorage"> |
||||
select * from ld_two_out_storage where 1=1 |
||||
<if test="startTime !=null and endTime !=null"> |
||||
and out_date between #{startTime} and #{endTime} |
||||
</if> |
||||
<if test="shipperName !=null and shipperName!=''"> |
||||
AND shipper_name LIKE CONCAT('%', #{shipperName}, '%') |
||||
</if> |
||||
<if test="departmentId !=null "> |
||||
AND department_id = #{departmentId} |
||||
</if> |
||||
order by out_date |
||||
</select> |
||||
|
||||
</mapper> |
||||
@ -0,0 +1,43 @@ |
||||
<?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.nov.KgLowDurable.mapper.UserMapper"> |
||||
|
||||
<!-- 用户表查询映射结果 --> |
||||
<resultMap id="userResultMap" type="com.nov.KgLowDurable.pojo.entity.User"> |
||||
<id column="userId" property="userId"/> |
||||
<result column="name" property="name"/> |
||||
<result column="department" property="department"/> |
||||
<result column="main_department" property="mainDepartment"/> |
||||
<result column="main_er_department" property="mainErDepartment"/> |
||||
<result column="leader_in_dept" property="leaderInDept"/> |
||||
<result column="gender" property="gender"/> |
||||
<result column="phone" property="phone"/> |
||||
<result column="mail" property="mail"/> |
||||
<result column="name_code" property="nameCode"/> |
||||
<result column="card_no" property="cardNo"/> |
||||
<result column="cabinet_card_no" property="cabinetCardNo"/> |
||||
<result column="cert_no" property="certNo"/> |
||||
<result column="birthday" property="birthday"/> |
||||
<result column="address" property="address"/> |
||||
<result column="nation" property="nation"/> |
||||
<result column="work_time" property="workTime"/> |
||||
<result column="school_record" property="schoolRecord"/> |
||||
<result column="graduation_school" property="graduationSchool"/> |
||||
<result column="graduation_major" property="graduationMajor"/> |
||||
<result column="graduation_time" property="graduationTime"/> |
||||
<result column="entry_time" property="entryTime"/> |
||||
<result column="is_del" property="isDel"/> |
||||
<result column="opt_user" property="optUser"/> |
||||
<result column="opt_time" property="optTime"/> |
||||
<result column="oa_user_id" property="oaUserId"/> |
||||
<result column="car_number" property="carNumber"/> |
||||
<result column="is_duty" property="isDuty"/> |
||||
<result column="user_sort" property="userSort"/> |
||||
</resultMap> |
||||
|
||||
<select id="selectByDepartmentId" resultType="com.nov.KgLowDurable.pojo.entity.User"> |
||||
select * from t_user where main_er_department = #{departmentId} and is_del=0 |
||||
</select> |
||||
|
||||
|
||||
</mapper> |
||||
Loading…
Reference in new issue