This commit is contained in:
linfso 2024-06-21 21:00:31 +08:00
parent 374bc3019f
commit 68f145e28b
6 changed files with 121 additions and 65 deletions

View File

@ -270,6 +270,38 @@ public class EmisTmsScanRecordController extends EmisBaseController
}
/**
* 快件跟踪
*/
@GetMapping("/queryScanWaybillList")
public TableDataInfo queryScanWaybillList(EmisTmsScanRecord emisTmsScanRecord)
{
startPage();
// 设置通用权限查询参数
setPrivParams(emisTmsScanRecord);
if(!StringUtils.isEmpty(emisTmsScanRecord.getBillCode())){
emisTmsScanRecord.setBillCode(WaybillHelper.formatQueryValue(emisTmsScanRecord.getBillCode()));
String[] billCodeSortList = emisTmsScanRecord.getBillCode().split(",");
if(billCodeSortList.length>1){
emisTmsScanRecord.getParams().put("billCodeSortList",Arrays.asList(billCodeSortList));
}
}
if(!StringUtils.isEmpty(emisTmsScanRecord.getOrderSn())){
emisTmsScanRecord.setOrderSn(WaybillHelper.formatQueryValue(emisTmsScanRecord.getOrderSn()));
String[] orderSnSortList = emisTmsScanRecord.getOrderSn().split(",");
if(orderSnSortList.length>1){
emisTmsScanRecord.getParams().put("orderSnSortList",Arrays.asList(orderSnSortList));
}
}
List<EmisTmsScanRecord> list = emisTmsScanRecordService.queryScanWaybillList(emisTmsScanRecord);
return getDataTable(list);
}
@GetMapping("/getTraceListByBillCode")
public TableDataInfo getTraceListByBillCode(EmisTmsScanRecord emisTmsScanRecord)

View File

@ -35,13 +35,14 @@ public class EmisTmsScanRecord extends BaseEntity
{
private static final long serialVersionUID = 1L;
/* id */
private Long id;
/* 扫描运单号 */
private String billCode;
/* 主单号 */
private String mainBillCode;
/* 是否子单 1-是 0-否 */
private String blSubBill;
/* 订单号 */
private String orderSn;
/* 扫描类型: 收发到派签 */

View File

@ -43,6 +43,9 @@ public interface EmisTmsScanRecordMapper extends BaseMapper<EmisTmsScanRecord>
*/
public List<EmisTmsScanRecord> selectEmisTmsScanRecordList(EmisTmsScanRecord emisTmsScanRecord);
public List<EmisTmsScanRecord> queryScanWaybillList(EmisTmsScanRecord emisTmsScanRecord);
/**
* 新增
*

View File

@ -41,7 +41,10 @@ public interface IEmisTmsScanRecordService
*/
public List<EmisTmsScanRecord> selectEmisTmsScanRecordList(EmisTmsScanRecord emisTmsScanRecord);
/**
/**
* 新增TMS扫描记录
*
* @param emisTmsScanRecord TMS扫描记录
@ -104,8 +107,10 @@ public interface IEmisTmsScanRecordService
public List<EmisTmsScanRecord> queryScanStatRecordList(EmisTmsScanRecord emisTmsScanRecord);
public List<EmisTmsScanRecord> queryScanWaybillList(EmisTmsScanRecord emisTmsScanRecord);
// 删除签收记录
// 删除签收记录
public int deleteSignedAndRemark(Long[] ids,String remark);

View File

@ -91,10 +91,24 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
public List<EmisTmsScanRecord> selectEmisTmsScanRecordList(EmisTmsScanRecord emisTmsScanRecord)
{
List<EmisTmsScanRecord> listTraceList = emisTmsScanRecordMapper.selectEmisTmsScanRecordList(emisTmsScanRecord);
for(EmisTmsScanRecord scanRecord:listTraceList){
String content=cvtScanRecordToTraceStr(scanRecord,true);
scanRecord.setInnerTraceInfo(content);
}
// for(EmisTmsScanRecord scanRecord:listTraceList){
// String content=cvtScanRecordToTraceStr(scanRecord,true);
// scanRecord.setInnerTraceInfo(content);
// }
return listTraceList;
}
/**
* 查询TMS扫描记录列表
*
* @param emisTmsScanRecord TMS扫描记录
* @return TMS扫描记录
*/
@Override
public List<EmisTmsScanRecord> queryScanWaybillList(EmisTmsScanRecord emisTmsScanRecord)
{
List<EmisTmsScanRecord> listTraceList = emisTmsScanRecordMapper.queryScanWaybillList(emisTmsScanRecord);
return listTraceList;
}

View File

@ -8,6 +8,7 @@
<result property="id" column="id" />
<result property="billCode" column="bill_code" />
<result property="mainBillCode" column="main_bill_code" />
<result property="blSubBill" column="bl_sub_bill" />
<result property="orderSn" column="order_sn" />
<result property="scanType" column="scan_type" />
<result property="preOrNextStation" column="pre_or_next_station" />
@ -48,7 +49,6 @@
<result property="innerTraceInfo" column="inner_trace_info" />
<result property="status" column="status" />
</resultMap>
<resultMap type="EmisTmsScanRecord" extends="BaseEmisTmsScanRecordResult" id="EmisTmsScanRecordResult" >
@ -132,7 +132,7 @@
<select id="queryScanStatRecordList" parameterType="EmisTmsScanRecord" resultMap="EmisTmsScanRecordResult">
select a.main_bill_code as bill_code,a.main_bill_code,a.scan_type,max(scan_date) as scan_date,
select a.main_bill_code as bill_code,a.main_bill_code,a.bl_sub_bill,a.scan_type,max(scan_date) as scan_date,
a.pre_or_next_station,a.pre_or_next_station_code,a.scan_site, a.scan_site_code,a.scan_man,a.scan_man_code
from emis_tms_scan_record a,emis_waybill b
where a.del_flag='0' and b.del_flag='0' and a.main_bill_code=b.bill_code and b.bl_sign!='1'
@ -151,59 +151,9 @@
</select>
<select id="queryScanStatRecordList_old" parameterType="EmisTmsScanRecord" resultMap="EmisTmsScanRecordResult">
select id, main_bill_code as bill_code,
order_sn, scan_type,
pre_or_next_station, pre_or_next_station_code,
pre_or_next_station_phone, pre_or_next_man_code, pre_or_next_man_phone, max(scan_date) as scan_date, scan_man_code,
scan_man_phone, scan_man, pre_or_next_man, scan_site, scan_site_code, scan_site_phone,
scan_weight, weight, dest_site_code, dest_code, dispatch_or_send_man,
dispatch_or_send_man_code, dispatch_or_send_man_phone, sign_date, sign_man,
sign_site, sign_site_code, record_man, record_man_code, record_man_phone,
record_site_code, car_no, bag_no, truck_man, truck_code, data_from, pic_url,
public_trace_info, inner_trace_info, status, del_flag, create_by, create_time,
update_by, update_time, remark, update_site, create_site
from emis_tms_scan_record a
where a.del_flag='0'
<if test="scanSiteCode != null and scanSiteCode != ''"> and scan_site_code=#{scanSiteCode}</if>
<if test="scanType != null and scanType != ''"> and scan_type=#{scanType}</if>
<if test="preOrNextStationCode != null and preOrNextStationCode != ''"> and pre_or_next_station_code=#{preOrNextStationCode}</if>
<if test="scanManCode != null and scanManCode != ''"> and scan_man_code=#{scanManCode}</if>
<if test="params.beginScanDate != null and params.beginScanDate != ''">
and a.scan_date <![CDATA[ >= ]]> #{params.beginScanDate}
</if>
<if test="params.endScanDate != null and params.endScanDate != ''">
and a.scan_date <![CDATA[ <= ]]> #{params.endScanDate}
</if>
<if test="params.privSiteCode != null and params.privSiteCode != '88888'">
and (
a.scan_site_code in (
SELECT t1.site_code FROM (
SELECT * FROM emis_site WHERE parent_site_code IS NOT NULL ) t1,( SELECT @pid :=
#{params.privSiteCode} ) pd
WHERE FIND_IN_SET( parent_site_code, @pid ) > 0 AND @pid := concat(@pid,',',site_code)
UNION
SELECT #{params.privSiteCode} FROM dual
)
)
</if>
and exists (select 1 from emis_waybill ewb where ewb.bl_sign != '1' and ewb.bill_code=a.main_bill_code)
group by main_bill_code
</select>
<!-- 获取订单最后一条扫描记录 -->
<select id="selectLastRecordByBillCode" parameterType="string" resultMap="EmisTmsScanRecordResult">
select id, bill_code, main_bill_code, order_sn, scan_type, pre_or_next_station, pre_or_next_station_code, pre_or_next_station_phone, pre_or_next_man_code, pre_or_next_man_phone, scan_date, scan_man_code, scan_man_phone, scan_man, pre_or_next_man, scan_site, scan_site_code, scan_site_phone, scan_weight, weight, dest_site_code, dest_code, dispatch_or_send_man, dispatch_or_send_man_code, dispatch_or_send_man_phone, sign_date, sign_man, sign_site, sign_site_code, record_man, record_man_code, record_man_phone, record_site_code, car_no, bag_no, truck_man, truck_code, data_from, pic_url, public_trace_info, inner_trace_info, status, del_flag, create_by, create_time, update_by, update_time, remark, update_site, create_site
select id, bill_code, main_bill_code,bl_sub_bill, order_sn, scan_type, pre_or_next_station, pre_or_next_station_code, pre_or_next_station_phone, pre_or_next_man_code, pre_or_next_man_phone, scan_date, scan_man_code, scan_man_phone, scan_man, pre_or_next_man, scan_site, scan_site_code, scan_site_phone, scan_weight, weight, dest_site_code, dest_code, dispatch_or_send_man, dispatch_or_send_man_code, dispatch_or_send_man_phone, sign_date, sign_man, sign_site, sign_site_code, record_man, record_man_code, record_man_phone, record_site_code, car_no, bag_no, truck_man, truck_code, data_from, pic_url, public_trace_info, inner_trace_info, status, del_flag, create_by, create_time, update_by, update_time, remark, update_site, create_site
from emis_tms_scan_record a
where del_flag='0' and a.bill_code = #{billCode}
order by create_time desc limit 1
@ -221,17 +171,16 @@
<!-- 根据主单获取物流轨迹 -->
<select id="selectTraceListByBillCode" parameterType="string" resultMap="EmisTmsScanRecordResult">
<include refid="selectEmisTmsScanRecordVo"/>
where del_flag='0' and main_bill_code = #{billCode}
where del_flag='0' and bill_code = #{billCode}
order by create_time desc
</select>
<sql id="selectEmisTmsScanRecordVo">
select id, bill_code, main_bill_code, order_sn, scan_type, pre_or_next_station, pre_or_next_station_code, pre_or_next_station_phone, pre_or_next_man_code, pre_or_next_man_phone, scan_date, scan_man_code, scan_man_phone, scan_man, pre_or_next_man, scan_site, scan_site_code, scan_site_phone, scan_weight, weight, dest_site_code, dest_code, dispatch_or_send_man, dispatch_or_send_man_code, dispatch_or_send_man_phone, sign_date, sign_man, sign_site, sign_site_code, record_man, record_man_code, record_man_phone, record_site_code, car_no, bag_no, truck_man, truck_code, data_from, pic_url, public_trace_info, inner_trace_info, status, del_flag, create_by, create_time, update_by, update_time, remark, update_site, create_site from emis_tms_scan_record
select id, bill_code, main_bill_code, bl_sub_bill, order_sn, scan_type, pre_or_next_station, pre_or_next_station_code, pre_or_next_station_phone, pre_or_next_man_code, pre_or_next_man_phone, scan_date, scan_man_code, scan_man_phone, scan_man, pre_or_next_man, scan_site, scan_site_code, scan_site_phone, scan_weight, weight, dest_site_code, dest_code, dispatch_or_send_man, dispatch_or_send_man_code, dispatch_or_send_man_phone, sign_date, sign_man, sign_site, sign_site_code, record_man, record_man_code, record_man_phone, record_site_code, car_no, bag_no, truck_man, truck_code, data_from, pic_url, public_trace_info, inner_trace_info, status, del_flag, create_by, create_time, update_by, update_time, remark, update_site, create_site from emis_tms_scan_record
</sql>
<select id="selectEmisTmsScanRecordList" parameterType="EmisTmsScanRecord" resultMap="EmisTmsScanRecordResult">
<include refid="selectEmisTmsScanRecordVo"/>
<where>
@ -310,6 +259,22 @@
and pic_url is null
</if>
<if test="blSubBill != null and blSubBill == 1 ">
and bl_sub_bill='1'
</if>
<if test="blSubBill != null and blSubBill == 0 ">
and bl_sub_bill='0'
</if>
<if test="params.blSubBill != null and params.blSubBill == 1 ">
and bl_sub_bill='1'
</if>
<if test="params.blSubBill != null and params.blSubBill == 0 ">
and bl_sub_bill='0'
</if>
<if test="params.privSiteCode != null and params.privSiteCode != '88888'">
and scan_site_code in (
@ -343,11 +308,41 @@
</select>
<!--快件跟踪服务查询,没有权限限制-->
<select id="queryScanWaybillList" parameterType="EmisTmsScanRecord" resultMap="EmisTmsScanRecordResult">
select distinct bill_code, main_bill_code
from emis_tms_scan_record a
<where>
del_flag='0'
<if test="billCode != null and billCode != ''"> and ( FIND_IN_SET(`bill_code`,#{billCode}) or FIND_IN_SET(`main_bill_code`,#{billCode}) or bill_code like concat('%', #{billCode}, '%') ) </if>
<if test="blSubBill != null and blSubBill == 1 ">
and bl_sub_bill='1'
</if>
<if test="blSubBill != null and blSubBill == 0 ">
and bl_sub_bill='0'
</if>
</where>
ORDER BY
<if test="params.orderSnSortList != null and params.orderSnSortList.size >0 ">
FIELD
<foreach collection="params.orderSnSortList" item="item" open="(order_sn," separator="," close=")">
#{item}
</foreach>
,
</if>
<if test="params.billCodeSortList != null and params.billCodeSortList.size >0 ">
FIELD
<foreach collection="params.billCodeSortList" item="item" open="(bill_code," separator="," close=")">
#{item}
</foreach>
,
</if>
create_time desc
</select>
<!-- and params.queryType = 2-->
<select id="selectEmisTmsScanRecordById" parameterType="Long" resultMap="EmisTmsScanRecordResult">
select id, bill_code, main_bill_code, order_sn, scan_type, pre_or_next_station, pre_or_next_station_code, pre_or_next_station_phone, pre_or_next_man_code, pre_or_next_man_phone, scan_date, scan_man_code, scan_man_phone, scan_man, pre_or_next_man, scan_site, scan_site_code, scan_site_phone, scan_weight, weight, dest_site_code, dest_code, dispatch_or_send_man, dispatch_or_send_man_code, dispatch_or_send_man_phone, sign_date, sign_man, sign_site, sign_site_code, record_man, record_man_code, record_man_phone, record_site_code, car_no, bag_no, truck_man, truck_code, data_from, pic_url, public_trace_info, inner_trace_info, status, del_flag, create_by, create_time, update_by, update_time, remark, update_site, create_site
select id, bill_code, main_bill_code, bl_sub_bill, order_sn, scan_type, pre_or_next_station, pre_or_next_station_code, pre_or_next_station_phone, pre_or_next_man_code, pre_or_next_man_phone, scan_date, scan_man_code, scan_man_phone, scan_man, pre_or_next_man, scan_site, scan_site_code, scan_site_phone, scan_weight, weight, dest_site_code, dest_code, dispatch_or_send_man, dispatch_or_send_man_code, dispatch_or_send_man_phone, sign_date, sign_man, sign_site, sign_site_code, record_man, record_man_code, record_man_phone, record_site_code, car_no, bag_no, truck_man, truck_code, data_from, pic_url, public_trace_info, inner_trace_info, status, del_flag, create_by, create_time, update_by, update_time, remark, update_site, create_site
from emis_tms_scan_record a
where a.id = #{id}
</select>
@ -358,6 +353,7 @@
<if test="id != null">id,</if>
<if test="billCode != null and billCode != ''">bill_code,</if>
<if test="mainBillCode != null and mainBillCode != ''">main_bill_code,</if>
<if test="blSubBill != null and blSubBill != ''">bl_sub_bill,</if>
<if test="orderSn != null and orderSn != ''">order_sn,</if>
<if test="scanType != null and scanType != ''">scan_type,</if>
<if test="preOrNextStation != null and preOrNextStation != ''">pre_or_next_station,</if>
@ -410,6 +406,7 @@
<if test="id != null">#{id},</if>
<if test="billCode != null and billCode != ''">#{billCode},</if>
<if test="mainBillCode != null and mainBillCode != ''">#{mainBillCode},</if>
<if test="blSubBill != null and blSubBill != ''">#{blSubBill},</if>
<if test="orderSn != null and orderSn != ''">#{orderSn},</if>
<if test="scanType != null and scanType != ''">#{scanType},</if>
<if test="preOrNextStation != null and preOrNextStation != ''">#{preOrNextStation},</if>
@ -463,6 +460,10 @@
<update id="updateEmisTmsScanRecord" parameterType="EmisTmsScanRecord">
update emis_tms_scan_record
<trim prefix="SET" suffixOverrides=",">
<if test="billCode != null and billCode != ''">bill_code = #{billCode},</if>
<if test="mainBillCode != null and mainBillCode != ''">main_bill_code = #{mainBillCode},</if>
<if test="blSubBill != null and blSubBill != ''">bl_sub_bill = #{blSubBill},</if>
<if test="orderSn != null and orderSn != ''">order_sn = #{orderSn},</if>
<if test="scanType != null and scanType != ''">scan_type = #{scanType},</if>
<if test="preOrNextStation != null and preOrNextStation != ''">pre_or_next_station = #{preOrNextStation},</if>
<if test="preOrNextStationCode != null and preOrNextStationCode != ''">pre_or_next_station_code = #{preOrNextStationCode},</if>