1.修复库存统计报错问题

2.调整第三方系统添加单据类型检查重复判断逻辑
zhairh
x_z 3 years ago
parent 0fc5dcb63c
commit e9540c0167

@ -109,11 +109,10 @@ public class BussinessOriginTypeController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (bussinessTypeEntity != null) {
BussinessOriginTypeEntity bussinessOriginTypeEntity = bussinessOriginTypeService.findByAction(bussinessTypeEntity.getAction());
BussinessOriginTypeEntity bussinessOriginTypeEntity = bussinessOriginTypeService.findByActionAndSysId(bussinessTypeEntity.getAction(), bussinessTypeEntity.getThirdSys());
if (bussinessOriginTypeEntity != null) {
return ResultVOUtils.error(500, "单据类型已存在!");
}
bussinessOriginTypeService.insertBusOriginType(bussinessTypeEntity);
} else {
return ResultVOUtils.error(999, "参数错误");

@ -1,6 +1,8 @@
package com.glxp.sale.admin.controller.thrsys;
//领用单
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.glxp.sale.admin.annotation.AuthRuleAnnotation;
import com.glxp.sale.admin.entity.inout.StockOrderDetailEntity;
import com.glxp.sale.admin.entity.thrsys.ThrOrderDetailEntity;
@ -49,7 +51,7 @@ public class ThrOrderReceiveController {
stockOrderEntity.setCreateUser(userId + "");
stockOrderEntity.setType(1);//领用单据
stockOrderEntity.setUpdateTime(new Date());
stockOrderEntity.setBilldate(DateUtil.formatDate(new Date()));
stockOrderEntity.setBilldate(DateUtil.parse(stockOrderEntity.getBilldate(), DatePattern.NORM_DATETIME_PATTERN).toString());
ThrOrderEntity temp = thrOrderService.findByUnique(stockOrderEntity.getBillNo(), stockOrderEntity.getThirdSysFk());
if (temp != null) {
stockOrderEntity.setId(temp.getId());

@ -22,4 +22,6 @@ public interface BussinessOriginTypeDao {
boolean insertBusOriginType(BussinessOriginTypeEntity bussinessTypeEntity);
boolean deleteById(@Param("id") String id);
BussinessOriginTypeEntity findByActionAndSysId(@Param("action") String action, @Param("thirdSysId") String thirdSysId);
}

@ -1,9 +1,7 @@
package com.glxp.sale.admin.service.basic;
import com.glxp.sale.admin.entity.basic.BasicThirdSysDetailEntity;
import com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.sale.admin.entity.basic.BussinessOriginTypeEntity;
import com.glxp.sale.admin.req.basic.BussinessLocalTypeFilterRequest;
import com.glxp.sale.admin.req.basic.BussinessOriginTypeFilterRequest;
import com.glxp.sale.admin.res.basic.BussinessOriginTypeResponse;
@ -38,4 +36,12 @@ public interface BussinessOriginTypeService {
boolean deleteById(String id);
/**
* ID
*
* @param action
* @param thirdSysId
* @return
*/
BussinessOriginTypeEntity findByActionAndSysId(String action, String thirdSysId);
}

@ -132,4 +132,9 @@ public class BussinessOriginTypeServiceImpl implements BussinessOriginTypeServic
public boolean deleteById(String id) {
return bussinessOriginTypeDao.deleteById(id);
}
@Override
public BussinessOriginTypeEntity findByActionAndSysId(String action, String thirdSysId) {
return bussinessOriginTypeDao.findByActionAndSysId(action, thirdSysId);
}
}

@ -107,16 +107,38 @@ public class InvProductServiceImpl implements InvProductService {
relIdFkSet.add(invProductResponse.getRelIdFk());
});
//按照产品批次分组
Set<String> batchNoSet = new HashSet<>();
data.forEach(invProductResponse -> {
batchNoSet.add(invProductResponse.getBatchNo());
});
List<InvProductResponse> result = new ArrayList<>();
for (String relIdFk : relIdFkSet) {
InvProductResponse invProductResponse = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).collect(Collectors.toList()).get(0);
int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getInCount).sum();
int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getOutCount).sum();
invProductResponse.setInCount(inCount);
invProductResponse.setOutCount(outCount);
invProductResponse.setReCount(inCount - outCount);
result.add(invProductResponse);
if (CollUtil.isNotEmpty(batchNoSet)) {
for (String batchNo : batchNoSet) {
List<InvProductResponse> list = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).filter(product -> product.getBatchNo().equals(batchNo)).collect(Collectors.toList());
if (CollUtil.isNotEmpty(list)) {
InvProductResponse invProductResponse = list.get(0);
int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).filter(product -> product.getBatchNo().equals(batchNo)).mapToInt(InvProductResponse::getInCount).sum();
int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).filter(product -> product.getBatchNo().equals(batchNo)).mapToInt(InvProductResponse::getOutCount).sum();
invProductResponse.setInCount(inCount);
invProductResponse.setOutCount(outCount);
invProductResponse.setReCount(inCount - outCount);
result.add(invProductResponse);
}
}
} else {
InvProductResponse invProductResponse = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).collect(Collectors.toList()).get(0);
int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getInCount).sum();
int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getOutCount).sum();
invProductResponse.setInCount(inCount);
invProductResponse.setOutCount(outCount);
invProductResponse.setReCount(inCount - outCount);
result.add(invProductResponse);
}
}
return result;
}

@ -73,6 +73,13 @@
</where>
</select>
<select id="findByActionAndSysId" resultType="com.glxp.sale.admin.entity.basic.BussinessOriginTypeEntity">
select *
from basic_bustype_origin
where action = #{action}
and thirdSys = #{thirdSysId}
</select>
<insert id="insertBusOriginType" keyProperty="id"
parameterType="com.glxp.sale.admin.entity.basic.BussinessOriginTypeEntity">
replace

Loading…
Cancel
Save