仓库管理修改

liweidong
wusiyu 4 days ago
parent f07d4c8697
commit 814d89eefd
  1. 2
      blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StStockInoutRecordMapper.java
  2. 7
      blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StStockInoutRecordMapper.xml
  3. 22
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StBuyOrderServiceImpl.java
  4. 4
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StOtherReceiptRecordServiceImpl.java
  5. 13
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StStockInoutRecordServiceImpl.java

@ -47,5 +47,7 @@ public interface StStockInoutRecordMapper extends BaseMapper<StStockInoutRecord>
String getMaxPiNo(String format); String getMaxPiNo(String format);
String getTeamSetByUserId(Long picker); String getTeamSetByUserId(Long picker);
int getMaxSerialNoByDate(String dateTime);
} }

@ -174,6 +174,13 @@
USER_ID USER_ID
</select> </select>
<select id="getMaxSerialNoByDate" resultType="java.lang.Integer">
SELECT NVL(MAX(TO_NUMBER(SUBSTR(SIR_CODE, 13, 4))), 0) + 1
FROM ST_STOCK_INOUT_RECORD
WHERE SIR_CODE LIKE CONCAT('CK', #{dateTime}, '%')
FOR UPDATE
</select>
<select id="exportStStockInoutRecord" resultType="org.springblade.wms.excel.StStockInoutRecordExcel"> <select id="exportStStockInoutRecord" resultType="org.springblade.wms.excel.StStockInoutRecordExcel">
SELECT * FROM ST_STOCK_INOUT_RECORD ${ew.customSqlSegment} SELECT * FROM ST_STOCK_INOUT_RECORD ${ew.customSqlSegment}
</select> </select>

@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.log.exception.ServiceException; import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.BladeUser;
@ -209,17 +208,16 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl<StBuyOrderMapper, StB
} }
// 3. 玻璃物料发送校验 // 3. 玻璃物料发送校验
for (StBuyOrder buyOrder : list) { // for (StBuyOrder buyOrder : list) {
StGoods goods = stGoodsService.getById(buyOrder.getGoodsId()); // StGoods goods = stGoodsService.getById(buyOrder.getGoodsId());
if (buyOrder.getGoodsId() != null && StrUtil.contains(goods.getGoodsName(), "玻璃")) { // if (buyOrder.getGoodsId() != null && StrUtil.contains(goods.getGoodsName(), "玻璃")) {
try { // try {
erpDataWmsClient.sendRbfirtChk(goods.getGoodsCode(), goods.getGoodsName()); // erpDataWmsClient.sendRbfirtChk(goods.getGoodsCode(), goods.getGoodsName());
} catch (BusinessException e) { // } catch (BusinessException e) {
throw new RuntimeException("玻璃粉验证通知单发送失败:" + e.getMessage()); // throw new RuntimeException("玻璃粉验证通知单发送失败:" + e.getMessage());
} // }
// }
} // }
}
} }
@Override @Override

@ -160,8 +160,10 @@ public class StOtherReceiptRecordServiceImpl extends BaseServiceImpl<StOtherRece
// detail.setSirMoney(detail.getUnitPrice() * detail.getQuantity()); // detail.setSirMoney(detail.getUnitPrice() * detail.getQuantity());
detail.setUnitPrice(detail.getUnitPrice()); detail.setUnitPrice(detail.getUnitPrice());
detail.setSirMoney(detail.getSirMoney()); detail.setSirMoney(detail.getSirMoney());
if (AuthUtil.getUser() != null) {
detail.setDeptId(AuthUtil.getUser().getDeptId()); detail.setDeptId(AuthUtil.getUser().getDeptId());
detail.setCreateUser(AuthUtil.getUser().getUserId()); detail.setCreateUser(AuthUtil.getUser().getUserId());
}
detail.setCreateTime(new Date()); detail.setCreateTime(new Date());
detail.setInOutType(StStockInoutRecord.IN_TYPE); detail.setInOutType(StStockInoutRecord.IN_TYPE);
detail.setInOutReason(String.valueOf(stOtherReceiptRecord.getWarehousingReason())); detail.setInOutReason(String.valueOf(stOtherReceiptRecord.getWarehousingReason()));
@ -181,7 +183,9 @@ public class StOtherReceiptRecordServiceImpl extends BaseServiceImpl<StOtherRece
newReceipt.setShId(stOtherReceiptRecord.getShId()); newReceipt.setShId(stOtherReceiptRecord.getShId());
newReceipt.setWarehousingReason(stOtherReceiptRecord.getWarehousingReason()); newReceipt.setWarehousingReason(stOtherReceiptRecord.getWarehousingReason());
newReceipt.setMemo(stOtherReceiptRecord.getMemo()); newReceipt.setMemo(stOtherReceiptRecord.getMemo());
if (AuthUtil.getUser() != null) {
newReceipt.setCreateUser(AuthUtil.getUser().getUserId()); newReceipt.setCreateUser(AuthUtil.getUser().getUserId());
}
newReceipt.setCreateTime(new Date()); newReceipt.setCreateTime(new Date());
// 关联当前明细的ID(核心:一一对应) // 关联当前明细的ID(核心:一一对应)
newReceipt.setSirId(detail.getId()); newReceipt.setSirId(detail.getId());

@ -100,6 +100,19 @@ public class StStockInoutRecordServiceImpl extends BaseServiceImpl<StStockInoutR
return datePrefix + StrUtil.padPre(String.valueOf(++lastNum), 4, '0'); return datePrefix + StrUtil.padPre(String.valueOf(++lastNum), 4, '0');
} }
// @Override
// @Transactional
// public String makeCode() {
// // 时间格式:yyMMddHHmmss(2位年+月+日+时+分+秒)
// String dateTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss"));
// // 获取下一个流水号
// int serialNo = baseMapper.getMaxSerialNoByDate(dateTime);
// // 拼接最终单号:CK + 时间 + 4位流水号(前面补0)
// String sirCode = "CK" + dateTime + String.format("%04d", serialNo);
//
// return sirCode;
// }
@Override @Override
public String getMaxPiNo(String typeCode) { public String getMaxPiNo(String typeCode) {
String datePrefix = DateUtil.format(new Date(), "yyyyMMdd"); String datePrefix = DateUtil.format(new Date(), "yyyyMMdd");

Loading…
Cancel
Save