Commit cbb026de authored by 李驰骋's avatar 李驰骋

录入领料单限制调整

parent 881c701b
...@@ -22,6 +22,16 @@ public interface InvmlDao extends JpaRepository<Invml, InvmlId>, JpaSpecificatio ...@@ -22,6 +22,16 @@ public interface InvmlDao extends JpaRepository<Invml, InvmlId>, JpaSpecificatio
List<Invml> findByMl001OrderByMl002AscMl003AscMl004Asc(String ml001); List<Invml> findByMl001OrderByMl002AscMl003AscMl004Asc(String ml001);
List<Invml> findByMl001InOrderByMl002AscMl003AscMl004Asc(List<String> ml001List); List<Invml> findByMl001InOrderByMl002AscMl003AscMl004Asc(List<String> ml001List);
/**
* 通过品号仓库、库位查询库存
* @param ml001 品号
* @param ml002 仓库
* @param ml003 库位
* @return
*/
Optional<Invml> findFirstByMl001AndMl002AndMl003(String ml001, String ml002, String ml003);
@Query(value = "select il.*,ib.MB002 materialName from INVML il left join INVMB ib on il.ML001 = ib.MB001 where il.ML001 = :ml001 and ('' = ISNULL(CONVERT(varchar(200), :ml002),'') or il.ML002 = :ml002)" + @Query(value = "select il.*,ib.MB002 materialName from INVML il left join INVMB ib on il.ML001 = ib.MB001 where il.ML001 = :ml001 and ('' = ISNULL(CONVERT(varchar(200), :ml002),'') or il.ML002 = :ml002)" +
" and ('' = ISNULL(CONVERT(varchar(200), :gtStock),'') or il.ML005 > :gtStock)", nativeQuery = true) " and ('' = ISNULL(CONVERT(varchar(200), :gtStock),'') or il.ML005 > :gtStock)", nativeQuery = true)
List<IInvmlDto> findJoinInvmb(@Param(value = "ml001") String ml001, @Param(value = "ml002") String ml002, @Param(value = "gtStock") Integer gtStock); List<IInvmlDto> findJoinInvmb(@Param(value = "ml001") String ml001, @Param(value = "ml002") String ml002, @Param(value = "gtStock") Integer gtStock);
......
...@@ -7,7 +7,10 @@ import com.topsunit.scanservice.ximai.dto.*; ...@@ -7,7 +7,10 @@ import com.topsunit.scanservice.ximai.dto.*;
import com.topsunit.scanservice.ximai.dto.mapper.MoctcMapper; import com.topsunit.scanservice.ximai.dto.mapper.MoctcMapper;
import com.topsunit.scanservice.ximai.entity.*; import com.topsunit.scanservice.ximai.entity.*;
import com.topsunit.scanservice.ximai.security.CurrentActor; import com.topsunit.scanservice.ximai.security.CurrentActor;
import com.topsunit.scanservice.ximai.security.CurrentActorSetter;
import com.topsunit.scanservice.ximai.utils.MessageUtils; import com.topsunit.scanservice.ximai.utils.MessageUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -36,6 +39,8 @@ public class MoctcService { ...@@ -36,6 +39,8 @@ public class MoctcService {
private final InvmlDao invmlDao; private final InvmlDao invmlDao;
private final CmsniDao cmsniDao; private final CmsniDao cmsniDao;
private final MoctcMapper moctcMapper; private final MoctcMapper moctcMapper;
@Autowired
ApplicationContext applicationContext;
public MoctcService(CurrentActor currentActor, MoctaDao moctaDao, MoctbDao moctbDao, MoctcDao moctcDao, MoctdDao moctdDao, MocteDao mocteDao, InvmeDao invmeDao, InvmcDao invmcDao, InvmbDao invmbDao, InvmlDao invmlDao, CmsniDao cmsniDao, MoctcMapper moctcMapper) { public MoctcService(CurrentActor currentActor, MoctaDao moctaDao, MoctbDao moctbDao, MoctcDao moctcDao, MoctdDao moctdDao, MocteDao mocteDao, InvmeDao invmeDao, InvmcDao invmcDao, InvmbDao invmbDao, InvmlDao invmlDao, CmsniDao cmsniDao, MoctcMapper moctcMapper) {
this.currentActor = currentActor; this.currentActor = currentActor;
...@@ -183,6 +188,11 @@ public class MoctcService { ...@@ -183,6 +188,11 @@ public class MoctcService {
moctc.setTc008("55");// 单据性质 55.委外领料 moctc.setTc008("55");// 单据性质 55.委外领料
} }
moctc.setTc014(DateUtil.currentDateString()); moctc.setTc014(DateUtil.currentDateString());
CurrentActorSetter currentActorSetter = applicationContext.getBean(CurrentActorSetter.class);
if(currentActorSetter.getActor()==null){
throw new TopsunitException(MessageUtils.getMessage("未找到用户:{0}", currentActorSetter.getActorStr()));
}
moctc.setTc015(currentActor.getActor().getMv001()); moctc.setTc015(currentActor.getActor().getMv001());
moctc.setTc021(currentActor.getActor().getMv004()); moctc.setTc021(currentActor.getActor().getMv004());
moctc.setTc028(currentActor.getActor().getMv001()); moctc.setTc028(currentActor.getActor().getMv001());
...@@ -239,14 +249,14 @@ public class MoctcService { ...@@ -239,14 +249,14 @@ public class MoctcService {
.orElseThrow(() -> new TopsunitException(MessageUtils.getMessage("仓库{0}库位{1}不存在。", moctb.get().getTb009(), mocteCreateParams.getTe025()))); .orElseThrow(() -> new TopsunitException(MessageUtils.getMessage("仓库{0}库位{1}不存在。", moctb.get().getTb009(), mocteCreateParams.getTe025())));
// 批号验证 // 批号验证
invmbDao.findById(mocteCreateParams.getTb003()).ifPresent(i -> { // invmbDao.findById(mocteCreateParams.getTb003()).ifPresent(i -> {
if ((!i.getMb022().equals("N")) && mocteCreateParams.getTe010().isEmpty()) { // if ((!i.getMb022().equals("N")) && mocteCreateParams.getTe010().isEmpty()) {
throw new TopsunitException(MessageUtils.getMessage("批管理品号{0}必须录入批号。", mocteCreateParams.getTb003())); // throw new TopsunitException(MessageUtils.getMessage("批管理品号{0}必须录入批号。", mocteCreateParams.getTb003()));
} // }
}); // });
invmlDao.findById(new InvmlId(mocteCreateParams.getTb003(), moctb.get().getTb009(), mocteCreateParams.getTe025(), mocteCreateParams.getTe010())) invmlDao.findFirstByMl001AndMl002AndMl003(mocteCreateParams.getTb003(), moctb.get().getTb009(), mocteCreateParams.getTe025())
.filter(i -> i.getMl005().compareTo(mocteCreateParams.getQuantity()) >= 0) .filter(i -> i.getMl005().compareTo(mocteCreateParams.getQuantity()) >= 0)
.orElseThrow(() -> new TopsunitException(MessageUtils.getMessage("品号{0}批号{1}库存不足。", mocteCreateParams.getTb003().trim(), mocteCreateParams.getTe010().trim()))); .orElseThrow(() -> new TopsunitException(MessageUtils.getMessage("品号{0}库存不足。", mocteCreateParams.getTb003().trim())));
Mocte mocte = new Mocte(); Mocte mocte = new Mocte();
mocte.setTe001(moctc.getTc001()); mocte.setTe001(moctc.getTc001());
......
...@@ -42,4 +42,5 @@ ...@@ -42,4 +42,5 @@
未找到销售订单:{0},{1}=未找到销售订单:{0},{1} 未找到销售订单:{0},{1}=未找到销售订单:{0},{1}
未找到销售订单:{0},{1},{2}=未找到销售订单:{0},{1},{2} 未找到销售订单:{0},{1},{2}=未找到销售订单:{0},{1},{2}
未找到客户:{0}=未找到客户:{0} 未找到客户:{0}=未找到客户:{0}
未找到用户:{0}=未找到用户:{0} 未找到用户:{0}=未找到用户:{0}
\ No newline at end of file 品号{0}库存不足。=品号{0}库存不足。
\ No newline at end of file
...@@ -36,4 +36,11 @@ ...@@ -36,4 +36,11 @@
品号{0}批号{1}库存不足。=item {0} lot {1} is out of stock. 品号{0}批号{1}库存不足。=item {0} lot {1} is out of stock.
未找到采购订单{0},{1}=purchase order {0} not found, {1} 未找到采购订单{0},{1}=purchase order {0} not found, {1}
未找到采购订单{0},{1},{2}=purchase orders {0},{1},{2} not found. 未找到采购订单{0},{1},{2}=purchase orders {0},{1},{2} not found.
未找到工单:{0},{1}=job not found: {0},{1} 未找到工单:{0},{1}=job not found: {0},{1}
\ No newline at end of file 请维护账套数据库编码=please maintain the sob database code.
通知单{0}已全部出库=notice {0} has all been issued.
未找到销售订单:{0},{1}=sales order not found: {0},{1}
未找到销售订单:{0},{1},{2}=sales order not found: {0},{1},{2}
未找到客户:{0}=customer not found: {0}
未找到用户:{0}=user not found: {0}
品号{0}库存不足。=item {0} is out of stock.
\ No newline at end of file
...@@ -36,4 +36,11 @@ ...@@ -36,4 +36,11 @@
品号{0}批号{1}库存不足。=หมายเลข{0}หมายเลขชุด{1}ไม่เพียงพอ 品号{0}批号{1}库存不足。=หมายเลข{0}หมายเลขชุด{1}ไม่เพียงพอ
未找到采购订单{0},{1}=ไม่พบใบสั่งซื้อ{0},{1} 未找到采购订单{0},{1}=ไม่พบใบสั่งซื้อ{0},{1}
未找到采购订单{0},{1},{2}=ไม่พบใบสั่งซื้อ{0},{1},{2} 未找到采购订单{0},{1},{2}=ไม่พบใบสั่งซื้อ{0},{1},{2}
未找到工单:{0},{1}=ไม่พบใบสั่งงาน:{0},{1} 未找到工单:{0},{1}=ไม่พบใบสั่งงาน:{0},{1}
\ No newline at end of file 请维护账套数据库编码=โปรดรักษาการเข้ารหัสฐานข้อมูลหนังสือ
通知单{0}已全部出库=บันทึกการแจ้งเตือน{0}ออกจากระบบหมดแล้ว
未找到销售订单:{0},{1}=ไม พบใบสั่งซื้อขาย:{0},{1}
未找到销售订单:{0},{1},{2}=ไม พบใบสั่งซื้อขาย:{0},{1},{2}
未找到客户:{0}=ไม พบลูกค้า:{0}
未找到用户:{0}=ไม พบผู ใช ้:{0}
品号{0}库存不足。=หมายเลข{0}ไม่เพียงพอในสต็อก
\ No newline at end of file
...@@ -36,4 +36,11 @@ ...@@ -36,4 +36,11 @@
品号{0}批号{1}库存不足。=品号{0}批号{1}库存不足。 品号{0}批号{1}库存不足。=品号{0}批号{1}库存不足。
未找到采购订单{0},{1}=未找到采购订单{0},{1} 未找到采购订单{0},{1}=未找到采购订单{0},{1}
未找到采购订单{0},{1},{2}=未找到采购订单{0},{1},{2} 未找到采购订单{0},{1},{2}=未找到采购订单{0},{1},{2}
未找到工单:{0},{1}=未找到工单:{0},{1} 未找到工单:{0},{1}=未找到工单:{0},{1}
\ No newline at end of file 请维护账套数据库编码=请维护账套数据库编码
通知单{0}已全部出库=通知单{0}已全部出库
未找到销售订单:{0},{1}=未找到销售订单:{0},{1}
未找到销售订单:{0},{1},{2}=未找到销售订单:{0},{1},{2}
未找到客户:{0}=未找到客户:{0}
未找到用户:{0}=未找到用户:{0}
品号{0}库存不足。=品号{0}库存不足。
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment