Commit 340682d4 by 李小惠

编写大屏接口

parent 294f3a75
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
package com.junmp.jyzb.api.bean.dto.LargeScreenDto;
import lombok.Data;
import java.util.List;
@Data
public class AreaDto {
private String findCode;
private Integer isMap;
private String orgCode;
private String orgName;
private Integer zsCount;
private List<ChildDto> children;
public static class ChildDto{
private String id;
private String name;
private Integer zsCount;
}
}
package com.junmp.jyzb.api.bean.dto.LargeScreenDto;
import lombok.Data;
import java.util.List;
@Data
public class AreaTypeDto {
private List<AreaDto> data;
private List<String> pList;
}
package com.junmp.jyzb.api.bean.dto.LargeScreenDto;
import lombok.Data;
@Data
public class GroupByCountDto {
private String name;
private Integer value;
}
package com.junmp.jyzb.api.bean.dto.LargeScreenDto;
import lombok.Data;
@Data
public class Top5Dto {
private Integer id;
private Integer itemNum;
private String workUnit;
}
......@@ -29,4 +29,8 @@ public class TjOrgCountReq extends BaseRequest {
private String startTime;
private String endTime;
//本级0,本级及下级1
private int levelType;
private String findCode;
}
\ No newline at end of file
......@@ -122,7 +122,7 @@ public class InventorySummaryReq {
/**
* 临近报废数量
*/
private Integer nearBrokenNumber;
private Integer fixNumber;
private Integer useCount;
......
package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.dto.InventorySumDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.AreaTypeDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.GroupByCountDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.Top5Dto;
import com.junmp.jyzb.api.bean.dto.TjDto.*;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgCountReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgEqsReq;
......@@ -227,4 +230,38 @@ public class TjController {
// public ApiRes<List<TjOrgEqsDto>> test(@RequestBody InventoryReq req){
// return ApiRes.success(tjService.test(req));
// }
//----------------------------- 大屏数据接口-----------------------------
//1。装备近30天使用次数top5
@PostMapping("/GetTop5")
@ApiOperation("装备近30天使用次数top5")
public ApiRes<List<Top5Dto>> GetTop5(@RequestBody TjOrgCountReq req){
return ApiRes.success(tjService.GetTop5(req));
}
//2.九大类装备统计
@PostMapping("/GetGroupByCount")
@ApiOperation("九大类装备统计")
public ApiRes<List<GroupByCountDto>> GetGroupByCount(@RequestBody TjOrgCountReq req){
return ApiRes.success(tjService.GetGroupByCount(req));
}
//3.装备状态统计
@PostMapping("/GetCount")
@ApiOperation("装备状态统计")
public ApiRes<List<TjOutAndInDto>> GetCount(@RequestBody TjOrgCountReq req){
return ApiRes.success(tjService.GetCount(req));
}
//4.近30天维修,使用,报废次数
//5.区域装备
@PostMapping("/GetAreaType")
@ApiOperation("区域装备")
public ApiRes<AreaTypeDto> GetAreaType(@RequestBody TjOrgCountReq req){
return ApiRes.success(tjService.GetAreaType(req));
}
}
......@@ -166,11 +166,11 @@ public class InventorySummary implements Serializable {
@TableField(exist = false)
private BigDecimal brokenNumberPrice;
/**
* 临近报废数量
* 维修中数量
*/
@ApiModelProperty(value = "临近报废数量")
@TableField("near_broken_number")
private Integer nearBrokenNumber;
@ApiModelProperty(value = "维修中数量")
@TableField("fix_number")
private Integer fixNumber;
@TableField("use_count")
private Integer useCount;
......
package com.junmp.jyzb.mapper;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.AreaDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.GroupByCountDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.Top5Dto;
import com.junmp.jyzb.api.bean.dto.TjDto.FinalTjOrgCountDto;
import com.junmp.jyzb.api.bean.dto.TjDto.TjOrgCountDto;
import com.junmp.jyzb.api.bean.dto.TjDto.TjOutAndInDto;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgCountReq;
import com.junmp.jyzb.entity.EquipmentCountSummary;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
......@@ -90,6 +94,15 @@ public interface EquipmentCountSummaryMapper extends BaseMapper<EquipmentCountSu
void setTypeName(@Param("typeId") String id,@Param("typeName") String name);
List<Top5Dto> GetTop5(@Param("req") TjOrgCountReq req,@Param("length")Integer length);
List<GroupByCountDto> GetGroupByCount(@Param("req") TjOrgCountReq req,@Param("length")Integer length);
List<TjOutAndInDto> GetCount(@Param("req") TjOrgCountReq req,@Param("length")Integer length);
List<String> getTypeParentName();
List<AreaDto> GetAreaType(@Param("req")TjOrgCountReq req);
}
......
package com.junmp.jyzb.service;
import com.junmp.jyzb.api.bean.dto.InventorySumDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.AreaTypeDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.GroupByCountDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.Top5Dto;
import com.junmp.jyzb.api.bean.dto.TjDto.*;
import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgCountReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgEqsReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPoliceReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
......@@ -19,6 +23,7 @@ public interface TjService {
//装备统计报表
PageResult<TjOrgEqsDto> GetTjData(TjOrgEqsReq req);
List<TjOrgEqsDto> GetTjDataList(TjOrgEqsReq req);
List<InventorySumDto> TjOrgEqsDetailList(TjOrgEqsReq req);
//财务统计报表
......@@ -70,4 +75,11 @@ public interface TjService {
void TjOrgPoliceExport(TjOrgPoliceReq req);
List<Top5Dto> GetTop5(TjOrgCountReq req);
List<GroupByCountDto> GetGroupByCount(TjOrgCountReq req);
List<TjOutAndInDto> GetCount(TjOrgCountReq req);
AreaTypeDto GetAreaType(TjOrgCountReq req);
}
......@@ -471,7 +471,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
inventorySummary.setBrokenNumber(0);
inventorySummary.setExpireNumber(0);
inventorySummary.setDestructionNumber(0);
inventorySummary.setNearBrokenNumber(0);
inventorySummary.setFixNumber(0);
inventorySummary.setProperty(0);
inventorySummaryService.save(inventorySummary);
inventorySummaryService.updateBatchById(inventorySummaryList);
......
......@@ -674,7 +674,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
inventorySummary.setBrokenNumber(0);
inventorySummary.setExpireNumber(0);
inventorySummary.setDestructionNumber(0);
inventorySummary.setNearBrokenNumber(0);
inventorySummary.setFixNumber(0);
inventorySummary.setCreateTime(DateTimeUtil.getCurrentDateTime());
if (outInState.equals("in")){
inventorySummary.setOutboundNumber(0);
......
......@@ -1610,7 +1610,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
inventorySummary.setBrokenNumber(0);
inventorySummary.setExpireNumber(0);
inventorySummary.setDestructionNumber(0);
inventorySummary.setNearBrokenNumber(0);
inventorySummary.setFixNumber(0);
inventorySummary.setNumber(upReq.getModifyQuantity());
inventorySummary.setCreateTime(DateTimeUtil.getCurrentDateTime());
inventorySummary.setProperty(upReq.getProperty());
......@@ -1989,7 +1989,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
oldSum.setOutboundNumber(0);
oldSum.setUseNumber(0);
oldSum.setExpireNumber(0);
oldSum.setNearBrokenNumber(0);
oldSum.setFixNumber(0);
}
break;//查询到直接跳过该循环进入下一循环
}
......@@ -2023,7 +2023,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
oldSum.setPrice(oldSum.getPrice().multiply(new BigDecimal(oldSum.getNumber())));
oldSum.setStockNumber(Math.max(oldSum.getNumber()-json.getModifyQuantity(),0));
oldSum.setOutboundNumber(0);
oldSum.setNearBrokenNumber(0);
oldSum.setFixNumber(0);
oldSum.setExpireNumber(0);
oldSum.setUseNumber(0);
......@@ -2054,7 +2054,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
newsum.setPrice(newsum.getPrice().multiply(BigDecimal.valueOf(newsum.getStockNumber())));
newsum.setOutboundNumber(save.getOutboundNumber()+newsum.getOutboundNumber());
newsum.setExpireNumber(save.getExpireNumber()+newsum.getExpireNumber());
newsum.setNearBrokenNumber(save.getNearBrokenNumber()+newsum.getNearBrokenNumber());
newsum.setFixNumber(save.getFixNumber()+newsum.getFixNumber());
newsum.setUseNumber(save.getUseNumber()+newsum.getUseNumber());
//remove表示该仓库下面存在数量,数量加减完之后直接在新增的list中进行移出x
saveList.remove(save);
......
......@@ -2,10 +2,15 @@ package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.junmp.jyzb.api.bean.dto.EqsSumDto;
import com.junmp.jyzb.api.bean.dto.InventorySumDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.AreaDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.AreaTypeDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.GroupByCountDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.Top5Dto;
import com.junmp.jyzb.api.bean.dto.TjDto.*;
import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgCountReq;
......@@ -122,7 +127,7 @@ public class TjServiceImpl implements TjService {
allData.add(OrgData);//把下级数据加进去
}
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
if (req.getRemoveEmpty())
if (ObjectUtil.isNull(req.getRemoveEmpty())|| req.getRemoveEmpty())
{
allData.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getTotalNumber() == 0);
}
......@@ -153,6 +158,68 @@ public class TjServiceImpl implements TjService {
}
@Override
public List<TjOrgEqsDto> GetTjDataList(TjOrgEqsReq req) {
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
//先拿到符合条件的组织机构,再遍历组织机构组成数据
//(下一层数据组织机构数据)
List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
List<TjOrgEqsDto> allData=new ArrayList<>();
List<CompletableFuture<TjOrgEqsDto>> futures = orgList.stream()
.map(orgId -> CompletableFuture.supplyAsync(() -> {
return inventorySummaryMapper.GetInvSum(
orgId,
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString());
}))
.collect(Collectors.toList());
CompletableFuture<Void> allOf = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
allOf.join(); // 等待所有 CompletableFuture 完成
allData = futures.stream()
.map(CompletableFuture::join)
.collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L)
{
TjOrgEqsDto OrgDataSelf=inventorySummaryMapper.GetInvSelfSum(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString());
OrgDataSelf.setLevel(0);
OrgDataSelf.setOrgName(OrgDataSelf.getOrgName()+"本级");
OrgDataSelf.setDName(OrgDataSelf.getDName()+"本级");
TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag());
OrgData.setLevel(1);
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级");
allData.add(OrgDataSelf);//把本级数据加进去
allData.add(OrgData);//把下级数据加进去
}
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
if (ObjectUtil.isNull(req.getRemoveEmpty())|| req.getRemoveEmpty())
{
allData.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getTotalNumber() == 0);
}
req.setColumn(StringUtils.isNotBlank(req.getColumn())? req.getColumn() : "createTime");
req.setOrder(StringUtils.isNotBlank(req.getOrder())? req.getOrder() : "desc");
//将组织机构进行排序后再进行返回
if ((req.getColumn().equals("createTime") && req.getOrder().equals("desc")) ||
(req.getColumn().equals("createTime") && req.getOrder().equals("asc"))){
Comparator<TjOrgEqsDto> orgComparator = createOrgComparator();
Collections.sort(allData, orgComparator);
}else {
Comparator<Object> columnOrderComparator = createColumnOrderComparator(req.getColumn(), req.getOrder());
Collections.sort(allData, columnOrderComparator);
}
return allData;
}
@Override
public FinalTjOrgEqsDto TjOrgDataSum(TjOrgEqsReq req) {
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
FinalTjOrgEqsDto finalTjOrgEqsDto = new FinalTjOrgEqsDto();
......@@ -957,7 +1024,37 @@ public class TjServiceImpl implements TjService {
}
@Override
public List<Top5Dto> GetTop5(TjOrgCountReq req) {
int length = req.getFindCode().length();
return equipmentCountSummaryMapper.GetTop5(req,length);
}
@Override
public List<GroupByCountDto> GetGroupByCount(TjOrgCountReq req) {
int length = req.getFindCode().length();
return equipmentCountSummaryMapper.GetGroupByCount(req,length);
}
@Override
public List<TjOutAndInDto> GetCount(TjOrgCountReq req) {
int length = req.getFindCode().length();
return equipmentCountSummaryMapper.GetCount(req,length);
}
@Override
public AreaTypeDto GetAreaType(TjOrgCountReq req) {
PubOrg pubOrg = pubOrgService.list(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getFindCode, req.getFindCode())
.orderByAsc(PubOrg::getLevelFlag)).get(0);
//将九大类查询出来并且存入返回对象中去
List<String> typeNames = equipmentCountSummaryMapper.getTypeParentName();
AreaTypeDto areaTypeDto = new AreaTypeDto();
TjOrgEqsReq tjOrgEqsReq = new TjOrgEqsReq();
tjOrgEqsReq.setOrgId(pubOrg.getOrgId());
List<TjOrgEqsDto> eqsDtoList = GetTjDataList(tjOrgEqsReq);
return areaTypeDto;
}
//-------------------------------------------人员统计报表----------------------------------------------------------
......
......@@ -452,6 +452,51 @@
) AS t GROUP BY t.org_id_int
)as t2 where t1.org_id=t2.org_id_int
</select>
<select id="GetTop5" resultType="com.junmp.jyzb.api.bean.dto.LargeScreenDto.Top5Dto">
SELECT
sum( use_count ) AS item_num,
type_name AS work_unit
FROM
`vie_equipment_count_summary`
WHERE
SUBSTRING( org_code, 1, #{length} ) = #{req.findCode} and year=YEAR(NOW()) and month=MONTH(NOW())
<if test="req.levelType == 0">
and org_id_int =(select org_id FROM pub_org where find_code=#{req.findCode} ORDER BY level_flag asc limit 0,1 )
</if>
GROUP BY
type_name
ORDER BY item_num desc
limit 0,5
</select>
<select id="GetGroupByCount" resultType="com.junmp.jyzb.api.bean.dto.LargeScreenDto.GroupByCountDto">
select t.`value`,base_equipment_type.name as `name` FROM(
select sum(bis.number) as value,SUBSTRING_INDEX(et.parent_ids, ",", 1) AS type_parent_id FROM (
select number,type_id FROM base_inventory_summary bis where SUBSTRING( org_code, 1, #{length} ) = #{req.findCode}
<if test="req.levelType == 0">
and org_id_int =(select org_id FROM pub_org where find_code=#{req.findCode} ORDER BY level_flag asc limit 0,1 )
</if>
) as bis
join base_equipment_type et on et.id= bis.type_id GROUP BY type_parent_id
) as t
join base_equipment_type on base_equipment_type.id= t.type_parent_id
</select>
<select id="GetCount" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOutAndInDto">
select sum(number) as number,sum(price)as price,sum(stock_number)as stockNumber,
sum(outbound_number)as outboundNumber,sum(destruction_number)as destructionNumber,
sum(expire_number)as expireNumber,sum(broken_number)as brokenNumber,
sum(fix_number)as fixNumber,sum(use_number)as useNumber
FROM base_inventory_summary where SUBSTRING( org_code, 1, #{length} ) = #{req.findCode}
<if test="req.levelType == 0">
and org_id_int =(select org_id FROM pub_org where find_code=#{req.findCode} ORDER BY level_flag asc limit 0,1 )
</if>
</select>
<select id="getTypeParentName" resultType="java.lang.String">
select name FROM base_equipment_type where parent_id="00000000-0000-0000-0000-000000000000"
and id !="00000000-0000-0000-0000-000000000000"
</select>
<select id="GetAreaType" resultType="com.junmp.jyzb.api.bean.dto.LargeScreenDto.AreaDto">
</select>
</mapper>
......@@ -75,12 +75,12 @@
<insert id="SetCabinetInventory">
INSERT INTO base_inventory_summary_type2 (id,org_id_int,org_name, org_code,type_id,type_name,size_id,size_name,location_id,location_name,
number,unit_price,price,stock_number, outbound_number,destruction_number,expire_number,
broken_number,use_number,near_broken_number,location_type,create_time,update_time)
broken_number,use_number,fix_number,location_type,create_time,update_time)
select
MAX(t.id) as id,t.orgId,t.orgName,t.orgCode,t.type_id,t.typeName,t.size_id,t.sizeName,t.locationId,t.locationName,sum(t.number) as number,
t.unitPrice,sum(t.price)as price,sum(t.stockNumber)as stockNumber,sum(t.outboundNumber)as outboundNumber,
sum(t.destructionNumber)as destructionNumber,sum(t.expireNumber)as expireNumber,sum(t.brokenNumber)as brokenNumber,
sum(t.useNumber)as useNumber,sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW()
sum(t.useNumber)as useNumber,sum(t.fixNumber)as fixNumber,t.location_type,NOW(),NOW()
FROM
(SELECT
UUID() as id,
......@@ -104,7 +104,7 @@
sum(case when bi.bussiness_state = 'borrow' and bi.location_state='out' then 1
when bi.bussiness_state = 'take' and bi.location_state='out' then 1 else 0 end)as useNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW()
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as nearBrokenNumber,
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as fixNumber,
bi.location_type
FROM base_inventory bi
join base_cabinet_box bcb on bi.location_id = bcb.id
......@@ -126,7 +126,7 @@
MAX(t.id) as id,t.orgId,t.orgName,t.orgCode,t.locationId,MAX(t.locationName),t.type_id,t.typeName,t.size_id,t.sizeName,sum(t.number) as number,
t.unitPrice,sum(t.price)as price,sum(t.stockNumber)as stockNumber,sum(t.outboundNumber)as outboundNumber,
sum(t.destructionNumber)as destructionNumber,sum(t.destructionNumber) as expireNumber,sum(t.brokenNumber)as brokenNumber,sum(t.useNumber)as useNumber,
sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW()
sum(t.fixNumber)as fixNumber,t.location_type,NOW(),NOW()
FROM
(SELECT
UUID() as id,
......@@ -150,7 +150,7 @@
sum(case when bi.bussiness_state = 'borrow' and bi.location_state='out' then 1
when bi.bussiness_state = 'take' and bi.location_state='out' then 1 else 0 end)as useNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW()
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as nearBrokenNumber,
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as fixNumber,
bi.location_type
FROM base_inventory bi
join base_warehouse bw on bi.location_id = bw.id
......@@ -165,12 +165,12 @@
<insert id="insertInventorySummary">
INSERT INTO base_inventory_summary (org_id_int,org_name,location_id,location_name,type_id, type_name,size_id,
size_name,number,unit_price,price, stock_number, outbound_number,destruction_number,
expire_number,location_type,use_number,near_broken_number,create_time,update_time)
expire_number,location_type,use_number,fix_number,create_time,update_time)
select
t.orgId,t.orgName,t.locationId,MAX(t.locationName),t.type_id,t.typeName,t.size_id,t.sizeName,
sum(t.number) as number,t.unitPrice,sum(t.price)as price,sum(t.stockNumber)as stockNumber,sum(t.outboundNumber)as outboundNumber,
sum(t.destructionNumber)as destructionNumber,sum(t.destructionNumber) as expireNumber,t.location_type,sum(t.useNumber)as useNumber,
sum(t.nearBrokenNumber)as nearBrokenNumber,NOW(),NOW()
sum(t.fixNumber)as fixNumber,NOW(),NOW()
FROM
(SELECT
bi.org_id_int as orgId,
......@@ -192,7 +192,7 @@
sum(case when bi.bussiness_state = 'borrow' and bi.location_state='out' then 1
when bi.bussiness_state = 'take' and bi.location_state='out' then 1 else 0 end)as useNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW()
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as nearBrokenNumber,
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as fixNumber,
bi.location_type
FROM base_inventory bi
join base_warehouse bw on bi.location_id = bw.id
......
......@@ -106,12 +106,12 @@
<insert id="getSumByCabinet">
INSERT INTO base_inventory_summary (id,org_id_int,org_name,type_id, type_name,size_id,size_name,location_id,location_name,
number,unit_price,price,stock_number, outbound_number,destruction_number,expire_number,
broken_number,use_number,near_broken_number,location_type,create_time,update_time)
broken_number,use_number,fix_number,location_type,create_time,update_time)
select
MAX(t.id) as id,t.orgId,t.orgName,t.type_id,t.typeName,t.size_id,t.sizeName,t.locationId,t.locationName,sum(t.number) as number,
t.unitPrice,sum(t.price)as price,sum(t.stockNumber)as stockNumber,sum(t.outboundNumber)as outboundNumber,
sum(t.destructionNumber)as destructionNumber,sum(t.expireNumber)as expireNumber,sum(t.brokenNumber)as brokenNumber,
sum(t.useNumber)as useNumber,sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW()
sum(t.useNumber)as useNumber,sum(t.fixNumber)as fixNumber,t.location_type,NOW(),NOW()
FROM
(SELECT
UUID() as id,
......@@ -135,7 +135,7 @@
sum(case when bi.bussiness_state = 'borrow' and bi.location_state='out' then 1
when bi.bussiness_state = 'take' and bi.location_state='out' then 1 else 0 end)as useNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW()
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as nearBrokenNumber,
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as fixNumber,
bi.location_type
FROM base_inventory bi
join base_cabinet_box bcb on bi.location_id = bcb.id
......@@ -288,7 +288,7 @@
select sum(number) as number,sum(price)as price,sum(stock_number)as stockNumber,
sum(outbound_number)as outboundNumber,sum(destruction_number)as destructionNumber,
sum(expire_number)as expireNumber,sum(broken_number)as brokenNumber,
sum(near_broken_number)as nearBrokenNumber,sum(use_number)as useNumber
sum(fix_number)as fixNumber,sum(use_number)as useNumber
FROM base_inventory_summary where org_id_int=#{req.orgId}
</select>
......@@ -396,12 +396,12 @@
<insert id="getSumByWarehouse" >
INSERT INTO base_inventory_summary (id,org_id_int,org_name,location_id,location_name,type_id, type_name,size_id,
size_name,number,unit_price,price, stock_number, outbound_number,destruction_number,
expire_number,broken_number,use_number,near_broken_number,location_type,create_time,update_time)
expire_number,broken_number,use_number,fix_number,location_type,create_time,update_time)
select
MAX(t.id) as id,t.orgId,t.orgName,t.locationId,MAX(t.locationName),t.type_id,t.typeName,t.size_id,t.sizeName,
sum(t.number) as number,t.unitPrice,sum(t.price)as price,sum(t.stockNumber)as stockNumber,sum(t.outboundNumber)as outboundNumber,
sum(t.destructionNumber)as destructionNumber,sum(t.destructionNumber) as expireNumber,sum(t.brokenNumber) as brokenNumber,
sum(t.useNumber)as useNumber,sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW()
sum(t.useNumber)as useNumber,sum(t.fixNumber)as fixNumber,t.location_type,NOW(),NOW()
FROM
(SELECT
UUID() as id,
......@@ -424,7 +424,7 @@
sum(case when bi.bussiness_state = 'borrow' and bi.location_state='out' then 1
when bi.bussiness_state = 'take' and bi.location_state='out' then 1 else 0 end)as useNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW()
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as nearBrokenNumber,
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as fixNumber,
bi.location_type
FROM base_inventory bi
join base_warehouse bw on bi.location_id = bw.id
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论