demand: 运单录入界面-缅甸虚拟单调整
committer: heyu
This commit is contained in:
parent
501319d514
commit
97ff62ca74
@ -108,6 +108,17 @@ public class EmisWaybillController extends EmisBaseController
|
|||||||
return AjaxResult.success("操作成功", emisBaseService.checkWaybillIsExists(billCode));
|
return AjaxResult.success("操作成功", emisBaseService.checkWaybillIsExists(billCode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询主单号列表
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/getMasterBillCodes")
|
||||||
|
public TableDataInfo getMasterBillCodes(EmisWaybill emisWaybill){
|
||||||
|
startPage();
|
||||||
|
emisWaybill.getParams().put("privSiteCode", getLoginUser().getUser().getOwnerSiteCode());
|
||||||
|
List<String> list = emisWaybillService.selectMasterBillCodes(emisWaybill);
|
||||||
|
return getDataTable(list);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取运单信息
|
* 获取运单信息
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -314,6 +314,8 @@ public class EmisWaybill extends BaseEntity
|
|||||||
private String blOverLong;
|
private String blOverLong;
|
||||||
/* 是否虚拟单 */
|
/* 是否虚拟单 */
|
||||||
private String blVirtual;
|
private String blVirtual;
|
||||||
|
/* 主单号 */
|
||||||
|
private String masterBillCode;
|
||||||
|
|
||||||
/* 是否付款 */
|
/* 是否付款 */
|
||||||
private String blBill;
|
private String blBill;
|
||||||
|
|||||||
@ -389,6 +389,10 @@ public class WaybillOrder implements Serializable {
|
|||||||
|
|
||||||
/* 箱量 */
|
/* 箱量 */
|
||||||
private String boxQuantity;
|
private String boxQuantity;
|
||||||
|
/* 是否虚拟单 0:否,1:是,默认为0 */
|
||||||
|
private String blVirtual;
|
||||||
|
/* 主单号 */
|
||||||
|
private String masterBillCode;
|
||||||
|
|
||||||
// 销售,回款
|
// 销售,回款
|
||||||
// private String salesmenName;
|
// private String salesmenName;
|
||||||
@ -732,6 +736,10 @@ public class WaybillOrder implements Serializable {
|
|||||||
dbWaybill.setUserId(this.getUserId());
|
dbWaybill.setUserId(this.getUserId());
|
||||||
dbWaybill.setCustomerCode(this.getCustomerCode());
|
dbWaybill.setCustomerCode(this.getCustomerCode());
|
||||||
|
|
||||||
|
// 虚拟单
|
||||||
|
dbWaybill.setBlVirtual(this.getBlVirtual());
|
||||||
|
dbWaybill.setMasterBillCode(this.getMasterBillCode());
|
||||||
|
|
||||||
// dbWaybill.setCustomerName(this.getCustomerName());
|
// dbWaybill.setCustomerName(this.getCustomerName());
|
||||||
// dbWaybill.setReceiveCustomerCode(this.getReceiveCustomerCode());
|
// dbWaybill.setReceiveCustomerCode(this.getReceiveCustomerCode());
|
||||||
// dbWaybill.setReceiveCustomerName(this.getReceiveCustomerName());
|
// dbWaybill.setReceiveCustomerName(this.getReceiveCustomerName());
|
||||||
|
|||||||
@ -304,4 +304,12 @@ public interface EmisWaybillMapper extends BaseMapper<EmisWaybill>
|
|||||||
EmisWaybill selectCustEmisWaybillByBillCode(EmisWaybill queryWaybill);
|
EmisWaybill selectCustEmisWaybillByBillCode(EmisWaybill queryWaybill);
|
||||||
|
|
||||||
EmisWaybill selectEmisWaybillByCustOrderId(String custOrderId);
|
EmisWaybill selectEmisWaybillByCustOrderId(String custOrderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询主单号列表
|
||||||
|
*
|
||||||
|
* @param emisWaybill
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<String> selectMasterBillCodes(EmisWaybill emisWaybill);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -289,4 +289,12 @@ public interface IEmisWaybillService extends IDataAuditService
|
|||||||
* @throws EmisBizError 业务异常
|
* @throws EmisBizError 业务异常
|
||||||
*/
|
*/
|
||||||
void updateWaybillInfo(JSONObject orderData, String appId) throws EmisBizError;
|
void updateWaybillInfo(JSONObject orderData, String appId) throws EmisBizError;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询主单号
|
||||||
|
*
|
||||||
|
* @param emisWaybill
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<String> selectMasterBillCodes(EmisWaybill emisWaybill);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,6 +14,7 @@ package com.xdadan.erp.emis.service.impl;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.beust.jcommander.internal.Lists;
|
||||||
import com.deepoove.poi.XWPFTemplate;
|
import com.deepoove.poi.XWPFTemplate;
|
||||||
import com.deepoove.poi.config.Configure;
|
import com.deepoove.poi.config.Configure;
|
||||||
import com.deepoove.poi.data.PictureType;
|
import com.deepoove.poi.data.PictureType;
|
||||||
@ -135,6 +136,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
@Autowired
|
@Autowired
|
||||||
private EmisCustomerSignMapper emisCustomerSignMapper;
|
private EmisCustomerSignMapper emisCustomerSignMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EmisTmsSiteBatchMapper emisTmsSiteBatchMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取稽核数据
|
* 获取稽核数据
|
||||||
* @param id
|
* @param id
|
||||||
@ -3075,6 +3079,13 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 是否是虚拟问题件
|
||||||
|
if (!StringUtils.isEmpty(emisWaybillSave.getBlVirtual())) {
|
||||||
|
if ("1".equals(emisWaybillSave.getBlVirtual())) {
|
||||||
|
checkVirtual(emisWaybillSave);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 设定为业务开单
|
// 设定为业务开单
|
||||||
emisWaybillSave.setOrderType("1");
|
emisWaybillSave.setOrderType("1");
|
||||||
emisWaybillSave.setOrderDate(new Date());
|
emisWaybillSave.setOrderDate(new Date());
|
||||||
@ -3240,6 +3251,62 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkVirtual(EmisWaybill emisWaybillSave) throws EmisBizError {
|
||||||
|
if (StringUtil.isBlank(emisWaybillSave.getMasterBillCode())) {
|
||||||
|
throw new EmisBizError(EmisBizErrorType.FAIL, "主单号不能为空");
|
||||||
|
}
|
||||||
|
EmisWaybill masterWaybill = emisWaybillMapper
|
||||||
|
.selectEmisWaybillByBillCode(emisWaybillSave.getMasterBillCode());
|
||||||
|
if (Objects.isNull(masterWaybill)) {
|
||||||
|
throw new EmisBizError(EmisBizErrorType.FAIL, "主单号不存在");
|
||||||
|
}
|
||||||
|
if (!emisWaybillSave.getReceiveCountry().equals(masterWaybill.getReceiveCountry())
|
||||||
|
|| !emisWaybillSave.getTransLineType().equals(masterWaybill.getTransLineType())) {
|
||||||
|
throw new EmisBizError(EmisBizErrorType.FAIL, "主单和虚拟单线路不一致");
|
||||||
|
}
|
||||||
|
|
||||||
|
List<EmisTmsSiteBatch> batchList = emisTmsSiteBatchMapper.selectEmisTmsSiteBatchListByBillCodes(
|
||||||
|
Lists.newArrayList(Collections.singleton(emisWaybillSave.getMasterBillCode())));
|
||||||
|
if (CollectionUtil.isNotEmpty(batchList)) {
|
||||||
|
throw new EmisBizError(EmisBizErrorType.FAIL, "该单号已经录入批次,请先在组批次中剔除该运单");
|
||||||
|
}
|
||||||
|
String remark = masterWaybill.getRemark();
|
||||||
|
String virtualBillCode = emisWaybillSave.getBillCode();
|
||||||
|
String virtualBillCodeLastSix = virtualBillCode.substring(virtualBillCode.length() - 6);
|
||||||
|
if (remark != null && remark.contains("该运单为主单,对应虚拟单为")) {
|
||||||
|
// 如果包含关键字,在最后一个虚拟单号后添加新的虚拟单号
|
||||||
|
int lastIndex = remark.lastIndexOf("该运单为主单,对应虚拟单为");
|
||||||
|
String prefix = remark.substring(0, lastIndex + "该运单为主单,对应虚拟单为".length());
|
||||||
|
String suffix = remark.substring(lastIndex + "该运单为主单,对应虚拟单为".length());
|
||||||
|
|
||||||
|
// 处理虚拟单号去重
|
||||||
|
Set<String> virtualBillSet = new LinkedHashSet<>();
|
||||||
|
if (!suffix.trim().isEmpty()) {
|
||||||
|
// 将现有虚拟单号添加到Set中,并去除空格
|
||||||
|
String[] codes = suffix.split(",");
|
||||||
|
for (String code : codes) {
|
||||||
|
String trimmedCode = code.trim();
|
||||||
|
if (!trimmedCode.isEmpty()) {
|
||||||
|
virtualBillSet.add(trimmedCode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 添加新的虚拟单号
|
||||||
|
virtualBillSet.add(virtualBillCodeLastSix);
|
||||||
|
|
||||||
|
// 重新拼接去重后的虚拟单号,保持原有顺序
|
||||||
|
remark = prefix + String.join(",", virtualBillSet);
|
||||||
|
} else {
|
||||||
|
// 如果不包含关键字,在备注末尾添加新的信息
|
||||||
|
remark = (remark != null ? remark + " " : "") + "该运单为主单,对应虚拟单为" + virtualBillCodeLastSix;
|
||||||
|
}
|
||||||
|
EmisWaybill emisWaybill = new EmisWaybill();
|
||||||
|
emisWaybill.setRemark(remark);
|
||||||
|
emisWaybill.setId(masterWaybill.getId());
|
||||||
|
emisWaybillSave.setRemark("该单为虚拟单:对应主单为" + emisWaybillSave.getMasterBillCode());
|
||||||
|
emisWaybillMapper.updateEmisWaybill(emisWaybill);
|
||||||
|
}
|
||||||
|
|
||||||
private void checkCountry(EmisWaybill emisWaybillSave) throws EmisBizError {
|
private void checkCountry(EmisWaybill emisWaybillSave) throws EmisBizError {
|
||||||
EmisTransLine emisTransLine = new EmisTransLine();
|
EmisTransLine emisTransLine = new EmisTransLine();
|
||||||
emisTransLine.setLineCode(emisWaybillSave.getTransLineType());
|
emisTransLine.setLineCode(emisWaybillSave.getTransLineType());
|
||||||
@ -5813,8 +5880,11 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
reUpdateWayBillByOms(oldWaybill, waybillUpdate);
|
reUpdateWayBillByOms(oldWaybill, waybillUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> selectMasterBillCodes(EmisWaybill emisWaybill) {
|
||||||
|
|
||||||
|
return emisWaybillMapper.selectMasterBillCodes(emisWaybill);
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
|||||||
@ -225,6 +225,9 @@
|
|||||||
<result property="customerNickName" column="customer_nick_name" />
|
<result property="customerNickName" column="customer_nick_name" />
|
||||||
<result property="customerAvatar" column="customer_avatar" />
|
<result property="customerAvatar" column="customer_avatar" />
|
||||||
|
|
||||||
|
<result property="blVirtual" column="bl_virtual" />
|
||||||
|
<result property="masterBillCode" column="master_bill_code" />
|
||||||
|
|
||||||
<result property="transType" column="trans_type" />
|
<result property="transType" column="trans_type" />
|
||||||
|
|
||||||
|
|
||||||
@ -298,7 +301,7 @@
|
|||||||
a.goods_type, a.goods_info, a.goods_pics, a.bl_prepare_in_freight, a.prepare_in_est_fee,
|
a.goods_type, a.goods_info, a.goods_pics, a.bl_prepare_in_freight, a.prepare_in_est_fee,
|
||||||
a.prepare_in_real_fee, a.prepare_in_express, a.prepare_in_bill_code, a.prepare_in_remark,
|
a.prepare_in_real_fee, a.prepare_in_express, a.prepare_in_bill_code, a.prepare_in_remark,
|
||||||
a.prepare_in_supplier, a.total_weight, a.total_volume, a.parcel_qty, a.bill_weight, a.volume_weight, a.currency,
|
a.prepare_in_supplier, a.total_weight, a.total_volume, a.parcel_qty, a.bill_weight, a.volume_weight, a.currency,
|
||||||
a.settlement_weight, a.scan_weight, a.fee_weight, a.freight, a.real_payment_type, a.real_fee, a.bl_special_quote,
|
a.settlement_weight, a.scan_weight, a.fee_weight, a.freight, a.real_payment_type, a.real_fee, a.bl_special_quote,a.bl_virtual,a.master_bill_code
|
||||||
a.bl_over_long, a.bl_bill, a.bl_bill_text, a.bl_over_weight, a.over_weight_number, a.fee_remark, a.third_code,
|
a.bl_over_long, a.bl_bill, a.bl_bill_text, a.bl_over_weight, a.over_weight_number, a.fee_remark, a.third_code,
|
||||||
a.real_value, a.bl_insure, a.insure_value, a.insure_value_currency, a.insure_fee_currency, a.insure_fee, a.insure_remark,
|
a.real_value, a.bl_insure, a.insure_value, a.insure_value_currency, a.insure_fee_currency, a.insure_fee, a.insure_remark,
|
||||||
a.insure_site_code, a.insure_date, a.bl_print, a.print_man_code, a.print_site, a.print_date, a.print_count, a.bl_disp_fd,
|
a.insure_site_code, a.insure_date, a.bl_print, a.print_man_code, a.print_site, a.print_date, a.print_count, a.bl_disp_fd,
|
||||||
@ -547,6 +550,22 @@
|
|||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectMasterBillCodes" parameterType="EmisWaybill" resultType="string">
|
||||||
|
select bill_code
|
||||||
|
from emis_waybill
|
||||||
|
where del_flag = '0'
|
||||||
|
and send_date >= date_sub(curdate(), interval 3 day)
|
||||||
|
and trans_line_type = #{transLineType}
|
||||||
|
and (bl_virtual is null or bl_virtual != '1')
|
||||||
|
<if test="billCode != null and billCode != ''">
|
||||||
|
and bill_code like concat('%', #{billCode}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="params.privSiteCode != null and params.privSiteCode != '88888'">
|
||||||
|
and (
|
||||||
|
a.send_site_code=#{params.privSiteCode}
|
||||||
|
)
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="selectWaitGotOrderList" parameterType="EmisWaybill" resultMap="EmisWaybillResult">
|
<select id="selectWaitGotOrderList" parameterType="EmisWaybill" resultMap="EmisWaybillResult">
|
||||||
<include refid="selectEmisWaybillVo"/>
|
<include refid="selectEmisWaybillVo"/>
|
||||||
@ -2755,6 +2774,7 @@
|
|||||||
<if test="blSensitive != null and blSensitive != ''">bl_sensitive,</if>
|
<if test="blSensitive != null and blSensitive != ''">bl_sensitive,</if>
|
||||||
<if test="blOverLong != null and blOverLong != ''">bl_over_long,</if>
|
<if test="blOverLong != null and blOverLong != ''">bl_over_long,</if>
|
||||||
<if test="blVirtual != null and blVirtual != ''">bl_virtual,</if>
|
<if test="blVirtual != null and blVirtual != ''">bl_virtual,</if>
|
||||||
|
<if test="masterBillCode != null and masterBillCode != ''">master_bill_code,</if>
|
||||||
<if test="blBill != null and blBill != ''">bl_bill,</if>
|
<if test="blBill != null and blBill != ''">bl_bill,</if>
|
||||||
<if test="blBillText != null and blBillText != ''">bl_bill_text,</if>
|
<if test="blBillText != null and blBillText != ''">bl_bill_text,</if>
|
||||||
<if test="blProfit != null and blProfit != ''">bl_profit,</if>
|
<if test="blProfit != null and blProfit != ''">bl_profit,</if>
|
||||||
@ -2939,6 +2959,7 @@
|
|||||||
<if test="blSensitive != null and blSensitive != ''">#{blSensitive},</if>
|
<if test="blSensitive != null and blSensitive != ''">#{blSensitive},</if>
|
||||||
<if test="blOverLong != null and blOverLong != ''">#{blOverLong},</if>
|
<if test="blOverLong != null and blOverLong != ''">#{blOverLong},</if>
|
||||||
<if test="blVirtual != null and blVirtual != ''">#{blVirtual},</if>
|
<if test="blVirtual != null and blVirtual != ''">#{blVirtual},</if>
|
||||||
|
<if test="masterBillCode != null and masterBillCode != ''">#{masterBillCode},</if>
|
||||||
<if test="blBill != null and blBill != ''">#{blBill},</if>
|
<if test="blBill != null and blBill != ''">#{blBill},</if>
|
||||||
<if test="blBillText != null and blBillText != ''">#{blBillText},</if>
|
<if test="blBillText != null and blBillText != ''">#{blBillText},</if>
|
||||||
<if test="blProfit != null and blProfit != ''">#{blProfit},</if>
|
<if test="blProfit != null and blProfit != ''">#{blProfit},</if>
|
||||||
@ -3125,6 +3146,7 @@
|
|||||||
<if test="blSensitive != null and blSensitive != ''">bl_sensitive = #{blSensitive},</if>
|
<if test="blSensitive != null and blSensitive != ''">bl_sensitive = #{blSensitive},</if>
|
||||||
<if test="blOverLong != null and blOverLong != ''">bl_over_long = #{blOverLong},</if>
|
<if test="blOverLong != null and blOverLong != ''">bl_over_long = #{blOverLong},</if>
|
||||||
<if test="blVirtual != null and blVirtual != ''">bl_virtual = #{blVirtual},</if>
|
<if test="blVirtual != null and blVirtual != ''">bl_virtual = #{blVirtual},</if>
|
||||||
|
<if test="masterBillCode != null and masterBillCode != ''">master_bill_code= #{masterBillCode},</if>
|
||||||
<if test="blBill != null and blBill != ''">bl_bill = #{blBill},</if>
|
<if test="blBill != null and blBill != ''">bl_bill = #{blBill},</if>
|
||||||
<if test="blBillText != null and blBillText != ''">bl_bill_text = #{blBillText},</if>
|
<if test="blBillText != null and blBillText != ''">bl_bill_text = #{blBillText},</if>
|
||||||
<if test="blProfit != null and blProfit != ''">bl_profit = #{blProfit},</if>
|
<if test="blProfit != null and blProfit != ''">bl_profit = #{blProfit},</if>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user