获得项目订单子项目物料库存,安全库存列表

dev
siontion 4 months ago
parent 9ec3b2a974
commit 9b64b4355b

@ -8,9 +8,12 @@ import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum;
import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFrameworkService;
import com.chanko.yunxi.mes.module.biz.controller.admin.chanjet.vo.QueryCurrentStockResVO;
import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.*;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.material.MaterialDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderSubDO;
import com.chanko.yunxi.mes.module.biz.dal.mysql.material.MaterialMapper;
import com.chanko.yunxi.mes.module.biz.enums.BusinessTypeEnum;
import com.chanko.yunxi.mes.module.biz.manager.CrossOrderManager;
import com.chanko.yunxi.mes.module.biz.service.projectorder.ProjectOrderService;
@ -51,6 +54,8 @@ public class ProjectOrderController {
@Resource
private CrossOrderManager crossOrderManager;
@PostMapping("/create")
@Operation(summary = "创建项目订单")
@PreAuthorize("@ss.hasPermission('biz:project-order:create')")
@ -177,6 +182,14 @@ public class ProjectOrderController {
return success(BeanUtils.toBean(pageResult, ProjectOrderSubRespVO.class));
}
@GetMapping("/project-order-sub/material")
@Operation(summary = "获得项目订单子项目物料库存,安全库存列表")
@Parameter(name = "code", description = "物料编码")
@Parameter(name = "whId", description = "仓库id")
@PreAuthorize("@ss.hasPermission('biz:project-order:query')")
public CommonResult<MaterialDO> getProjectOrderSubListByProjectOrderId(@RequestParam("code") String code, @RequestParam("whId") Long whId) {
return success(projectOrderService.getProjectOrderMaterial(code,whId));
}
}

@ -4,6 +4,7 @@ import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectOrderPageReqVO;
import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectOrderSaveReqVO;
import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectOrderSubPageReqVO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.material.MaterialDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderSubDO;
@ -64,6 +65,7 @@ public interface ProjectOrderService {
* @return
*/
List<ProjectOrderSubDO> getProjectOrderSubListByProjectOrderId(Long projectOrderId);
MaterialDO getProjectOrderMaterial(String code,Long whId);
/**
*

@ -11,9 +11,11 @@ import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectO
import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectOrderSaveReqVO;
import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectOrderSubPageReqVO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.customer.CustomerDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.material.MaterialDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderSubDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.serialnumber.SerialNumberDO;
import com.chanko.yunxi.mes.module.biz.dal.mysql.material.MaterialMapper;
import com.chanko.yunxi.mes.module.biz.dal.mysql.projectorder.ProjectOrderMapper;
import com.chanko.yunxi.mes.module.biz.dal.mysql.projectorder.ProjectOrderSubMapper;
import com.chanko.yunxi.mes.module.biz.enums.BusinessTypeEnum;
@ -26,6 +28,7 @@ import com.chanko.yunxi.mes.module.infra.controller.admin.file.vo.file.FilePageR
import com.chanko.yunxi.mes.module.infra.dal.dataobject.file.FileDO;
import com.chanko.yunxi.mes.module.infra.service.file.FileService;
import com.github.dadiyang.equator.GetterBaseEquator;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -74,6 +77,9 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
@Resource
private ChanjetManager chanjetManager;
@Resource
private MaterialMapper materialMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public Long createProjectOrder(ProjectOrderSaveReqVO createReqVO) {
@ -251,6 +257,23 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
}
return projectOrderSubDOList;
}
@SneakyThrows
@Override
public MaterialDO getProjectOrderMaterial(String code, Long whId){
MaterialDO materialDO = materialMapper.selectOne("code",code);
List<String> codes = new ArrayList<>();
codes.add(code);
List<QueryCurrentStockResVO> stockMatDatas = chanjetManager.queryStock(codes,whId);
if(CollUtil.isNotEmpty(stockMatDatas) && stockMatDatas.get(0).getAvailableQuantity()!=null){
materialDO.setStockQuantity(new BigDecimal(stockMatDatas.get(0).getAvailableQuantity()));
}else{
materialDO.setStockQuantity(new BigDecimal(0));
}
if(materialDO.getInvSafe()==null)materialDO.setInvSafe(new BigDecimal(0));
return materialDO;
}
@Override
@Transactional(rollbackFor = Exception.class)

Loading…
Cancel
Save