Compare commits

...

4 Commits

Author SHA1 Message Date
wangwei 4a8f320746 4/9 代码优化1.0 4 months ago
wangwei 6936e65961 Merge remote-tracking branch 'origin/dev_2.5_mutiscan' into dev_2.5_mutiscan
# Conflicts:
#	src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java
4 months ago
wangwei f9175b2f2d 4/9 优化1.0 4 months ago
wangwei cfff3b7b94 4/8 youahu 1.6 4 months ago

@ -62,7 +62,10 @@ public class IoCollectCodeBackupController extends BaseController {
ioCollectCodeResponse.setManufactory(ioCollectCodeResponse.getYlqxzcrbarmc()); ioCollectCodeResponse.setManufactory(ioCollectCodeResponse.getYlqxzcrbarmc());
} }
IoCollectOrder byBillNo = collectOrderService.getByBillNo(ioCollectCodeResponse.getBillNo()); IoCollectOrder byBillNo = collectOrderService.getByBillNo(ioCollectCodeResponse.getBillNo());
ioCollectCodeResponse.setBillTime(byBillNo.getBillTime()); if (byBillNo.getBillTime() != null){
ioCollectCodeResponse.setBillTime(byBillNo.getBillTime());
}
if (byBillNo.getRemark() != null) { if (byBillNo.getRemark() != null) {
ioCollectCodeResponse.setRemark(byBillNo.getRemark()); ioCollectCodeResponse.setRemark(byBillNo.getRemark());
} }
@ -218,4 +221,26 @@ public class IoCollectCodeBackupController extends BaseController {
return ResultVOUtils.success(pageSimpleResponse); return ResultVOUtils.success(pageSimpleResponse);
} }
/**
*
*/
@GetMapping("/udiwms/basic/collect/ioCollectCodeBackup/codeOrders")
public BaseResponse codeOrdersList(IoCollectCodeRequest IoCollectCodeRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<IoCollectCodeResponse> collectOrderCodeManResponses = ioCollectCodeBackService.filterList(IoCollectCodeRequest);
for (IoCollectCodeResponse ioCollectCodeResponse : collectOrderCodeManResponses) {
if (StrUtil.isEmpty(ioCollectCodeResponse.getManufactory())) {
ioCollectCodeResponse.setManufactory(ioCollectCodeResponse.getYlqxzcrbarmc());
}
}
PageInfo<IoCollectCodeResponse> pageInfo = new PageInfo<>(collectOrderCodeManResponses);
PageSimpleResponse<IoCollectCodeResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(collectOrderCodeManResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
} }

@ -229,9 +229,11 @@ public class IoCollectOrderBackupController extends BaseController {
if (StrUtil.isNotEmpty(collectOrderRequest.getBillNo())) { if (StrUtil.isNotEmpty(collectOrderRequest.getBillNo())) {
collectOrderBizRequest.setOrderIdFk(collectOrderRequest.getBillNo()); collectOrderBizRequest.setOrderIdFk(collectOrderRequest.getBillNo());
} }
if (StrUtil.isNotEmpty(collectOrderRequest.getYbbm())) { if (StrUtil.isNotEmpty(collectOrderRequest.getYbbm())){
collectOrderBizRequest.setOrderIdFk(collectOrderRequest.getYbbm()); collectOrderBizRequest.setYbbm(collectOrderRequest.getYbbm());
} }
collectOrderBizRequest.setPage(collectOrderRequest.getPage());
collectOrderBizRequest.setLimit(collectOrderRequest.getLimit());
List<CollectOrderBizResponse> collectOrderBizResponses = ioCollectOrderBizBackupService.filterList(collectOrderBizRequest); List<CollectOrderBizResponse> collectOrderBizResponses = ioCollectOrderBizBackupService.filterList(collectOrderBizRequest);
PageInfo<CollectOrderBizResponse> pageInfo = new PageInfo<>(collectOrderBizResponses); PageInfo<CollectOrderBizResponse> pageInfo = new PageInfo<>(collectOrderBizResponses);
PageSimpleResponse<CollectOrderBizResponse> pageSimpleResponse = new PageSimpleResponse<>(); PageSimpleResponse<CollectOrderBizResponse> pageSimpleResponse = new PageSimpleResponse<>();
@ -245,11 +247,37 @@ public class IoCollectOrderBackupController extends BaseController {
public BaseResponse orderStats(@RequestBody CollectOrderRequest collectOrderRequest) { public BaseResponse orderStats(@RequestBody CollectOrderRequest collectOrderRequest) {
List<Long> workPlaceCodes = null; List<Long> workPlaceCodes = null;
List<UserWorkResponse> page; List<UserWorkResponse> page;
// 上传医保不做登录权限限制 log.error("collectOrderRequest"+collectOrderRequest);
log.error("collectOrderRequest" + collectOrderRequest); List<IoCollectOrderResponse> orderResponses = ioCollectOrderBackupService.filterorderStatsList(collectOrderRequest);
Page<IoCollectOrderResponse> orderResponses = ioCollectOrderBackupService.filterorderStatsList(collectOrderRequest); PageInfo<IoCollectOrderResponse> pageInfo = new PageInfo<>(orderResponses);
PageSimpleResponse<IoCollectOrderResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(orderResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
return ResultVOUtils.success(orderResponses); @GetMapping("/udiwms/basic/collect/ioCollectCodeBackup/getOrderCodeDetails")
public BaseResponse getOrderCodeDetails(CollectOrderRequest collectOrderRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest();
if (StrUtil.isNotEmpty(collectOrderRequest.getBillNo())){
collectOrderBizRequest.setOrderIdFk(collectOrderRequest.getBillNo());
}
if (StrUtil.isNotEmpty(collectOrderRequest.getYbbm())){
collectOrderBizRequest.setYbbm(collectOrderRequest.getYbbm());
}
collectOrderBizRequest.setPage(collectOrderRequest.getPage());
collectOrderBizRequest.setLimit(collectOrderRequest.getLimit());
List<CollectOrderBizResponse> collectOrderBizResponses = ioCollectOrderBizBackupService.getOrderCodeDetails(collectOrderBizRequest);
PageInfo<CollectOrderBizResponse> pageInfo = new PageInfo<>(collectOrderBizResponses);
PageSimpleResponse<CollectOrderBizResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(collectOrderBizResponses);
return ResultVOUtils.success(pageSimpleResponse);
} }

@ -15,5 +15,8 @@ public interface IoCollectOrderBizBackupMapper extends BaseMapper<IoCollectOrder
List<CollectOrderBizResponse> filterList(CollectOrderBizRequest collectOrderRequest); List<CollectOrderBizResponse> filterList(CollectOrderBizRequest collectOrderRequest);
List<CollectOrderBizResponse> getOrderCodeDetails(CollectOrderBizRequest collectOrderRequest);
Integer getScanCount(String billNo);
} }

@ -287,4 +287,22 @@ public class IoCollectOrderBackup implements Serializable {
@TableField(value = "summaryNo") @TableField(value = "summaryNo")
@ApiModelProperty(value = "汇总单号") @ApiModelProperty(value = "汇总单号")
private String summaryNo; private String summaryNo;
@TableField(value = "storard")
@ApiModelProperty(value = "是否达标")
private Integer storard;
@TableField(value = "shouldCount")
@ApiModelProperty(value = "应扫码数量")
private Integer shouldCount;
@TableField(value = "scanCount")
@ApiModelProperty(value = "实际扫码数量")
private Integer scanCount;
} }

@ -78,6 +78,9 @@ public class CollectOrderBizResponse {
*/ */
private Integer scanCount; private Integer scanCount;
/** /**
* *
*/ */
@ -207,8 +210,9 @@ public class CollectOrderBizResponse {
private Integer isSplit; private Integer isSplit;
private Integer notCodeType;
private Integer sumScanCount;
// /** // /**
// * 未赋码数量 // * 未赋码数量

@ -210,17 +210,13 @@ public class IoCollectOrderResponse {
private Integer storard; private Integer storard;
/** /**
* *
*/ */
private Integer codingStatus; private Integer codingStatus;
@TableField(value = "summaryNo") @TableField(value = "summaryNo")
@ApiModelProperty(value = "汇总单号") @ApiModelProperty(value = "汇总单号")
private String summaryNo; private String summaryNo;

@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant; import com.glxp.api.constant.Constant;
@ -37,6 +38,7 @@ import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.req.collect.CollectOrderUploadCountRequest; import com.glxp.api.req.collect.CollectOrderUploadCountRequest;
import com.glxp.api.req.collect.PostCollectOrderRequest; import com.glxp.api.req.collect.PostCollectOrderRequest;
import com.glxp.api.req.inout.ReviewFinishRequest; import com.glxp.api.req.inout.ReviewFinishRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.CollectOrderUploadCountResponse; import com.glxp.api.res.collect.CollectOrderUploadCountResponse;
@ -789,85 +791,20 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
@Resource @Resource
private BasicProductsDao basicProductsDao; private BasicProductsDao basicProductsDao;
public Page<IoCollectOrderResponse> filterorderStatsList(CollectOrderRequest collectOrderRequest) { public List<IoCollectOrderResponse> filterorderStatsList(CollectOrderRequest collectOrderRequest) {
if (collectOrderRequest.getPage() != null) {
int offset = (collectOrderRequest.getPage() - 1) * collectOrderRequest.getLimit();
PageHelper.offsetPage(offset, collectOrderRequest.getLimit());
}
List<IoCollectOrderResponse> data = ioCollectOrderBackupMapper.filterorderStatsList(collectOrderRequest); List<IoCollectOrderResponse> data = ioCollectOrderBackupMapper.filterorderStatsList(collectOrderRequest);
// for (IoCollectOrderResponse ioCollectOrderResponse : data){
// Integer newScanCount = 0;
// Integer shouldCount = 0;
// List<IoCollectOrderBizBackup> orderBizBackups = ioCollectOrderBizBackupService.listByBillNo(ioCollectOrderResponse.getBillNo());
// // 遍历集合进行累加
// for (IoCollectOrderBizBackup collectOrderBizResponse : orderBizBackups) {
// newScanCount += (collectOrderBizResponse.getScanCount() != null) ? collectOrderBizResponse.getScanCount() : 0;
// shouldCount += getCount(collectOrderBizResponse);
// }
// ioCollectOrderResponse.setScanCount(newScanCount);
// ioCollectOrderResponse.setShouldCount(shouldCount);
// ioCollectOrderResponse.setScanRate(getScanRate(shouldCount,newScanCount));
// if (newScanCount == shouldCount){
// ioCollectOrderResponse.setStorard(1);
// }else {
// ioCollectOrderResponse.setStorard(0);
// }
// }
// 筛选 setStorard 为 1 的数据
List<IoCollectOrderResponse> filteredData = new ArrayList<>();
List<IoCollectOrderResponse> filteredData1 = new ArrayList<>();
List<IoCollectOrderResponse> filteredData2 = new ArrayList<>();
for (IoCollectOrderResponse ioCollectOrderResponse : data) { for (IoCollectOrderResponse ioCollectOrderResponse : data) {
Integer newScanCount = 0;
Integer shouldCount = 0;
List<IoCollectOrderBizBackup> orderBizBackups = ioCollectOrderBizBackupService.listByBillNo(ioCollectOrderResponse.getBillNo());
// 遍历集合进行累加
for (IoCollectOrderBizBackup collectOrderBizResponse : orderBizBackups) {
newScanCount += (collectOrderBizResponse.getScanCount() != null) ? collectOrderBizResponse.getScanCount() : 0;
shouldCount += getCount(collectOrderBizResponse);
}
// 设置计算结果 ioCollectOrderResponse.setScanRate(getScanRate(ioCollectOrderResponse.getScanCount(), ioCollectOrderResponse.getShouldCount()));
ioCollectOrderResponse.setScanCount(newScanCount);
ioCollectOrderResponse.setShouldCount(shouldCount);
ioCollectOrderResponse.setScanRate(getScanRate(shouldCount, newScanCount));
ioCollectOrderResponse.setStorard(newScanCount.equals(shouldCount) ? 1 : 0);
if (collectOrderRequest.getStorard() == null){
filteredData.add(ioCollectOrderResponse);
}else if (collectOrderRequest.getStorard() == 1){
if (ioCollectOrderResponse.getStorard() == 1) {
filteredData.add(ioCollectOrderResponse);
}
}else if (collectOrderRequest.getStorard() == 0){
if (ioCollectOrderResponse.getStorard() == 0) {
filteredData.add(ioCollectOrderResponse);
}
}
}
// 获取分页参数 }
Integer pageNum = collectOrderRequest.getPage() != null ? collectOrderRequest.getPage() : 1;
Integer pageSize = collectOrderRequest.getLimit() != null ? collectOrderRequest.getLimit() : 10;
// 计算分页信息
int total = filteredData.size();
int totalPages = (int) Math.ceil((double) total / pageSize);
int start = (pageNum - 1) * pageSize;
int end = Math.min(start + pageSize, total);
// 截取分页数据
List<IoCollectOrderResponse> pageData = filteredData.subList(start, end);
// 创建分页对象
Page<IoCollectOrderResponse> page = new Page<>();
page.setCurrent(pageNum);
page.setSize(pageSize);
page.setTotal(total);
page.setPages(totalPages);
page.setRecords(pageData);
return page; return data;
} }

@ -1,17 +1,22 @@
package com.glxp.api.service.collect; package com.glxp.api.service.collect;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.dao.basic.BasicProductsDao;
import com.glxp.api.dao.collect.IoCollectOrderBizBackupMapper; import com.glxp.api.dao.collect.IoCollectOrderBizBackupMapper;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.collect.IoCollectOrderBizBackup; import com.glxp.api.entity.collect.IoCollectOrderBizBackup;
import com.glxp.api.http.ErpBasicClient; import com.glxp.api.http.ErpBasicClient;
import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.req.collect.CollectOrderUploadCountRequest; import com.glxp.api.req.collect.CollectOrderUploadCountRequest;
import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.CollectOrderUploadCountResponse; import com.glxp.api.res.collect.CollectOrderUploadCountResponse;
import com.glxp.api.util.IntUtil;
import io.swagger.models.auth.In; import io.swagger.models.auth.In;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -57,4 +62,57 @@ public class IoCollectOrderBizBackupService extends ServiceImpl<IoCollectOrderBi
} }
public List<CollectOrderBizResponse> getOrderCodeDetails(CollectOrderBizRequest collectOrderRequest) {
if (collectOrderRequest == null) {
return Collections.emptyList();
}
if (collectOrderRequest.getPage() != null) {
int offset = (collectOrderRequest.getPage() - 1) * collectOrderRequest.getLimit();
PageHelper.offsetPage(offset, collectOrderRequest.getLimit());
}
List<CollectOrderBizResponse> data = ioCollectOrderBizBackupMapper.getOrderCodeDetails(collectOrderRequest);
return data;
}
public List<IoCollectOrderBizBackup> listByBillNos(List<String> billNoList) {
QueryWrapper<IoCollectOrderBizBackup> queryWrapper = new QueryWrapper<>();
queryWrapper.in("orderIdFk", billNoList);
return this.list(queryWrapper);
}
@Resource
private BasicProductsDao basicProductsDao;
public Integer setShouldCount(IoCollectOrderBizBackup ioCollectOrderBizBackup){
List<BasicProductsEntity> productList = basicProductsDao.selectList(
new LambdaQueryWrapper<BasicProductsEntity>()
.eq(BasicProductsEntity::getYbbm, ioCollectOrderBizBackup.getYbbm())
.eq(BasicProductsEntity::getPackLevel, "1"));
BasicProductsEntity product = productList.get(0);
Integer myBhxjsl = product.getBhxjsl();
Integer shouldCount = 0;
double quotient = (double) ioCollectOrderBizBackup.getCount() / myBhxjsl;
int integerPart = (int) quotient;
if (quotient == integerPart) {
if (integerPart == 0) {
if (ioCollectOrderBizBackup.getAutoTagStatus() != 2) {
shouldCount = 1;
}
} else {
shouldCount = integerPart;
}
} else {
if (IntUtil.value(ioCollectOrderBizBackup.getAutoTagStatus()) == 2) {
shouldCount = 0;
} else {
shouldCount = integerPart + 1;
}
}
return shouldCount;
}
public Integer getScanCount(String billNo){
return ioCollectOrderBizBackupMapper.getScanCount(billNo);
}
} }

@ -57,31 +57,7 @@ public class IoCollectOrderBizService extends ServiceImpl<IoCollectOrderBizMappe
//设置 应该扫码数量 shouldCount //设置 应该扫码数量 shouldCount
if (data.size() > 0) { if (data.size() > 0) {
for (CollectOrderBizResponse collectOrderBizResponse : data) { for (CollectOrderBizResponse collectOrderBizResponse : data) {
List<BasicProductsEntity> productList = basicProductsDao.selectList( collectOrderBizResponse.setShouldCount(setShouldCount(collectOrderBizResponse));
new LambdaQueryWrapper<BasicProductsEntity>()
.eq(BasicProductsEntity::getYbbm, collectOrderBizResponse.getYbbm())
.eq(BasicProductsEntity::getPackLevel, "1"));
BasicProductsEntity product = productList.get(0);
Integer myBhxjsl = product.getBhxjsl();
Integer shouldCount = 0;
double quotient = (double) collectOrderBizResponse.getCount() / myBhxjsl;
int integerPart = (int) quotient;
if (quotient == integerPart) {
if (integerPart == 0) {
if (collectOrderBizResponse.getAutoTagStatus() != 2) {
shouldCount = 1;
}
} else {
shouldCount = integerPart;
}
} else {
if (IntUtil.value(collectOrderBizResponse.getAutoTagStatus()) == 2) {
shouldCount = 0;
} else {
shouldCount = integerPart + 1;
}
}
collectOrderBizResponse.setShouldCount(shouldCount);
if (collectOrderBizResponse.getScanCount() == null) { if (collectOrderBizResponse.getScanCount() == null) {
collectOrderBizResponse.setScanCount(0); collectOrderBizResponse.setScanCount(0);
} }
@ -174,13 +150,13 @@ public class IoCollectOrderBizService extends ServiceImpl<IoCollectOrderBizMappe
.eq(IoCollectCodeBackup::getRelId, collectOrderBizResponse.getRelId())); .eq(IoCollectCodeBackup::getRelId, collectOrderBizResponse.getRelId()));
//获取整取 //获取整取
List<IoCollectCodeBackup> fullList = list.stream() List<IoCollectCodeBackup> fullList = list.stream()
.filter(item -> item.getReCount() == 0 || item.getReCount() == null) .filter(item -> item.getReCount() == null || item.getReCount() == 0)
.collect(Collectors.toList()); .collect(Collectors.toList());
//拆零 //拆零
List<IoCollectCodeBackup> spiltList = list.stream() List<IoCollectCodeBackup> spiltList = list.stream()
.filter(item -> { .filter(item -> {
Integer reCount = item.getReCount(); Integer reCount = item.getReCount() == null ? 0 : item.getReCount();
return reCount > 0; return reCount > 0;
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
@ -204,12 +180,31 @@ public class IoCollectOrderBizService extends ServiceImpl<IoCollectOrderBizMappe
} }
} }
List<BasicProductsEntity> productList = basicProductsDao.selectList(
new LambdaQueryWrapper<BasicProductsEntity>()
.eq(BasicProductsEntity::getYbbm, collectOrderBizResponse.getYbbm())
.eq(BasicProductsEntity::getPackLevel, "1"));
BasicProductsEntity product = productList.get(0);
Integer myBhxjsl = product.getBhxjsl();
Integer shouldCount = 0; Integer shouldCount = 0;
if (fullList.size() > 0){ double quotient = (double) collectOrderBizResponse.getCount() / myBhxjsl;
shouldCount = fullList.size(); int integerPart = (int) quotient;
if (quotient == integerPart) {
if (integerPart == 0) {
if (collectOrderBizResponse.getAutoTagStatus() != 2) {
shouldCount = 1;
}
} else {
shouldCount = integerPart;
}
} else {
if (IntUtil.value(collectOrderBizResponse.getAutoTagStatus()) == 2) {
shouldCount = 0;
} else {
shouldCount = integerPart + 1;
}
} }
collectOrderBizResponse.setShouldCount(shouldCount); collectOrderBizResponse.setShouldCount(shouldCount);
collectOrderBizResponse.setShouldCount(shouldCount);
if (collectOrderBizResponse.getScanCount() == null) { if (collectOrderBizResponse.getScanCount() == null) {
collectOrderBizResponse.setScanCount(0); collectOrderBizResponse.setScanCount(0);
} }
@ -220,4 +215,32 @@ public class IoCollectOrderBizService extends ServiceImpl<IoCollectOrderBizMappe
} }
return data; return data;
} }
public Integer setShouldCount(CollectOrderBizResponse collectOrderBizResponse){
List<BasicProductsEntity> productList = basicProductsDao.selectList(
new LambdaQueryWrapper<BasicProductsEntity>()
.eq(BasicProductsEntity::getYbbm, collectOrderBizResponse.getYbbm())
.eq(BasicProductsEntity::getPackLevel, "1"));
BasicProductsEntity product = productList.get(0);
Integer myBhxjsl = product.getBhxjsl();
Integer shouldCount = 0;
double quotient = (double) collectOrderBizResponse.getCount() / myBhxjsl;
int integerPart = (int) quotient;
if (quotient == integerPart) {
if (integerPart == 0) {
if (collectOrderBizResponse.getAutoTagStatus() != 2) {
shouldCount = 1;
}
} else {
shouldCount = integerPart;
}
} else {
if (IntUtil.value(collectOrderBizResponse.getAutoTagStatus()) == 2) {
shouldCount = 0;
} else {
shouldCount = integerPart + 1;
}
}
return shouldCount;
}
} }

@ -1171,7 +1171,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
//拆零 //拆零
List<IoCollectCodeBackup> spiltList = ioCollectCodeBackups.stream() List<IoCollectCodeBackup> spiltList = ioCollectCodeBackups.stream()
.filter(item -> { .filter(item -> {
Integer reCount = item.getReCount(); Integer reCount = item.getReCount() == null ? 0 : item.getReCount() ;
return reCount > 0; return reCount > 0;
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());

@ -733,6 +733,16 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
BeanUtils.copyProperties(collectOrder, ioCollectOrderBackup); BeanUtils.copyProperties(collectOrder, ioCollectOrderBackup);
ioCollectOrderBackup.setCheckCodeStatus(0); ioCollectOrderBackup.setCheckCodeStatus(0);
ioCollectOrderBackup.setCheckCodeConfirm(0); ioCollectOrderBackup.setCheckCodeConfirm(0);
Integer shouldCount = setStorar(collectOrder).get(0);
Integer scanCount = setStorar(collectOrder).get(1);
ioCollectOrderBackup.setScanCount(scanCount);
ioCollectOrderBackup.setShouldCount(shouldCount);
if (shouldCount == scanCount){
ioCollectOrderBackup.setStorard(1);
}else {
ioCollectOrderBackup.setStorard(0);
}
ioCollectOrderBackupService.save(ioCollectOrderBackup); ioCollectOrderBackupService.save(ioCollectOrderBackup);
//todo 备份码表 //todo 备份码表
IoCollectOrder finalCollectOrder = collectOrder; IoCollectOrder finalCollectOrder = collectOrder;
@ -755,6 +765,19 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
} }
} }
private List<Integer> setStorar(IoCollectOrder collectOrder) {
ArrayList<Integer> integers = new ArrayList<>();
List<IoCollectOrderBizBackup> orderBizBackups = ioCollectOrderBizBackupService.listByBillNo(collectOrder.getBillNo());
Integer count = 0;
for (IoCollectOrderBizBackup ioCollectOrderBizBackup : orderBizBackups){
count += ioCollectOrderBizBackupService.setShouldCount(ioCollectOrderBizBackup);
}
Integer scanCount = ioCollectOrderBizBackupService.getScanCount(collectOrder.getBillNo());
integers.add(count);
integers.add(scanCount);
return integers;
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void confirmFinishOrder(CollectOrderRequest collectOrderRequest, AuthAdmin authAdmin) { public void confirmFinishOrder(CollectOrderRequest collectOrderRequest, AuthAdmin authAdmin) {

@ -129,8 +129,10 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
//3.如果拆零表不为空,则开始扣除数量 //3.如果拆零表不为空,则开始扣除数量
int count = 0; int count = 0;
int unCount = 0; //剩余未扣减数量 int unCount = 0; //剩余未扣减数量
int restCount = 0;
unCount = IntUtil.value(collectOrderBiz.getUnTagCount()); unCount = IntUtil.value(collectOrderBiz.getUnTagCount());
for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) {
restCount = unCount;
count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount;
if (count > 0) { if (count > 0) {
ioSplitCodeEntity.setRemainCount(count); ioSplitCodeEntity.setRemainCount(count);
@ -143,7 +145,24 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
ioSplitCodeEntity.setRemainCount(0); ioSplitCodeEntity.setRemainCount(0);
unCount = -count; unCount = -count;
} }
collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder().codeIdFk(ioSplitCodeEntity.getId()).udiCode(ioSplitCodeEntity.getCode()).orderIdFk(collectOrder.getBillNo()).batchNo(ioSplitCodeEntity.getBatchNo()).productDate(ioSplitCodeEntity.getProduceDate()).expireDate(ioSplitCodeEntity.getExpireDate()).serialNo(ioSplitCodeEntity.getSerialNo()).relId(collectOrderBiz.getRelId()).bizIdFk(collectOrderBiz.getId()).fifoSplit(1).createTime(new Date()).updateTime(new Date()).count(count > 0 ? count : 0).reCount(unCount).build()); collectOrderCodeAutoService.save(
IoCollectOrderCodeAuto
.builder()
.codeIdFk(ioSplitCodeEntity.getId())
.udiCode(ioSplitCodeEntity.getCode())
.orderIdFk(collectOrder.getBillNo())
.batchNo(ioSplitCodeEntity.getBatchNo())
.productDate(ioSplitCodeEntity.getProduceDate())
.expireDate(ioSplitCodeEntity.getExpireDate())
.serialNo(ioSplitCodeEntity.getSerialNo())
.relId(collectOrderBiz.getRelId())
.bizIdFk(collectOrderBiz.getId())
.fifoSplit(1)
.createTime(new Date())
.updateTime(new Date())
.count(count > 0 ? count : 0)
.reCount(restCount)
.build());
splitCodeMapper.updateById(ioSplitCodeEntity); splitCodeMapper.updateById(ioSplitCodeEntity);
} }
@ -330,7 +349,22 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
for (int i = 0; i < indexFlag; i++) { for (int i = 0; i < indexFlag; i++) {
IoSplitFifoCodeEntity splitFifoCodeEntity = ioSplitFifoCodeEntities.get(i); IoSplitFifoCodeEntity splitFifoCodeEntity = ioSplitFifoCodeEntities.get(i);
collectOrderBiz.setUnTagCount(IntUtil.value(collectOrderBiz.getUnTagCount()) - IntUtil.value(udiRelevanceResponse.getBhxjsl())); collectOrderBiz.setUnTagCount(IntUtil.value(collectOrderBiz.getUnTagCount()) - IntUtil.value(udiRelevanceResponse.getBhxjsl()));
collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder().codeIdFk(splitFifoCodeEntity.getId()).udiCode(splitFifoCodeEntity.getCode()).orderIdFk(collectOrder.getBillNo()).batchNo(splitFifoCodeEntity.getBatchNo()).productDate(splitFifoCodeEntity.getProduceDate()).expireDate(splitFifoCodeEntity.getExpireDate()).serialNo(splitFifoCodeEntity.getSerialNo()).relId(collectOrderBiz.getRelId()).bizIdFk(collectOrderBiz.getId()).fifoSplit(2).createTime(new Date()).updateTime(new Date()).build()); collectOrderCodeAutoService.save(
IoCollectOrderCodeAuto.builder()
.codeIdFk(splitFifoCodeEntity.getId())
.udiCode(splitFifoCodeEntity.getCode())
.orderIdFk(collectOrder.getBillNo())
.batchNo(splitFifoCodeEntity.getBatchNo())
.productDate(splitFifoCodeEntity.getProduceDate())
.expireDate(splitFifoCodeEntity.getExpireDate())
.serialNo(splitFifoCodeEntity.getSerialNo())
.relId(collectOrderBiz.getRelId())
.bizIdFk(collectOrderBiz.getId())
.fifoSplit(2)
.createTime(new Date())
.updateTime(new Date())
.reCount(0)
.build());
splitFifoCodeService.removeById(splitFifoCodeEntity.getId()); splitFifoCodeService.removeById(splitFifoCodeEntity.getId());
IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity); IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity);
if (splitFifoInv != null) { if (splitFifoInv != null) {

@ -193,6 +193,9 @@
icob.shipperName, icob.shipperName,
icob.thrBusType, icob.thrBusType,
icob.shipper, icob.shipper,
icob.shouldCount,
icob.scanCount,
icob.storard,
icob.tagMsg, icob.tagMsg,
sys_workplace_document.busName busTypeName, sys_workplace_document.busName busTypeName,
sw.workplaceName, sw.workplaceName,
@ -280,6 +283,10 @@
<if test="uploadStatus != null"> <if test="uploadStatus != null">
and icob.uploadStatus = #{uploadStatus} and icob.uploadStatus = #{uploadStatus}
</if> </if>
<if test="storard != null">
and icob.storard = #{storard}
</if>
<if test="keyWords != null and keyWords != ''"> <if test="keyWords != null and keyWords != ''">
and (icob.billNo like concat( #{keyWords}, '%') and (icob.billNo like concat( #{keyWords}, '%')
or icob.fromCorp like concat('%', #{keyWords}, '%') or icob.fromCorp like concat('%', #{keyWords}, '%')
@ -322,4 +329,5 @@
GROUP BY icob.billNo GROUP BY icob.billNo
order by case when icob.orderTime is null then icob.createTime else icob.orderTime end desc order by case when icob.orderTime is null then icob.createTime else icob.orderTime end desc
</select> </select>
</mapper> </mapper>

@ -10,6 +10,8 @@
bp.packUnit, bp.packUnit,
bp.prepnSpec, bp.prepnSpec,
bp.manufactory, bp.manufactory,
bu.notCodeType,
SUM(icobb.scanCount) OVER (PARTITION BY icobb.ybbm) as sumScanCount,
COALESCE(bp.bzgg,bp.ggxh) AS spec COALESCE(bp.bzgg,bp.ggxh) AS spec
FROM io_collect_order_biz_backup icobb FROM io_collect_order_biz_backup icobb
left join basic_udirel bu on icobb.relId = bu.id left join basic_udirel bu on icobb.relId = bu.id
@ -43,4 +45,52 @@
group by icobb.relId,icobb.batchNo group by icobb.relId,icobb.batchNo
</select> </select>
<select id="getOrderCodeDetails" resultType="com.glxp.api.res.collect.CollectOrderBizResponse">
SELECT icobb.*,
bp.nameCode
diCode,
bp.zczbhhzbapzbh,
bp.packUnit,
bp.prepnSpec,
bp.manufactory,
bu.notCodeType,
COALESCE(bp.bzgg,bp.ggxh) AS spec
FROM io_collect_order_biz_backup icobb
left join basic_udirel bu on icobb.relId = bu.id
left join basic_products bp on bu.uuid = bp.uuid
<where>
<if test="thrCode != '' and thrCode != null">
AND icobb.thrCode LIKE concat('%', #{thrCode}, '%')
</if>
<if test="orderIdFk != null and orderIdFk != ''">
AND icobb.orderIdFk = #{orderIdFk}
</if>
<if test="relId != null">
AND icobb.relId = #{relId}
</if>
<if test="cpmctymc != null and cpmctymc != ''">
AND icobb.cpmctymc LIKE concat( #{cpmctymc}, '%')
</if>
<if test="ybbm != null and ybbm != ''">
AND bp.ybbm LIKE concat('%', #{ybbm}, '%')
</if>
<if test="unionCode != '' and unionCode != null">
and (
bp.nameCode LIKE concat( #{unionCode}, '%')
or bp.ybbm LIKE concat(#{unionCode}, '%')
or bp.sptm LIKE concat('%', #{unionCode}, '%'))
</if>
<if test="ggxh != '' and ggxh != null">
AND ggxh LIKE concat( #{ggxh}, '%')
</if>
</where>
group by icobb.relId,icobb.batchNo
</select>
<select id="getScanCount" resultType="java.lang.Integer">
SELECT
COALESCE(SUM(icobb.scanCount), 0) AS totalScanCount
FROM io_collect_order_biz_backup icobb
where icobb.orderIdFk = #{billNo}
</select>
</mapper> </mapper>

@ -5620,3 +5620,15 @@ CALL Modify_index('yb_uploading_log', 'updateTime', 'idx_yb_uploading_log_update
CALL Pro_Temp_ColumnWork('sys_workplace_document', 'coercionSubmit', CALL Pro_Temp_ColumnWork('sys_workplace_document', 'coercionSubmit',
'tinyint NULL DEFAULT NULL COMMENT ''是否允许强制提交单据10''', 'tinyint NULL DEFAULT NULL COMMENT ''是否允许强制提交单据10''',
1); 1);
CALL Pro_Temp_ColumnWork('io_collect_order_backup', 'storard',
'tinyint NULL DEFAULT NULL COMMENT ''是否达标10''',
1);
CALL Pro_Temp_ColumnWork('io_collect_order_backup', 'shouldCount',
'int NULL DEFAULT NULL COMMENT ''应扫码数量''',
1);
CALL Pro_Temp_ColumnWork('io_collect_order_backup', 'scanCount',
'int NULL DEFAULT NULL COMMENT ''扫码数量''',
1);

Loading…
Cancel
Save