diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInController.java index 716ac3788..ddf058454 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInController.java @@ -67,6 +67,7 @@ public class EmisWarehouseInController extends EmisBaseController public TableDataInfo listSimple(EmisWarehouseIn emisWarehouseIn) { startPage(); + emisWarehouseIn.setUsedStatus("0"); List list = emisWarehouseInService.selectEmisWarehouseInList(emisWarehouseIn); return getDataTable(list); } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWarehouseInMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWarehouseInMapper.java index f3e8eac28..3159f15ed 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWarehouseInMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWarehouseInMapper.java @@ -67,4 +67,11 @@ public interface EmisWarehouseInMapper extends BaseMapper * @return 结果 */ public int deleteEmisWarehouseInByIds(Long[] ids); + + /** + * 改变使用状态 + * @param emisWarehouseIn + * @return + */ + public int changeUseStatus(EmisWarehouseIn emisWarehouseIn); } 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 ab68410b1..7497b30e6 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 @@ -152,11 +152,16 @@ public class EmisBaseService { @Autowired private EmisSiteSettleRecordMapper emisSiteSettleRecordMapper; + @Autowired + private EmisWarehouseInMapper emisWarehouseInMapper; + @Autowired RedissonService redissonService; + + /** * 判断获取主单号 * @param billCode @@ -428,6 +433,47 @@ public class EmisBaseService { } + + /** + * 占用进仓单号 + * @param oldWarehouseInNo 历史占用 + * @param newWarehouseInNo 新占用 + */ + public void useWarehouseInNo(String billCode,String oldWarehouseInNo,String newWarehouseInNo){ + // 解除历史占用 + if(!StringUtils.isEmpty(oldWarehouseInNo)){ + EmisWarehouseIn emisWarehouseIn = new EmisWarehouseIn(); + emisWarehouseIn.setBillCode(billCode); + + String[] oldWarehouseInNoArr = oldWarehouseInNo.split(","); + if(oldWarehouseInNoArr.length>0){ + for (String oldInNo:oldWarehouseInNoArr) { + emisWarehouseIn.setInNo(oldInNo); + emisWarehouseIn.setUsedStatus("0"); + emisWarehouseInMapper.changeUseStatus(emisWarehouseIn); + } + } + + } + + // 占用新单号 + if(!StringUtils.isEmpty(newWarehouseInNo)){ + EmisWarehouseIn emisWarehouseIn = new EmisWarehouseIn(); + emisWarehouseIn.setBillCode(billCode); + + String[] newWarehouseInNoNoArr = newWarehouseInNo.split(","); + if(newWarehouseInNoNoArr.length>0){ + for (String newInNo:newWarehouseInNoNoArr) { + emisWarehouseIn.setInNo(newInNo); + emisWarehouseIn.setUsedStatus("1"); + emisWarehouseInMapper.changeUseStatus(emisWarehouseIn); + } + } + + } + + } + /** * 发送短息 * @param emisSmsSendRecord diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 0b3825bf4..e2fbcc54f 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -888,6 +888,14 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb } } + // 占用进仓单号 + if(!StringUtils.isEmpty(emisWaybillSave.getWarehouseInNo())) { + String warehouseInNo = WaybillHelper.formatQueryValue(emisWaybillSave.getWarehouseInNo()); + useWarehouseInNo("",warehouseInNo); + } + + + // 插入揽收记录 ScanInfo scanInfo = new ScanInfo(); List> scanDataList = new ArrayList<>(); diff --git a/emis-biz/src/main/resources/mapper/EmisWarehouseInMapper.xml b/emis-biz/src/main/resources/mapper/EmisWarehouseInMapper.xml index c64165213..d6ea0cb5a 100644 --- a/emis-biz/src/main/resources/mapper/EmisWarehouseInMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWarehouseInMapper.xml @@ -32,14 +32,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and serial_no like concat('%', #{serialNo}, '%') and in_no like concat('%', #{inNo}, '%') and order_sn like concat('%', #{orderSn}, '%') - and bill_code like concat('%', #{billCode}, '%') - and customer_code like concat('%', #{customerCode}, '%') + and bill_code=#{billCode} + and customer_code=#{customerCode} and customer_name like concat('%', #{customerName}, '%') and entry_date = #{entryDate} - and confirm_status like concat('%', #{confirmStatus}, '%') + and confirm_status=#{confirmStatus} and confirm_date = #{confirmDate} - and used_status like concat('%', #{usedStatus}, '%') - and status like concat('%', #{status}, '%') + and used_status= #{usedStatus} + and status=#{status} and remark like concat('%', #{remark}, '%') and tenant_id like concat('%', #{tenantId}, '%') and del_flag like concat('%', #{delFlag}, '%') @@ -136,6 +136,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + update emis_warehouse_in + + used_status = #{usedStatus}, + update_by = #{updateBy}, + update_time = #{updateTime}, + update_site = #{updateSite}, + + where bill_code = #{billCode} and in_no = #{inNo} + + + + + + update emis_warehouse_in set used_status='1' + where bill_code = #{billCode} and in_no = #{inNo} + + delete from emis_warehouse_in where id = #{id}