diff --git a/emis-biz/emis-biz.iml b/emis-biz/emis-biz.iml
index d2900522d..bf01fc5c1 100644
--- a/emis-biz/emis-biz.iml
+++ b/emis-biz/emis-biz.iml
@@ -202,5 +202,6 @@
+
\ No newline at end of file
diff --git a/emis-biz/pom.xml b/emis-biz/pom.xml
index 2c0ef935d..772225e7e 100644
--- a/emis-biz/pom.xml
+++ b/emis-biz/pom.xml
@@ -31,6 +31,12 @@
aviator
5.2.4
+
+ com.xdadan
+ emis-system
+ 1.0.1
+ compile
+
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsScanRecord.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsScanRecord.java
index 97cf973d1..c290a230d 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsScanRecord.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsScanRecord.java
@@ -2,7 +2,7 @@
* @Project: emis
* @Title: EmisTmsScanRecord.java
* @author linfso
- * @date 2024-04-30 14:46:25
+ * @date 2024-04-30 15:10:40
* @Copyright: ShangHai Duta 2022 All rights reserved.
* @version v1.0
* @Description:
TMS扫描记录 实体类
@@ -26,7 +26,7 @@ import lombok.Data;
* @ClassName EmisTmsScanRecord
* @Description TMS扫描记录
* @author linfso
- * @date 2024-04-30 14:46:25
+ * @date 2024-04-30 15:10:40
*/
@Data
public class EmisTmsScanRecord extends BaseEntity
@@ -50,11 +50,16 @@ public class EmisTmsScanRecord extends BaseEntity
/* 上下一站点人员电话 */
private String preOrNextManPhone;
/* 扫描时间 */
- private String scanDate;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date scanDate;
/* 扫描员代码 */
private String scanManCode;
/* 扫描员电话 */
private String scanManPhone;
+ /* 扫描员 */
+ private String scanMan;
+ /* 上下一站点人员 */
+ private String preOrNextMan;
/* 扫描站点 */
private String scanSite;
/* 扫描站点代码 */
@@ -62,9 +67,9 @@ public class EmisTmsScanRecord extends BaseEntity
/* 扫描网点代码 */
private String scanSitePhone;
/* 扫描重量 */
- private String scanWeight;
+ private BigDecimal scanWeight;
/* 重量 */
- private String weight;
+ private BigDecimal weight;
/* 派件或取件人 */
private String dispatchOrSendMan;
/* 派件或取件人代码 */
@@ -81,6 +86,8 @@ public class EmisTmsScanRecord extends BaseEntity
/* 签收站点代码 */
private String signSiteCode;
/* 录入人代码 */
+ private String recordMan;
+ /* 录入人代码 */
private String recordManCode;
/* 录入人电话 */
private String recordManPhone;
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java
index 72220d710..c340acd25 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java
@@ -26,6 +26,7 @@ package com.xdadan.erp.emis.service;
import com.xdadan.erp.emis.service.IEmisWaybillFeeitemService;
import com.xdadan.erp.emis.service.IEmisWaybillService;
import com.xdadan.erp.emis.utils.WaybillHelper;
+ import com.xdadan.erp.system.mapper.SysUserMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -33,6 +34,7 @@ package com.xdadan.erp.emis.service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+ import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -64,16 +66,25 @@ public class EmisBaseService {
protected EmisTransProductMapper emisTransProductMapper;
@Autowired
- private EmisNotCalcAgingMapper emisNotCalcAgingMapper;
+ protected EmisNotCalcAgingMapper emisNotCalcAgingMapper;
@Autowired
- private EmisQuotePriceMapper emisQuotePriceMapper;
+ protected EmisQuotePriceMapper emisQuotePriceMapper;
@Autowired
- private EmisCustomerUserMapper emisCustomerUserMapper;
+ protected EmisCustomerUserMapper emisCustomerUserMapper;
@Autowired
- EmisCustomerAddressMapper emisCustomerAddressMapper;
+ protected EmisCustomerAddressMapper emisCustomerAddressMapper;
+
+ @Autowired
+ protected EmisTmsScanRecordMapper emisTmsScanRecordMapper;
+
+ @Autowired
+ private EmisSiteMapper emisSiteMapper;
+
+ @Autowired
+ private SysUserMapper sysUserMapper;
/**
@@ -84,6 +95,20 @@ public class EmisBaseService {
return SecurityUtils.getLoginUser().getUser();
}
+ public EmisSite getSiteByCode(String siteCode){
+ EmisSite querySite = new EmisSite();
+ querySite.setSiteCode(siteCode);
+ List siteList=emisSiteMapper.selectEmisSiteList(querySite);
+ if(!CollectionUtils.isEmpty(siteList)){
+ return siteList.get(0);
+ }
+
+ return null;
+ }
+
+ public SysUser getEmisStaffByCode(String empCode){
+ return sysUserMapper.selectUserByUserName(empCode);
+ }
public List checkCanScan(String scanType,Map scanDataItem){
@@ -119,6 +144,103 @@ public class EmisBaseService {
return itemList;
}
+ /**
+ * 扫描操作
+ * @param scanType
+ * @param scanDataItem
+ * @return
+ */
+ public List doScan(String scanType,Map scanDataItem){
+
+ List itemList = new ArrayList<>();
+ String billCode = (String)scanDataItem.get("billCode");
+ if(StringUtils.isEmpty(billCode)){
+ ScanResultItem scanResultItem = new ScanResultItem();
+ scanResultItem.setBillCode(billCode);
+ scanResultItem.setResult("fail");
+ scanResultItem.setMessage("billCode为空");
+ itemList.add(scanResultItem);
+ return itemList;
+ }
+
+ // 开始检查数据
+ String[] billCodeArr = billCode.split(",");
+ String scanDateStr = (String)scanDataItem.get("scanDate");
+ String scanWeightStr = (String)scanDataItem.get("scanWeight");
+ String dispatchOrSendManCode = (String)scanDataItem.get("dispatchOrSendManCode");
+
+ Date scanDate = DateUtils.parseDate(scanDateStr);;
+ if(scanDate ==null){
+ scanDate = new Date();
+ }
+
+ double scanWeight = 0.0D;
+ if(!StringUtils.isEmpty(scanWeightStr)){
+ scanWeight= Double.valueOf(scanWeightStr);
+ }
+
+ for (String billCodeItem:billCodeArr) {
+ ScanResultItem scanResultItem = new ScanResultItem();
+ scanResultItem.setBillCode(billCode);
+ // 检查区间
+ scanResultItem.setResult("success");
+ scanResultItem.setMessage("允许操作");
+
+ // 检查操作员
+ if(ScanType.ACCEPT.name().equals(scanType)){
+
+ EmisTmsScanRecord emisTmsScanRecord=new EmisTmsScanRecord();
+
+ emisTmsScanRecord.setBillCode(billCode);
+ emisTmsScanRecord.setScanType(scanType);
+ emisTmsScanRecord.setScanDate(scanDate);
+ emisTmsScanRecord.setScanManCode(getCurrentUser().getEmpCode());
+ emisTmsScanRecord.setScanManPhone(getCurrentUser().getPhonenumber());
+ emisTmsScanRecord.setScanMan(getCurrentUser().getEmpName());
+ emisTmsScanRecord.setScanSite(getCurrentUser().getOwnerSiteName());
+ emisTmsScanRecord.setScanSiteCode(getCurrentUser().getOwnerSiteCode());
+
+ EmisSite scanSite=getSiteByCode(emisTmsScanRecord.getScanSiteCode());
+ if(scanSite!=null){
+ emisTmsScanRecord.setScanSitePhone(scanSite.getPhone());
+ }
+
+ emisTmsScanRecord.setWeight(BigDecimal.valueOf(scanWeight));
+
+ emisTmsScanRecord.setDispatchOrSendManCode(dispatchOrSendManCode);
+ SysUser emUser=getEmisStaffByCode(dispatchOrSendManCode);
+ if(emUser!=null){
+ emisTmsScanRecord.setDispatchOrSendMan(emUser.getEmpName());
+ emisTmsScanRecord.setDispatchOrSendManPhone(emUser.getPhonenumber());
+ }
+
+// emisTmsScanRecord.setSignDate(ObjectB.getSignDate());
+// emisTmsScanRecord.setSignMan(ObjectB.getSignMan());
+// emisTmsScanRecord.setSignSite(ObjectB.getSignSite());
+// emisTmsScanRecord.setSignSiteCode(ObjectB.getSignSiteCode());
+ emisTmsScanRecord.setRecordMan(getCurrentUser().getEmpName());
+ emisTmsScanRecord.setRecordManCode(getCurrentUser().getEmpCode());
+ emisTmsScanRecord.setRecordManPhone(getCurrentUser().getPhonenumber());
+ emisTmsScanRecord.setRecordSiteCode(getCurrentUser().getOwnerSiteCode());
+// emisTmsScanRecord.setTruckMan(ObjectB.getTruckMan());
+// emisTmsScanRecord.setTruckCode(ObjectB.getTruckCode());
+ emisTmsScanRecord.setDataFrom("pc");
+// emisTmsScanRecord.setPicUrl(ObjectB.getPicUrl());
+ emisTmsScanRecord.setStatus("1");
+
+ emisTmsScanRecord.preInsert();
+
+ emisTmsScanRecordMapper.insertEmisTmsScanRecord(emisTmsScanRecord);
+
+ }
+
+ itemList.add(scanResultItem);
+
+ }
+
+ return itemList;
+ }
+
/**
* 产生客户编码 规则: siteCode+ 000000
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java
index 16689e006..16956e2d3 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java
@@ -117,7 +117,13 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
scanResult.setScanType(scanInfo.getScanType());
scanResult.setOpType(scanInfo.getOpType());
List resultList = new ArrayList<>();
- if(scanInfo.getOpType()==1){
+ if(scanInfo.getOpType()==2){
+ for (Map item: scanInfo.getScanData()) {
+ List itemCheckList=doScan(scanInfo.getScanType(),item);
+ resultList.addAll(itemCheckList);
+ }
+ }
+ else{
for (Map item: scanInfo.getScanData()) {
List itemCheckList=checkCanScan(scanInfo.getScanType(),item);
resultList.addAll(itemCheckList);
diff --git a/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml b/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml
index 9aef7b602..a973b8dfa 100644
--- a/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml
+++ b/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml
@@ -16,6 +16,8 @@
+
+
@@ -28,6 +30,7 @@
+
@@ -47,7 +50,7 @@
- select id, bill_code, 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_site, scan_site_code, scan_site_phone, scan_weight, weight, 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_code, record_man_phone, record_site_code, truck_man, truck_code, data_from, pic_url, 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, 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, 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, truck_man, truck_code, data_from, pic_url, status, del_flag, create_by, create_time, update_by, update_time, remark, update_site, create_site from emis_tms_scan_record
@@ -113,14 +119,16 @@
pre_or_next_station_phone,
pre_or_next_man_code,
pre_or_next_man_phone,
- scan_date,
+ 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,
+ scan_weight,
+ weight,
dispatch_or_send_man,
dispatch_or_send_man_code,
dispatch_or_send_man_phone,
@@ -128,6 +136,7 @@
sign_man,
sign_site,
sign_site_code,
+ record_man,
record_man_code,
record_man_phone,
record_site_code,
@@ -154,14 +163,16 @@
#{preOrNextStationPhone},
#{preOrNextManCode},
#{preOrNextManPhone},
- #{scanDate},
+ #{scanDate},
#{scanManCode},
#{scanManPhone},
+ #{scanMan},
+ #{preOrNextMan},
#{scanSite},
#{scanSiteCode},
#{scanSitePhone},
- #{scanWeight},
- #{weight},
+ #{scanWeight},
+ #{weight},
#{dispatchOrSendMan},
#{dispatchOrSendManCode},
#{dispatchOrSendManPhone},
@@ -169,6 +180,7 @@
#{signMan},
#{signSite},
#{signSiteCode},
+ #{recordMan},
#{recordManCode},
#{recordManPhone},
#{recordSiteCode},
@@ -198,14 +210,16 @@
pre_or_next_station_phone = #{preOrNextStationPhone},
pre_or_next_man_code = #{preOrNextManCode},
pre_or_next_man_phone = #{preOrNextManPhone},
- scan_date = #{scanDate},
+ scan_date = #{scanDate},
scan_man_code = #{scanManCode},
scan_man_phone = #{scanManPhone},
+ scan_man = #{scanMan},
+ pre_or_next_man = #{preOrNextMan},
scan_site = #{scanSite},
scan_site_code = #{scanSiteCode},
scan_site_phone = #{scanSitePhone},
- scan_weight = #{scanWeight},
- weight = #{weight},
+ scan_weight = #{scanWeight},
+ weight = #{weight},
dispatch_or_send_man = #{dispatchOrSendMan},
dispatch_or_send_man_code = #{dispatchOrSendManCode},
dispatch_or_send_man_phone = #{dispatchOrSendManPhone},
@@ -213,6 +227,7 @@
sign_man = #{signMan},
sign_site = #{signSite},
sign_site_code = #{signSiteCode},
+ record_man = #{recordMan},
record_man_code = #{recordManCode},
record_man_phone = #{recordManPhone},
record_site_code = #{recordSiteCode},