demand: 新增批量确认组批次接口 人工审核组批次区分无需组批次和组批次已完成 漏组批次查询条件支持查询人工审核的运单 漏组批次查询返回完成状态区分人工审核/系统审核
committer: heyu
This commit is contained in:
parent
35f6ec9f74
commit
39b9f83dbc
@ -1,8 +1,8 @@
|
|||||||
package com.xdadan.erp.web.emis;
|
package com.xdadan.erp.web.emis;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
@ -14,7 +14,6 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import com.xdadan.erp.common.annotation.Log;
|
import com.xdadan.erp.common.annotation.Log;
|
||||||
import com.xdadan.erp.common.core.controller.BaseController;
|
|
||||||
import com.xdadan.erp.common.core.domain.AjaxResult;
|
import com.xdadan.erp.common.core.domain.AjaxResult;
|
||||||
import com.xdadan.erp.common.enums.BusinessType;
|
import com.xdadan.erp.common.enums.BusinessType;
|
||||||
import com.xdadan.erp.emis.domain.EmisTmsSiteBatchMiss;
|
import com.xdadan.erp.emis.domain.EmisTmsSiteBatchMiss;
|
||||||
@ -24,7 +23,7 @@ import com.xdadan.erp.common.core.page.TableDataInfo;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* TMS漏组批次信息Controller
|
* TMS漏组批次信息Controller
|
||||||
*
|
*
|
||||||
* @author heyu
|
* @author heyu
|
||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@ -126,4 +125,51 @@ public class EmisTmsSiteBatchMissController extends EmisBaseController {
|
|||||||
public AjaxResult remove(@PathVariable Long[] ids) {
|
public AjaxResult remove(@PathVariable Long[] ids) {
|
||||||
return toAjax(emisTmsSiteBatchMissService.deleteEmisTmsSiteBatchMissByIds(ids));
|
return toAjax(emisTmsSiteBatchMissService.deleteEmisTmsSiteBatchMissByIds(ids));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
/**
|
||||||
|
* 批量确认组批次:参数通过 params.billCodeList 传入
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('emis:emisTmsSiteBatchMiss:confirm')")
|
||||||
|
@Log(title = "TMS漏组批次信息", businessType = BusinessType.UPDATE)
|
||||||
|
@PostMapping("/confirmBatch")
|
||||||
|
public AjaxResult confirmBatch(@RequestBody EmisTmsSiteBatchMiss req) throws EmisBizError {
|
||||||
|
Object listObj = req.getParams() != null ? req.getParams().get("billCodeList") : null;
|
||||||
|
if (listObj == null) {
|
||||||
|
return AjaxResult.error("参数缺失:billCodeList");
|
||||||
|
}
|
||||||
|
String remark = req.getManualRemark();
|
||||||
|
List<String> billCodes;
|
||||||
|
if (listObj instanceof List) {
|
||||||
|
List<?> tmp = (List<?>) listObj;
|
||||||
|
billCodes = new java.util.ArrayList<>();
|
||||||
|
for (Object o : tmp) {
|
||||||
|
if (o != null) {
|
||||||
|
String s = String.valueOf(o).trim();
|
||||||
|
if (!s.isEmpty()) {
|
||||||
|
billCodes.add(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (listObj instanceof String) {
|
||||||
|
String str = ((String) listObj).trim();
|
||||||
|
if (str.isEmpty()) {
|
||||||
|
billCodes = java.util.Collections.emptyList();
|
||||||
|
} else {
|
||||||
|
String[] arr = str.split(",");
|
||||||
|
billCodes = new java.util.ArrayList<>(arr.length);
|
||||||
|
for (String a : arr) {
|
||||||
|
if (a != null) {
|
||||||
|
String s = a.trim();
|
||||||
|
if (!s.isEmpty()) {
|
||||||
|
billCodes.add(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return AjaxResult.error("参数格式错误:billCodeList");
|
||||||
|
}
|
||||||
|
emisTmsSiteBatchMissService.confirmBatch(billCodes, remark, req.getBlManual());
|
||||||
|
return AjaxResult.success("确认成功");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -134,4 +134,10 @@ public class EmisTmsSiteBatchMiss extends BaseEntity {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@DataAuditField(fieldComment = "目的网点名称")
|
@DataAuditField(fieldComment = "目的网点名称")
|
||||||
private String dispatchUnderlingSiteName;
|
private String dispatchUnderlingSiteName;
|
||||||
|
|
||||||
|
/** 人工审核备注 */
|
||||||
|
private String manualRemark;
|
||||||
|
|
||||||
|
/* 完成状态 1:系统审核完成,2:人工审核完成,3:无需组批次 默认为1*/
|
||||||
|
private String blManual;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,7 +45,11 @@ public class EmisWaybillBatchStatus extends BaseEntity {
|
|||||||
@DataAuditField(fieldComment = "批次状态,1:组批次成功")
|
@DataAuditField(fieldComment = "批次状态,1:组批次成功")
|
||||||
private String siteBatchStatus;
|
private String siteBatchStatus;
|
||||||
|
|
||||||
|
/* 完成状态 */
|
||||||
|
@DataAuditField(fieldComment = "1:系统审核完成,2:人工审核完成,3:无需组批次 默认为1")
|
||||||
|
private String blManual;
|
||||||
|
|
||||||
/* 备注 */
|
/* 备注 */
|
||||||
@DataAuditField(fieldComment = "备注")
|
@DataAuditField(fieldComment = "备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,16 +2,17 @@ package com.xdadan.erp.emis.service;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.xdadan.erp.emis.domain.EmisTmsSiteBatchMiss;
|
import com.xdadan.erp.emis.domain.EmisTmsSiteBatchMiss;
|
||||||
|
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TMS漏组批次信息Service接口
|
* TMS漏组批次信息Service接口
|
||||||
*
|
*
|
||||||
* @author heyu
|
* @author heyu
|
||||||
*/
|
*/
|
||||||
public interface IEmisTmsSiteBatchMissService {
|
public interface IEmisTmsSiteBatchMissService {
|
||||||
/**
|
/**
|
||||||
* 查询TMS漏组批次信息
|
* 查询TMS漏组批次信息
|
||||||
*
|
*
|
||||||
* @param id TMS漏组批次信息主键
|
* @param id TMS漏组批次信息主键
|
||||||
* @return TMS漏组批次信息
|
* @return TMS漏组批次信息
|
||||||
*/
|
*/
|
||||||
@ -19,7 +20,7 @@ public interface IEmisTmsSiteBatchMissService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询TMS漏组批次信息列表
|
* 查询TMS漏组批次信息列表
|
||||||
*
|
*
|
||||||
* @param emisTmsSiteBatchMiss TMS漏组批次信息
|
* @param emisTmsSiteBatchMiss TMS漏组批次信息
|
||||||
* @return TMS漏组批次信息集合
|
* @return TMS漏组批次信息集合
|
||||||
*/
|
*/
|
||||||
@ -27,7 +28,7 @@ public interface IEmisTmsSiteBatchMissService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增TMS漏组批次信息
|
* 新增TMS漏组批次信息
|
||||||
*
|
*
|
||||||
* @param emisTmsSiteBatchMiss TMS漏组批次信息
|
* @param emisTmsSiteBatchMiss TMS漏组批次信息
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -35,7 +36,7 @@ public interface IEmisTmsSiteBatchMissService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改TMS漏组批次信息
|
* 修改TMS漏组批次信息
|
||||||
*
|
*
|
||||||
* @param emisTmsSiteBatchMiss TMS漏组批次信息
|
* @param emisTmsSiteBatchMiss TMS漏组批次信息
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -43,7 +44,7 @@ public interface IEmisTmsSiteBatchMissService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除TMS漏组批次信息
|
* 批量删除TMS漏组批次信息
|
||||||
*
|
*
|
||||||
* @param ids 需要删除的TMS漏组批次信息主键集合
|
* @param ids 需要删除的TMS漏组批次信息主键集合
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -51,7 +52,7 @@ public interface IEmisTmsSiteBatchMissService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除TMS漏组批次信息信息
|
* 删除TMS漏组批次信息信息
|
||||||
*
|
*
|
||||||
* @param id TMS漏组批次信息主键
|
* @param id TMS漏组批次信息主键
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -70,4 +71,14 @@ public interface IEmisTmsSiteBatchMissService {
|
|||||||
* @return TMS漏组批次信息列表
|
* @return TMS漏组批次信息列表
|
||||||
*/
|
*/
|
||||||
public List<EmisTmsSiteBatchMiss> selectByBillCodeCount(Integer count);
|
public List<EmisTmsSiteBatchMiss> selectByBillCodeCount(Integer count);
|
||||||
}
|
|
||||||
|
/**
|
||||||
|
* 批量确认组批次:
|
||||||
|
* 1) 根据运单号列表删除漏组批次数据
|
||||||
|
* 2) 新增运单组批次状态,site_batch_status=1
|
||||||
|
*
|
||||||
|
* @param billCodes 运单号列表
|
||||||
|
* @param blManual
|
||||||
|
*/
|
||||||
|
void confirmBatch(List<String> billCodes, String remark, String blManual) throws EmisBizError;
|
||||||
|
}
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package com.xdadan.erp.emis.service.impl;
|
package com.xdadan.erp.emis.service.impl;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Function;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
@ -9,6 +8,8 @@ import java.util.concurrent.Executors;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
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.exception.EmisBizError;
|
||||||
import com.xdadan.erp.emis.mapper.*;
|
import com.xdadan.erp.emis.mapper.*;
|
||||||
import com.xdadan.erp.emis.service.EmisBaseService;
|
import com.xdadan.erp.emis.service.EmisBaseService;
|
||||||
import com.xdadan.erp.emis.utils.WaybillHelper;
|
import com.xdadan.erp.emis.utils.WaybillHelper;
|
||||||
@ -18,11 +19,12 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import com.xdadan.erp.emis.service.IEmisTmsSiteBatchMissService;
|
import com.xdadan.erp.emis.service.IEmisTmsSiteBatchMissService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TMS漏组批次信息Service业务层处理
|
* TMS漏组批次信息Service业务层处理
|
||||||
*
|
*
|
||||||
* @author heyu
|
* @author heyu
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@ -52,7 +54,7 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询TMS漏组批次信息
|
* 查询TMS漏组批次信息
|
||||||
*
|
*
|
||||||
* @param id TMS漏组批次信息主键
|
* @param id TMS漏组批次信息主键
|
||||||
* @return TMS漏组批次信息
|
* @return TMS漏组批次信息
|
||||||
*/
|
*/
|
||||||
@ -64,7 +66,7 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询TMS漏组批次信息列表
|
* 查询TMS漏组批次信息列表
|
||||||
*
|
*
|
||||||
* @param emisTmsSiteBatchMiss TMS漏组批次信息
|
* @param emisTmsSiteBatchMiss TMS漏组批次信息
|
||||||
* @return TMS漏组批次信息
|
* @return TMS漏组批次信息
|
||||||
*/
|
*/
|
||||||
@ -84,49 +86,53 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
|||||||
list = emisTmsSiteBatchMissMapper.selectEmisTmsSiteBatchMissList(emisTmsSiteBatchMiss);
|
list = emisTmsSiteBatchMissMapper.selectEmisTmsSiteBatchMissList(emisTmsSiteBatchMiss);
|
||||||
}
|
}
|
||||||
|
|
||||||
// // 收集所有virtualRemark中的单号
|
// // 收集所有virtualRemark中的单号
|
||||||
// Set<String> relatedBillCodes = new HashSet<>();
|
// Set<String> relatedBillCodes = new HashSet<>();
|
||||||
// for (EmisTmsSiteBatchMiss miss : list) {
|
// for (EmisTmsSiteBatchMiss miss : list) {
|
||||||
// String virtualRemark = miss.getVirtualRemark();
|
// String virtualRemark = miss.getVirtualRemark();
|
||||||
// if (virtualRemark != null && !virtualRemark.trim().isEmpty()) {
|
// if (virtualRemark != null && !virtualRemark.trim().isEmpty()) {
|
||||||
// String[] codes = virtualRemark.split(",");
|
// String[] codes = virtualRemark.split(",");
|
||||||
// for (String code : codes) {
|
// for (String code : codes) {
|
||||||
// relatedBillCodes.add(code.trim());
|
// relatedBillCodes.add(code.trim());
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// if (CollectionUtil.isEmpty(relatedBillCodes)) {
|
// if (CollectionUtil.isEmpty(relatedBillCodes)) {
|
||||||
// return list;
|
// return list;
|
||||||
// }
|
// }
|
||||||
// // 批量查找相关单号
|
// // 批量查找相关单号
|
||||||
// List<EmisWaybill> relatedList = relatedBillCodes.isEmpty() ? Collections.emptyList()
|
// List<EmisWaybill> relatedList = relatedBillCodes.isEmpty() ?
|
||||||
// : emisTmsSiteBatchMissMapper.selectByBillCodes(new ArrayList<>(relatedBillCodes));
|
// Collections.emptyList()
|
||||||
// Map<String, EmisWaybill> relatedMap = relatedList.stream()
|
// : emisTmsSiteBatchMissMapper.selectByBillCodes(new
|
||||||
// .collect(Collectors.toMap(EmisWaybill::getBillCode, Function.identity(), (a, b) -> a));
|
// ArrayList<>(relatedBillCodes));
|
||||||
// // 过滤逻辑
|
// Map<String, EmisWaybill> relatedMap = relatedList.stream()
|
||||||
// list = list.stream()
|
// .collect(Collectors.toMap(EmisWaybill::getBillCode, Function.identity(), (a,
|
||||||
// .filter(wb -> {
|
// b) -> a));
|
||||||
// String virtualRemark = wb.getVirtualRemark();
|
// // 过滤逻辑
|
||||||
// if (virtualRemark == null || virtualRemark.trim().isEmpty()) {
|
// list = list.stream()
|
||||||
// return true;
|
// .filter(wb -> {
|
||||||
// }
|
// String virtualRemark = wb.getVirtualRemark();
|
||||||
// String[] relatedNos = virtualRemark.split(",");
|
// if (virtualRemark == null || virtualRemark.trim().isEmpty()) {
|
||||||
// for (String no : relatedNos) {
|
// return true;
|
||||||
// EmisWaybill related = relatedMap.get(no.trim());
|
// }
|
||||||
// if (related != null && Integer.valueOf(173).equals(related.getProblemType())) {
|
// String[] relatedNos = virtualRemark.split(",");
|
||||||
// return false;
|
// for (String no : relatedNos) {
|
||||||
// }
|
// EmisWaybill related = relatedMap.get(no.trim());
|
||||||
// }
|
// if (related != null && Integer.valueOf(173).equals(related.getProblemType()))
|
||||||
// return true;
|
// {
|
||||||
// })
|
// return false;
|
||||||
// .collect(Collectors.toList());
|
// }
|
||||||
|
// }
|
||||||
|
// return true;
|
||||||
|
// })
|
||||||
|
// .collect(Collectors.toList());
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增TMS漏组批次信息
|
* 新增TMS漏组批次信息
|
||||||
*
|
*
|
||||||
* @param emisTmsSiteBatchMiss TMS漏组批次信息
|
* @param emisTmsSiteBatchMiss TMS漏组批次信息
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -138,7 +144,7 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改TMS漏组批次信息
|
* 修改TMS漏组批次信息
|
||||||
*
|
*
|
||||||
* @param emisTmsSiteBatchMiss TMS漏组批次信息
|
* @param emisTmsSiteBatchMiss TMS漏组批次信息
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -150,19 +156,19 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除TMS漏组批次信息
|
* 批量删除TMS漏组批次信息
|
||||||
*
|
*
|
||||||
* @param ids 需要删除的TMS漏组批次信息主键
|
* @param ids 需要删除的TMS漏组批次信息主键
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int deleteEmisTmsSiteBatchMissByIds(Long[] ids) {
|
public int deleteEmisTmsSiteBatchMissByIds(Long[] ids) {
|
||||||
log.info("Deleting TMS site batch miss by ids: {}", ids);
|
log.info("Deleting TMS site batch miss by ids: {}", (Object) ids);
|
||||||
return emisTmsSiteBatchMissMapper.deleteEmisTmsSiteBatchMissByIds(ids);
|
return emisTmsSiteBatchMissMapper.deleteEmisTmsSiteBatchMissByIds(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除TMS漏组批次信息信息
|
* 删除TMS漏组批次信息信息
|
||||||
*
|
*
|
||||||
* @param id TMS漏组批次信息主键
|
* @param id TMS漏组批次信息主键
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -180,6 +186,43 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
|||||||
return emisTmsSiteBatchMissMapper.selectByBillCodeCount(count);
|
return emisTmsSiteBatchMissMapper.selectByBillCodeCount(count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量确认:删除漏组批次并插入运单组批状态
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void confirmBatch(List<String> billCodes, String remark, String blManual) throws EmisBizError {
|
||||||
|
if (billCodes == null || billCodes.isEmpty()) {
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR, "运单号不能为空");
|
||||||
|
}
|
||||||
|
if (StringUtil.isBlank(blManual)) {
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR, "完成状态不能为空");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1) 逻辑删除漏组批次数据
|
||||||
|
emisTmsSiteBatchMissMapper.deleteByBillCodes(billCodes);
|
||||||
|
|
||||||
|
// 2) 新增运单组批次状态 site_batch_status=1(幂等:insert ignore)
|
||||||
|
Date now = new Date();
|
||||||
|
String userName = getCurrentUser() != null ? getCurrentUser().getUserName() : null;
|
||||||
|
String siteCode = getCurrentUser() != null ? getCurrentUser().getOwnerSiteCode() : null;
|
||||||
|
List<EmisWaybillBatchStatus> toInsert = billCodes.stream().distinct().map(code -> {
|
||||||
|
EmisWaybillBatchStatus s = new EmisWaybillBatchStatus();
|
||||||
|
s.setBillCode(code);
|
||||||
|
s.setSiteBatchStatus("1");
|
||||||
|
s.setRemark(remark);
|
||||||
|
s.setBlManual(blManual);
|
||||||
|
s.setCreateBy(userName);
|
||||||
|
s.setCreateTime(now);
|
||||||
|
s.setCreateSite(siteCode);
|
||||||
|
return s;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
|
if (!toInsert.isEmpty()) {
|
||||||
|
emisWaybillBatchStatusMapper.batchInsertEmisWaybillBatchStatus(toInsert);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Async
|
@Async
|
||||||
@Override
|
@Override
|
||||||
public void autoScanSiteBatch(String lineCode) {
|
public void autoScanSiteBatch(String lineCode) {
|
||||||
@ -371,4 +414,4 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
|||||||
return tree;
|
return tree;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -232,6 +232,7 @@
|
|||||||
select a.id, a.bill_code,a.trans_line_type, a.product_type,a.start_site_code,a.send_site_code
|
select a.id, a.bill_code,a.trans_line_type, a.product_type,a.start_site_code,a.send_site_code
|
||||||
from emis_waybill a
|
from emis_waybill a
|
||||||
left join emis_tms_site_batch_dtl b on a.bill_code = b.bill_code and b.del_flag = '0'
|
left join emis_tms_site_batch_dtl b on a.bill_code = b.bill_code and b.del_flag = '0'
|
||||||
|
inner join emis_waybill_batch_status c on a.bill_code = c.bill_code and c.site_batch_status = '1' and c.del_flag = '0'
|
||||||
where b.batch_no = #{batchNo}
|
where b.batch_no = #{batchNo}
|
||||||
and a.del_flag = '0'
|
and a.del_flag = '0'
|
||||||
and a.send_date <![CDATA[ > ]]> '2025-01-01 00:00:00'
|
and a.send_date <![CDATA[ > ]]> '2025-01-01 00:00:00'
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.xdadan.erp.emis.mapper.EmisTmsSiteBatchMissMapper">
|
<mapper namespace="com.xdadan.erp.emis.mapper.EmisTmsSiteBatchMissMapper">
|
||||||
|
|
||||||
<resultMap type="EmisTmsSiteBatchMiss" id="EmisTmsSiteBatchMissResult" extends="com.xdadan.erp.emis.mapper.EmisBaseMapper.EmisBaseResult">
|
<resultMap type="EmisTmsSiteBatchMiss" id="EmisTmsSiteBatchMissResult" extends="com.xdadan.erp.emis.mapper.EmisBaseMapper.EmisBaseResult">
|
||||||
<result property="id" column="id"/>
|
<result property="id" column="id"/>
|
||||||
<result property="billCode" column="bill_code"/>
|
<result property="billCode" column="bill_code"/>
|
||||||
@ -48,6 +48,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="problemType" column="problem_type" />
|
<result property="problemType" column="problem_type" />
|
||||||
<result property="dispatchUnderlingSiteCode" column="dispatch_underling_site_code" />
|
<result property="dispatchUnderlingSiteCode" column="dispatch_underling_site_code" />
|
||||||
<result property="dispatchUnderlingSiteName" column="dispatch_underling_site_name" />
|
<result property="dispatchUnderlingSiteName" column="dispatch_underling_site_name" />
|
||||||
|
<result property="manual_remark" column="manualRemark" />
|
||||||
|
<result property="bl_manual" column="blManual" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectEmisTmsSiteBatchMissVo">
|
<sql id="selectEmisTmsSiteBatchMissVo">
|
||||||
@ -132,20 +134,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
|
|
||||||
<select id="selectEmisTmsSiteBatchMissList" parameterType="EmisTmsSiteBatchMiss" resultMap="EmisTmsSiteBatchMissResult">
|
<select id="selectEmisTmsSiteBatchMissList" parameterType="EmisTmsSiteBatchMiss" resultMap="EmisTmsSiteBatchMissResult">
|
||||||
<choose>
|
<choose>
|
||||||
<when test="missCount == -4">
|
<when test="missCount == -4 or missCount == -7">
|
||||||
<!-- 当missCount=-4时,查询emis_waybill_batch_status表 -->
|
<!-- 当missCount=-4时,查询emis_waybill_batch_status表 -->
|
||||||
select
|
select
|
||||||
distinct w.bill_code, null as id, '已组批次成功' as miss_reason,
|
distinct w.bill_code, null as id, '已组批次成功' as miss_reason,
|
||||||
null as create_by, null as create_time, null as update_by, null as update_time,
|
null as create_by, null as create_time, null as update_by, null as update_time,
|
||||||
null as remark, '0' as del_flag,
|
null as remark, '0' as del_flag,
|
||||||
w.trans_line_type as line_code, w.product_type, w.start_site_code, w.next_site_code,
|
w.trans_line_type as line_code, w.product_type, w.start_site_code, w.next_site_code,
|
||||||
null as supplier_code, null as start_date, null as end_date, '0' as miss_type,
|
null as supplier_code, null as start_date, null as end_date, '0' as miss_type,
|
||||||
w.send_site_code, s1.site_name as send_site_name,
|
w.send_site_code, s1.site_name as send_site_name,
|
||||||
w.send_country, c1.name as send_country_name, w.destination_code, s2.site_name as dispatch_underling_site_name, w.bl_is_question,
|
w.send_country, c1.name as send_country_name, w.destination_code, s2.site_name as dispatch_underling_site_name, w.bl_is_question,
|
||||||
l.line_name as line_name,
|
l.line_name as line_name,
|
||||||
w.receive_country, c2.name as receive_country_name, w.send_date, w.bl_sign, w.sign_date,
|
w.receive_country, c2.name as receive_country_name, w.send_date, w.bl_sign, w.sign_date,
|
||||||
w.payment_type, w.parcel_qty, w.bill_weight, w.total_volume, w.volume_weight,
|
w.payment_type, w.parcel_qty, w.bill_weight, w.total_volume, w.volume_weight,
|
||||||
w.settlement_weight, w.freight, w.remark as waybill_remark, w.fee_remark,
|
w.settlement_weight, w.freight, w.remark as waybill_remark, w.fee_remark,
|
||||||
null as manager, null as trans_manager,
|
null as manager, null as trans_manager,
|
||||||
(SELECT GROUP_CONCAT(s.site_name ORDER BY FIND_IN_SET(s.site_code, w.start_site_code))
|
(SELECT GROUP_CONCAT(s.site_name ORDER BY FIND_IN_SET(s.site_code, w.start_site_code))
|
||||||
FROM emis_site s
|
FROM emis_site s
|
||||||
@ -157,7 +159,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
(SELECT GROUP_CONCAT(p.prod_name)
|
(SELECT GROUP_CONCAT(p.prod_name)
|
||||||
FROM emis_trans_product p
|
FROM emis_trans_product p
|
||||||
WHERE FIND_IN_SET(p.prod_code, w.product_type)
|
WHERE FIND_IN_SET(p.prod_code, w.product_type)
|
||||||
AND p.del_flag = '0') as product_type_name
|
AND p.del_flag = '0') as product_type_name,
|
||||||
|
b.remark as manual_remark,b.bl_manual
|
||||||
from emis_waybill_batch_status b
|
from emis_waybill_batch_status b
|
||||||
inner join emis_waybill w on b.bill_code = w.bill_code and w.del_flag='0'
|
inner join emis_waybill w on b.bill_code = w.bill_code and w.del_flag='0'
|
||||||
left join emis_site s1 on w.send_site_code=s1.site_code and s1.del_flag=0
|
left join emis_site s1 on w.send_site_code=s1.site_code and s1.del_flag=0
|
||||||
@ -170,6 +173,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="billCode != null and billCode != '' and ( params.billCodeSortList == null or (params.billCodeSortList != null and params.billCodeSortList.size() == 1 ) )">
|
<if test="billCode != null and billCode != '' and ( params.billCodeSortList == null or (params.billCodeSortList != null and params.billCodeSortList.size() == 1 ) )">
|
||||||
and ( b.`bill_code`=#{billCode} or b.bill_code like concat('%',#{billCode}) )
|
and ( b.`bill_code`=#{billCode} or b.bill_code like concat('%',#{billCode}) )
|
||||||
</if>
|
</if>
|
||||||
|
<if test="missCount == -7">
|
||||||
|
AND (b.bl_manual = '2' or b.bl_manual = '3')
|
||||||
|
</if>
|
||||||
<if test="params.billCodeSortList != null and params.billCodeSortList.size() > 1 ">
|
<if test="params.billCodeSortList != null and params.billCodeSortList.size() > 1 ">
|
||||||
and b.bill_code in
|
and b.bill_code in
|
||||||
<foreach collection="params.billCodeSortList" item="item" open="(" separator="," close=")">
|
<foreach collection="params.billCodeSortList" item="item" open="(" separator="," close=")">
|
||||||
@ -313,12 +319,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectEmisTmsSiteBatchMissById" parameterType="Long" resultMap="EmisTmsSiteBatchMissResult">
|
<select id="selectEmisTmsSiteBatchMissById" parameterType="Long" resultMap="EmisTmsSiteBatchMissResult">
|
||||||
<include refid="selectEmisTmsSiteBatchMissVo"/>
|
<include refid="selectEmisTmsSiteBatchMissVo"/>
|
||||||
where m.id = #{id} and m.del_flag = '0'
|
where m.id = #{id} and m.del_flag = '0'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertEmisTmsSiteBatchMiss" parameterType="EmisTmsSiteBatchMiss" useGeneratedKeys="true" keyProperty="id">
|
<insert id="insertEmisTmsSiteBatchMiss" parameterType="EmisTmsSiteBatchMiss" useGeneratedKeys="true" keyProperty="id">
|
||||||
insert into emis_tms_site_batch_miss
|
insert into emis_tms_site_batch_miss
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
@ -358,7 +364,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="deleteEmisTmsSiteBatchMissByIds" parameterType="String">
|
<update id="deleteEmisTmsSiteBatchMissByIds" parameterType="String">
|
||||||
update emis_tms_site_batch_miss set del_flag = '1' where id in
|
update emis_tms_site_batch_miss set del_flag = '1' where id in
|
||||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
@ -437,4 +443,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
#{billCode}
|
#{billCode}
|
||||||
</foreach>
|
</foreach>
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -3,11 +3,12 @@
|
|||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.xdadan.erp.emis.mapper.EmisWaybillBatchStatusMapper">
|
<mapper namespace="com.xdadan.erp.emis.mapper.EmisWaybillBatchStatusMapper">
|
||||||
|
|
||||||
<resultMap type="com.xdadan.erp.emis.domain.EmisWaybillBatchStatus" id="EmisWaybillBatchStatusResult">
|
<resultMap type="com.xdadan.erp.emis.domain.EmisWaybillBatchStatus" id="EmisWaybillBatchStatusResult" extends="com.xdadan.erp.emis.mapper.EmisBaseMapper.EmisBaseResult">
|
||||||
<result property="id" column="id"/>
|
<result property="id" column="id"/>
|
||||||
<result property="billCode" column="bill_code"/>
|
<result property="billCode" column="bill_code"/>
|
||||||
<result property="siteBatchStatus" column="site_batch_status"/>
|
<result property="siteBatchStatus" column="site_batch_status"/>
|
||||||
|
<result property="blManual" column="bl_manual"/>
|
||||||
<result property="remark" column="remark"/>
|
<result property="remark" column="remark"/>
|
||||||
<result property="createBy" column="create_by"/>
|
<result property="createBy" column="create_by"/>
|
||||||
<result property="createTime" column="create_time"/>
|
<result property="createTime" column="create_time"/>
|
||||||
@ -16,31 +17,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectEmisWaybillBatchStatusVo">
|
<sql id="selectEmisWaybillBatchStatusVo">
|
||||||
select id, bill_code, site_batch_status, remark,
|
select id, bill_code, site_batch_status, bl_manual, remark,
|
||||||
create_by, create_time, update_by, update_time
|
create_by, create_time, update_by, update_time, del_flag
|
||||||
from emis_waybill_batch_status
|
from emis_waybill_batch_status
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<insert id="batchInsertEmisWaybillBatchStatus" parameterType="java.util.List">
|
<insert id="batchInsertEmisWaybillBatchStatus" parameterType="java.util.List">
|
||||||
insert ignore into emis_waybill_batch_status (
|
insert ignore into emis_waybill_batch_status (
|
||||||
bill_code, site_batch_status, remark,
|
bill_code, site_batch_status, bl_manual, remark,
|
||||||
create_by, create_time, update_by, update_time
|
create_by, create_time, update_by, update_time,create_site,update_site
|
||||||
) values
|
) values
|
||||||
<foreach collection="list" item="item" separator=",">
|
<foreach collection="list" item="item" separator=",">
|
||||||
(
|
(
|
||||||
#{item.billCode}, #{item.siteBatchStatus}, #{item.remark},
|
#{item.billCode}, #{item.siteBatchStatus}, #{item.blManual}, #{item.remark},
|
||||||
#{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}
|
#{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.createSite},
|
||||||
|
#{item.updateSite}
|
||||||
)
|
)
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<!-- 根据运单号列表批量删除批次状态 -->
|
<!-- 根据运单号列表批量逻辑删除批次状态 -->
|
||||||
<delete id="deleteByBillCodes" parameterType="java.util.List">
|
<update id="deleteByBillCodes" parameterType="java.util.List">
|
||||||
delete from emis_waybill_batch_status
|
update emis_waybill_batch_status
|
||||||
|
set del_flag = '1'
|
||||||
where bill_code in
|
where bill_code in
|
||||||
<foreach collection="billCodes" item="billCode" open="(" separator="," close=")">
|
<foreach collection="billCodes" item="billCode" open="(" separator="," close=")">
|
||||||
#{billCode}
|
#{billCode}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
and del_flag = '0'
|
||||||
|
</update>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user