This commit is contained in:
linfso 2024-05-02 00:18:28 +08:00
parent 1294ecde8f
commit 20f53510df
4 changed files with 178 additions and 44 deletions

View File

@ -5,15 +5,15 @@ import lombok.Getter;
@Getter @Getter
public enum EmisBizErrorType { public enum EmisBizErrorType {
PARAM_ERROR1("E0001", "参数不完整"),
CALC_FEE_ERROR("E0001", "运费计算错误"),
CALC_WEIGHT_ERROR("E0002", "重量计算错误"),
CALC_QUOTE_ERROR("E3002", "报价未配置"), PARAM_ERROR1("E001", "参数不完整"),
CALC_FEE_ERROR("E002", "运费计算错误"),
CALC_WEIGHT_ERROR("E003", "重量计算错误"),
CALC_QUOTE_ERROR("E004", "报价未配置"),
BILL_LOCK("E901", "已锁账,不允许修改"),
BILL_LOCK("E9001", "已锁账,不允许修改"), NOT_EXISTS("E902","运单不存在"),
SUCCESS("0000", "成功"), SUCCESS("0000", "成功"),
FAIL("9999", "失败"), FAIL("9999", "失败"),

View File

@ -2,32 +2,130 @@ package com.xdadan.erp.emis.domain.enumtype;
public enum ScanType { public enum ScanType {
ACCEPT("收件扫描"), // 1 收件
GOT("揽件扫描"), // 2 发件
ARRIVAL("入中转"), // 3 到件
DEPARTURE("出中转"), // 4 派件
SENT("派件中"), // 5 客户签收
INBOUND("第三方代收入库"), // 10 订单创建成功
OUTBOUND("第三方代收快递员取出"), // 100 等待派送
SIGNED("已签收"), // 150 仓库入库
SIGNFAIL("签收失败"), // 180 干线集包
RETURN("退回件"), // 190 仓库出口
ISSUE("问题件"), // 200 干线揽收成功
REJECTION("拒收"), // 220 干线航班起飞
OTHER("其他"), // 221 干线海运出港
OVERSEA_IN("入库扫描"), // 222 干线车辆出发
OVERSEA_OUT("出库扫描"), // 230 干线航班落地
CLEARANCE_START("清关开始"), // 231 干线船舶到港
CLEARANCE_FINISH("清关结束"), // 232 干线车辆到达
CLEARANCE_FAIL("清关失败"), // 330 清关提货
OVERSEA_ARRIVAL("干线到达"), // 360 清关中
OVERSEA_DEPARTURE("干线离开"), // 370 清关放行
TRANSFER("转单"), // 415 运输中
// 430 海外签收
// 730 退货完成
// -1 问题件
//-------------------------
/*
10 揽收扫描
20 发件扫描
30 到件扫描
40 派件扫描
50 签收扫描
51 签收异常
52 拒收
60 退回件
70 留仓扫描
80 转单扫描
-1 问题件
100 入库扫描
101 出库扫描
200 合包扫描
201 拆包扫描
301 装车扫描
302 卸车扫描
700 报关扫描
701 报关放行
702 清关失败
800 清关扫描
801 清关放行
802 清关失败
999 其它
*/
INIT(0,"创建成功"),
GOT(10,"揽件扫描"),
DEPARTURE(20,"发件扫描"),
ARRIVAL(30,"到件扫描"),
SENT(40,"派送扫描"),
SIGNED(50,"签收扫描"),
SIGNFAIL(51,"签收异常"),
REJECTION(52,"拒收"),
RETURN(60,"退回件"),
HOLD(70,"留仓"),
TRANSFER(80,"转单"),
ISSUE(-1,"问题件"),
// ----------------
INBOUND(100,"入库扫描"),
OUTBOUND(101,"出库扫描"),
CO_PACKING(200,"合包扫描"),
UN_PACKING(201,"拆包扫描"),
LOADING(301,"装车扫描"),
UN_LOADING(302,"卸车扫描"),
DECLEARE(700,"报关扫描"),
DECLEARE_SUCCESS(701,"报关放行"),
DECLEARE_FAIL(702,"报关失败"),
CLEARANCE(800,"清关开始"),
CLEARANCE_SUCCESS(801,"清关放行"),
CLEARANCE_FAIL(802,"清关失败"),
OTHER(999,"其他"),
// OVERSEA_IN("海外入库扫描"),
// OVERSEA_OUT("海外出库扫描"),
// ARRIVAL("入中转"),
// DEPARTURE("出中转"),
// SENT("派件中"),
// SIGNED("已签收"),
// SIGNFAIL("签收失败"),
// RETURN("退回件"),
// ISSUE("问题件"),
// REJECTION("拒收"),
// OTHER("其他"),
//
// CLEARANCE_START("清关开始"),
// CLEARANCE_FINISH("清关结束"),
// CLEARANCE_FAIL("清关失败"),
// OVERSEA_ARRIVAL("干线到达"),
// OVERSEA_DEPARTURE("干线离开"),
// TRANSFER("转单"),
; ;
private String label; private Integer opCode;
private String opName;
ScanType(String label) { ScanType(Integer opCode,String opName) {
this.label = label; this.opCode = opCode;
this.opName = opName;
} }
} }

View File

@ -17,7 +17,9 @@ package com.xdadan.erp.emis.service;
import com.xdadan.erp.common.utils.DateUtils; import com.xdadan.erp.common.utils.DateUtils;
import com.xdadan.erp.common.utils.SecurityUtils; import com.xdadan.erp.common.utils.SecurityUtils;
import com.xdadan.erp.emis.domain.*; import com.xdadan.erp.emis.domain.*;
import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType;
import com.xdadan.erp.emis.domain.enumtype.ScanType; import com.xdadan.erp.emis.domain.enumtype.ScanType;
import com.xdadan.erp.emis.domain.exception.EmisBizError;
import com.xdadan.erp.emis.domain.vo.WaybillOrder; import com.xdadan.erp.emis.domain.vo.WaybillOrder;
import com.xdadan.erp.emis.domain.vo.scan.ScanResultItem; import com.xdadan.erp.emis.domain.vo.scan.ScanResultItem;
import com.xdadan.erp.emis.mapper.*; import com.xdadan.erp.emis.mapper.*;
@ -95,6 +97,16 @@ public class EmisBaseService {
return SecurityUtils.getLoginUser().getUser(); return SecurityUtils.getLoginUser().getUser();
} }
public EmisWaybill getWaybillByBillCode(String billCode){
if(!StringUtils.isEmpty(billCode)){
return null;
}
return emisWaybillMapper.selectEmisWaybillByBillCode(billCode);
}
public EmisSite getSiteByCode(String siteCode){ public EmisSite getSiteByCode(String siteCode){
EmisSite querySite = new EmisSite(); EmisSite querySite = new EmisSite();
querySite.setSiteCode(siteCode); querySite.setSiteCode(siteCode);
@ -110,6 +122,19 @@ public class EmisBaseService {
return sysUserMapper.selectUserByUserName(empCode); return sysUserMapper.selectUserByUserName(empCode);
} }
private void checkWabillCanScan(String scanType,EmisWaybill waybill) throws EmisBizError{
if(waybill == null){
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS,"运单不存在");
}
// if(waybill.getWaybillStatus()){
//
// }
}
public List<ScanResultItem> checkCanScan(String scanType,Map<String,Object> scanDataItem){ public List<ScanResultItem> checkCanScan(String scanType,Map<String,Object> scanDataItem){
List<ScanResultItem> itemList = new ArrayList<>(); List<ScanResultItem> itemList = new ArrayList<>();
@ -182,12 +207,14 @@ public class EmisBaseService {
for (String billCodeItem:billCodeArr) { for (String billCodeItem:billCodeArr) {
ScanResultItem scanResultItem = new ScanResultItem(); ScanResultItem scanResultItem = new ScanResultItem();
scanResultItem.setBillCode(billCode); scanResultItem.setBillCode(billCode);
// 检查区间 // 检查数据
EmisWaybill emisWaybill = getWaybillByBillCode(billCode);
scanResultItem.setResult("success"); scanResultItem.setResult("success");
scanResultItem.setMessage("允许操作"); scanResultItem.setMessage("允许操作");
// 检查操作员
if(ScanType.ACCEPT.name().equals(scanType)){
EmisTmsScanRecord emisTmsScanRecord=new EmisTmsScanRecord(); EmisTmsScanRecord emisTmsScanRecord=new EmisTmsScanRecord();
@ -201,6 +228,11 @@ public class EmisBaseService {
emisTmsScanRecord.setScanSiteCode(getCurrentUser().getOwnerSiteCode()); emisTmsScanRecord.setScanSiteCode(getCurrentUser().getOwnerSiteCode());
EmisSite scanSite=getSiteByCode(emisTmsScanRecord.getScanSiteCode()); EmisSite scanSite=getSiteByCode(emisTmsScanRecord.getScanSiteCode());
// 检查操作员
if(ScanType.ACCEPT.name().equals(scanType)){
if(scanSite!=null){ if(scanSite!=null){
emisTmsScanRecord.setScanSitePhone(scanSite.getPhone()); emisTmsScanRecord.setScanSitePhone(scanSite.getPhone());
} }

View File

@ -294,8 +294,6 @@
<if test="createSite != null and createSite != ''"> and create_site like concat('%', #{createSite}, '%')</if> <if test="createSite != null and createSite != ''"> and create_site like concat('%', #{createSite}, '%')</if>
<if test="updateSite != null and updateSite != ''"> and update_site like concat('%', #{updateSite}, '%')</if> <if test="updateSite != null and updateSite != ''"> and update_site like concat('%', #{updateSite}, '%')</if>
<if test="parentSiteCode != null and parentSiteCode != ''"> <if test="parentSiteCode != null and parentSiteCode != ''">
<choose> <choose>
<!-- 子网点 --> <!-- 子网点 -->
@ -312,6 +310,12 @@
</otherwise> </otherwise>
</choose> </choose>
</if> </if>
<if test="searchValue != null and searchValue != ''">
AND ( site_code like concat(#{searchValue}, '%') or site_name like concat(#{searchValue}, '%') )
</if>
</where> </where>
order by order_num desc order by order_num desc
</select> </select>