Compare commits
5 Commits
frx_export
...
dev
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0f2366f8e6 | ||
55bc50afe2 | |||
![]() |
1144d4692a | ||
![]() |
4a295a4ec0 | ||
![]() |
5c08e5f5e2 |
@ -39,4 +39,6 @@ public class BpmTaskDonePageReqVO extends PageParam {
|
||||
@Schema(description = "部门编号")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "任务状态")
|
||||
private Integer result ;
|
||||
}
|
||||
|
@ -93,7 +93,7 @@ public interface BpmTaskExtMapper extends BaseMapperX<BpmTaskExtDO> {
|
||||
queryWrapperX.selectAs(BpmProcessInstanceExtDO::getStartUserId, BpmTaskDonePageRespVO::getStartUserId);
|
||||
queryWrapperX.selectAs(BpmProcessInstanceExtDO::getProcessDefinitionId, BpmTaskDonePageRespVO::getProcessDefinitionId);
|
||||
queryWrapperX.selectAs(BpmProcessInstanceExtDO::getCcids, BpmTaskDonePageRespVO::getCcUserIds);
|
||||
queryWrapperX.selectAs(BpmProcessInstanceExtDO::getResult, BpmTaskDonePageRespVO::getStatus ) ;
|
||||
queryWrapperX.selectAs(BpmProcessInstanceExtDO::getStatus, BpmTaskDonePageRespVO::getStatus ) ;
|
||||
|
||||
queryWrapperX.innerJoin(BpmProcessInstanceExtDO.class, on -> on
|
||||
.eq(BpmTaskExtDO::getProcessInstanceId, BpmProcessInstanceExtDO::getProcessInstanceId)
|
||||
@ -102,7 +102,10 @@ public interface BpmTaskExtMapper extends BaseMapperX<BpmTaskExtDO> {
|
||||
queryWrapperX.likeRight(BpmProcessInstanceExtDO::getProcessDefinitionId, "oa_");
|
||||
queryWrapperX.eq(BpmTaskExtDO::getAssigneeUserId, userId);
|
||||
queryWrapperX.ne(BpmTaskExtDO::getReason, BpmConstants.AUTO_APPRAVAL);
|
||||
queryWrapperX.ne(BpmTaskExtDO::getResult,4); //还未开始审批,发起人主动撤销的流程,不显示
|
||||
// queryWrapperX.ne(BpmTaskExtDO::getResult,4); //还未开始审批,发起人主动撤销的流程,不显示
|
||||
if (pageVO.getResult() != null) {
|
||||
queryWrapperX.eq(BpmTaskExtDO::getResult,pageVO.getResult());
|
||||
}
|
||||
queryWrapperX.betweenIfPresent(BpmTaskExtDO::getCreateTime, pageVO.getCreateTime());
|
||||
queryWrapperX.orderByDesc(BpmTaskExtDO::getEndTime);
|
||||
|
||||
|
@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao</artifactId>
|
||||
<version>2.0.0-jdk8-snapshot</version>
|
||||
</parent>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-module-crm</artifactId>
|
||||
<version>2.0.0-jdk8-snapshot</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>${project.artifactId}</name>
|
||||
<description>infra 模块,主要提供两块能力:
|
||||
1. 我们放基础设施的运维与管理,支撑上层的通用与核心业务。 例如说:定时任务的管理、服务器的信息等等
|
||||
2. 研发工具,提升研发效率与质量。 例如说:代码生成器、接口文档等等</description>
|
||||
<modules>
|
||||
<module>yudao-module-crm-api</module>
|
||||
<module>yudao-module-crm-biz</module>
|
||||
</modules>
|
||||
</project>
|
@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-module-crm</artifactId>
|
||||
<version>2.0.0-jdk8-snapshot</version>
|
||||
</parent>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-module-crm-api</artifactId>
|
||||
<version>2.0.0-jdk8-snapshot</version>
|
||||
<name>${project.artifactId}</name>
|
||||
<description>infra 模块 API,暴露给其它模块调用</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-common</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springdoc</groupId>
|
||||
<artifactId>springdoc-openapi-ui</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
@ -1,153 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-module-crm</artifactId>
|
||||
<version>2.0.0-jdk8-snapshot</version>
|
||||
</parent>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-module-crm-biz</artifactId>
|
||||
<version>2.0.0-jdk8-snapshot</version>
|
||||
<name>${project.artifactId}</name>
|
||||
<description>infra 模块,主要提供两块能力:
|
||||
1. 我们放基础设施的运维与管理,支撑上层的通用与核心业务。 例如说:定时任务的管理、服务器的信息等等
|
||||
2. 研发工具,提升研发效率与质量。 例如说:代码生成器、接口文档等等</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-bootstrap</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-module-crm-api</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-module-product-api</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-module-system-api</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-banner</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-biz-error-code</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-security</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-websocket</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-mybatis</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-generator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-redis</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-rpc</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-job</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-mq</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-excel</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.velocity</groupId>
|
||||
<artifactId>velocity-engine-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.smallbun.screw</groupId>
|
||||
<artifactId>screw-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-monitor</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>de.codecentric</groupId>
|
||||
<artifactId>spring-boot-admin-starter-server</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-file</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
<artifactId>yudao-module-bpm-api</artifactId>
|
||||
<version>2.0.0-jdk8-snapshot</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<finalName>${project.artifactId}</finalName>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>${spring.boot.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>8</source>
|
||||
<target>8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@ -41,5 +41,7 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode CANNOT_FIND_THE_CORRESPONDING_FACTORY_HANDLING_SPECIFICATION = new ErrorCode(1_000_005_001, "找不到对应的工厂搬运规格");
|
||||
ErrorCode FACTORY_HANDLING_SPECIFICATION_EXISTS = new ErrorCode(1_000_005_002, "工厂搬运规格已存在");
|
||||
ErrorCode SPECIFICATION_USER_AMOUNT_NOT_EXISTS = new ErrorCode(1_000_005_003, "工厂当前月份存在未分配人员数据!");
|
||||
ErrorCode ADDED_A_HANDLING_GROUP_WITH_DUPLICATE_DATA = new ErrorCode(1_000_005_004, "新增数据有重复的搬运组!");
|
||||
ErrorCode NEW_DATA_AND_OLD_DATA_HAVE_DUPLICATE_HANDLING_GROUP = new ErrorCode(1_000_005_005, "新增数据与老数据有重复的搬运组!");
|
||||
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.dto.HandlingGroupAmountSpecificationsPageReqDTO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.dto.HandlingGroupAmountSpecificationsTotalNumDTO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.vo.*;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupuseramount.vo.HandlingGroupUserAmountItemVO;
|
||||
@ -31,7 +32,6 @@ import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.getSumValue;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 搬运组工资规格关联")
|
||||
@ -87,11 +87,11 @@ public class HandlingGroupAmountSpecificationsController {
|
||||
@Parameter(name = "factoryId", description = "工厂id", required = true, example = "1024")
|
||||
@Parameter(name = "dateStr", description = "日期", required = true, example = "1024")
|
||||
@Parameter(name = "handlingGroupId", description = "搬运组id", required = true, example = "1024")
|
||||
public CommonResult<List<HandlingGroupAmountSpecificationsRespVO>> getHandlingGroupAmountSpecifications(@RequestParam Long factoryId,
|
||||
@RequestParam String dateStr,
|
||||
@RequestParam Long handlingGroupId) {
|
||||
public CommonResult<List<HandlingGroupAmountSpecificationsDetailsRespVO>> getHandlingGroupAmountSpecifications(@RequestParam Long factoryId,
|
||||
@RequestParam String dateStr,
|
||||
@RequestParam Long handlingGroupId) {
|
||||
List<HandlingGroupAmountSpecificationsDO> handlingGroupAmountSpecifications = handlingGroupAmountSpecificationsService.getHandlingGroupAmountSpecificationsList(factoryId, dateStr, handlingGroupId);
|
||||
return success(BeanUtils.toBean(handlingGroupAmountSpecifications, HandlingGroupAmountSpecificationsRespVO.class));
|
||||
return success(BeanUtils.toBean(handlingGroupAmountSpecifications, HandlingGroupAmountSpecificationsDetailsRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@ -109,8 +109,8 @@ public class HandlingGroupAmountSpecificationsController {
|
||||
}
|
||||
for (HandlingGroupAmountSpecificationsRespVO handlingGroupAmountSpecificationsDO : result.getList()) {
|
||||
String key = handlingGroupAmountSpecificationsDO.getFactoryId() + "_" + handlingGroupAmountSpecificationsDO.getHandlingGroupId() + "_" + handlingGroupAmountSpecificationsDO.getDateStr();
|
||||
handlingGroupAmountSpecificationsDO.setTotalAmount(getSumValue(map.get(key), HandlingGroupAmountSpecificationsRespVO::getAmount, BigDecimal::add));
|
||||
handlingGroupAmountSpecificationsDO.setTotalNum(getSumValue(map.get(key), HandlingGroupAmountSpecificationsRespVO::getTotalCount, Integer::sum));
|
||||
// handlingGroupAmountSpecificationsDO.setTotalAmount(getSumValue(map.get(key), HandlingGroupAmountSpecificationsRespVO::getAmount, BigDecimal::add));
|
||||
// handlingGroupAmountSpecificationsDO.setTotalNum(getSumValue(map.get(key), HandlingGroupAmountSpecificationsRespVO::getTotalCount, Integer::sum));
|
||||
List<HandlingGroupUserAmountDO> items = handlingGroupUserAmountMap.get(handlingGroupAmountSpecificationsDO.getHandlingGroupId());
|
||||
if (CollUtil.isNotEmpty(items)) {
|
||||
List<HandlingGroupUserAmountItemVO> handlingGroupUserAmountItemVOS = BeanUtils.toBean(items, HandlingGroupUserAmountItemVO.class);
|
||||
@ -120,6 +120,14 @@ public class HandlingGroupAmountSpecificationsController {
|
||||
return success(result);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/pageV2")
|
||||
@Operation(summary = "获得搬运组工资规格关联分页")
|
||||
public CommonResult<PageResult<HandlingGroupAmountSpecificationsRespVO>> getHandlingGroupAmountSpecificationsPageV2(@Valid HandlingGroupAmountSpecificationsPageReqDTO pageReqVO) {
|
||||
PageResult<HandlingGroupAmountSpecificationsRespVO> pageResult = handlingGroupAmountSpecificationsService.getHandlingGroupAmountSpecificationsPageV2(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出搬运组工资规格关联 Excel")
|
||||
@OperateLog(type = EXPORT)
|
||||
|
@ -0,0 +1,43 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.dto;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class HandlingGroupAmountSpecificationsPageReqDTO extends PageParam {
|
||||
|
||||
@Schema(description = "工厂id", example = "23178")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "搬运组id", example = "23178")
|
||||
private Long handlingGroupId;
|
||||
|
||||
@Schema(description = "叉车司机名称", example = "23178")
|
||||
private String staffName;
|
||||
|
||||
@Schema(description = "搬运工名称", example = "23178")
|
||||
private String porterName;
|
||||
|
||||
@Schema(description = "搬运规格id", example = "23178")
|
||||
private Long handlingSpecificationsId;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "工厂ids", example = "23178")
|
||||
private List<Long> factoryIds;
|
||||
|
||||
}
|
@ -0,0 +1,77 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupuseramount.vo.HandlingGroupUserAmountItemVO;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class HandlingGroupAmountSpecificationsDetailsRespVO {
|
||||
|
||||
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9721")
|
||||
@ExcelProperty("主键id")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工厂id", example = "23178")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "工厂名称", example = "23178")
|
||||
private String factoryName;
|
||||
|
||||
@Schema(description = "搬运组id", example = "23178")
|
||||
@ExcelProperty("搬运组id")
|
||||
private Long handlingGroupId;
|
||||
|
||||
@Schema(description = "搬运组名称", example = "23178")
|
||||
@ExcelProperty("搬运组名称")
|
||||
private String handlingGroupName;
|
||||
|
||||
@Schema(description = "叉车司机名称", example = "23178")
|
||||
@ExcelProperty("叉车司机名称")
|
||||
private String staffName;
|
||||
|
||||
@Schema(description = "叉车司机id", example = "23178")
|
||||
@ExcelProperty("叉车司机id")
|
||||
private Long staffId;
|
||||
|
||||
@Schema(description = "搬运规格id", example = "23178")
|
||||
@ExcelProperty("搬运规格id")
|
||||
private Long handlingSpecificationsId;
|
||||
|
||||
@Schema(description = "搬运规格名称", example = "23178")
|
||||
@ExcelProperty("搬运规格名称")
|
||||
private String handlingSpecificationsName;
|
||||
|
||||
@Schema(description = "数量", example = "15611")
|
||||
@ExcelProperty("数量")
|
||||
private Integer totalCount;
|
||||
|
||||
@Schema(description = "日期 格式 yyyy-MM-dd")
|
||||
@ExcelProperty("日期 格式 yyyy-MM-dd")
|
||||
private String dateStr;
|
||||
|
||||
@Schema(description = "总金额(根据规格和总量计算出 该搬运组获得的总金额)")
|
||||
@ExcelProperty("总金额(根据规格和总量计算出 该搬运组获得的总金额)")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
@Schema(description = "金额小计")
|
||||
@ExcelProperty("金额小计")
|
||||
private BigDecimal totalAmount;
|
||||
@Schema(description = "数量小计")
|
||||
@ExcelProperty("数量小计")
|
||||
private Integer totalNum;
|
||||
|
||||
@Schema(description = "搬运工明细列表")
|
||||
private List<HandlingGroupUserAmountItemVO> handlingGroupUserAmountItemVOS;
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupuseramount.vo.HandlingGroupUserAmountItemVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupuseramount.vo.HandlingGroupUserAmountRespVO;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
@ -42,26 +41,14 @@ public class HandlingGroupAmountSpecificationsRespVO {
|
||||
@ExcelProperty("叉车司机id")
|
||||
private Long staffId;
|
||||
|
||||
@Schema(description = "搬运规格id", example = "23178")
|
||||
@ExcelProperty("搬运规格id")
|
||||
private Long handlingSpecificationsId;
|
||||
|
||||
@Schema(description = "搬运规格名称", example = "23178")
|
||||
@ExcelProperty("搬运规格名称")
|
||||
private String handlingSpecificationsName;
|
||||
|
||||
@Schema(description = "数量", example = "15611")
|
||||
@ExcelProperty("数量")
|
||||
private Integer totalCount;
|
||||
private List<SpecificationDetailVO> specificationDetails;
|
||||
|
||||
@Schema(description = "日期 格式 yyyy-MM-dd")
|
||||
@ExcelProperty("日期 格式 yyyy-MM-dd")
|
||||
private String dateStr;
|
||||
|
||||
@Schema(description = "总金额(根据规格和总量计算出 该搬运组获得的总金额)")
|
||||
@ExcelProperty("总金额(根据规格和总量计算出 该搬运组获得的总金额)")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
@ -73,6 +60,10 @@ public class HandlingGroupAmountSpecificationsRespVO {
|
||||
@Schema(description = "数量小计")
|
||||
@ExcelProperty("数量小计")
|
||||
private Integer totalNum;
|
||||
/**
|
||||
* 搬运规格id 逗号隔开
|
||||
*/
|
||||
private String handlingSpecificationsIds;
|
||||
|
||||
@Schema(description = "搬运工明细列表")
|
||||
private List<HandlingGroupUserAmountItemVO> handlingGroupUserAmountItemVOS;
|
||||
|
@ -0,0 +1,84 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupuseramount.vo.HandlingGroupUserAmountItemVO;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class HandlingGroupAmountSpecificationsRespVOV2 {
|
||||
|
||||
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9721")
|
||||
@ExcelProperty("主键id")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工厂id", example = "23178")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "工厂名称", example = "23178")
|
||||
private String factoryName;
|
||||
|
||||
@Schema(description = "搬运组id", example = "23178")
|
||||
@ExcelProperty("搬运组id")
|
||||
private Long handlingGroupId;
|
||||
|
||||
@Schema(description = "搬运组名称", example = "23178")
|
||||
@ExcelProperty("搬运组名称")
|
||||
private String handlingGroupName;
|
||||
|
||||
@Schema(description = "叉车司机名称", example = "23178")
|
||||
@ExcelProperty("叉车司机名称")
|
||||
private String staffName;
|
||||
|
||||
@Schema(description = "叉车司机id", example = "23178")
|
||||
@ExcelProperty("叉车司机id")
|
||||
private Long staffId;
|
||||
|
||||
@Schema(description = "日期 格式 yyyy-MM-dd")
|
||||
@ExcelProperty("日期 格式 yyyy-MM-dd")
|
||||
private String dateStr;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Schema(description = "搬运规格id", example = "23178")
|
||||
@ExcelProperty("搬运规格id")
|
||||
private Long handlingSpecificationsId;
|
||||
|
||||
@Schema(description = "搬运规格名称", example = "23178")
|
||||
@ExcelProperty("搬运规格名称")
|
||||
private String handlingSpecificationsName;
|
||||
|
||||
@Schema(description = "数量", example = "15611")
|
||||
@ExcelProperty("数量")
|
||||
private Integer totalCount;
|
||||
|
||||
|
||||
|
||||
|
||||
@Schema(description = "总金额(根据规格和总量计算出 该搬运组获得的总金额)")
|
||||
@ExcelProperty("总金额(根据规格和总量计算出 该搬运组获得的总金额)")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(description = "金额小计")
|
||||
@ExcelProperty("金额小计")
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
@Schema(description = "数量小计")
|
||||
@ExcelProperty("数量小计")
|
||||
private Integer totalNum;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "搬运工明细列表")
|
||||
private List<HandlingGroupUserAmountItemVO> handlingGroupUserAmountItemVOS;
|
||||
}
|
@ -0,0 +1,86 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 搬运组工资规格关联 DO
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
@Data
|
||||
public class HandlingGroupAmountSpecificationsVO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 工厂id
|
||||
*/
|
||||
private Long factoryId;
|
||||
/**
|
||||
* 搬运规格id
|
||||
*/
|
||||
private Long handlingSpecificationsId;
|
||||
/**
|
||||
* 搬运组id
|
||||
*/
|
||||
private Long handlingGroupId;
|
||||
|
||||
/**
|
||||
* 叉车司机id
|
||||
*/
|
||||
private Long staffId;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private Integer totalCount;
|
||||
/**
|
||||
* 日期 格式 yyyy-MM-dd
|
||||
*/
|
||||
private String dateStr;
|
||||
/**
|
||||
* 总金额(根据规格和总量计算出 该搬运组获得的总金额)
|
||||
*/
|
||||
private BigDecimal amount;
|
||||
/**
|
||||
* 金额合计
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private BigDecimal totalAmount;
|
||||
/**
|
||||
* 数量合计
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Integer totalNum;
|
||||
/**
|
||||
* 工厂名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String factoryName;
|
||||
/**
|
||||
* 搬运组名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String handlingGroupName;
|
||||
/**
|
||||
* 叉车司机名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String staffName;
|
||||
/**
|
||||
* 搬运规格id 逗号隔开
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private List<SpecificationDetailVO> specificationDetails;
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class SpecificationDetailVO {
|
||||
@Schema(description = "工厂搬运规格id", example = "23178")
|
||||
private Long handlingSpecificationsId;
|
||||
|
||||
@Schema(description = "规格名称", example = "标准规格")
|
||||
private String handlingSpecificationsName;
|
||||
|
||||
@Schema(description = "数量", example = "23178")
|
||||
private Integer totalCount;
|
||||
|
||||
@Schema(description = "金额", example = "23178")
|
||||
private BigDecimal amount;
|
||||
|
||||
public SpecificationDetailVO() {
|
||||
}
|
||||
|
||||
public SpecificationDetailVO(Long handlingSpecificationsId, String handlingSpecificationsName, Integer totalCount, BigDecimal amount) {
|
||||
this.handlingSpecificationsId = handlingSpecificationsId;
|
||||
this.handlingSpecificationsName = handlingSpecificationsName;
|
||||
this.totalCount = totalCount;
|
||||
this.amount = amount;
|
||||
}
|
||||
}
|
@ -18,9 +18,6 @@ public class StaffWagesPageDTO extends PageParam {
|
||||
@Schema(description = "工厂id", example = "12639")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "搬运组工资规格关联id", example = "27617")
|
||||
private Long handlingGroupAmountSpecificationsId;
|
||||
|
||||
@Schema(description = "日期 格式 yyyy-MM-dd")
|
||||
private String dateStr;
|
||||
|
||||
|
@ -1,11 +1,13 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupuseramount.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import java.math.BigDecimal;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
@ -19,8 +21,8 @@ public class HandlingGroupUserAmountPageReqVO extends PageParam {
|
||||
@Schema(description = "用户id", example = "12639")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "搬运组工资规格关联id", example = "27617")
|
||||
private Long handlingGroupAmountSpecificationsId;
|
||||
@Schema(description = "工厂id", example = "27617")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "搬运组id", example = "27617")
|
||||
private Long handlingGroupId;
|
||||
|
@ -25,10 +25,6 @@ public class HandlingGroupUserAmountRespVO {
|
||||
@ExcelProperty("用户名称")
|
||||
private String userName;
|
||||
|
||||
@Schema(description = "搬运组工资规格关联id", example = "27617")
|
||||
@ExcelProperty("搬运组工资规格关联id")
|
||||
private Long handlingGroupAmountSpecificationsId;
|
||||
|
||||
@Schema(description = "日期 格式 yyyy-MM-dd")
|
||||
@ExcelProperty("日期 格式 yyyy-MM-dd")
|
||||
private String dateStr;
|
||||
|
@ -1,10 +1,8 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupuseramount.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.*;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Schema(description = "管理后台 - 搬运组每日个人工资记录新增/修改 Request VO")
|
||||
@ -20,8 +18,8 @@ public class HandlingGroupUserAmountSaveReqVO {
|
||||
@Schema(description = "工厂id", example = "12639")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "搬运组工资规格关联id", example = "27617")
|
||||
private Long handlingGroupAmountSpecificationsId;
|
||||
@Schema(description = "搬运组id", example = "12639")
|
||||
private Long handlingGroupId;
|
||||
|
||||
@Schema(description = "日期 格式 yyyy-MM-dd")
|
||||
private String dateStr;
|
||||
|
@ -39,4 +39,9 @@ public class HandlingGroupDO extends BaseDO {
|
||||
@TableField(exist = false)
|
||||
private String factoryName;
|
||||
|
||||
/**
|
||||
* 搬运日期
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String dateStr;
|
||||
}
|
||||
|
@ -1,15 +1,15 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlinggroupamountspecifications;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.vo.SpecificationDetailVO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 搬运组工资规格关联 DO
|
||||
@ -17,7 +17,8 @@ import java.math.BigDecimal;
|
||||
* @author 艾楷
|
||||
*/
|
||||
@TableName("sf_handling_group_amount_specifications")
|
||||
@KeySequence("sf_handling_group_amount_specifications_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@KeySequence("sf_handling_group_amount_specifications_seq")
|
||||
// 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@ -39,6 +40,11 @@ public class HandlingGroupAmountSpecificationsDO extends BaseDO {
|
||||
* 搬运规格id
|
||||
*/
|
||||
private Long handlingSpecificationsId;
|
||||
/**
|
||||
* 搬运规格名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String handlingSpecificationsName;
|
||||
/**
|
||||
* 搬运组id
|
||||
*/
|
||||
@ -61,8 +67,16 @@ public class HandlingGroupAmountSpecificationsDO extends BaseDO {
|
||||
* 总金额(根据规格和总量计算出 该搬运组获得的总金额)
|
||||
*/
|
||||
private BigDecimal amount;
|
||||
|
||||
|
||||
/**
|
||||
* 金额合计
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private BigDecimal totalAmount;
|
||||
/**
|
||||
* 数量合计
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Integer totalNum;
|
||||
/**
|
||||
* 工厂名称
|
||||
*/
|
||||
@ -79,8 +93,8 @@ public class HandlingGroupAmountSpecificationsDO extends BaseDO {
|
||||
@TableField(exist = false)
|
||||
private String staffName;
|
||||
/**
|
||||
* 搬运规格名称
|
||||
* 搬运规格id 逗号隔开
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String handlingSpecificationsName;
|
||||
private List<SpecificationDetailVO> specificationDetails;
|
||||
}
|
||||
|
@ -40,11 +40,6 @@ public class HandlingGroupUserAmountDO extends BaseDO {
|
||||
@TableField(exist = false)
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 搬运组工资规格关联id
|
||||
*/
|
||||
private Long handlingGroupAmountSpecificationsId;
|
||||
|
||||
/**
|
||||
* 搬运组id
|
||||
*/
|
||||
|
@ -1,16 +1,22 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.dal.mysql.handlinggroup;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroup.vo.HandlingGroupPageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.dto.HandlingGroupAmountSpecificationsPageReqDTO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.vo.HandlingGroupAmountSpecificationsVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlinggroup.HandlingGroupDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlinggroupamountspecifications.HandlingGroupAmountSpecificationsDO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroup.vo.*;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Result;
|
||||
import org.apache.ibatis.annotations.Results;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 搬运组 Mapper
|
||||
@ -30,10 +36,25 @@ public interface HandlingGroupMapper extends BaseMapperX<HandlingGroupDO> {
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param page
|
||||
* @param vo
|
||||
* @return
|
||||
*/
|
||||
IPage<HandlingGroupDO> selectPageList(@Param("page") Page<Object> page, @Param("vo") HandlingGroupPageReqVO vo);
|
||||
|
||||
/**
|
||||
* 根据时间分组查询分页
|
||||
*
|
||||
* @param page
|
||||
* @param vo
|
||||
* @return
|
||||
*/
|
||||
IPage<HandlingGroupAmountSpecificationsVO> selectPageListByDateStr(@Param("page") Page<Object> page, @Param("vo") HandlingGroupAmountSpecificationsPageReqDTO vo);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
HandlingGroupDO getHandlingGroup(@Param("id") Long id);
|
||||
}
|
||||
|
@ -26,7 +26,6 @@ public interface HandlingGroupUserAmountMapper extends BaseMapperX<HandlingGroup
|
||||
default PageResult<HandlingGroupUserAmountDO> selectPage(HandlingGroupUserAmountPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<HandlingGroupUserAmountDO>()
|
||||
.eqIfPresent(HandlingGroupUserAmountDO::getUserId, reqVO.getUserId())
|
||||
.eqIfPresent(HandlingGroupUserAmountDO::getHandlingGroupAmountSpecificationsId, reqVO.getHandlingGroupAmountSpecificationsId())
|
||||
.eqIfPresent(HandlingGroupUserAmountDO::getDateStr, reqVO.getDateStr())
|
||||
.eqIfPresent(HandlingGroupUserAmountDO::getAmount, reqVO.getAmount())
|
||||
.betweenIfPresent(HandlingGroupUserAmountDO::getCreateTime, reqVO.getCreateTime())
|
||||
@ -51,6 +50,7 @@ public interface HandlingGroupUserAmountMapper extends BaseMapperX<HandlingGroup
|
||||
|
||||
/**
|
||||
* 获取月工资列表
|
||||
*
|
||||
* @param factoryId
|
||||
* @param dateList
|
||||
* @param name
|
||||
@ -60,21 +60,25 @@ public interface HandlingGroupUserAmountMapper extends BaseMapperX<HandlingGroup
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*
|
||||
* @param vo
|
||||
* @return
|
||||
*/
|
||||
List<HandlingGroupUserAmountDO> getHandlingGroupUserAmountList(@Param("vo") HandlingGroupUserAmountPageReqVO vo);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param handlingGroupAmountSpecificationsIds
|
||||
* @return
|
||||
*/
|
||||
List<HandlingGroupUserAmountDO> getByHandlingGroupAmountSpecificationsId(@Param("handlingGroupAmountSpecificationsIds") List<Long> handlingGroupAmountSpecificationsIds);
|
||||
|
||||
List<HandlingGroupUserAmountDO> getByHandlingGroupIds(@Param("handlingGroupIds") List<Long> handlingGroupIds);
|
||||
|
||||
List<HandlingGroupUserAmountDO> selectAmountSum(@Param("factoryId") Long factoryId, @Param("month") String month);
|
||||
|
||||
Long selectIsExists(@Param("factoryId") Long factoryId, @Param("month") String month);
|
||||
|
||||
/**
|
||||
* 通过工厂列表ids 和日期列表 和 搬运组ids 获取
|
||||
*
|
||||
* @param factoryIds
|
||||
* @param dateStrList
|
||||
* @param handlingGroupIds
|
||||
* @return
|
||||
*/
|
||||
List<HandlingGroupUserAmountDO> getByFactorIdAndDateStrAndHandlingGroupId(@Param("factoryIds") List<Long> factoryIds, @Param("dateStrList") List<String> dateStrList, @Param("handlingGroupIds") List<Long> handlingGroupIds);
|
||||
}
|
||||
|
@ -44,4 +44,11 @@ public interface HandlingSpecificationsMapper extends BaseMapperX<HandlingSpecif
|
||||
* @return
|
||||
*/
|
||||
List<HandlingSpecificationsDO> getHandlingSpecificationsList(@Param("vo") HandlingSpecificationsPageReqVO vo);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
HandlingSpecificationsDO getHandlingSpecifications(@Param("id") Long id);
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ public class HandlingGroupServiceImpl extends ServiceImpl<HandlingGroupMapper, H
|
||||
|
||||
@Override
|
||||
public HandlingGroupDO getHandlingGroup(Long id) {
|
||||
return handlingGroupMapper.selectById(id);
|
||||
return handlingGroupMapper.getHandlingGroup(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,9 +1,12 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.service.handlinggroupamountspecifications;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.dto.HandlingGroupAmountSpecificationsPageReqDTO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.dto.HandlingGroupAmountSpecificationsTotalNumDTO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.vo.*;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlinggroup.HandlingGroupDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlinggroupamountspecifications.HandlingGroupAmountSpecificationsDO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.math.BigDecimal;
|
||||
@ -14,7 +17,7 @@ import java.util.List;
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
public interface HandlingGroupAmountSpecificationsService {
|
||||
public interface HandlingGroupAmountSpecificationsService extends IService<HandlingGroupAmountSpecificationsDO> {
|
||||
|
||||
/**
|
||||
* 获得搬运组工资规格关联
|
||||
@ -66,16 +69,22 @@ public interface HandlingGroupAmountSpecificationsService {
|
||||
/**
|
||||
* 获取合计
|
||||
*
|
||||
* @param factoryId
|
||||
* @return
|
||||
*/
|
||||
HandlingGroupAmountSpecificationsTotalNumVO getTotalNum(HandlingGroupAmountSpecificationsTotalNumDTO dto);
|
||||
|
||||
/**
|
||||
* 获取金额小计
|
||||
*
|
||||
* @param totalCount
|
||||
* @param handlingSpecificationsId
|
||||
* @return
|
||||
*/
|
||||
BigDecimal getAmountSubtotal(Integer totalCount, Long handlingSpecificationsId);
|
||||
|
||||
/**
|
||||
* @param pageReqVO
|
||||
* @return
|
||||
*/
|
||||
PageResult<HandlingGroupAmountSpecificationsRespVO> getHandlingGroupAmountSpecificationsPageV2(@Valid HandlingGroupAmountSpecificationsPageReqDTO pageReqVO);
|
||||
}
|
||||
|
@ -2,32 +2,42 @@ package cn.iocoder.yudao.module.smartfactory.service.handlinggroupamountspecific
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroup.vo.HandlingGroupListVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.dto.HandlingGroupAmountSpecificationsPageReqDTO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.dto.HandlingGroupAmountSpecificationsTotalNumDTO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.vo.*;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupuseramount.vo.HandlingGroupUserAmountItemVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlinggroupamountspecifications.HandlingGroupAmountSpecificationsDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlinggroupuseramount.HandlingGroupUserAmountDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlingspecifications.HandlingSpecificationsDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.mysql.handlinggroup.HandlingGroupMapper;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.mysql.handlinggroupamountspecifications.HandlingGroupAmountSpecificationsMapper;
|
||||
import cn.iocoder.yudao.module.smartfactory.service.handlinggroupuseramount.HandlingGroupUserAmountService;
|
||||
import cn.iocoder.yudao.module.smartfactory.service.handlingspecifications.HandlingSpecificationsService;
|
||||
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
||||
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
||||
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||
import com.alibaba.druid.sql.visitor.functions.Lpad;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
||||
import static cn.iocoder.yudao.module.smartfactory.enums.ErrorCodeConstants.ADDED_A_HANDLING_GROUP_WITH_DUPLICATE_DATA;
|
||||
import static cn.iocoder.yudao.module.smartfactory.enums.ErrorCodeConstants.NEW_DATA_AND_OLD_DATA_HAVE_DUPLICATE_HANDLING_GROUP;
|
||||
|
||||
/**
|
||||
* 搬运组工资规格关联 Service 实现类
|
||||
@ -36,11 +46,13 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class HandlingGroupAmountSpecificationsServiceImpl implements HandlingGroupAmountSpecificationsService {
|
||||
public class HandlingGroupAmountSpecificationsServiceImpl extends ServiceImpl<HandlingGroupAmountSpecificationsMapper, HandlingGroupAmountSpecificationsDO> implements HandlingGroupAmountSpecificationsService {
|
||||
|
||||
@Resource
|
||||
private HandlingGroupAmountSpecificationsMapper handlingGroupAmountSpecificationsMapper;
|
||||
@Resource
|
||||
private HandlingGroupMapper handlingGroupMapper;
|
||||
@Resource
|
||||
private HandlingSpecificationsService handlingSpecificationsService;
|
||||
@Resource
|
||||
private HandlingGroupUserAmountService handlingGroupUserAmountService;
|
||||
@ -79,6 +91,26 @@ public class HandlingGroupAmountSpecificationsServiceImpl implements HandlingGro
|
||||
|
||||
@Override
|
||||
public void batchCreate(HandlingGroupAmountSpecificationsBatchCreateVO vo) {
|
||||
List<Long> newHandlingGroupIds = vo.getHandlingGroupList().stream().map(HandlingGroupListVO::getHandlingGroupId).collect(Collectors.toList());
|
||||
// -- 先判断 新增之中有没有冲突的搬运组
|
||||
int num = newHandlingGroupIds.size();
|
||||
List<Long> distinctList = newHandlingGroupIds.stream().distinct().collect(Collectors.toList());
|
||||
if (num > distinctList.size()) {
|
||||
throw exception(ADDED_A_HANDLING_GROUP_WITH_DUPLICATE_DATA);
|
||||
}
|
||||
// -- 再判断是否有重复的数据 - 同一天 同一个工厂 不可以出现两个相同的搬运组
|
||||
List<HandlingGroupAmountSpecificationsDO> oldList = this.list(new LambdaQueryWrapper<HandlingGroupAmountSpecificationsDO>()
|
||||
.eq(HandlingGroupAmountSpecificationsDO::getFactoryId, vo.getFactoryId())
|
||||
.eq(HandlingGroupAmountSpecificationsDO::getDateStr, vo.getDateStr()));
|
||||
List<Long> oldHandlingGroupIds = new ArrayList<>();
|
||||
if (CollUtil.isNotEmpty(oldList)) {
|
||||
oldHandlingGroupIds = oldList.stream().map(HandlingGroupAmountSpecificationsDO::getHandlingGroupId).collect(Collectors.toList());
|
||||
}
|
||||
if (CollUtil.isNotEmpty(CollUtil.intersection(distinctList, oldHandlingGroupIds))) {
|
||||
throw exception(NEW_DATA_AND_OLD_DATA_HAVE_DUPLICATE_HANDLING_GROUP);
|
||||
}
|
||||
|
||||
|
||||
List<HandlingGroupAmountSpecificationsDO> list = new ArrayList<>();
|
||||
// -- 获取到所有的规格列表
|
||||
List<Long> handlingSpecificationsIds = vo.getHandlingGroupList().stream()
|
||||
@ -163,9 +195,11 @@ public class HandlingGroupAmountSpecificationsServiceImpl implements HandlingGro
|
||||
handlingGroupAmountSpecificationsMapper.deleteBatchIds(ids);
|
||||
|
||||
handlingGroupUserAmountService.remove(new LambdaQueryWrapper<HandlingGroupUserAmountDO>()
|
||||
.in(HandlingGroupUserAmountDO::getHandlingGroupAmountSpecificationsId, ids)
|
||||
);
|
||||
.eq(HandlingGroupUserAmountDO::getFactoryId, vo.getFactoryId())
|
||||
.eq(HandlingGroupUserAmountDO::getHandlingGroupId, vo.getHandlingGroupId())
|
||||
.eq(HandlingGroupUserAmountDO::getDateStr, vo.getDateStr()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlingGroupAmountSpecificationsTotalNumVO getTotalNum(HandlingGroupAmountSpecificationsTotalNumDTO dto) {
|
||||
// 判断当前登录人是否属于工厂主管
|
||||
@ -189,4 +223,27 @@ public class HandlingGroupAmountSpecificationsServiceImpl implements HandlingGro
|
||||
}
|
||||
return totalAmount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<HandlingGroupAmountSpecificationsRespVO> getHandlingGroupAmountSpecificationsPageV2(HandlingGroupAmountSpecificationsPageReqDTO pageReqVO) {
|
||||
IPage<HandlingGroupAmountSpecificationsVO> handlingGroupPage = handlingGroupMapper.selectPageListByDateStr(MyBatisUtils.buildPage(pageReqVO), pageReqVO);
|
||||
// 搬运规格ids - 拼接 一起查询
|
||||
PageResult<HandlingGroupAmountSpecificationsVO> resultPage = new PageResult<>(handlingGroupPage.getRecords(), handlingGroupPage.getTotal());
|
||||
PageResult<HandlingGroupAmountSpecificationsRespVO> result = BeanUtils.toBean(resultPage, HandlingGroupAmountSpecificationsRespVO.class);
|
||||
List<Long> factoryIds = result.getList().stream().map(HandlingGroupAmountSpecificationsRespVO::getFactoryId).distinct().collect(Collectors.toList());
|
||||
List<String> dateStrList = result.getList().stream().map(HandlingGroupAmountSpecificationsRespVO::getDateStr).distinct().collect(Collectors.toList());
|
||||
List<Long> handlingGroupIds = result.getList().stream().map(HandlingGroupAmountSpecificationsRespVO::getHandlingGroupId).distinct().collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(factoryIds) && CollUtil.isNotEmpty(dateStrList) && CollUtil.isNotEmpty(handlingGroupIds)) {
|
||||
// -- 工厂 - 时间 - 组
|
||||
List<HandlingGroupUserAmountDO> handlingGroupUserAmountDOS = handlingGroupUserAmountService.getByFactorIdAndDateStrAndHandlingGroupId(factoryIds, dateStrList, handlingGroupIds);
|
||||
Map<String, List<HandlingGroupUserAmountDO>> map = handlingGroupUserAmountDOS.stream().collect(Collectors.groupingBy(
|
||||
a -> a.getFactoryId() + "-" + a.getDateStr() + "-" + a.getHandlingGroupId()
|
||||
));
|
||||
for (HandlingGroupAmountSpecificationsRespVO handlingGroupAmountSpecificationsRespVO : result.getList()) {
|
||||
String key = handlingGroupAmountSpecificationsRespVO.getFactoryId() + "-" + handlingGroupAmountSpecificationsRespVO.getDateStr() + "-" + handlingGroupAmountSpecificationsRespVO.getHandlingGroupId();
|
||||
handlingGroupAmountSpecificationsRespVO.setHandlingGroupUserAmountItemVOS(BeanUtils.toBean(map.get(key), HandlingGroupUserAmountItemVO.class));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
@ -84,24 +84,29 @@ public interface HandlingGroupUserAmountService extends IService<HandlingGroupUs
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*
|
||||
* @param pageReqVO
|
||||
* @return
|
||||
*/
|
||||
List<HandlingGroupUserAmountDO> getHandlingGroupUserAmountList(HandlingGroupUserAmountPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param handlingGroupAmountSpecificationsIds
|
||||
* @return
|
||||
*/
|
||||
List<HandlingGroupUserAmountDO> getByHandlingGroupAmountSpecificationsId(List<Long> handlingGroupAmountSpecificationsIds);
|
||||
|
||||
/**
|
||||
* 确认搬运工组薪资,确认后添加至员工薪资表
|
||||
*
|
||||
* @param factoryId
|
||||
* @param month
|
||||
*/
|
||||
void confirmHandlingGroupUserAmount(Long factoryId, String month);
|
||||
|
||||
List<HandlingGroupUserAmountDO> getByHandlingGroupIds(List<Long> handlingGroupIds);
|
||||
|
||||
/**
|
||||
* 通过工厂列表ids 和日期列表 和 搬运组ids 获取
|
||||
*
|
||||
* @param factoryIds
|
||||
* @param dateStrList
|
||||
* @param handlingGroupIds
|
||||
* @return
|
||||
*/
|
||||
List<HandlingGroupUserAmountDO> getByFactorIdAndDateStrAndHandlingGroupId(List<Long> factoryIds, List<String> dateStrList, List<Long> handlingGroupIds);
|
||||
}
|
||||
|
@ -108,9 +108,7 @@ public class HandlingGroupUserAmountServiceImpl extends ServiceImpl<HandlingGrou
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void createOrEdit(HandlingGroupUserAmountSaveReqVO createReqVO) {
|
||||
HandlingGroupAmountSpecificationsDO handlingGroupAmountSpecificationsDO = handlingGroupAmountSpecificationsMapper.selectById(createReqVO.getHandlingGroupAmountSpecificationsId());
|
||||
// 插入
|
||||
createReqVO.setFactoryId(handlingGroupAmountSpecificationsDO.getFactoryId());
|
||||
HandlingGroupUserAmountDO handlingGroupUserAmount = BeanUtils.toBean(createReqVO, HandlingGroupUserAmountDO.class);
|
||||
handlingGroupUserAmountMapper.insertOrUpdate(handlingGroupUserAmount);
|
||||
}
|
||||
@ -171,11 +169,6 @@ public class HandlingGroupUserAmountServiceImpl extends ServiceImpl<HandlingGrou
|
||||
return handlingGroupUserAmountMapper.getHandlingGroupUserAmountList(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HandlingGroupUserAmountDO> getByHandlingGroupAmountSpecificationsId(List<Long> handlingGroupAmountSpecificationsIds) {
|
||||
return handlingGroupUserAmountMapper.getByHandlingGroupAmountSpecificationsId(handlingGroupAmountSpecificationsIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void confirmHandlingGroupUserAmount(Long factoryId, String month) {
|
||||
|
||||
@ -254,4 +247,9 @@ public class HandlingGroupUserAmountServiceImpl extends ServiceImpl<HandlingGrou
|
||||
return handlingGroupUserAmountMapper.getByHandlingGroupIds(handlingGroupIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HandlingGroupUserAmountDO> getByFactorIdAndDateStrAndHandlingGroupId(List<Long> factoryIds, List<String> dateStrList, List<Long> handlingGroupIds) {
|
||||
return handlingGroupUserAmountMapper.getByFactorIdAndDateStrAndHandlingGroupId(factoryIds, dateStrList, handlingGroupIds);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ public class HandlingSpecificationsServiceImpl extends ServiceImpl<HandlingSpeci
|
||||
|
||||
@Override
|
||||
public HandlingSpecificationsDO getHandlingSpecifications(Long id) {
|
||||
return handlingSpecificationsMapper.selectById(id);
|
||||
return handlingSpecificationsMapper.getHandlingSpecifications(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -50,6 +50,7 @@ public class HikServiceImpl implements HikService {
|
||||
String result = ArtemisHttpUtil
|
||||
.doPostStringArtemis(path, JSONUtil.toJsonStr(body), null, null, "application/json");
|
||||
log.info("{}监控查看预览地址返回:{}", JSONUtil.toJsonStr(body), result);
|
||||
//监控查看预览地址返回:{"code":"0","msg":"success","data":{"url":"ws://172.16.52.253:559/openUrl/ZZYpOFO"}}
|
||||
if (StringUtils.isEmpty(result)) {
|
||||
// throw new ServiceException("监控查看预览地址返回为空");
|
||||
System.out.println("监控查看预览地址返回为空");
|
||||
@ -126,7 +127,7 @@ public class HikServiceImpl implements HikService {
|
||||
|
||||
@Override
|
||||
public String operateCamera(CameraOperateDTO dto) {
|
||||
final String operateUrlApi = ArtemisApiConstant.operateUrlApi;
|
||||
final String operateUrlApi = ArtemisApiConstant.operateUrlApi;//artemis/api/video/v1/ptzs/controlling
|
||||
Map<String, String> path = new HashMap<String, String>(1) {
|
||||
{
|
||||
put("https://", operateUrlApi);
|
||||
|
@ -12,11 +12,13 @@
|
||||
<select id="selectPageList"
|
||||
resultType="cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlinggroup.HandlingGroupDO">
|
||||
select
|
||||
a.*,
|
||||
b.short_name as factoryName
|
||||
a.*,
|
||||
b.short_name as factoryName
|
||||
from sf_handling_group a
|
||||
left join sf_factory_info as b on a.factory_id = b.id
|
||||
<where>
|
||||
a.deleted = 0
|
||||
and b.deleted = 0
|
||||
<if test="vo.factoryId != null">
|
||||
and a.factory_id = #{vo.factoryId}
|
||||
</if>
|
||||
@ -25,4 +27,119 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<resultMap id="handlingSummaryMap"
|
||||
type="cn.iocoder.yudao.module.smartfactory.controller.admin.handlinggroupamountspecifications.vo.HandlingGroupAmountSpecificationsVO">
|
||||
<!-- 基础字段映射 -->
|
||||
<id property="id" column="id"/>
|
||||
<result property="factoryId" column="factory_id"/>
|
||||
<result property="handlingGroupId" column="handling_group_id"/>
|
||||
<result property="handlingSpecificationsId" column="handling_specifications_id"/>
|
||||
<result property="staffId" column="staff_id"/>
|
||||
<result property="totalCount" column="total_count"/>
|
||||
<result property="dateStr" column="date_str"/>
|
||||
<result property="amount" column="amount"/>
|
||||
<result property="creator" column="creator"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updater" column="updater"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="deleted" column="deleted"/>
|
||||
|
||||
<!-- 关联字段 -->
|
||||
<result property="factoryName" column="factoryName"/>
|
||||
<result property="handlingGroupName" column="handlingGroupName"/>
|
||||
<result property="staffName" column="staffName"/>
|
||||
|
||||
<!-- 聚合字段 -->
|
||||
<result property="totalAmount" column="totalAmount"/>
|
||||
<result property="totalNum" column="totalNum"/>
|
||||
|
||||
<!-- 自定义对象列表 (JSON 映射) -->
|
||||
<result property="specificationDetails" column="specificationDetails"
|
||||
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"
|
||||
javaType="java.util.List"
|
||||
/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectPageListByDateStr"
|
||||
resultMap="handlingSummaryMap">
|
||||
SELECT
|
||||
a.*,
|
||||
b.short_name as factoryName,
|
||||
d.handling_group_name as handlingGroupName,
|
||||
c.nick_name as staffName,
|
||||
SUM( a.amount ) AS totalAmount,
|
||||
sum( a.total_count ) AS totalNum,
|
||||
JSON_ARRAYAGG(
|
||||
JSON_OBJECT(
|
||||
'handlingSpecificationsId', a.handling_specifications_id,
|
||||
'totalCount', a.total_count,
|
||||
'amount', a.amount,
|
||||
'handlingSpecificationsName', (
|
||||
SELECT hs.specifications_name
|
||||
FROM sf_handling_specifications as hs
|
||||
WHERE hs.id = a.handling_specifications_id
|
||||
)
|
||||
)
|
||||
) AS specificationDetails
|
||||
FROM
|
||||
sf_handling_group_amount_specifications AS a
|
||||
left join sf_factory_info as b on a.factory_id = b.id
|
||||
LEFT JOIN sf_staff AS c ON c.id = a.staff_id
|
||||
left join sf_handling_group as d on a.handling_group_id = d.id
|
||||
<where>
|
||||
a.deleted = 0
|
||||
and b.deleted = 0
|
||||
<if test="vo.factoryId != null">
|
||||
and a.factory_id = #{vo.factoryId}
|
||||
</if>
|
||||
<if test="vo.factoryIds != null and vo.factoryIds.size() > 0">
|
||||
and a.factory_id in
|
||||
<foreach collection="vo.factoryIds" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="vo.handlingSpecificationsId != null">
|
||||
AND a.handling_specifications_id = #{vo.handlingSpecificationsId}
|
||||
</if>
|
||||
<if test="vo.handlingGroupId != null">
|
||||
and a.handling_group_id = #{vo.handlingGroupId}
|
||||
</if>
|
||||
<if test="vo.createTime != null and vo.createTime.length > 0">
|
||||
<if test="vo.createTime[0] != null">
|
||||
and STR_TO_DATE( c.date_str, '%Y-%m-%d' ) >= #{vo.createTime[0]}
|
||||
</if>
|
||||
<if test="vo.createTime[1] != null">
|
||||
and STR_TO_DATE( a.date_str, '%Y-%m-%d' ) <= #{vo.createTime[1]}
|
||||
</if>
|
||||
</if>
|
||||
<if test="vo.staffName != null and vo.staffName != ''">
|
||||
and c.nick_name like concat('%', #{vo.staffName}, '%')
|
||||
</if>
|
||||
<if test="vo.porterName != null and vo.porterName != ''">
|
||||
AND EXISTS (
|
||||
select e.id from sf_handling_group_user_amount as e
|
||||
left join sf_staff as g on g.id = e.user_id
|
||||
where a.factory_id = e.factory_id
|
||||
and a.date_str = e.date_str
|
||||
and a.handling_group_id = e.handling_group_id
|
||||
and g.nick_name like concat('%', #{vo.porterName}, '%')
|
||||
and e.deleted = 0
|
||||
)
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY
|
||||
a.factory_id,
|
||||
a.date_str,
|
||||
a.handling_group_id
|
||||
</select>
|
||||
<select id="getHandlingGroup"
|
||||
resultType="cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlinggroup.HandlingGroupDO">
|
||||
SELECT a.*,
|
||||
b.short_name as factoryName
|
||||
FROM sf_handling_group AS a
|
||||
left join sf_factory_info as b on a.factory_id = b.id
|
||||
WHERE a.deleted = 0
|
||||
and a.id = #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -24,6 +24,7 @@
|
||||
<where>
|
||||
a.deleted = 0
|
||||
and b.deleted = 0
|
||||
and d.deleted = 0
|
||||
<if test="vo.handlingSpecificationsId != null">
|
||||
AND a.handling_specifications_id = #{vo.handlingSpecificationsId}
|
||||
</if>
|
||||
@ -44,11 +45,13 @@
|
||||
</if>
|
||||
<if test="vo.porterName != null and vo.porterName != ''">
|
||||
AND EXISTS (
|
||||
select e.id from sf_handling_group_user_amount as e
|
||||
left join sf_staff as g on g.id = e.user_id
|
||||
where a.id = e.handling_group_amount_specifications_id
|
||||
and g.nick_name like concat('%', #{vo.porterName}, '%')
|
||||
and e.deleted = 0
|
||||
select e.id from sf_handling_group_user_amount as e
|
||||
left join sf_staff as g on g.id = e.user_id
|
||||
where a.factory_id = e.factory_id
|
||||
and a.date_str = e.date_str
|
||||
and a.handling_group_id = e.handling_group_id
|
||||
and g.nick_name like concat('%', #{vo.porterName}, '%')
|
||||
and e.deleted = 0
|
||||
)
|
||||
</if>
|
||||
<if test="vo.createTime != null and vo.createTime.length > 0">
|
||||
@ -132,7 +135,9 @@
|
||||
LEFT JOIN sf_staff AS d ON d.id = c.user_id
|
||||
WHERE
|
||||
c.deleted = 0
|
||||
and a.id = c.handling_group_amount_specifications_id
|
||||
and a.factory_id = c.factory_id
|
||||
and a.date_str = c.date_str
|
||||
and a.handling_group_id = c.handling_group_id
|
||||
and d.nick_name like concat('%', #{dto.porterName}, '%')
|
||||
)
|
||||
</if>
|
||||
|
@ -24,9 +24,6 @@
|
||||
<if test="vo.handlingGroupId != null">
|
||||
AND a.handling_group_id = #{vo.handlingGroupId}
|
||||
</if>
|
||||
<if test="vo.handlingGroupAmountSpecificationsId != null">
|
||||
AND a.handling_group_amount_specifications_id= #{vo.handlingGroupAmountSpecificationsId}
|
||||
</if>
|
||||
<if test="vo.dateStr != null and vo.dateStr != ''">
|
||||
and a.dateStr like concat('%', #{vo.dateStr}, '%')
|
||||
</if>
|
||||
@ -57,9 +54,6 @@
|
||||
<if test="dto.factoryId != null">
|
||||
AND a.factory_id = #{dto.factoryId}
|
||||
</if>
|
||||
<if test="dto.handlingGroupAmountSpecificationsId != null">
|
||||
AND b.handling_group_amount_specifications_id = #{dto.handlingGroupAmountSpecificationsId}
|
||||
</if>
|
||||
<if test="dto.dateStr != null and dto.dateStr != ''">
|
||||
and b.date_str like concat('%', #{dto.dateStr}, '%')
|
||||
</if>
|
||||
@ -113,14 +107,14 @@
|
||||
<if test="vo.userId != null">
|
||||
AND a.user_id = #{vo.userId}
|
||||
</if>
|
||||
<if test="vo.factoryId != null">
|
||||
and a.factory_id = #{vo.factoryId}
|
||||
</if>
|
||||
<if test="vo.handlingGroupId != null">
|
||||
AND a.handling_group_id = #{vo.handlingGroupId}
|
||||
</if>
|
||||
<if test="vo.handlingGroupAmountSpecificationsId != null">
|
||||
AND a.handling_group_amount_specifications_id= #{vo.handlingGroupAmountSpecificationsId}
|
||||
</if>
|
||||
<if test="vo.dateStr != null and vo.dateStr != ''">
|
||||
and a.dateStr like concat('%', #{vo.dateStr}, '%')
|
||||
and a.date_str like concat('%', #{vo.dateStr}, '%')
|
||||
</if>
|
||||
<if test="vo.createTime != null and vo.createTime.length > 0">
|
||||
<if test="vo.createTime[0] != null">
|
||||
@ -132,23 +126,6 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="getByHandlingGroupAmountSpecificationsId"
|
||||
resultType="cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlinggroupuseramount.HandlingGroupUserAmountDO">
|
||||
select a.*,
|
||||
b.nick_name as userName
|
||||
FROM sf_handling_group_user_amount as a
|
||||
LEFT JOIN sf_staff as b on a.user_id = b.id
|
||||
<where>
|
||||
a.deleted = 0
|
||||
and b.deleted = 0
|
||||
<if test="handlingGroupAmountSpecificationsIds != null and handlingGroupAmountSpecificationsIds.size() > 0">
|
||||
and a.handling_group_amount_specifications_id in
|
||||
<foreach collection="handlingGroupAmountSpecificationsIds" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectAmountSum" resultType="cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlinggroupuseramount.HandlingGroupUserAmountDO">
|
||||
SELECT
|
||||
@ -198,4 +175,33 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="getByFactorIdAndDateStrAndHandlingGroupId"
|
||||
resultType="cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlinggroupuseramount.HandlingGroupUserAmountDO">
|
||||
select a.*,
|
||||
b.nick_name as userName
|
||||
FROM sf_handling_group_user_amount as a
|
||||
LEFT JOIN sf_staff as b on a.user_id = b.id
|
||||
<where>
|
||||
a.deleted = 0
|
||||
and b.deleted = 0
|
||||
<if test="factoryIds != null and factoryIds.size() > 0 ">
|
||||
and a.factory_id in
|
||||
<foreach collection="factoryIds" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="dateStrList != null and dateStrList.size() > 0 ">
|
||||
and a.date_str in
|
||||
<foreach collection="dateStrList" item="dateStr" open="(" separator="," close=")">
|
||||
#{dateStr}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="handlingGroupIds != null and handlingGroupIds.size() > 0 ">
|
||||
and a.handling_group_id in
|
||||
<foreach collection="handlingGroupIds" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -51,4 +51,18 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="getHandlingSpecifications"
|
||||
resultType="cn.iocoder.yudao.module.smartfactory.dal.dataobject.handlingspecifications.HandlingSpecificationsDO">
|
||||
select a.*,
|
||||
b.short_name as factoryName
|
||||
from sf_handling_specifications as a
|
||||
left join sf_factory_info as b on a.factory_id = b.id
|
||||
<where>
|
||||
a.deleted = 0
|
||||
and b.deleted = 0
|
||||
<if test="id != null">
|
||||
and a.id = #{id}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
Loading…
Reference in New Issue
Block a user