|
@@ -10,32 +10,25 @@ import com.dk.common.response.ResponseResultUtil;
|
|
|
import com.dk.common.response.ResponseResultVO;
|
|
import com.dk.common.response.ResponseResultVO;
|
|
|
import com.dk.mdm.infrastructure.convert.ivt.FreezeConvert;
|
|
import com.dk.mdm.infrastructure.convert.ivt.FreezeConvert;
|
|
|
import com.dk.mdm.infrastructure.convert.ivt.FreezeItemConvert;
|
|
import com.dk.mdm.infrastructure.convert.ivt.FreezeItemConvert;
|
|
|
-import com.dk.mdm.infrastructure.convert.mst.SupplierConvert;
|
|
|
|
|
-import com.dk.mdm.infrastructure.convert.sale.OrderItemConvert;
|
|
|
|
|
import com.dk.mdm.mapper.ivt.FreezeItemMapper;
|
|
import com.dk.mdm.mapper.ivt.FreezeItemMapper;
|
|
|
-import com.dk.mdm.mapper.sale.OrderItemMapper;
|
|
|
|
|
import com.dk.mdm.model.pojo.ivt.Freeze;
|
|
import com.dk.mdm.model.pojo.ivt.Freeze;
|
|
|
import com.dk.mdm.mapper.ivt.FreezeMapper;
|
|
import com.dk.mdm.mapper.ivt.FreezeMapper;
|
|
|
import com.dk.common.service.BaseService;
|
|
import com.dk.common.service.BaseService;
|
|
|
import com.dk.common.mapper.BaseMapper;
|
|
import com.dk.common.mapper.BaseMapper;
|
|
|
import com.dk.mdm.model.pojo.ivt.FreezeItem;
|
|
import com.dk.mdm.model.pojo.ivt.FreezeItem;
|
|
|
-import com.dk.mdm.model.pojo.mst.Supplier;
|
|
|
|
|
-import com.dk.mdm.model.pojo.sale.OrderItem;
|
|
|
|
|
import com.dk.mdm.model.query.ivt.FreezeItemQuery;
|
|
import com.dk.mdm.model.query.ivt.FreezeItemQuery;
|
|
|
import com.dk.mdm.model.query.ivt.FreezeQuery;
|
|
import com.dk.mdm.model.query.ivt.FreezeQuery;
|
|
|
import com.dk.mdm.model.response.ivt.FreezeItemResponse;
|
|
import com.dk.mdm.model.response.ivt.FreezeItemResponse;
|
|
|
import com.dk.mdm.model.response.ivt.FreezeResponse;
|
|
import com.dk.mdm.model.response.ivt.FreezeResponse;
|
|
|
import com.dk.mdm.model.vo.ivt.FreezeItemVO;
|
|
import com.dk.mdm.model.vo.ivt.FreezeItemVO;
|
|
|
import com.dk.mdm.model.vo.ivt.FreezeVO;
|
|
import com.dk.mdm.model.vo.ivt.FreezeVO;
|
|
|
-import com.dk.mdm.model.vo.mst.SupplierVo;
|
|
|
|
|
-import com.dk.mdm.model.vo.sale.OrderItemVO;
|
|
|
|
|
import com.dk.mdm.service.common.CommonService;
|
|
import com.dk.mdm.service.common.CommonService;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
|
@@ -87,16 +80,6 @@ public class FreezeService extends BaseService<Freeze> {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * @desc : 查询明细数据
|
|
|
|
|
- * @author : 宋扬
|
|
|
|
|
- * @date : 2024/3/13 16:05
|
|
|
|
|
- */
|
|
|
|
|
- @Pagination
|
|
|
|
|
- public List<FreezeItemResponse> selectFreezeItemById(String id) {
|
|
|
|
|
- return freezeItemMapper.selectByCond(new FreezeItemQuery().setFreezeId(id));
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
* @desc : 新建冻结单
|
|
* @desc : 新建冻结单
|
|
|
* @author : 宋扬
|
|
* @author : 宋扬
|
|
|
* @date : 2024/3/15 10:33
|
|
* @date : 2024/3/15 10:33
|
|
@@ -109,29 +92,37 @@ public class FreezeService extends BaseService<Freeze> {
|
|
|
// 判断库存量和冻结量
|
|
// 判断库存量和冻结量
|
|
|
if (freezeVO.getItemList() != null && freezeVO.getItemList().size() > 0) {
|
|
if (freezeVO.getItemList() != null && freezeVO.getItemList().size() > 0) {
|
|
|
for (FreezeItemVO freezeItemVO : freezeVO.getItemList()) {
|
|
for (FreezeItemVO freezeItemVO : freezeVO.getItemList()) {
|
|
|
- FreezeItemResponse freezeItem = freezeItemMapper.selectInvById(freezeItemVO.getInvId());
|
|
|
|
|
|
|
+ List<FreezeItemResponse> freezeItemList = freezeItemMapper.selectInvById(freezeItemVO.getInvId());
|
|
|
// 库存可售量不能小于冻结量
|
|
// 库存可售量不能小于冻结量
|
|
|
- if (freezeItem.getUsableQty().compareTo(freezeItemVO.getFreezeQty() ) == -1){
|
|
|
|
|
|
|
+ if (freezeItemList.get(0).getUsableQty().compareTo(freezeItemVO.getFreezeQty() ) == -1){
|
|
|
throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FREEZEQTY_NO_LESS_USABLEQTY.getMessage());
|
|
throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FREEZEQTY_NO_LESS_USABLEQTY.getMessage());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.Freeze.getName(), true);
|
|
Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.Freeze.getName(), true);
|
|
|
- freeze.setFreezeId(codeMap.get("outId").toString());
|
|
|
|
|
- freeze.setFreezeNo(codeMap.get("outNote").toString()); //插入冻结表的实体
|
|
|
|
|
- super.insert(freeze);// 先插入自己的冻结单
|
|
|
|
|
-
|
|
|
|
|
|
|
+ // 获取冻结状态 获取冻结日期(当前日期) 插入冻结表的实体
|
|
|
|
|
+ freeze.setFreezeStatus(Constant.FreezeStatusType.ALLFREEZE.getName()).setFreezeDate(LocalDateTime.now())
|
|
|
|
|
+ .setCusId(freezeVO.getCusId()).setMakeStaff(freezeVO.getMakeStaff()).setOrgId(freezeVO.getOrgId())
|
|
|
|
|
+ .setAutoUnfreezeDate(freezeVO.getAutoUnfreezeDate()).setMakeTime(LocalDateTime.now())
|
|
|
|
|
+ .setStaffId(freezeVO.getStaffId()).setFreezeId(codeMap.get("outId").toString()).setCpId(freezeVO.getCpId())
|
|
|
|
|
+ .setFreezeNo(codeMap.get("outNote").toString()).setSumQuantity(freezeVO.getSumQuantity());
|
|
|
|
|
+ // 先插入冻结单主表数据
|
|
|
|
|
+ super.insert(freeze);
|
|
|
// 插入冻结明细
|
|
// 插入冻结明细
|
|
|
if (freezeVO.getItemList() != null && freezeVO.getItemList().size() > 0) {
|
|
if (freezeVO.getItemList() != null && freezeVO.getItemList().size() > 0) {
|
|
|
for (FreezeItemVO freezeItemVO : freezeVO.getItemList()) {
|
|
for (FreezeItemVO freezeItemVO : freezeVO.getItemList()) {
|
|
|
FreezeItem freezeItem = freezeItemConvert.convertToPo(freezeItemVO);
|
|
FreezeItem freezeItem = freezeItemConvert.convertToPo(freezeItemVO);
|
|
|
|
|
+ // 获取冻结主表uuid
|
|
|
|
|
+ freezeItem.setFreezeId(freeze.getFreezeId()).setCpId(freeze.getCpId());
|
|
|
|
|
+ // 插入冻结单明细数据
|
|
|
freezeItemMapper.insert(freezeItem);
|
|
freezeItemMapper.insert(freezeItem);
|
|
|
|
|
+ // 修改库存冻结量
|
|
|
|
|
+ freezeItemMapper.updateInvFreezeQty(freezeItemVO);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return ResponseResultUtil.success();
|
|
return ResponseResultUtil.success();
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // 手动回滚事务
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // 手动回滚事务
|
|
|
-
|
|
|
|
|
return ResponseResultUtil.error("保存失败");
|
|
return ResponseResultUtil.error("保存失败");
|
|
|
}
|
|
}
|
|
|
|
|
|