Merge branch 'master' of http://gitea.zianxin.com/zianxin-tec/biz-api-cloud
This commit is contained in:
commit
5ac930cd40
6 files changed
+61
-11
No files matched your search
+2
-1
@@ -15,7 +15,8 @@ import java.util.List;
|
||||
public enum OrderTypeEnum {
|
||||
|
||||
RK("1", "入库"),
|
||||
CK("2", "出库")
|
||||
CK("2", "出库"),
|
||||
No("0", "无盈亏")
|
||||
;
|
||||
private final String type;
|
||||
private final String description;
|
||||
|
||||
+6
@@ -165,6 +165,12 @@ public class SmErpInventoryRecordsEntity extends Model<SmErpInventoryRecordsEnti
|
||||
@Schema(description="设备类型")
|
||||
private Integer deviceType;
|
||||
|
||||
@Schema(description="流程实例id")
|
||||
private String processInstanceId;
|
||||
|
||||
@Schema(description="审核原因")
|
||||
private String checkReason;
|
||||
|
||||
@Schema(description="商品名称")
|
||||
@TableField(exist = false)
|
||||
private String productName;
|
||||
|
||||
+1
-1
@@ -204,7 +204,7 @@ public class SmErpCgDdController {
|
||||
//只查询未关联的
|
||||
wrapper.eq(SmErpCgPlanEntity::getLinkStatus,"0");
|
||||
//todo 审核成功条件
|
||||
wrapper.eq(SmErpCgPlanEntity::getCheckStatus, TaskCheckStatusEnum.RESULT);
|
||||
wrapper.eq(SmErpCgPlanEntity::getCheckStatus, TaskCheckStatusEnum.RESULT.getCode());
|
||||
return R.ok(smErpCgPlanService.pageCgsqScope(page, wrapper));
|
||||
}
|
||||
|
||||
|
||||
+22
@@ -4,12 +4,17 @@ import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.core.util.BeanUtils;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.common.security.annotation.Inner;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.flow.task.dto.ProcessNodeRecordParamDto;
|
||||
import com.bsd.pjcloud.flow.task.utils.GetCheckReasonUtils;
|
||||
import com.bsd.pjcloud.flow.task.vo.CheckStatusAndReasonVo;
|
||||
import com.bsd.pjcloud.supermarket.dto.cgdd.CGPlanLinkQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.*;
|
||||
@@ -27,6 +32,7 @@ import org.springframework.http.HttpHeaders;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
@@ -100,6 +106,22 @@ public class SmErpInventoryRecordsController {
|
||||
return R.ok(smErpInventoryRecordsService.saveInventoryRecord(inventoryRecordSaveDTO));
|
||||
}
|
||||
|
||||
@Operation(summary = "回调" , description = "回调" )
|
||||
@SysLog("采购订单回调" )
|
||||
@PostMapping("/flow-callback")
|
||||
@Inner(value = false)
|
||||
@Transactional
|
||||
public R supermarketFlowCallback(@RequestBody ProcessNodeRecordParamDto processNodeRecordParamDto) {
|
||||
String processInstanceId = processNodeRecordParamDto.getProcessInstanceId();
|
||||
CheckStatusAndReasonVo checkReason = GetCheckReasonUtils.getCheckReason(processNodeRecordParamDto);
|
||||
smErpInventoryRecordsService.update(
|
||||
new LambdaUpdateWrapper<SmErpInventoryRecordsEntity>()
|
||||
.eq(SmErpInventoryRecordsEntity::getProcessInstanceId, processInstanceId)
|
||||
.set(SmErpInventoryRecordsEntity::getCheckStatus, checkReason.getCheckStatus())
|
||||
.set(SmErpInventoryRecordsEntity::getCheckReason, checkReason.getCheckReason())
|
||||
);
|
||||
return R.ok();
|
||||
}
|
||||
/**
|
||||
* 修改出入库记录表
|
||||
* @param inventoryRecordEditDTO 出入库记录表
|
||||
|
||||
+30
-5
@@ -10,7 +10,12 @@ import com.bsd.pjcloud.common.core.util.BeanUtils;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.flow.task.api.feign.RemoteFlowApiFlowService;
|
||||
import com.bsd.pjcloud.flow.task.constant.TaskCheckStatusEnum;
|
||||
import com.bsd.pjcloud.flow.task.dto.ProcessInstanceParamDto;
|
||||
import com.bsd.pjcloud.flow.task.entity.Process;
|
||||
import com.bsd.pjcloud.supermarket.constant.OrderTypeEnum;
|
||||
import com.bsd.pjcloud.supermarket.constant.SupermarketFlowConstant;
|
||||
import com.bsd.pjcloud.supermarket.dto.cgdd.SmCgDDSaveItemDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.*;
|
||||
import com.bsd.pjcloud.supermarket.entity.*;
|
||||
@@ -53,6 +58,8 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
|
||||
private final RemoteUserService remoteUserService;
|
||||
|
||||
private final SmErpSupplierMapper smErpSupplierMapper;
|
||||
|
||||
private final RemoteFlowApiFlowService remoteFlowApiFlowService;
|
||||
@Override
|
||||
@Transactional
|
||||
public Object saveInventoryRecord(InventoryRecordSaveDTO inventoryRecordSaveDTO) {
|
||||
@@ -67,6 +74,17 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
|
||||
//计算主表总金额
|
||||
int sum = items.stream().mapToInt(InventoryRecordSaveItemDTO::getTotalAmount).sum();
|
||||
smErpCgDdEntity.setTotalAmount(sum);
|
||||
|
||||
//发起流程
|
||||
R<Process> processR = remoteFlowApiFlowService.getProcessByBusinessKey(SupermarketFlowConstant.SUPERMARKET_BHSQ_FLOW);
|
||||
String flowId = processR.getData().getFlowId();
|
||||
ProcessInstanceParamDto processInstanceParamDto = new ProcessInstanceParamDto();
|
||||
processInstanceParamDto.setFlowId(flowId);
|
||||
R<String> stringR = remoteFlowApiFlowService.startProcessInstance(processInstanceParamDto);
|
||||
String processInstanceId = stringR.getData();
|
||||
smErpCgDdEntity.setProcessInstanceId(processInstanceId);
|
||||
smErpCgDdEntity.setCheckStatus(TaskCheckStatusEnum.PADDING.getCode());
|
||||
|
||||
int insert = baseMapper.insert(smErpCgDdEntity);
|
||||
|
||||
List<SmErpInventoryRecordsItemEntity> cgPlanItemEntities = BeanUtils.toBean(items, SmErpInventoryRecordsItemEntity.class);
|
||||
@@ -85,19 +103,21 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
|
||||
updateStockDTO.setIncrCount(quantity);
|
||||
}else if (orderType.equals(OrderTypeEnum.CK.getType())){
|
||||
updateStockDTO.setIncrCount(-quantity);
|
||||
}else if (orderType.equals(OrderTypeEnum.No.getType())){
|
||||
//无需更新库存
|
||||
}else {
|
||||
throw new RuntimeException("订单类型错误");
|
||||
}
|
||||
|
||||
|
||||
updateStockDTOS.add(updateStockDTO);
|
||||
}
|
||||
smErpInventoryRecordsItemMapper.insert(cgPlanItemEntities);
|
||||
|
||||
//todo 实际上应该审批后才会入库
|
||||
//更新库存
|
||||
smErpStockService.updateStock(updateStockDTOS);
|
||||
|
||||
if (!CollectionUtils.isEmpty(updateStockDTOS)){
|
||||
smErpStockService.updateStock(updateStockDTOS);
|
||||
}
|
||||
//更新已关联的采购,标记为已使用
|
||||
LambdaQueryWrapper<SmErpCgDdEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(SmErpCgDdEntity::getCode, inventoryRecordSaveDTO.getInventoryCode());
|
||||
@@ -466,10 +486,12 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
|
||||
Double profit = item.getProfit();
|
||||
updateStockDTO.setIncrCount(profit);
|
||||
smErpInventoryRecordsItemEntity.setQuantity(profit);
|
||||
}else if (orderType.equals(OrderTypeEnum.CK.getType())){
|
||||
}else if (orderType.equals(OrderTypeEnum.CK.getType())) {
|
||||
Double loss = item.getLoss();
|
||||
updateStockDTO.setIncrCount(loss);
|
||||
smErpInventoryRecordsItemEntity.setQuantity(loss);
|
||||
}else if (orderType.equals(OrderTypeEnum.No.getType())){
|
||||
//无需更新库存
|
||||
}else {
|
||||
throw new RuntimeException("订单类型错误");
|
||||
}
|
||||
@@ -540,10 +562,13 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
|
||||
Double profit = item.getProfit();
|
||||
updateStockDTO.setIncrCount(profit);
|
||||
smErpInventoryRecordsItemEntity.setQuantity(profit);
|
||||
}else if (orderType.equals(OrderTypeEnum.CK.getType())){
|
||||
}else if (orderType.equals(OrderTypeEnum.CK.getType())) {
|
||||
Double loss = item.getLoss();
|
||||
updateStockDTO.setIncrCount(loss);
|
||||
smErpInventoryRecordsItemEntity.setQuantity(loss);
|
||||
} else if (orderType.equals(OrderTypeEnum.No.getType())){
|
||||
//无需更新库存
|
||||
|
||||
}else {
|
||||
throw new RuntimeException("订单类型错误");
|
||||
}
|
||||
|
||||
-4
@@ -131,8 +131,6 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
if (CollectionUtils.isNotEmpty(smErpAuxiliaryCodeEntityList)) {
|
||||
smErpAuxiliaryCodeEntityList.forEach(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId()));
|
||||
smErpAuxiliaryCodeService.saveBatch(smErpAuxiliaryCodeEntityList);
|
||||
} else {
|
||||
return R.failed("辅助条码不能为空");
|
||||
}
|
||||
|
||||
return R.ok();
|
||||
@@ -258,8 +256,6 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
if (!toDeleteCodeIds.isEmpty()) {
|
||||
smErpAuxiliaryCodeService.removeByIds(toDeleteCodeIds);
|
||||
}
|
||||
} else {
|
||||
return R.failed("辅助条码不能为空");
|
||||
}
|
||||
|
||||
return R.ok();
|
||||
|
||||
Reference in new issue
Block a user