Commit c16e627b authored by tangwei's avatar tangwei

器材统计

parent c995d549
package com.yeejoin.amos.boot.biz.common.excel;
import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.util.CollectionUtils;
import com.alibaba.excel.write.merge.AbstractMergeStrategy;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: tw
* @createDate: 2023/2/23
*/
// 自定义合并策略 该类继承了AbstractMergeStrategy抽象合并策略,需要重写merge()方法
public class CustomMergeStrategy extends AbstractMergeStrategy {
/**
* 分组,每几行合并一次
*/
private List<Integer> exportFieldGroupCountList;
/**
* 目标合并列index
*/
private Integer targetColumnIndex;
// 需要开始合并单元格的首行index
private Integer rowIndex;
// exportDataList为待合并目标列的值
public CustomMergeStrategy(List<String> exportDataList, Integer targetColumnIndex) {
this.exportFieldGroupCountList = getGroupCountList(exportDataList);
this.targetColumnIndex = targetColumnIndex;
}
private void mergeGroupColumn(Sheet sheet) {
int rowCount = rowIndex;
for (Integer count : exportFieldGroupCountList) {
if(count == 1) {
rowCount += count;
continue ;
}
// 合并单元格
CellRangeAddress cellRangeAddress = new CellRangeAddress(rowCount, rowCount + count - 1, targetColumnIndex, targetColumnIndex);
sheet.addMergedRegionUnsafe(cellRangeAddress);
rowCount += count;
}
}
// 该方法将目标列根据值是否相同连续可合并,存储可合并的行数
private List<Integer> getGroupCountList(List<String> exportDataList){
if (CollectionUtils.isEmpty(exportDataList)) {
return new ArrayList<>();
}
List<Integer> groupCountList = new ArrayList<>();
int count = 1;
for (int i = 1; i < exportDataList.size(); i++) {
if (exportDataList.get(i).equals(exportDataList.get(i - 1))) {
count++;
} else {
groupCountList.add(count);
count = 1;
}
}
// 处理完最后一条后
groupCountList.add(count);
return groupCountList;
}
@Override
protected void merge(Sheet sheet, Cell cell, Head head, int relativeRowIndex) {
if (null == rowIndex) {
rowIndex = cell.getRowIndex();
}
// 仅从首行以及目标列的单元格开始合并,忽略其他
if (cell.getRowIndex() == rowIndex && cell.getColumnIndex() == targetColumnIndex) {
mergeGroupColumn(sheet);
}
}
}
\ No newline at end of file
...@@ -2,30 +2,37 @@ package com.yeejoin.amos.boot.biz.common.excel; ...@@ -2,30 +2,37 @@ package com.yeejoin.amos.boot.biz.common.excel;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelReader; import com.alibaba.excel.ExcelReader;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.read.metadata.ReadSheet; import com.alibaba.excel.read.metadata.ReadSheet;
import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.write.builder.ExcelWriterSheetBuilder; import com.alibaba.excel.write.builder.ExcelWriterSheetBuilder;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.style.WriteCellStyle; import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.metadata.style.WriteFont; import com.alibaba.excel.write.metadata.style.WriteFont;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import org.apache.poi.ss.formula.functions.T;
import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.VerticalAlignment; import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.springframework.util.ReflectionUtils;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.beans.PropertyDescriptor;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
public class ExcelUtil { public class ExcelUtil {
...@@ -80,6 +87,52 @@ public class ExcelUtil { ...@@ -80,6 +87,52 @@ public class ExcelUtil {
* @param sheetName sheet名 * @param sheetName sheet名
* @param data 导出的数据 * @param data 导出的数据
* @param model 导出的头 * @param model 导出的头
*/
public static void createTemplateHB(HttpServletResponse response, String fileName,
String sheetName, List<? extends Object> data,
Class<?> model,String getName) {
HorizontalCellStyleStrategy horizontalCellStyleStrategy = setMyCellStyle();
try {
//获取字段
Field field = model.getDeclaredField(getName);
PropertyDescriptor pd = new PropertyDescriptor(field.getName(), model);
//获取get方法
Method getMethod = pd.getReadMethod();
List<String> exportDataList= data.stream().map(bject -> ReflectionUtils.invokeMethod(getMethod, bject).toString()).collect(Collectors.toList());
ExcelWriter excelWriter = EasyExcel.write(getOutputStream(fileName, response, ExcelTypeEnum.XLSX), model).build();
// 写sheet的时候注册相应的自定义合并单元格策略
WriteSheet writeSheet = EasyExcel.writerSheet(sheetName).head(model)
.registerWriteHandler(new CustomMergeStrategy(exportDataList, 0))
.registerWriteHandler(new TemplateCellWriteHandler())
.registerWriteHandler(horizontalCellStyleStrategy)
.build();
excelWriter.write(data, writeSheet);
excelWriter.finish();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("系统异常!");
}
}
/**
* 生成excel模板
*
* @param response
* @param fileName 下载的文件名,
* @param sheetName sheet名
* @param data 导出的数据
* @param model 导出的头
* @param flag true模板填充下拉 false 不填充 * @param flag true模板填充下拉 false 不填充
*/ */
public static void createDutyTemplate(HttpServletResponse response, String fileName, String sheetName, List<? public static void createDutyTemplate(HttpServletResponse response, String fileName, String sheetName, List<?
......
...@@ -11,6 +11,7 @@ import com.yeejoin.equipmanage.common.enums.IndustryEnum; ...@@ -11,6 +11,7 @@ import com.yeejoin.equipmanage.common.enums.IndustryEnum;
import com.yeejoin.equipmanage.common.utils.CommonResponseUtil; import com.yeejoin.equipmanage.common.utils.CommonResponseUtil;
import com.yeejoin.equipmanage.common.utils.StringUtil; import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.*; import com.yeejoin.equipmanage.common.vo.*;
import com.yeejoin.equipmanage.dto.EquipmentcountDto;
import com.yeejoin.equipmanage.mapper.*; import com.yeejoin.equipmanage.mapper.*;
import com.yeejoin.equipmanage.service.AbstractQRCodeFactory; import com.yeejoin.equipmanage.service.AbstractQRCodeFactory;
import com.yeejoin.equipmanage.service.IEquipmentService; import com.yeejoin.equipmanage.service.IEquipmentService;
...@@ -667,4 +668,19 @@ public class EquipmentController extends AbstractBaseController { ...@@ -667,4 +668,19 @@ public class EquipmentController extends AbstractBaseController {
public List<Equipment> listAll() { public List<Equipment> listAll() {
return iEquipmentService.getAll(); return iEquipmentService.getAll();
} }
@PostMapping(value = "/getEquipmentcount")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "获取装备統計", notes = "获取装备統計")
public List<EquipmentcountDto> getEquipmentcount( @RequestParam(required = false) String name,@RequestParam(required = false) String code) {
if(code==null||code.equals("")){
throw new RuntimeException("请选择单位");
}else{
return iEquipmentService.getEquipmentcount(name,code);
}
}
} }
...@@ -708,6 +708,13 @@ public class EquipmentDetailController extends AbstractBaseController { ...@@ -708,6 +708,13 @@ public class EquipmentDetailController extends AbstractBaseController {
return ResponseHelper.buildResponse(iEquipmentDetailService.companyDeptTree()); return ResponseHelper.buildResponse(iEquipmentDetailService.companyDeptTree());
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/companyTreeByUserAndTypeTJ")
@ApiOperation(httpMethod = "GET", value = "消防装备单位部门树", notes = "消防装备单位部门树")
public ResponseModel<List<OrgMenuDto>> companyTreeByUserAndTypeTJ() {
return ResponseHelper.buildResponse(iEquipmentDetailService.companyDeptTreeTJ());
}
/** /**
* 消防装备权限获取 * 消防装备权限获取
* *
......
...@@ -4,17 +4,15 @@ import java.util.HashMap; ...@@ -4,17 +4,15 @@ import java.util.HashMap;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.equipmanage.common.entity.*; import com.yeejoin.equipmanage.dto.EquipmentcountDto;
import com.yeejoin.equipmanage.common.utils.SpringUtils;
import com.yeejoin.equipmanage.fegin.JcsFeign; import com.yeejoin.equipmanage.fegin.JcsFeign;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.scheduling.annotation.Async;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -64,7 +62,6 @@ import com.yeejoin.equipmanage.common.vo.FireFightingSystemTreeVo; ...@@ -64,7 +62,6 @@ import com.yeejoin.equipmanage.common.vo.FireFightingSystemTreeVo;
import com.yeejoin.equipmanage.common.vo.FireFightingSystemTypeTreeVo; import com.yeejoin.equipmanage.common.vo.FireFightingSystemTypeTreeVo;
import com.yeejoin.equipmanage.common.vo.FireFightingSystemVo; import com.yeejoin.equipmanage.common.vo.FireFightingSystemVo;
import com.yeejoin.equipmanage.common.vo.SpeIndexVo; import com.yeejoin.equipmanage.common.vo.SpeIndexVo;
import com.yeejoin.equipmanage.fegin.JcsFeign;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificIndexMapper; import com.yeejoin.equipmanage.mapper.EquipmentSpecificIndexMapper;
import com.yeejoin.equipmanage.mapper.FireFightingSystemMapper; import com.yeejoin.equipmanage.mapper.FireFightingSystemMapper;
import com.yeejoin.equipmanage.remote.RemoteSecurityService; import com.yeejoin.equipmanage.remote.RemoteSecurityService;
...@@ -81,34 +78,11 @@ import com.yeejoin.equipmanage.service.IUploadFileService; ...@@ -81,34 +78,11 @@ import com.yeejoin.equipmanage.service.IUploadFileService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.http.MediaType;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/** /**
* @author zjw * @author zjw
...@@ -912,7 +886,19 @@ public class FireFightingSystemController extends AbstractBaseController { ...@@ -912,7 +886,19 @@ public class FireFightingSystemController extends AbstractBaseController {
ExcelUtil.createTemplate(response, "装备信息", "装备信息", list, EquipmentExportVO.class, null, false); ExcelUtil.createTemplate(response, "装备信息", "装备信息", list, EquipmentExportVO.class, null, false);
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "装备信息导出", notes = "装备信息导出")
@PostMapping(value = "/downGetEquipmentcount")
public void downGetEquipmentcount(HttpServletResponse response, @RequestParam(required = false) String name,@RequestParam(required = false) String code) {
if(code==null||code.equals("")){
throw new RuntimeException("请选择单位");
}else{
List<EquipmentcountDto> list = iEquipmentService.getEquipmentcount(name,code);
ExcelUtil.createTemplateHB(response, "装备信息", "装备信息", list, EquipmentcountDto.class, "bizOrgName");
}
}
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.equipmanage.common.entity.Equipment; import com.yeejoin.equipmanage.common.entity.Equipment;
import com.yeejoin.equipmanage.common.entity.vo.*; import com.yeejoin.equipmanage.common.entity.vo.*;
import com.yeejoin.equipmanage.common.vo.EquipmentVo; import com.yeejoin.equipmanage.common.vo.EquipmentVo;
import com.yeejoin.equipmanage.dto.EquipmentcountDto;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -51,4 +52,8 @@ public interface EquipmentMapper extends BaseMapper<Equipment> { ...@@ -51,4 +52,8 @@ public interface EquipmentMapper extends BaseMapper<Equipment> {
* @return * @return
*/ */
EquipmentVo getEquipBySpecific(@Param("equipmentSpecificId") Long equipmentSpecificId); EquipmentVo getEquipBySpecific(@Param("equipmentSpecificId") Long equipmentSpecificId);
List<EquipmentcountDto> getEquipmentcountB(@Param("name") String name,@Param("code") String code);
} }
...@@ -36,4 +36,5 @@ public interface IEquipmentDetailService extends IService<EquipmentDetail> { ...@@ -36,4 +36,5 @@ public interface IEquipmentDetailService extends IService<EquipmentDetail> {
String checkDelete( List<Long> ids); String checkDelete( List<Long> ids);
List<OrgMenuDto> companyDeptTree(); List<OrgMenuDto> companyDeptTree();
List<OrgMenuDto> companyDeptTreeTJ();
} }
...@@ -5,6 +5,7 @@ import com.yeejoin.equipmanage.common.entity.Equipment; ...@@ -5,6 +5,7 @@ import com.yeejoin.equipmanage.common.entity.Equipment;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentAppVO; import com.yeejoin.equipmanage.common.entity.vo.EquipmentAppVO;
import com.yeejoin.equipmanage.common.vo.EquipmentVo; import com.yeejoin.equipmanage.common.vo.EquipmentVo;
import com.yeejoin.equipmanage.common.entity.vo.ImportantEquipmentVO; import com.yeejoin.equipmanage.common.entity.vo.ImportantEquipmentVO;
import com.yeejoin.equipmanage.dto.EquipmentcountDto;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -126,4 +127,12 @@ public interface IEquipmentService extends IService<Equipment> { ...@@ -126,4 +127,12 @@ public interface IEquipmentService extends IService<Equipment> {
* @return * @return
*/ */
EquipmentVo getEquipBySpecific(Long equipmentSpecificId); EquipmentVo getEquipBySpecific(Long equipmentSpecificId);
/**
*
* 装备统计
* */
List<EquipmentcountDto> getEquipmentcount(String name,String code);
} }
...@@ -84,7 +84,8 @@ public class EquipmentDetailServiceImpl extends ServiceImpl<EquipmentDetailMappe ...@@ -84,7 +84,8 @@ public class EquipmentDetailServiceImpl extends ServiceImpl<EquipmentDetailMappe
@Value("${auth-key-fire-equip:fire_equip_info}") @Value("${auth-key-fire-equip:fire_equip_info}")
private String authKey; private String authKey;
@Value("${auth-key-fire-equip-tj:fire_equip_tj}")
private String authKeyTJ;
@Autowired @Autowired
private ISystemDicService iSystemDicService; private ISystemDicService iSystemDicService;
...@@ -308,6 +309,9 @@ public class EquipmentDetailServiceImpl extends ServiceImpl<EquipmentDetailMappe ...@@ -308,6 +309,9 @@ public class EquipmentDetailServiceImpl extends ServiceImpl<EquipmentDetailMappe
public List<OrgMenuDto> companyDeptTree() { public List<OrgMenuDto> companyDeptTree() {
return jcsRemoteService.getCompanyDeptTreeWithAuth(authKey, null); return jcsRemoteService.getCompanyDeptTreeWithAuth(authKey, null);
} }
@Override
public List<OrgMenuDto> companyDeptTreeTJ() {
return jcsRemoteService.getCompanyDeptTreeWithAuth(authKeyTJ, null);
}
} }
...@@ -9,6 +9,7 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; ...@@ -9,6 +9,7 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.equipmanage.common.entity.*; import com.yeejoin.equipmanage.common.entity.*;
import com.yeejoin.equipmanage.common.entity.vo.*; import com.yeejoin.equipmanage.common.entity.vo.*;
import com.yeejoin.equipmanage.common.vo.EquipmentVo; import com.yeejoin.equipmanage.common.vo.EquipmentVo;
import com.yeejoin.equipmanage.dto.EquipmentcountDto;
import com.yeejoin.equipmanage.fegin.PatrolFeign; import com.yeejoin.equipmanage.fegin.PatrolFeign;
import com.yeejoin.equipmanage.mapper.*; import com.yeejoin.equipmanage.mapper.*;
import com.yeejoin.equipmanage.remote.RemoteSecurityService; import com.yeejoin.equipmanage.remote.RemoteSecurityService;
...@@ -457,4 +458,9 @@ public class EquipmentServiceImpl extends ServiceImpl<EquipmentMapper, Equipment ...@@ -457,4 +458,9 @@ public class EquipmentServiceImpl extends ServiceImpl<EquipmentMapper, Equipment
{ {
return equipmentMapper.getEquipBySpecific(equipmentSpecificId); return equipmentMapper.getEquipBySpecific(equipmentSpecificId);
} }
@Override
public List<EquipmentcountDto> getEquipmentcount(String name,String code) {
return equipmentMapper.getEquipmentcountB(name,code);
}
} }
...@@ -296,7 +296,8 @@ public class ScrapServiceImpl extends ServiceImpl<ScrapMapper, Scrap> implements ...@@ -296,7 +296,8 @@ public class ScrapServiceImpl extends ServiceImpl<ScrapMapper, Scrap> implements
StockDetail stockDetail = stockDetailService.getById(id); StockDetail stockDetail = stockDetailService.getById(id);
QueryWrapper<EquipmentOnCar> queryWrapper = new QueryWrapper<>(); QueryWrapper<EquipmentOnCar> queryWrapper = new QueryWrapper<>();
equipmentOnCarMapper.delete(queryWrapper.eq("stock_detail_id", id)); equipmentOnCarMapper.delete(queryWrapper.eq("stock_detail_id", id));
stockDetail.setAmount(stockDetail.getAmount() + 1.0); //stockDetail.setAmount(stockDetail.getAmount() + 1.0);
stockDetail.setAmount(stockDetail.getAmount());
stockDetail.setStatus(String.valueOf(EquipStatusEnum.SCRAP.getCode())); stockDetail.setStatus(String.valueOf(EquipStatusEnum.SCRAP.getCode()));
stockDetailService.updateById(stockDetail); stockDetailService.updateById(stockDetail);
} }
......
...@@ -134,6 +134,9 @@ auth-key-fire-system=fire_system_info ...@@ -134,6 +134,9 @@ auth-key-fire-system=fire_system_info
auth-key-fire-system-build=fire_system_build_info auth-key-fire-system-build=fire_system_build_info
# 权限标识-消防装备 # 权限标识-消防装备
auth-key-fire-equip=fire_equip_info auth-key-fire-equip=fire_equip_info
# 权限标识-消防装备统计
auth-key-fire-equip-tj=fire_equip_tj
# 权限标识-消防视频 # 权限标识-消防视频
auth-key-fire-video=fire_video_info auth-key-fire-video=fire_video_info
# 权限标识-消防建筑视频 # 权限标识-消防建筑视频
......
...@@ -269,4 +269,31 @@ FROM ...@@ -269,4 +269,31 @@ FROM
</select> </select>
<select id="getEquipmentcountB" resultType="com.yeejoin.equipmanage.dto.EquipmentcountDto">
select
uuid() AS id ,
kname as equipmentName,
kid as equipmentId,
bizOrgCode,
bizOrgName,
sum(case when status='在位' then amountn else 0 end) as `zw`,
sum(case when status='报废' then amountn else 0 end) as `bf`,
sum(case when status='车载' then amountn else 0 end) as `cz`,
sum(case when status='配装' then amountn else 0 end) as `pz`
from countequipment
<where>
bizOrgCode like CONCAT(#{code},"%" )
<if test="name != null and name != '' ">
and kname like CONCAT(#{name},"%" )
</if>
</where>
group by bizOrgCode,bizOrgName,kid,kname
</select>
</mapper> </mapper>
...@@ -90,7 +90,8 @@ ...@@ -90,7 +90,8 @@
<foreach collection="list" item="item" index="index" open="" close="" separator=";"> <foreach collection="list" item="item" index="index" open="" close="" separator=";">
update wl_stock_detail update wl_stock_detail
<trim prefix="set" prefixOverrides="," suffix="where id=#{item.stockDetailId}"> <trim prefix="set" prefixOverrides="," suffix="where id=#{item.stockDetailId}">
amount = amount - 1, -- amount = amount - 1,
amount = amount,
<if test="status != null">status=#{status}</if> <if test="status != null">status=#{status}</if>
</trim> </trim>
</foreach> </foreach>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment