解决单据批量审核和删除的bug
This commit is contained in:
@@ -233,36 +233,38 @@ public class DepotHeadService {
|
|||||||
try{
|
try{
|
||||||
//查询单据主表信息
|
//查询单据主表信息
|
||||||
DepotHead depotHead =getDepotHead(id);
|
DepotHead depotHead =getDepotHead(id);
|
||||||
User userInfo=userService.getCurrentUser();
|
//只有未审核的单据才能被删除
|
||||||
|
if("0".equals(depotHead.getStatus())) {
|
||||||
|
User userInfo = userService.getCurrentUser();
|
||||||
//删除出库数据回收序列号
|
//删除出库数据回收序列号
|
||||||
if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())
|
if (BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())
|
||||||
&&!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubType())){
|
&& !BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubType())) {
|
||||||
//查询单据子表列表
|
//查询单据子表列表
|
||||||
List<DepotItem> depotItemList=null;
|
List<DepotItem> depotItemList = null;
|
||||||
try{
|
try {
|
||||||
depotItemList = depotItemMapperEx.findDepotItemListBydepotheadId(id,BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED);
|
depotItemList = depotItemMapperEx.findDepotItemListBydepotheadId(id, BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED);
|
||||||
}catch(Exception e){
|
} catch (Exception e) {
|
||||||
JshException.readFail(logger, e);
|
JshException.readFail(logger, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**回收序列号*/
|
/**回收序列号*/
|
||||||
if(depotItemList!=null&&depotItemList.size()>0){
|
if (depotItemList != null && depotItemList.size() > 0) {
|
||||||
for(DepotItem depotItem:depotItemList){
|
for (DepotItem depotItem : depotItemList) {
|
||||||
//BasicNumber=OperNumber*ratio
|
//BasicNumber=OperNumber*ratio
|
||||||
serialNumberService.cancelSerialNumber(depotItem.getMaterialId(), depotItem.getHeaderId(),(depotItem.getBasicNumber()==null?0:depotItem.getBasicNumber()).intValue(),userInfo);
|
serialNumberService.cancelSerialNumber(depotItem.getMaterialId(), depotItem.getHeaderId(), (depotItem.getBasicNumber() == null ? 0 : depotItem.getBasicNumber()).intValue(), userInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**删除单据子表数据*/
|
/**删除单据子表数据*/
|
||||||
try{
|
try {
|
||||||
depotItemMapperEx.batchDeleteDepotItemByDepotHeadIds(new Long []{id});
|
depotItemMapperEx.batchDeleteDepotItemByDepotHeadIds(new Long[]{id});
|
||||||
//更新当前库存
|
//更新当前库存
|
||||||
List<DepotItem> list = depotItemService.getListByHeaderId(id);
|
List<DepotItem> list = depotItemService.getListByHeaderId(id);
|
||||||
for(DepotItem depotItem: list){
|
for (DepotItem depotItem : list) {
|
||||||
Long tenantId = redisService.getTenantId(request);
|
Long tenantId = redisService.getTenantId(request);
|
||||||
depotItemService.updateCurrentStock(depotItem,tenantId);
|
depotItemService.updateCurrentStock(depotItem, tenantId);
|
||||||
}
|
}
|
||||||
}catch(Exception e){
|
} catch (Exception e) {
|
||||||
JshException.writeFail(logger, e);
|
JshException.writeFail(logger, e);
|
||||||
}
|
}
|
||||||
/**删除单据主表信息*/
|
/**删除单据主表信息*/
|
||||||
@@ -271,6 +273,7 @@ public class DepotHeadService {
|
|||||||
new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_DELETE).append(depotHead.getNumber()).toString(),
|
new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_DELETE).append(depotHead.getNumber()).toString(),
|
||||||
((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest());
|
((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest());
|
||||||
result = 1;
|
result = 1;
|
||||||
|
}
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
JshException.writeFail(logger, e);
|
JshException.writeFail(logger, e);
|
||||||
}
|
}
|
||||||
@@ -321,14 +324,31 @@ public class DepotHeadService {
|
|||||||
|
|
||||||
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
|
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
|
||||||
public int batchSetStatus(String status, String depotHeadIDs)throws Exception {
|
public int batchSetStatus(String status, String depotHeadIDs)throws Exception {
|
||||||
|
int result = 0;
|
||||||
|
try{
|
||||||
|
List<Long> dhIds = new ArrayList<>();
|
||||||
List<Long> ids = StringUtil.strToLongList(depotHeadIDs);
|
List<Long> ids = StringUtil.strToLongList(depotHeadIDs);
|
||||||
|
for(Long id: ids) {
|
||||||
|
DepotHead depotHead = getDepotHead(id);
|
||||||
|
if("0".equals(status)){
|
||||||
|
if("1".equals(depotHead.getStatus())) {
|
||||||
|
dhIds.add(id);
|
||||||
|
}
|
||||||
|
} else if("1".equals(status)){
|
||||||
|
if("0".equals(depotHead.getStatus())) {
|
||||||
|
dhIds.add(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(dhIds.size()>0) {
|
||||||
DepotHead depotHead = new DepotHead();
|
DepotHead depotHead = new DepotHead();
|
||||||
depotHead.setStatus(status);
|
depotHead.setStatus(status);
|
||||||
DepotHeadExample example = new DepotHeadExample();
|
DepotHeadExample example = new DepotHeadExample();
|
||||||
example.createCriteria().andIdIn(ids);
|
example.createCriteria().andIdIn(dhIds);
|
||||||
int result = 0;
|
|
||||||
try{
|
|
||||||
result = depotHeadMapper.updateByExampleSelective(depotHead, example);
|
result = depotHeadMapper.updateByExampleSelective(depotHead, example);
|
||||||
|
} else {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
JshException.writeFail(logger, e);
|
JshException.writeFail(logger, e);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user