Merge branch 'master' of http://gitea.zianxin.com/zianxin-tec/biz-api-cloud
This commit is contained in:
commit
aaf97a9b3d
11 files changed
+162
-48
No files matched your search
+47
@@ -0,0 +1,47 @@
|
||||
package com.bsd.pjcloud.supermarket.vo.inventoryrecord;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "出入库汇总sum")
|
||||
@Data
|
||||
public class InventoryRecordSumVo {
|
||||
|
||||
@Schema(description ="id")
|
||||
private Long erpSpuId;
|
||||
|
||||
|
||||
@Schema(description="条码")
|
||||
private String barcode;
|
||||
|
||||
|
||||
@Schema(description="商品名称")
|
||||
private String productName;
|
||||
|
||||
|
||||
/* 规格
|
||||
*/
|
||||
@Schema(description="规格")
|
||||
private String spec;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@Schema(description="单位")
|
||||
private String unit;
|
||||
|
||||
|
||||
@Schema(description="入库数量")
|
||||
private Double inventoryNum;
|
||||
|
||||
@Schema(description="入库金额")
|
||||
private Double inventoryPrice;
|
||||
|
||||
}
|
||||
+2
-1
@@ -177,7 +177,8 @@ public class SmErpCgDdController {
|
||||
LambdaQueryWrapper<SmErpCgPlanEntity> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.like(StrUtil.isNotBlank(cGPlanLinkQueryDTO.getPlanCode()),SmErpCgPlanEntity::getPlanCode,cGPlanLinkQueryDTO.getPlanCode());
|
||||
wrapper.eq(Objects.nonNull(cGPlanLinkQueryDTO.getPlanDate()),SmErpCgPlanEntity::getPlanDate,cGPlanLinkQueryDTO.getPlanDate());
|
||||
|
||||
//只查询未关联的
|
||||
wrapper.eq(SmErpCgPlanEntity::getLinkStatus,"0");
|
||||
//todo 审核成功条件
|
||||
// wrapper.eq(SmErpCgPlanEntity::getCheckStatus,);
|
||||
return R.ok(smErpCgPlanService.pageCgsqScope(page, wrapper));
|
||||
|
||||
+3
-36
@@ -87,40 +87,7 @@ public class SmErpInventoryRecordsController {
|
||||
@GetMapping("/{id}" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_view')" )
|
||||
public R getById(@PathVariable("id" ) Long id) {
|
||||
SmErpInventoryRecordsEntity smErpInventoryRecordsEntity = smErpInventoryRecordsService.getById(id);
|
||||
List<SmErpInventoryRecordsItemEntity> list =smErpInventoryRecordsItemService.list(new LambdaQueryWrapper<SmErpInventoryRecordsItemEntity>()
|
||||
.eq(SmErpInventoryRecordsItemEntity::getInventoryId, id));
|
||||
|
||||
//获取采购item下已选择的item的所有包装单位
|
||||
List<Long> spuIds =list.stream().map(vo -> vo.getErpSpuId()).collect(Collectors.toList());
|
||||
List<SmErpUnitEntity> unitList = smErpUnitService.list(new LambdaQueryWrapper<SmErpUnitEntity>().in(SmErpUnitEntity::getSpuId, spuIds));
|
||||
|
||||
|
||||
//
|
||||
InventoryRecordVo bean = BeanUtils.toBean(smErpInventoryRecordsEntity, InventoryRecordVo.class, (source) -> {
|
||||
List<InventoryRecordItemVo> smeErpCgPlanItemVos = BeanUtils.toBean(list, InventoryRecordItemVo.class);
|
||||
smeErpCgPlanItemVos.stream().forEach(item -> {
|
||||
List<SmErpUnitEntity> unitEntities = unitList.stream().filter(unit -> unit.getSpuId().equals(item.getErpSpuId())).collect(Collectors.toList());
|
||||
|
||||
// unitList.stream().forEach(unit -> {
|
||||
// if(unit.getId().equals(item.getUnitId())){
|
||||
// item.setSpec(unit.getSpec());
|
||||
// item.setUnit(unit.getUnit());
|
||||
// item.setPackageNum(unit.getPackageNum());
|
||||
// item.setPurchasePrice(unit.getPurchasePrice());
|
||||
// }
|
||||
// });
|
||||
item.setErpUnitVos(BeanUtils.toBean(unitEntities, ErpUnitVo.class));
|
||||
});
|
||||
source.setItems(smeErpCgPlanItemVos);
|
||||
});
|
||||
|
||||
// bean.stream().forEach(vo -> {
|
||||
// List<SmErpUnitEntity> unitEntities = unitList.stream().filter(unit -> unit.getSpuId().equals(vo.getId())).collect(Collectors.toList());
|
||||
// vo.setErpUnitVos(BeanUtils.toBean(unitEntities, ErpUnitVo.class));
|
||||
// });
|
||||
|
||||
return R.ok(bean);
|
||||
return R.ok(smErpInventoryRecordsService.getInventoryDetailById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -224,7 +191,7 @@ public class SmErpInventoryRecordsController {
|
||||
LambdaQueryWrapper<SmErpCgDdEntity> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.like(StrUtil.isNotBlank(cgDdLinkQueryDTO.getCode()),SmErpCgDdEntity::getCode,cgDdLinkQueryDTO.getCode());
|
||||
wrapper.eq(Objects.nonNull(cgDdLinkQueryDTO.getDdDate()),SmErpCgDdEntity::getDdDate,cgDdLinkQueryDTO.getDdDate());
|
||||
|
||||
wrapper.eq(SmErpCgDdEntity::getLinkStatus,"0");
|
||||
//todo 审核成功条件
|
||||
// wrapper.eq(SmErpCgPlanEntity::getCheckStatus,);
|
||||
return R.ok(smErpCgDdService.pageCgddScope(page, wrapper));
|
||||
@@ -268,7 +235,7 @@ public class SmErpInventoryRecordsController {
|
||||
*/
|
||||
@Operation(summary = "分页获取出入库明细" , description = "出库明细,入库明细" )
|
||||
@GetMapping("/inventoryDetail" )
|
||||
public R getInventoryDetailByInventoryCode(@RequestParam("id")String inventoryCode) {
|
||||
public R getInventoryDetailByInventoryCode(@RequestParam("inventoryCode")String inventoryCode) {
|
||||
return R.ok(smErpInventoryRecordsService.getInventoryDetailByInventoryCode(inventoryCode));
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -135,8 +135,8 @@ public class SmErpSupplierController {
|
||||
*/
|
||||
@Operation(summary = "通过id查询" , description = "通过id查询" )
|
||||
@GetMapping("/selectSimpleAll" )
|
||||
public R selectSimpleAll() {
|
||||
List<SmErpSupplierEntity> list = smErpSupplierService.selectSimpleAllScope();
|
||||
public R selectSimpleAll(@RequestParam(value = "name",required = false)String name) {
|
||||
List<SmErpSupplierEntity> list = smErpSupplierService.selectSimpleAllScope(name);
|
||||
List<SmErpSupplierSimpleVo> bean = BeanUtils.toBean(list, SmErpSupplierSimpleVo.class);
|
||||
return R.ok(bean);
|
||||
}
|
||||
|
||||
+13
@@ -1,11 +1,24 @@
|
||||
package com.bsd.pjcloud.supermarket.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryDetailQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpInventoryRecordsItemEntity;
|
||||
import com.bsd.pjcloud.supermarket.vo.inventoryrecord.InventoryRecordSumVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@Mapper
|
||||
public interface SmErpInventoryRecordsItemMapper extends PjcloudBaseMapper<SmErpInventoryRecordsItemEntity> {
|
||||
|
||||
|
||||
/**
|
||||
* 入库汇总
|
||||
* @param page
|
||||
* @param inventoryDetailQueryDTO
|
||||
* @param of
|
||||
* @return
|
||||
*/
|
||||
Page<InventoryRecordSumVo> selectInventoryTypeSumPageByScope(Page page, @Param("inventoryDetailQueryDTO") InventoryDetailQueryDTO inventoryDetailQueryDTO, DataScope of);
|
||||
}
|
||||
+8
@@ -58,4 +58,12 @@ public interface SmErpInventoryRecordsService extends IService<SmErpInventoryRec
|
||||
* @return
|
||||
*/
|
||||
Object getInventoryTypeSumPage(Page page, InventoryDetailQueryDTO inventoryDetailQueryDTO);
|
||||
|
||||
|
||||
/**
|
||||
* 获取详情
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
Object getInventoryDetailById(Long id);
|
||||
}
|
||||
+1
-1
@@ -17,7 +17,7 @@ public interface SmErpSupplierService extends IService<SmErpSupplierEntity> {
|
||||
* 隔离查询
|
||||
* @return
|
||||
*/
|
||||
List<SmErpSupplierEntity> selectSimpleAllScope();
|
||||
List<SmErpSupplierEntity> selectSimpleAllScope(String name);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -73,7 +73,7 @@ public class SmErpCgDdServiceImpl extends ServiceImpl<SmErpCgDdMapper, SmErpCgDd
|
||||
smErpCgDDItemMapper.insert(cgPlanItemEntities);
|
||||
//更新已关联的采购计划,标记为已使用
|
||||
LambdaQueryWrapper<SmErpCgPlanEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(SmErpCgPlanEntity::getPlanCode, erpCgDDSaveDTO.getCode());
|
||||
queryWrapper.eq(SmErpCgPlanEntity::getPlanCode, erpCgDDSaveDTO.getLinkCode());
|
||||
SmErpCgPlanEntity smErpCgPlanEntity = new SmErpCgPlanEntity();
|
||||
smErpCgPlanEntity.setLinkStatus("1");
|
||||
smErpCgPlanMapper.update(smErpCgPlanEntity,queryWrapper);
|
||||
|
||||
+72
-5
@@ -1,6 +1,7 @@
|
||||
package com.bsd.pjcloud.supermarket.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.admin.api.entity.SysUser;
|
||||
@@ -18,10 +19,12 @@ import com.bsd.pjcloud.supermarket.entity.*;
|
||||
import com.bsd.pjcloud.supermarket.mapper.*;
|
||||
import com.bsd.pjcloud.supermarket.service.SmErpInventoryRecordsService;
|
||||
import com.bsd.pjcloud.supermarket.service.SmErpStockService;
|
||||
import com.bsd.pjcloud.supermarket.vo.cgplan.ErpUnitVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.cgplan.SmErpCgPlanItemVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.cgplan.SmErpCgPlanVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.inventoryrecord.InventoryRecordItemVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.inventoryrecord.InventoryRecordPageVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.inventoryrecord.InventoryRecordSumVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.inventoryrecord.InventoryRecordVo;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -76,12 +79,13 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
|
||||
for (SmErpInventoryRecordsItemEntity cgPlanItemEntity : cgPlanItemEntities) {
|
||||
cgPlanItemEntity.setInventoryId(smErpCgDdEntity.getId());
|
||||
cgPlanItemEntity.setDeptId(deptId);
|
||||
|
||||
String orderType = smErpCgDdEntity.getOrderType();
|
||||
cgPlanItemEntity.setOrderType(orderType);
|
||||
UpdateStockDTO updateStockDTO = new UpdateStockDTO();
|
||||
updateStockDTO.setId(cgPlanItemEntity.getErpSpuId());
|
||||
if (smErpCgDdEntity.getOrderType().equals(OrderTypeEnum.RK.getType())){
|
||||
if (orderType.equals(OrderTypeEnum.RK.getType())){
|
||||
updateStockDTO.setIncrCount(cgPlanItemEntity.getQuantity());
|
||||
}else if (smErpCgDdEntity.getOrderType().equals(OrderTypeEnum.CK.getType())){
|
||||
}else if (orderType.equals(OrderTypeEnum.CK.getType())){
|
||||
updateStockDTO.setIncrCount(-cgPlanItemEntity.getQuantity());
|
||||
}else {
|
||||
throw new RuntimeException("订单类型错误");
|
||||
@@ -247,12 +251,75 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
|
||||
|
||||
@Override
|
||||
public Object getInventoryDetailByInventoryCode(String inventoryCode) {
|
||||
return null;
|
||||
LambdaQueryWrapper<SmErpInventoryRecordsEntity> objectLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
objectLambdaQueryWrapper.eq(SmErpInventoryRecordsEntity::getInventoryCode, inventoryCode);
|
||||
SmErpInventoryRecordsEntity inventoryRecordsEntity = baseMapper.selectOne(objectLambdaQueryWrapper);
|
||||
Object inventoryDetailById = getInventoryDetailById(inventoryRecordsEntity.getId());
|
||||
return inventoryDetailById;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getInventoryTypeSumPage(Page page, InventoryDetailQueryDTO inventoryDetailQueryDTO) {
|
||||
return null;
|
||||
|
||||
Page<InventoryRecordSumVo> pageDate = smErpInventoryRecordsItemMapper.selectInventoryTypeSumPageByScope(page, inventoryDetailQueryDTO, DataScope.of());
|
||||
List<InventoryRecordSumVo> records = pageDate.getRecords();
|
||||
|
||||
Set<Long> erpSpuIds = records.stream().map(vo -> vo.getErpSpuId()).collect(Collectors.toSet());
|
||||
|
||||
List<SmErpSpuEntity> smErpSpuEntities = smErpSpuMapper.selectByIds(erpSpuIds);
|
||||
Map<Long, SmErpSpuEntity> spuMap = smErpSpuEntities.stream().collect(Collectors.toMap(SmErpSpuEntity::getId, spu -> spu));
|
||||
|
||||
LambdaQueryWrapper<SmErpUnitEntity> smErpUnitEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
smErpUnitEntityLambdaQueryWrapper.in(SmErpUnitEntity::getSpuId, erpSpuIds);
|
||||
smErpUnitEntityLambdaQueryWrapper.eq(SmErpUnitEntity::getIsBase, true);
|
||||
List<SmErpUnitEntity> smErpUnitEntities = smErpUnitMapper.selectList(smErpUnitEntityLambdaQueryWrapper);
|
||||
Map<Long, SmErpUnitEntity> unitMap = smErpUnitEntities.stream().collect(Collectors.toMap(SmErpUnitEntity::getSpuId, unit -> unit));
|
||||
|
||||
records.stream().forEach(vo -> {
|
||||
vo.setProductName(spuMap.getOrDefault(vo.getErpSpuId(), new SmErpSpuEntity()).getProductName());
|
||||
SmErpUnitEntity orDefault = unitMap.getOrDefault(vo.getErpSpuId(), new SmErpUnitEntity());
|
||||
vo.setSpec(orDefault.getSpec());
|
||||
vo.setUnit(orDefault.getUnit());
|
||||
vo.setBarcode(orDefault.getBarCode());
|
||||
});
|
||||
return pageDate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getInventoryDetailById(Long id) {
|
||||
SmErpInventoryRecordsEntity smErpInventoryRecordsEntity = this.getById(id);
|
||||
List<SmErpInventoryRecordsItemEntity> list =smErpInventoryRecordsItemMapper.selectList(new LambdaQueryWrapper<SmErpInventoryRecordsItemEntity>()
|
||||
.eq(SmErpInventoryRecordsItemEntity::getInventoryId, id));
|
||||
|
||||
//获取采购item下已选择的item的所有包装单位
|
||||
List<Long> spuIds =list.stream().map(vo -> vo.getErpSpuId()).collect(Collectors.toList());
|
||||
List<SmErpUnitEntity> unitList = smErpUnitMapper.selectList(new LambdaQueryWrapper<SmErpUnitEntity>().in(SmErpUnitEntity::getSpuId, spuIds));
|
||||
|
||||
|
||||
//
|
||||
InventoryRecordVo bean = BeanUtils.toBean(smErpInventoryRecordsEntity, InventoryRecordVo.class, (source) -> {
|
||||
List<InventoryRecordItemVo> smeErpCgPlanItemVos = BeanUtils.toBean(list, InventoryRecordItemVo.class);
|
||||
smeErpCgPlanItemVos.stream().forEach(item -> {
|
||||
List<SmErpUnitEntity> unitEntities = unitList.stream().filter(unit -> unit.getSpuId().equals(item.getErpSpuId())).collect(Collectors.toList());
|
||||
|
||||
// unitList.stream().forEach(unit -> {
|
||||
// if(unit.getId().equals(item.getUnitId())){
|
||||
// item.setSpec(unit.getSpec());
|
||||
// item.setUnit(unit.getUnit());
|
||||
// item.setPackageNum(unit.getPackageNum());
|
||||
// item.setPurchasePrice(unit.getPurchasePrice());
|
||||
// }
|
||||
// });
|
||||
item.setErpUnitVos(BeanUtils.toBean(unitEntities, ErpUnitVo.class));
|
||||
});
|
||||
source.setItems(smeErpCgPlanItemVos);
|
||||
});
|
||||
|
||||
// bean.stream().forEach(vo -> {
|
||||
// List<SmErpUnitEntity> unitEntities = unitList.stream().filter(unit -> unit.getSpuId().equals(vo.getId())).collect(Collectors.toList());
|
||||
// vo.setErpUnitVos(BeanUtils.toBean(unitEntities, ErpUnitVo.class));
|
||||
// });
|
||||
return bean;
|
||||
}
|
||||
|
||||
|
||||
|
||||
+6
-2
@@ -16,6 +16,7 @@ import com.bsd.pjcloud.supermarket.mapper.SmErpSupplierTypeMapper;
|
||||
import com.bsd.pjcloud.supermarket.service.SmErpSupplierService;
|
||||
import com.bsd.pjcloud.supermarket.validarot.SupplierValidator;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.dao.DuplicateKeyException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
@@ -37,8 +38,11 @@ public class SmErpSupplierServiceImpl extends ServiceImpl<SmErpSupplierMapper, S
|
||||
|
||||
private final SmErpSupplierTypeMapper supplierTypeMapper;
|
||||
@Override
|
||||
public List<SmErpSupplierEntity> selectSimpleAllScope() {
|
||||
return baseMapper.selectListByScope(new LambdaQueryWrapper<SmErpSupplierEntity>().eq(SmErpSupplierEntity::getStatus, "0"), DataScope.of());
|
||||
public List<SmErpSupplierEntity> selectSimpleAllScope(String name) {
|
||||
LambdaQueryWrapper<SmErpSupplierEntity> eq = new LambdaQueryWrapper<SmErpSupplierEntity>()
|
||||
.eq(SmErpSupplierEntity::getStatus, "0")
|
||||
.like(StringUtils.isNotBlank(name),SmErpSupplierEntity::getSupplierName,name);
|
||||
return baseMapper.selectListByScope(eq, DataScope.of());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+7
@@ -26,4 +26,11 @@
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="tenantId" column="tenant_id"/>
|
||||
</resultMap>
|
||||
<select id="selectInventoryTypeSumPageByScope"
|
||||
resultType="com.bsd.pjcloud.supermarket.vo.inventoryrecord.InventoryRecordSumVo">
|
||||
SELECT erp_spu_id ,sum(total_amount) as inventoryPrice,sum(quantity) as inventoryNum FROM sm_erp_inventory_records_item
|
||||
where order_type = #{inventoryDetailQueryDTO.orderType}
|
||||
GROUP BY erp_spu_id
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in new issue
Block a user