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;
|
||||||
@ -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,6 +45,10 @@ 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,6 +2,7 @@ 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接口
|
||||||
@ -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,6 +19,7 @@ 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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -99,10 +101,13 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
|||||||
// return list;
|
// return list;
|
||||||
// }
|
// }
|
||||||
// // 批量查找相关单号
|
// // 批量查找相关单号
|
||||||
// List<EmisWaybill> relatedList = relatedBillCodes.isEmpty() ? Collections.emptyList()
|
// List<EmisWaybill> relatedList = relatedBillCodes.isEmpty() ?
|
||||||
// : emisTmsSiteBatchMissMapper.selectByBillCodes(new ArrayList<>(relatedBillCodes));
|
// Collections.emptyList()
|
||||||
|
// : emisTmsSiteBatchMissMapper.selectByBillCodes(new
|
||||||
|
// ArrayList<>(relatedBillCodes));
|
||||||
// Map<String, EmisWaybill> relatedMap = relatedList.stream()
|
// Map<String, EmisWaybill> relatedMap = relatedList.stream()
|
||||||
// .collect(Collectors.toMap(EmisWaybill::getBillCode, Function.identity(), (a, b) -> a));
|
// .collect(Collectors.toMap(EmisWaybill::getBillCode, Function.identity(), (a,
|
||||||
|
// b) -> a));
|
||||||
// // 过滤逻辑
|
// // 过滤逻辑
|
||||||
// list = list.stream()
|
// list = list.stream()
|
||||||
// .filter(wb -> {
|
// .filter(wb -> {
|
||||||
@ -113,7 +118,8 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
|||||||
// String[] relatedNos = virtualRemark.split(",");
|
// String[] relatedNos = virtualRemark.split(",");
|
||||||
// for (String no : relatedNos) {
|
// for (String no : relatedNos) {
|
||||||
// EmisWaybill related = relatedMap.get(no.trim());
|
// EmisWaybill related = relatedMap.get(no.trim());
|
||||||
// if (related != null && Integer.valueOf(173).equals(related.getProblemType())) {
|
// if (related != null && Integer.valueOf(173).equals(related.getProblemType()))
|
||||||
|
// {
|
||||||
// return false;
|
// return false;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
@ -156,7 +162,7 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
|||||||
*/
|
*/
|
||||||
@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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -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) {
|
||||||
|
|||||||
@ -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'
|
||||||
|
|||||||
@ -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,7 +134,7 @@ 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,
|
||||||
@ -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=")">
|
||||||
|
|||||||
@ -4,10 +4,11 @@ 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