Commit 1b14068f by 李小惠

修改任务单接口和装备树接口代码

parent d53b5303
......@@ -19,5 +19,8 @@ public class EquipmentTreeDto {
private String maintenancePeriod;
private Boolean isLeaf;
private List<EquipmentTreeDto> children = new ArrayList<>();
public void addChildren(EquipmentTreeDto treeDto){
children.add(treeDto);
}
}
package com.junmp.jyzb.api.bean.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
......
......@@ -15,16 +15,22 @@ public class OrderMainDto implements Serializable {
private String processId;
//单据类型(入库类型)
private String bussinessType;
//订单编号
private String orderCode;
//发物单位
private Long startOrgId;
//发物单位
private String startOrgName;
//收物单位
private Long endOrgId;
//收物单位
private String endOrgName;
private String startOrgUserId;
......@@ -37,6 +43,7 @@ public class OrderMainDto implements Serializable {
private BigDecimal price;
//应入数量
private Integer inventoryQuantity;
private String invList;
......@@ -48,5 +55,10 @@ public class OrderMainDto implements Serializable {
private String note;
private Date createTime;
//审核状态(审批状态)
private String examineState;
//单据状态(入库状态)
private String orderState;
}
......@@ -81,5 +81,8 @@ public class OrderMainReq extends BaseRequest {
private String typeId;
//排序字段
private String sortTableField;
//排序规则
private String sortRules;
}
......@@ -32,10 +32,6 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
*/
private String bussinessType;
/**
* 业务类型中文简写(用于设置单据单号(订单号))
*/
private String bussinessBrief;
/**
* 订单号
*/
private String orderCode;
......
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.api.bean.dto.EquipmentTypeDto;
import com.junmp.jyzb.api.bean.query.QueryEquipmentTypeReq;
import com.junmp.jyzb.entity.EquipmentType;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -17,5 +19,4 @@ public interface EquipmentTypeMapper extends BaseMapper<EquipmentType> {
void setTypeParentIds();
}
\ No newline at end of file
......@@ -21,12 +21,6 @@ public interface OrderMainMapper extends BaseMapper<OrderMain> {
void updateOrder(OrderMain order);
IPage<OrderMain> getOrderPage(Page<OrderMain> page1, @Param("bussinessType")String bussinessType ,
@Param("startOrgId") Long startOrgId, @Param("endOrgId") Long endOrgId,
@Param("orderState") String orderState , @Param("examineState") String examineState,
@Param("startTime") String startTime, @Param("endTime") String endTime,
@Param("typeId") String typeId, @Param("orderType") String orderType);
IPage<OrderMain> getOrderPage(Page<OrderMain> page1,OrderMainReq req);
IPage<OrderMain> getOrderPage(Page<OrderMain> page1,@Param("req") OrderMainReq req);
}
\ No newline at end of file
......@@ -43,18 +43,16 @@ public class EquipmentTypeServiceImpl extends ServiceImpl<EquipmentTypeMapper, E
public List<EquipmentTypeDto> getEquipmentList(QueryEquipmentTypeReq req) {
LambdaQueryWrapper<EquipmentType> wp= this.createWrapper(req);
List<EquipmentType> list = this.list(wp);
List<EquipmentTypeDto> orgs=new ArrayList<>();
list.forEach(p->{
EquipmentTypeDto org=new EquipmentTypeDto();
BeanPlusUtil.copyProperties(p, org);
orgs.add(org);
});
return orgs;
List<EquipmentType> list = list(new LambdaQueryWrapper<EquipmentType>()
.eq(EquipmentType::getType,req.getType()));
List<EquipmentTypeDto> collect = list.stream().map(equipmentType -> {
EquipmentTypeDto org = new EquipmentTypeDto();
BeanPlusUtil.copyProperties(equipmentType, org);
return org;
}).collect(Collectors.toList());
return collect;
}
@Transactional
@Override
public String addEquipment(UpdateEquipmentTypeReq req) {
......@@ -258,45 +256,41 @@ public class EquipmentTypeServiceImpl extends ServiceImpl<EquipmentTypeMapper, E
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS);
}
//获取type整棵树
@Override
//获取整棵type树
public List<EquipmentTreeDto> GetTypeTree() {
//创建一个list存放整棵树
//获取第一层数据
List<EquipmentType> list = list(new LambdaQueryWrapper<EquipmentType>()
.eq(EquipmentType::getParentId, "00000000-0000-0000-0000-000000000000")
.ne(EquipmentType::getId,"00000000-0000-0000-0000-000000000000"));
//遍历第一层数据
List<EquipmentTreeDto> collect = list.stream().map(equipmentType -> {
EquipmentTreeDto equipmentTreeDto = new EquipmentTreeDto();
BeanPlusUtil.copyProperties(equipmentType, equipmentTreeDto);
equipmentTreeDto.setIsLeaf(false);
//遍历第二层数据
List<EquipmentTreeDto> collect1 = queryChildren(equipmentTreeDto.getId()).stream().map(equipmentType1 -> {
EquipmentTreeDto equipmentTreeDto1 = new EquipmentTreeDto();
BeanPlusUtil.copyProperties(equipmentType1, equipmentTreeDto1);
equipmentTreeDto1.setIsLeaf(false);
//遍历第三层数据
List<EquipmentTreeDto> collect2 = queryChildren(equipmentTreeDto1.getId()).stream().map(equipmentType2 -> {
EquipmentTreeDto equipmentTreeDto2 = new EquipmentTreeDto();
BeanPlusUtil.copyProperties(equipmentType2, equipmentTreeDto2);
equipmentTreeDto2.setIsLeaf(true);
return equipmentTreeDto2;
}).collect(Collectors.toList());
equipmentTreeDto1.setChildren(collect2);
return equipmentTreeDto1;
}).collect(Collectors.toList());
equipmentTreeDto.setChildren(collect1);
return equipmentTreeDto;
}).collect(Collectors.toList());
return collect;
.ne(EquipmentType::getId, "00000000-0000-0000-0000-000000000000"));
List<EquipmentTreeDto> dtoList = new ArrayList<>();
// 构建根节点列表
List<EquipmentType> rootEntities = new ArrayList<>();
for (EquipmentType entity : list) {
if (entity.getParentId().equals("00000000-0000-0000-0000-000000000000")) {
rootEntities.add(entity);
}
private List<EquipmentType> queryChildren(String parentId){
return list(new LambdaQueryWrapper<EquipmentType>().eq(EquipmentType::getParentId,parentId));
}
// 递归转换为输出类节点
for (EquipmentType rootEntity : rootEntities) {
EquipmentTreeDto dto = convertNode(rootEntity, list);
dtoList.add(dto);
}
return dtoList;
}
private EquipmentTreeDto convertNode(EquipmentType entity, List<EquipmentType> entityList) {
EquipmentTreeDto dto = new EquipmentTreeDto();
BeanPlusUtil.copyProperties(entity,dto);
dto.setIsLeaf(true); // 默认为叶子节点
List<EquipmentTreeDto> children = new ArrayList<>();
for (EquipmentType childEntity : entityList) {
if (childEntity.getParentId().equals(entity.getId())) {
EquipmentTreeDto childDto = convertNode(childEntity, entityList);
children.add(childDto);
dto.setIsLeaf(false); // 存在子节点,当前节点不是叶子节点
}
}
dto.setChildren(children);
return dto;
}
private LambdaQueryWrapper<EquipmentType> createWrapper(QueryEquipmentTypeReq req) {
LambdaQueryWrapper<EquipmentType> wrapper = new LambdaQueryWrapper<>();
......
......@@ -26,6 +26,8 @@ import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import com.junmp.v2.dict.entity.SysDictItem;
import com.junmp.v2.dict.service.SysDictItemService;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
......@@ -62,6 +64,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
@Resource
private OrderMainMapper orderMainMapper;
@Resource
private SysDictItemService sysDictItemService;
//新增任务单
......@@ -120,7 +125,11 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
orderNum.setMonth(LocalDateTime.now().getMonth().getValue());
orderNum.setDay(LocalDateTime.now().getDayOfMonth());
//将业务类型转为中文简写
String bussinessType = req.getBussinessType();
String itemValue = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getItemText, req.getBussinessType())).getItemValue();
orderNum.setBussinessType(itemValue);
//出入业务状态
orderNum.setOutInType(req.getOrderType());
//判断是出库还是入库,出库为发物单位,入库为收物单位
OrderNum one = new OrderNum();
if (req.getOrderType().equals("in")){
......@@ -129,19 +138,21 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
.eq(OrderNum::getEndOrgId, orderNum.getEndOrgId())
.eq(OrderNum::getBussinessType, orderNum.getBussinessType())
.eq(OrderNum::getYear, orderNum.getYear())
.eq(OrderNum::getMonth, orderNum.getMonth())
.eq(OrderNum::getDay, orderNum.getDay())
.eq(OrderNum::getOutInType, orderNum.getOutInType()));
}else {
orderNum.setStartOrgId(Long.valueOf(req.getStartOrgId()));
one = orderNumService.getOne(new LambdaQueryWrapper<OrderNum>()
.eq(OrderNum::getStartOrgId, orderNum.getStartOrgId())
.eq(OrderNum::getBussinessType, orderNum.getBussinessType())
.eq(OrderNum::getBussinessType,orderNum.getBussinessType())
.eq(OrderNum::getYear, orderNum.getYear())
.eq(OrderNum::getMonth, orderNum.getMonth())
.eq(OrderNum::getDay, orderNum.getDay())
.eq(OrderNum::getOutInType, orderNum.getOutInType()));
}
//业务类型
orderNum.setBussinessType(req.getBussinessType());
//出入业务状态
orderNum.setOutInType(req.getOrderType());
//设置num的数量
if (ObjectUtil.isNull(one)){
orderNum.setNum(1);
......@@ -277,38 +288,13 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//查询任务列表(根据组织机构id)
@Override
public PageResult<OrderMainDto> getOrderPage(OrderMainReq req) {
//判断是出库单还是入库单,选择的查询条件也不相同
Page<OrderMain> page = new Page<>();
LambdaQueryWrapper<OrderMain> wrapper = createWrapper(req);
if (req.getOrderType() != null && req.getOrderType().equals("in")){//入库单
//如果typeId为空,直接查主单据(不用根据子单据查询)
if (req.getTypeId()==null || req.getTypeId().trim().isEmpty()){
LambdaQueryWrapper<OrderMain> eq = wrapper.eq(OrderMain::getEndOrgId, req.getEndOrgId());
long size = list(wrapper).size();
page=this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),eq);
page.setTotal(size);
}else{//根据子单据向上查出主单据并返回
Page<OrderMain> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
IPage<OrderMain> inOrderPage = orderMainMapper.getOrderPage(page1,req.getBussinessType(),req.getStartOrgId(),req.getEndOrgId(),req.getOrderState(),req.getExamineState(),req.getStartTime(),req.getEndTime(),req.getTypeId(),req.getOrderType());
page.setRecords(inOrderPage.getRecords());
page.setTotal(inOrderPage.getTotal());
}
}
if (req.getOrderType() != null && req.getOrderType().equals("out")) {//出库单
//typeId为空,直接查询主单据
if (req.getTypeId()==null || req.getTypeId().trim().isEmpty()){
LambdaQueryWrapper<OrderMain> eq = wrapper.eq(OrderMain::getStartOrgId, req.getStartOrgId());
long size = list(wrapper).size();
page=this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),eq);
page.setTotal(size);
}else {//根据子单据向上查出主单据并返回
Page<OrderMain> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
IPage<OrderMain> outOrderPage = orderMainMapper.getOrderPage(page1,req.getBussinessType(),req.getStartOrgId(),req.getEndOrgId(),req.getOrderState(),req.getExamineState(),req.getStartTime(),req.getEndTime(),req.getTypeId(),req.getOrderType());
//根据查询条件得到单据
IPage<OrderMain> outOrderPage = orderMainMapper.getOrderPage(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()),req);
page.setRecords(outOrderPage.getRecords());
page.setTotal(outOrderPage.getTotal());
}
}
List<OrderMainDto> orderMainDtoList = page.getRecords().stream().map(orderMain -> {
OrderMainDto orderMainDto = new OrderMainDto();
BeanPlusUtil.copyProperties(orderMain,orderMainDto);
......@@ -320,44 +306,46 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
return PageResultFactory.createPageResult(page1);
}
// //查询任务列表(根据组织机构id)
// @Override
// public PageResult<OrderMainDto> getOrderPage(OrderMainReq req) {
// //判断组织机构是否存在
// pubOrgService.PubOrgExist(req.getOrgId());
// //判断是出库单还是入库单,选择的查询条件也不相同
// Page<OrderMain> page=new Page<>();
// Page<OrderMain> page = new Page<>();
// LambdaQueryWrapper<OrderMain> wrapper = createWrapper(req);
// if (req.getOrderType() != null && req.getOrderType().equals("in")){//入库单
// LambdaQueryWrapper<OrderMain> eq = wrapper.eq(OrderMain::getOrderType, req.getOrderType())
// .eq(OrderMain::getEndOrgId, req.getOrgId());
// //如果typeId为空,直接查主单据(不用根据子单据查询)
// if (req.getTypeId()==null || req.getTypeId().trim().isEmpty()){
// LambdaQueryWrapper<OrderMain> eq = wrapper.eq(OrderMain::getEndOrgId, req.getEndOrgId());
// long size = list(wrapper).size();
// page=this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),eq);
// } else if (req.getOrderType() != null && req.getOrderType().equals("out")) {//出库单
// LambdaQueryWrapper<OrderMain> eq = wrapper.eq(OrderMain::getOrderType, req.getOrderType()).eq(OrderMain::getStartOrgId, req.getOrgId());
// page.setTotal(size);
// }else{//根据子单据向上查出主单据并返回
// Page<OrderMain> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
// IPage<OrderMain> inOrderPage = orderMainMapper.getOrderPage(page1,req);
// page.setRecords(inOrderPage.getRecords());
// page.setTotal(inOrderPage.getTotal());
// }
//
// }
// if (req.getOrderType() != null && req.getOrderType().equals("out")) {//出库单
// //typeId为空,直接查询主单据
// if (req.getTypeId()==null || req.getTypeId().trim().isEmpty()){
// LambdaQueryWrapper<OrderMain> eq = wrapper.eq(OrderMain::getStartOrgId, req.getStartOrgId());
// long size = list(wrapper).size();
// page=this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),eq);
// }else {//查询全部
// Page<OrderMain> page1=new Page<>();
// Page<OrderMain> page2=new Page<>();
// LambdaQueryWrapper<OrderMain> eq1 = wrapper.eq(OrderMain::getEndOrgId, req.getOrgId());
// page1=this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),eq1);
// LambdaQueryWrapper<OrderMain> eq2 = wrapper.eq(OrderMain::getStartOrgId, req.getOrgId());
// page2=this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),eq2);
// List<OrderMain> list = new ArrayList<>();
// list.addAll(page1.getRecords());
// list.addAll(page2.getRecords());
// page.setRecords(list);
// page.setTotal(size);
// }else {//根据子单据向上查出主单据并返回
// Page<OrderMain> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
// IPage<OrderMain> outOrderPage = orderMainMapper.getOrderPage(page1,req);
// page.setRecords(outOrderPage.getRecords());
// page.setTotal(outOrderPage.getTotal());
// }
// }
// List<OrderMainDto> orderMainDtoList=new ArrayList<>();
// //遍历page,(如果出入库的组织机构为同一个的时候需要进行去重处理,不然会存在两条重复的数据)
// for (OrderMain orderMain : page.getRecords()){
// List<OrderMainDto> orderMainDtoList = page.getRecords().stream().map(orderMain -> {
// OrderMainDto orderMainDto = new OrderMainDto();
// BeanPlusUtil.copyProperties(orderMain,orderMainDto);
// if (!orderMainDtoList.contains(orderMainDto)){
// orderMainDtoList.add(orderMainDto);
// }
// }
// return orderMainDto;
// }).collect(Collectors.toList());
// Page<OrderMainDto> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
// page1.setTotal(orderMainDtoList.size());
// page1.setTotal(page.getTotal());
// page1.setRecords(orderMainDtoList);
// return PageResultFactory.createPageResult(page1);
// }
......@@ -528,8 +516,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
}
//时间降序
wrapper.orderByDesc(OrderMain::getCreateTime);
return wrapper;
}
......
......@@ -45,4 +45,5 @@ JOIN cte ON p.id = cte.id
SET p.parent_ids = cte.parent_ids;
</update>
</mapper>
\ No newline at end of file
......@@ -64,30 +64,38 @@
where o.id =#{id}
</update>
<select id="getOrderPage" resultType="com.junmp.jyzb.entity.OrderMain">
select * FROM bussiness_order_main WHERE id in(
SELECT order_id FROM bussiness_order_detail WHERE equipment_type = #{typeId}) and order_type=#{orderType}
<if test="null != bussinessType and '' != bussinessType ">
and bussiness_type = #{bussinessType}
select * FROM bussiness_order_main WHERE order_type=#{req.orderType}
<if test="req.typeId != null and req.typeId != ''">
and id in(
SELECT order_id FROM bussiness_order_detail WHERE equipment_type = #{req.typeId})
</if>
<if test="startOrgId != null and startOrgId != ''">
and start_org_id = #{startOrgId}
<if test="null != req.bussinessType and '' != req.bussinessType ">
and bussiness_type = #{req.bussinessType}
</if>
<if test="endOrgId != null and endOrgId != ''">
and end_org_id = #{endOrgId}
<if test="req.startOrgId != null and req.startOrgId != ''">
and start_org_id = #{req.startOrgId}
</if>
<if test="orderState !=null and orderState != ''">
and order_state = #{orderState}
<if test="req.endOrgId != null and req.endOrgId != ''">
and end_org_id = #{req.endOrgId}
</if>
<if test="examineState !=null and examineState != ''">
and examine_state = #{examineState}
<if test="req.orderState !=null and req.orderState != ''">
and order_state = #{req.orderState}
</if>
<if test="startTime != null and startTime != ''">
and create_time &gt;= #{startTime}
<if test="req.examineState !=null and req.examineState != ''">
and examine_state = #{req.examineState}
</if>
<if test="endTime != null and endTime != ''">
and create_time &lt;= #{endTime}
<if test="req.startTime != null and req.startTime != ''">
and create_time &gt;= #{req.startTime}
</if>
<if test="req.endTime != null and req.endTime != ''">
and create_time &lt;= #{req.endTime}
</if>
<if test="req.sortTableField != null and req.sortTableField != '' and req.sortRules != null and req.sortRules != '' ">
ORDER BY #{req.sortTableField} #{req.sortRules}
</if>
<if test="(req.sortTableField == null || req.sortTableField == '') and (req.sortRules == null || req.sortRules == '') ">
order by create_time desc
</if>
ORDER BY create_time DESC
</select>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论