You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udi-spms-java/src/main/java/com/glxp/api/util/udi/UdiCalCountUtil.java

102 lines
3.6 KiB
Java

package com.glxp.api.util.udi;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.basic.UdiRelevanceService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class UdiCalCountUtil {
@Resource
UdiRelevanceService udiRelevanceService;
// public int getActCount(Long relId) {
// UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(relId);
// return getActCount(udiRelevanceResponse);
// }
public int getActCount(UdiRelevanceResponse udiRelevanceResponse) {
//启用使用单元
if (udiRelevanceResponse.getUseDy()) {
if (udiRelevanceResponse.getDiType() == 1) {
if (udiRelevanceResponse.getZxxsbzbhsydysl() == null || udiRelevanceResponse.getZxxsbzbhsydysl() == 0) {
udiRelevanceResponse.setZxxsbzbhsydysl(1);
}
return udiRelevanceResponse.getZxxsbzbhsydysl();
} else if (udiRelevanceResponse.getDiType() == 4) {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
udiRelevanceResponse.setBhzxxsbzsl(1);
}
if (udiRelevanceResponse.getZxxsbzbhsydysl() == null || udiRelevanceResponse.getZxxsbzbhsydysl() == 0) {
udiRelevanceResponse.setZxxsbzbhsydysl(1);
}
return udiRelevanceResponse.getBhzxxsbzsl() * udiRelevanceResponse.getZxxsbzbhsydysl();
} else {
return udiRelevanceResponse.getBhzxxsbzsl();
}
} else {//不启用使用单元
if (udiRelevanceResponse.getDiType() == 1) {
return 1;
} else if (udiRelevanceResponse.getDiType() == 4) {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
udiRelevanceResponse.setBhzxxsbzsl(1);
}
return udiRelevanceResponse.getBhzxxsbzsl();
} else {
return udiRelevanceResponse.getBhzxxsbzsl();
}
}
}
public int getActCount(IoCodeTempEntity codeTempEntity) {
if (codeTempEntity.getRelId() != null) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(codeTempEntity.getRelId());
int count = getActCount(udiRelevanceResponse);
return codeTempEntity.getCount() * count;
}
return 1;
}
public int getActCount(String nameCode) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(nameCode);
int count = getActCount(udiRelevanceResponse);
return count;
}
public int getActCountByRelId(String relId) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(relId);
int count = getActCount(udiRelevanceResponse);
return count;
}
/**
* 获取流通实际数量
*
* @return
*/
public int getCirActCount(UdiRelevanceResponse udiRelevanceResponse) {
if (udiRelevanceResponse.getBhltcjsl() == null || udiRelevanceResponse.getBhltcjsl() == 0)
return 1;
else return udiRelevanceResponse.getBhltcjsl();
}
/**
* 获取使用实际数量
*
* @return
*/
public int getUseActCount(UdiRelevanceResponse udiRelevanceResponse) {
if (udiRelevanceResponse.getBhsycjsl() == null || udiRelevanceResponse.getBhsycjsl() == 0)
return 1;
else return udiRelevanceResponse.getBhsycjsl();
}
}