工作日志模块调整和智能工厂模块增强
- 在工作日志模块中,修改了日志实例控制器、映射器和VO类,以支持新的查询条件和日期格式。 - 在智能工厂模块中,添加了新的控制器方法和VO类,以支持获取各个工厂的出入库数据总数和指定工厂指定日期的出入库规格明细详情。- 对应更新了相关服务和数据访问对象,以支持新增的业务逻辑。 - 重构了一些代码,以提高代码质量和可维护性。
This commit is contained in:
parent
156d1f4244
commit
3256852a64
@ -118,7 +118,6 @@ public class LogInstanceController {
|
||||
return success(logInstance);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/getNextOrUp")
|
||||
@Operation(summary = "获取上一篇下一篇日志")
|
||||
public CommonResult<LogInstanceNextOrUpVO> getNextOrUp(@RequestBody LogInstancePageReqVO dto,
|
||||
|
@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@ -37,7 +37,7 @@ public class LogInstancePageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
private LocalDate[] createTime;
|
||||
|
||||
@Schema(description = "已读、未读 | 0:未读、1:已读", example = "0")
|
||||
private Integer readStatus;
|
||||
|
@ -29,7 +29,6 @@ import org.springframework.validation.annotation.Validated;
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@ -280,6 +279,9 @@ public class LogInstanceServiceImpl implements LogInstanceService {
|
||||
JSONObject workLogContentJson = new JSONObject(item.getFormVariables());
|
||||
for (String fieldItem : fields) {
|
||||
JSONObject fieldJson = new JSONObject(fieldItem);
|
||||
if ("upload".equals(fieldJson.getStr("type"))) {
|
||||
continue;
|
||||
}
|
||||
String fieldStr = fieldJson.getStr("field");
|
||||
String title = fieldJson.getStr("title");
|
||||
String field = workLogContentJson.getStr(fieldStr);
|
||||
|
@ -110,7 +110,7 @@
|
||||
<where>
|
||||
a.deleted = 0
|
||||
<if test="reqVO.type != null">
|
||||
and a.type = #{reqVO.type}
|
||||
and a.form_id = #{reqVO.formId}
|
||||
</if>
|
||||
<if test="reqVO.deptId != null">
|
||||
and a.dept_id = #{reqVO.deptId}
|
||||
@ -120,10 +120,10 @@
|
||||
</if>
|
||||
<if test="reqVO.createTime != null and reqVO.createTime.length > 0">
|
||||
<if test="reqVO.createTime[0] != null">
|
||||
and a.create_time >= #{reqVO.createTime[0]}
|
||||
and a.time >= #{reqVO.createTime[0]}
|
||||
</if>
|
||||
<if test="reqVO.createTime[1] != null">
|
||||
and a.create_time <= #{reqVO.createTime[1]}
|
||||
and a.time <= #{reqVO.createTime[1]}
|
||||
</if>
|
||||
</if>
|
||||
<if test="reqVO.readStatus != null">
|
||||
|
@ -9,7 +9,7 @@ import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.*;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeCreateReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeDetailRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.size.vo.SizeRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeTotalVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataSizeDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factoryinfo.FactoryInfoDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.size.SizeDO;
|
||||
@ -29,6 +29,9 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.time.DayOfWeek;
|
||||
import java.time.LocalDate;
|
||||
import java.time.temporal.TemporalAdjusters;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@ -110,6 +113,11 @@ public class FactoryDataController {
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:factory-data:query')")
|
||||
public CommonResult<FactoryDataTotalVO> getDataTotal(@Valid FactoryDataPageReqVO pageReqVO) {
|
||||
|
||||
if (pageReqVO.getDateType() != null) {
|
||||
// 设置日期
|
||||
setDate(pageReqVO);
|
||||
}
|
||||
|
||||
FactoryDataTotalVO dataTotalVO = dataService.getDataTotal(pageReqVO.getFactoryId(), pageReqVO.getDate());
|
||||
if (dataTotalVO == null) {
|
||||
dataTotalVO = new FactoryDataTotalVO();
|
||||
@ -121,10 +129,32 @@ public class FactoryDataController {
|
||||
return success(dataTotalVO);
|
||||
}
|
||||
|
||||
@GetMapping("/get-totalByFactory")
|
||||
@Operation(summary = "获得各个工厂出入库数据总数 | 入库总数、出库总数、破损总数")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:factory-data:query')")
|
||||
public CommonResult<List<FactoryDataTotalVO>> getDataTotalByFactory() {
|
||||
|
||||
return success(dataService.getDataTotalByFactory());
|
||||
}
|
||||
|
||||
@GetMapping("/getSizeTotalByFactory")
|
||||
@Operation(summary = "获得指定工厂指定日期内,出入库规格明细详情")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:factory-data:query')")
|
||||
public CommonResult<List<FactoryDataSizeTotalVO>> getSizeTotalByFactory(@Valid FactoryDataPageReqVO pageReqVO) {
|
||||
|
||||
if (pageReqVO.getDateType() != null) {
|
||||
// 设置日期
|
||||
setDate(pageReqVO);
|
||||
}
|
||||
|
||||
return success(factoryDataSizeService.getSizeTotalByFactory(pageReqVO.getFactoryId(), pageReqVO.getDate()));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得工厂出库入库数据分页")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:factory-data:query')")
|
||||
public CommonResult<PageResult<FactoryDataDetailRespVO>> getDataPage(@Valid FactoryDataPageReqVO pageReqVO) {
|
||||
|
||||
PageResult<FactoryDataDetailRespVO> pageResult = dataService.getDataPage(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
@ -190,4 +220,40 @@ public class FactoryDataController {
|
||||
.collect(Collectors.toList());
|
||||
return success(dataService.importUserList(list, type));
|
||||
}
|
||||
|
||||
public void setDate(FactoryDataPageReqVO pageReqVO) {
|
||||
|
||||
LocalDate today = LocalDate.now();
|
||||
|
||||
// dateType = 1 为昨日数据
|
||||
if (pageReqVO.getDateType() == 1) {
|
||||
|
||||
// 设置日期
|
||||
pageReqVO.setDate(new LocalDate[]{today.minusDays(1), today.minusDays(1)});
|
||||
}
|
||||
// dateType = 2 为本周数据
|
||||
if (pageReqVO.getDateType() == 2) {
|
||||
|
||||
// 获取本周的周一
|
||||
LocalDate startOfWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
|
||||
|
||||
// 获取本周的周日
|
||||
LocalDate endOfWeek = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
|
||||
|
||||
// 设置日期
|
||||
pageReqVO.setDate(new LocalDate[]{startOfWeek, endOfWeek});
|
||||
}
|
||||
// dateType = 3 为本月数据
|
||||
if (pageReqVO.getDateType() == 3) {
|
||||
|
||||
// 获取本月的第一天
|
||||
LocalDate startOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());
|
||||
|
||||
// 获取本月的最后一天
|
||||
LocalDate endOfMonth = today.with(TemporalAdjusters.lastDayOfMonth());
|
||||
|
||||
// 设置日期
|
||||
pageReqVO.setDate(new LocalDate[]{startOfMonth, endOfMonth});
|
||||
}
|
||||
}
|
||||
}
|
@ -30,6 +30,9 @@ public class FactoryDataPageReqVO extends PageParam {
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
|
||||
private LocalDate[] date;
|
||||
|
||||
@Schema(description = "时间类型 | 1日 2周 3月", example = "1")
|
||||
private Integer dateType;
|
||||
|
||||
@Schema(description = "总箱数")
|
||||
private Integer totalNum;
|
||||
|
||||
|
@ -7,6 +7,12 @@ import lombok.Data;
|
||||
@Data
|
||||
public class FactoryDataTotalVO {
|
||||
|
||||
@Schema(description = "工厂id")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "工厂名称")
|
||||
private String factoryName;
|
||||
|
||||
@Schema(description = "入库总数")
|
||||
private Integer inTotal;
|
||||
|
||||
|
@ -0,0 +1,24 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 工厂出库入库数据 总览 Request VO")
|
||||
@Data
|
||||
public class FactoryDataSizeTotalVO {
|
||||
|
||||
@Schema(description = "工厂id")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "规格名称")
|
||||
private String sizeName;
|
||||
|
||||
@Schema(description = "入库总数")
|
||||
private Integer inTotal;
|
||||
|
||||
@Schema(description = "出库总数")
|
||||
private Integer outTotal;
|
||||
|
||||
@Schema(description = "破损总数")
|
||||
private Integer damageNum;
|
||||
}
|
@ -1,14 +1,11 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.dal.mysql.factorydata;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
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.factorydata.vo.FactoryDataInfoRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.FactoryDataPageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.FactoryDataTotalVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataSizeDO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@ -43,5 +40,5 @@ public interface FactoryDataMapper extends BaseMapperX<FactoryDataDO> {
|
||||
|
||||
FactoryDataTotalVO selectDataSum(@Param("factoryId") Long factoryId, @Param("date") LocalDate[] date);
|
||||
|
||||
|
||||
List<FactoryDataTotalVO> selectDataSumByFactory();
|
||||
}
|
@ -1,10 +1,9 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.dal.mysql.factorydata;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
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.factorydata.vo.FactoryDataInfoRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeTotalVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataSizeDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@ -54,4 +53,7 @@ public interface FactoryDataSizeMapper extends BaseMapperX<FactoryDataSizeDO> {
|
||||
|
||||
List<FactoryDataSizeDO> selectLastSize(@Param("factoryId") Long factoryId,
|
||||
@Param("types") List<Integer> types);
|
||||
|
||||
List<FactoryDataSizeTotalVO> selectSizeDataSumByFactory(@Param("factoryId") Long factoryId,
|
||||
@Param("date") LocalDate[] date);
|
||||
}
|
||||
|
@ -5,7 +5,6 @@ import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.*;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeCreateReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeDetailRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataSizeDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.time.LocalDate;
|
||||
@ -65,7 +64,11 @@ public interface FactoryDataService {
|
||||
*/
|
||||
FactoryDataTotalVO getDataTotal(Long factoryId, LocalDate[] date);
|
||||
|
||||
|
||||
/**
|
||||
* 获得各个工厂出入库数据总数
|
||||
* @return 总数列表
|
||||
*/
|
||||
List<FactoryDataTotalVO> getDataTotalByFactory();
|
||||
|
||||
/**
|
||||
* 获取当天的所有数据
|
||||
|
@ -11,18 +11,13 @@ import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.*;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeCreateReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeDetailRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeSaveReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.packagedata.vo.PackageDataCreateReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.convert.packageData.PackageDataConvert;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataSizeDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factoryinfo.FactoryInfoDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.packagedata.PackageDataDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.mysql.factorydata.FactoryDataMapper;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.mysql.factorydata.FactoryDataSizeMapper;
|
||||
import cn.iocoder.yudao.module.smartfactory.framework.util.StringUtil;
|
||||
import cn.iocoder.yudao.module.smartfactory.service.factoryinfo.FactoryInfoService;
|
||||
import cn.iocoder.yudao.module.smartfactory.service.packageInfo.PackageService;
|
||||
import cn.iocoder.yudao.module.smartfactory.service.packagedata.PackageDataService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -228,6 +223,12 @@ public class FactoryDataServiceImpl implements FactoryDataService {
|
||||
return dataMapper.selectDataSum(factoryId, date) == null ? new FactoryDataTotalVO() : dataMapper.selectDataSum(factoryId, date);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FactoryDataTotalVO> getDataTotalByFactory() {
|
||||
|
||||
return dataMapper.selectDataSumByFactory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FactoryDataDO> getTodayInboundAndOutboundOverview(Date time) {
|
||||
String timeStr = null;
|
||||
|
@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.smartfactory.service.factorydata;
|
||||
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.FactoryDataInfoRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeCreateReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeTotalVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataSizeDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
@ -59,4 +60,12 @@ public interface FactoryDataSizeService {
|
||||
* @return 规格详情列表
|
||||
*/
|
||||
List<FactoryDataSizeDO> getLastSize(Long factoryId, List<Integer> dataTypes);
|
||||
|
||||
/**
|
||||
* 获得指定工厂指定日期内,出入库规格明细详情
|
||||
* @param factoryId 工厂编号
|
||||
* @param date 日期
|
||||
* @return 出入库规格明细详情
|
||||
*/
|
||||
List<FactoryDataSizeTotalVO> getSizeTotalByFactory(Long factoryId, LocalDate[] date);
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.FactoryDataInfoRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeCreateReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeSaveReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeTotalVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorydata.FactoryDataSizeDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.mysql.factorydata.FactoryDataSizeMapper;
|
||||
@ -312,4 +313,10 @@ public class FactoryDataSizeServiceImpl implements FactoryDataSizeService{
|
||||
|
||||
return factoryDataSizeMapper.selectLastSize(factoryId, dataTypes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FactoryDataSizeTotalVO> getSizeTotalByFactory(Long factoryId, LocalDate[] date) {
|
||||
|
||||
return factoryDataSizeMapper.selectSizeDataSumByFactory(factoryId, date);
|
||||
}
|
||||
}
|
||||
|
@ -11,43 +11,43 @@
|
||||
|
||||
<select id="selectDetailPage" resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.FactoryDataInfoRespVO">
|
||||
SELECT
|
||||
c.factory_id AS factoryId,
|
||||
c.date AS date,
|
||||
c.size_id AS sizeId,
|
||||
c.size_name AS sizeName,
|
||||
MAX(CASE WHEN c.type = 4 THEN c.id END) AS inNumId,
|
||||
MAX(CASE WHEN c.type = 4 THEN c.num END) AS inNum,
|
||||
MAX(CASE WHEN c.type = 4 THEN c.square_num END) AS squareNum,
|
||||
MAX(CASE WHEN c.type = 1 THEN c.id END) AS inDamageNumId,
|
||||
MAX(CASE WHEN c.type = 1 THEN c.num END) AS inDamageNum,
|
||||
MAX(CASE WHEN c.type = 2 THEN c.id END) AS outNumId,
|
||||
MAX(CASE WHEN c.type = 2 THEN c.num END) AS outNum,
|
||||
MAX(CASE WHEN c.type = 3 THEN c.id END) AS outDamageNumId,
|
||||
MAX(CASE WHEN c.type = 3 THEN c.num END) AS outDamageNum,
|
||||
MAX(c.create_time) AS createTime
|
||||
c.factory_id AS factoryId,
|
||||
c.date AS date,
|
||||
c.size_id AS sizeId,
|
||||
c.size_name AS sizeName,
|
||||
MAX(CASE WHEN c.type = 4 THEN c.id END) AS inNumId,
|
||||
MAX(CASE WHEN c.type = 4 THEN c.num END) AS inNum,
|
||||
MAX(CASE WHEN c.type = 4 THEN c.square_num END) AS squareNum,
|
||||
MAX(CASE WHEN c.type = 1 THEN c.id END) AS inDamageNumId,
|
||||
MAX(CASE WHEN c.type = 1 THEN c.num END) AS inDamageNum,
|
||||
MAX(CASE WHEN c.type = 2 THEN c.id END) AS outNumId,
|
||||
MAX(CASE WHEN c.type = 2 THEN c.num END) AS outNum,
|
||||
MAX(CASE WHEN c.type = 3 THEN c.id END) AS outDamageNumId,
|
||||
MAX(CASE WHEN c.type = 3 THEN c.num END) AS outDamageNum,
|
||||
MAX(c.create_time) AS createTime
|
||||
FROM
|
||||
sf_factory_data_size AS c
|
||||
sf_factory_data_size AS c
|
||||
WHERE
|
||||
c.deleted = 0
|
||||
<if test="reqVO.factoryId != null">
|
||||
AND c.factory_id = #{reqVO.factoryId}
|
||||
</if>
|
||||
<if test="reqVO.date != null and reqVO.date.length > 0">
|
||||
<if test="reqVO.date[0] != null">
|
||||
AND c.date >= #{reqVO.date[0]}
|
||||
c.deleted = 0
|
||||
<if test="reqVO.factoryId != null">
|
||||
AND c.factory_id = #{reqVO.factoryId}
|
||||
</if>
|
||||
<if test="reqVO.date[1] != null">
|
||||
<if test="reqVO.date != null and reqVO.date.length > 0">
|
||||
<if test="reqVO.date[0] != null">
|
||||
AND c.date >= #{reqVO.date[0]}
|
||||
</if>
|
||||
<if test="reqVO.date[1] != null">
|
||||
AND c.date <= #{reqVO.date[1]}
|
||||
</if>
|
||||
</if>
|
||||
</if>
|
||||
<if test="reqVO.createTime != null and reqVO.createTime.length > 0">
|
||||
<if test="reqVO.createTime[0] != null">
|
||||
AND c.create_time >= #{reqVO.createTime[0]}
|
||||
<if test="reqVO.createTime != null and reqVO.createTime.length > 0">
|
||||
<if test="reqVO.createTime[0] != null">
|
||||
AND c.create_time >= #{reqVO.createTime[0]}
|
||||
</if>
|
||||
<if test="reqVO.createTime[1] != null">
|
||||
AND c.create_time <= #{reqVO.createTime[1]}
|
||||
</if>
|
||||
</if>
|
||||
<if test="reqVO.createTime[1] != null">
|
||||
AND c.create_time <= #{reqVO.createTime[1]}
|
||||
</if>
|
||||
</if>
|
||||
GROUP BY
|
||||
c.factory_id,
|
||||
c.date,
|
||||
@ -70,13 +70,30 @@
|
||||
<if test="factoryId != null">
|
||||
AND factory_id = #{factoryId}
|
||||
</if>
|
||||
<if test="date != null and date.length > 0">
|
||||
<if test="date[0] != null">
|
||||
AND date >= #{date[0]}
|
||||
<if test="date != null and date.length > 0">
|
||||
<if test="date[0] != null">
|
||||
AND date >= #{date[0]}
|
||||
</if>
|
||||
<if test="date[1] != null">
|
||||
AND date <= #{date[1]}
|
||||
</if>
|
||||
</if>
|
||||
<if test="date[1] != null">
|
||||
AND date <= #{date[1]}
|
||||
</if>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectDataSumByFactory" resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.FactoryDataTotalVO">
|
||||
SELECT
|
||||
a.factory_id AS factoryId,
|
||||
b.short_name AS factoryName,
|
||||
SUM( CASE WHEN a.data_type = 2 THEN IFNULL( a.total_num, 0 ) END ) AS inTotal,
|
||||
SUM( CASE WHEN a.data_type = 1 THEN IFNULL( a.total_num, 0 ) END ) AS outTotal,
|
||||
SUM( CASE WHEN a.data_type = 1 OR a.data_type = 2 THEN IFNULL( a.damage_num, 0 ) END ) AS damageNum
|
||||
FROM
|
||||
sf_factory_data a,
|
||||
sf_factory_info b
|
||||
WHERE
|
||||
a.deleted = 0
|
||||
AND a.factory_id = b.id
|
||||
GROUP BY
|
||||
a.factory_id
|
||||
</select>
|
||||
</mapper>
|
@ -92,4 +92,35 @@
|
||||
#{types}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectSizeDataSumByFactory" resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.sizeData.FactoryDataSizeTotalVO">
|
||||
SELECT
|
||||
factory_id AS factoryId,
|
||||
size_name AS sizeName,
|
||||
SUM( CASE WHEN type = 4 THEN num END ) AS inTotal,
|
||||
SUM( CASE WHEN type = 2 THEN num END ) AS outTotal,
|
||||
IFNULL( SUM( CASE WHEN type = 1 THEN num END ), 0 ) + IFNULL( SUM( CASE WHEN type = 3 THEN num END ), 0 ) AS damageNum
|
||||
FROM
|
||||
sf_factory_data_size
|
||||
WHERE
|
||||
deleted = 0
|
||||
<if test="factoryId != null">
|
||||
AND factory_id = #{factoryId}
|
||||
</if>
|
||||
<if test="date != null and date.length > 0">
|
||||
<if test="date[0] != null">
|
||||
AND date >= #{date[0]}
|
||||
</if>
|
||||
<if test="date[1] != null">
|
||||
AND date <= #{date[1]}
|
||||
</if>
|
||||
</if>
|
||||
GROUP BY
|
||||
factory_id,
|
||||
size_name
|
||||
ORDER BY
|
||||
factory_id,
|
||||
size_name
|
||||
</select>
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user