Commit cfbaf914 authored by Smile's avatar Smile

集运包裹类添加

parent 4d3c0f84
...@@ -82,3 +82,27 @@ create table ecw_cons_item ...@@ -82,3 +82,27 @@ create table ecw_cons_item
); );
alter table ecw_cons_item comment '集运包裹明细表'; alter table ecw_cons_item comment '集运包裹明细表';
drop table if exists ecw_cons_tracking_record;
create table ecw_cons_tracking_record
(
id bigint not null,
cons_id bigint not null,
business_node int not null comment '业务节点,来源于字典表,cons_business_node,包含待签收,已签收,验货中,撤销验货,已验货,已转运,撤出中,撤出拒绝,撤出通过,追加中,追加通过,追加拒绝,费用申请中,费用拒绝,费用通过,退仓中,退仓待处理,退仓拒绝,已退仓,异常等',
status int not null comment '状态,关联字典表cons_status',
is_show int comment '是否显示在包裹动态中',
tracking_time datetime not null,
business_Description varchar(255) comment '查询时动态赋值,从ecw_cons_language_content根据选择的语言取值',
deleted bit not null default '0',
creator varchar(32),
create_time datetime not null,
updater varchar(32),
update_time datetime,
primary key (id)
);
alter table ecw_cons_tracking_record comment '包裹动态跟踪表';
...@@ -4,14 +4,18 @@ import java.util.*; ...@@ -4,14 +4,18 @@ import java.util.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import cn.iocoder.yudao.framework.i18n.core.I18nMessage; import cn.iocoder.yudao.framework.i18n.core.I18nMessage;
import cn.iocoder.yudao.framework.i18n.core.LangEnum;
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils; import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
import cn.iocoder.yudao.module.order.convert.cons.ConsConvert; import cn.iocoder.yudao.module.order.convert.cons.ConsConvert;
import cn.iocoder.yudao.module.order.dal.dataobject.cons.ConsDO; import cn.iocoder.yudao.module.order.dal.dataobject.cons.ConsDO;
import cn.iocoder.yudao.module.order.dal.mysql.cons.ConsMapper; import cn.iocoder.yudao.module.order.dal.mysql.cons.ConsMapper;
import cn.iocoder.yudao.module.order.service.consItem.ConsItemService;
import cn.iocoder.yudao.module.order.vo.cons.ConsBackVO; import cn.iocoder.yudao.module.order.vo.cons.ConsBackVO;
import cn.iocoder.yudao.module.order.vo.cons.ConsCreateReqVO; import cn.iocoder.yudao.module.order.vo.cons.ConsCreateReqVO;
import cn.iocoder.yudao.module.order.vo.cons.ConsQueryVO; import cn.iocoder.yudao.module.order.vo.cons.ConsQueryVO;
import cn.iocoder.yudao.module.order.vo.cons.ConsUpdateReqVO; import cn.iocoder.yudao.module.order.vo.cons.ConsUpdateReqVO;
import cn.iocoder.yudao.module.order.vo.consItem.ConsItemBackVO;
import cn.iocoder.yudao.module.order.vo.consItem.ConsItemQueryVO;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -32,6 +36,9 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme ...@@ -32,6 +36,9 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme
@Resource @Resource
private ConsMapper consMapper; private ConsMapper consMapper;
@Resource
private ConsItemService consItemService;
@Override @Override
public Long createCons(ConsCreateReqVO createReqVO) { public Long createCons(ConsCreateReqVO createReqVO) {
// 插入 // 插入
...@@ -76,12 +83,20 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme ...@@ -76,12 +83,20 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme
@Override @Override
public PageResult<ConsBackVO> getConsPage(ConsQueryVO query, PageVO page) { public PageResult<ConsBackVO> getConsPage(ConsQueryVO query, PageVO page) {
query.setLang(I18nMessage.getLang());
IPage<ConsBackVO> mpPage = MyBatisUtils.buildPage(page); IPage<ConsBackVO> mpPage = MyBatisUtils.buildPage(page);
long total = consMapper.myConsCount(query); long total = consMapper.myConsCount(query);
log.warn(I18nMessage.getLang().toString()); log.warn(I18nMessage.getLang().toString());
int start = (page.getPage() - 1) * page.getRows(); int start = (page.getPage() - 1) * page.getRows();
int size = page.getRows(); int size = page.getRows();
ConsItemQueryVO consItemQueryVO = new ConsItemQueryVO();
consItemQueryVO.setLang(I18nMessage.getLang());
List<ConsBackVO> consBackVOS = consMapper.myConsPageList(start, size, query); List<ConsBackVO> consBackVOS = consMapper.myConsPageList(start, size, query);
consBackVOS.forEach(consBackVO -> {
consItemQueryVO.setConsId(consBackVO.getId());
List<ConsItemBackVO> consItemBackVOList = consItemService.getConsItemBackVOList(consItemQueryVO);
consBackVO.setConsItemList(consItemBackVOList);
});
return new PageResult<>(consBackVOS, total, mpPage.getSize(), page.getPage(), (total + mpPage.getSize() - 1) / mpPage.getSize()); return new PageResult<>(consBackVOS, total, mpPage.getSize(), page.getPage(), (total + mpPage.getSize() - 1) / mpPage.getSize());
} }
......
package cn.iocoder.yudao.module.order.vo.cons; package cn.iocoder.yudao.module.order.vo.cons;
import cn.iocoder.yudao.module.order.vo.consItem.ConsItemBackVO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import io.swagger.annotations.*; import io.swagger.annotations.*;
...@@ -159,4 +160,40 @@ public class ConsBackVO { ...@@ -159,4 +160,40 @@ public class ConsBackVO {
@ApiModelProperty(value = "是否已拣出,0否,1是") @ApiModelProperty(value = "是否已拣出,0否,1是")
private Integer isPickout; private Integer isPickout;
@ExcelProperty("包裹项")
@ApiModelProperty(value = "包裹项")
private List<ConsItemBackVO> consItemList;
@ExcelProperty("始发仓(中文)")
@ApiModelProperty(value = "始发仓(中文)")
private String startTitleZh;
@ExcelProperty("始发仓(英文)")
@ApiModelProperty(value = "始发仓(英文)")
private String startTitleEn;
@ExcelProperty("始发仓(法文)")
@ApiModelProperty(value = "始发仓(法文)")
private String startTitleFr;
@ExcelProperty("目的仓(中文)")
@ApiModelProperty(value = "目的仓(中文)")
private String destTitleZh;
@ExcelProperty("目的仓(英文)")
@ApiModelProperty(value = "目的仓(英文)")
private String destTitleEn;
@ExcelProperty("目的仓(法文)")
@ApiModelProperty(value = "目的仓(法文)")
private String destTitleFr;
@ExcelProperty("销售渠道")
@ApiModelProperty(value = "销售渠道")
private String channelName;
@ExcelProperty("动态")
@ApiModelProperty(value = "动态")
private Integer businessNode;
} }
...@@ -130,4 +130,7 @@ public class ConsQueryVO { ...@@ -130,4 +130,7 @@ public class ConsQueryVO {
@ApiModelProperty(value = "是否已拣出,0否,1是") @ApiModelProperty(value = "是否已拣出,0否,1是")
private Integer isPickout; private Integer isPickout;
@ApiModelProperty(value = "语言")
private Integer lang;
} }
...@@ -5,16 +5,41 @@ ...@@ -5,16 +5,41 @@
select count(1) select count(1)
FROM ecw_cons cons FROM ecw_cons cons
left join ecw_customer ec on cons.customer_id = ec.id left join ecw_customer ec on cons.customer_id = ec.id
left join ecw_warehouse_line el on cons.warehouse_line_id = el.id
LEFT JOIN ecw_warehouse ew_start ON ew_start.id = el.start_warehouse_id
LEFT JOIN ecw_warehouse ew_dest ON ew_dest.id = el.dest_warehouse_id
WHERE cons.deleted = 0 WHERE cons.deleted = 0
order by cons.update_time desc order by cons.update_time desc
</select> </select>
<select id="myConsPageList" resultType="cn.iocoder.yudao.module.order.vo.cons.ConsBackVO" parameterType="cn.iocoder.yudao.module.order.vo.cons.ConsQueryVO"> <select id="myConsPageList" resultType="cn.iocoder.yudao.module.order.vo.cons.ConsBackVO" parameterType="cn.iocoder.yudao.module.order.vo.cons.ConsQueryVO">
SELECT cons.*, SELECT cons.*,
ec.name as customer_name ec.name as customer_name,
ew_start.title_zh as startTitleZh,
ew_start.title_en as startTitleEn,
ew_start.title_fr as startTitleFr,
ew_dest.title_zh as destTitleZh,
ew_dest.title_en as destTitleEn,
ew_dest.title_fr as destTitleFr,
ctr.business_node,
GROUP_CONCAT(
CASE #{query.lang}
WHEN 0 then ecc.name_zh
WHEN 1 then ecc.name_en
WHEN 2 then ecc.name_fr
else ecc.name_zh
END SEPARATOR ', '
) AS channelName
FROM ecw_cons cons FROM ecw_cons cons
left join ecw_customer ec on cons.customer_id = ec.id left join ecw_customer ec on cons.customer_id = ec.id
left join ecw_warehouse_line el on cons.warehouse_line_id = el.id
left join ecw_warehouse ew_start ON ew_start.id = el.start_warehouse_id
left join ecw_warehouse ew_dest ON ew_dest.id = el.dest_warehouse_id
left join ecw_line_channel_packaging elcp on cons.warehouse_line_id = elcp.line_id
LEFT JOIN ecw_channel ecc ON FIND_IN_SET(ecc.channel_id, elcp.channel_ids)
left join ecw_cons_tracking_record ctr on cons.id = ctr.cons_id
WHERE cons.deleted = 0 WHERE cons.deleted = 0
and elcp.deleted = 0
order by cons.update_time desc order by cons.update_time desc
limit #{start}, #{size} limit #{start}, #{size}
</select> </select>
......
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