Compare commits
2 Commits
ea6e07cc26
...
85319380fe
| Author | SHA1 | Date |
|---|---|---|
|
|
85319380fe | |
|
|
2e801db9a4 |
|
|
@ -90,7 +90,8 @@ public class ImsOutInventoryController extends BaseController
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public AjaxResult add(@RequestBody @Valid ImsOutInventoryAdd imsOutInventoryAdd)
|
public AjaxResult add(@RequestBody @Valid ImsOutInventoryAdd imsOutInventoryAdd)
|
||||||
{
|
{
|
||||||
return toAjax(imsOutInventoryService.insertImsOutInventory(imsOutInventoryAdd));
|
imsOutInventoryService.insertImsOutInventory(imsOutInventoryAdd);
|
||||||
|
return AjaxResult.success("新增成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -135,4 +135,8 @@ public class ImsOutInventoryDetail extends BaseEntity
|
||||||
@ApiModelProperty(value = "库存数量")
|
@ApiModelProperty(value = "库存数量")
|
||||||
@Excel(name = "库存数量")
|
@Excel(name = "库存数量")
|
||||||
private BigDecimal materialNum;
|
private BigDecimal materialNum;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出库单价")
|
||||||
|
@Excel(name = "出库单价")
|
||||||
|
private BigDecimal outUnitPrice;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -101,4 +101,6 @@ public class ImsInventoryVO extends BaseEntity
|
||||||
@Excel(name = "总库存数")
|
@Excel(name = "总库存数")
|
||||||
private BigDecimal totalNum;
|
private BigDecimal totalNum;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "货品单价")
|
||||||
|
private Integer unitPrice;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -180,6 +180,10 @@ public class OrderGoodsVO extends BaseEntity {
|
||||||
@ApiModelProperty(value = "累计合格总数量")
|
@ApiModelProperty(value = "累计合格总数量")
|
||||||
private BigDecimal totalQualifiedNum;
|
private BigDecimal totalQualifiedNum;
|
||||||
|
|
||||||
|
@Excel(name = "采购计划编号,逗号分隔存储")
|
||||||
|
@ApiModelProperty(value = "采购计划编号,逗号分隔存储")
|
||||||
|
private String purchasePlanCode;
|
||||||
|
|
||||||
private List<OrderGoodsDetailVO> orderGoodsDetailList;
|
private List<OrderGoodsDetailVO> orderGoodsDetailList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ public interface IImsOutInventoryService
|
||||||
* @param imsOutInventoryAdd 出库记录
|
* @param imsOutInventoryAdd 出库记录
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int insertImsOutInventory(ImsOutInventoryAdd imsOutInventoryAdd);
|
public ImsOutInventory insertImsOutInventory(ImsOutInventoryAdd imsOutInventoryAdd);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改出库记录
|
* 修改出库记录
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.bonus.canteen.core.ims.service.impl;
|
package com.bonus.canteen.core.ims.service.impl;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
|
@ -93,7 +94,7 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
|
||||||
*/
|
*/
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public int insertImsOutInventory(ImsOutInventoryAdd imsOutInventoryAdd)
|
public ImsOutInventory insertImsOutInventory(ImsOutInventoryAdd imsOutInventoryAdd)
|
||||||
{
|
{
|
||||||
ImsOutInventory imsOutInventory = new ImsOutInventory();
|
ImsOutInventory imsOutInventory = new ImsOutInventory();
|
||||||
BeanUtils.copyProperties(imsOutInventoryAdd, imsOutInventory);
|
BeanUtils.copyProperties(imsOutInventoryAdd, imsOutInventory);
|
||||||
|
|
@ -102,8 +103,7 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
|
||||||
imsOutInventory.setOutCode(NoGenerateUtils.generateOutCode());
|
imsOutInventory.setOutCode(NoGenerateUtils.generateOutCode());
|
||||||
imsOutInventory.setTotalAmount(0L);
|
imsOutInventory.setTotalAmount(0L);
|
||||||
int rows = imsOutInventoryMapper.insertImsOutInventory(imsOutInventory);
|
int rows = imsOutInventoryMapper.insertImsOutInventory(imsOutInventory);
|
||||||
insertImsOutInventoryDetail(imsOutInventoryAdd.getImsOutInventoryDetailAddList(), imsOutInventory);
|
return insertImsOutInventoryDetail(imsOutInventoryAdd.getImsOutInventoryDetailAddList(), imsOutInventory);
|
||||||
return rows;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -132,7 +132,8 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
|
||||||
imsOutInventory.setUpdateBy(SecurityUtils.getUsername());
|
imsOutInventory.setUpdateBy(SecurityUtils.getUsername());
|
||||||
imsOutInventory.setOutCode(imsOutInventoryVO.getOutCode());
|
imsOutInventory.setOutCode(imsOutInventoryVO.getOutCode());
|
||||||
imsOutInventoryMapper.deleteImsOutInventoryDetailByOutId(imsOutInventory.getOutId());
|
imsOutInventoryMapper.deleteImsOutInventoryDetailByOutId(imsOutInventory.getOutId());
|
||||||
return insertImsOutInventoryDetail(imsOutInventoryUpdate.getImsOutInventoryDetailAddList(), imsOutInventory);
|
insertImsOutInventoryDetail(imsOutInventoryUpdate.getImsOutInventoryDetailAddList(), imsOutInventory);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -168,7 +169,7 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
|
||||||
*
|
*
|
||||||
* @param imsOutInventory 出库记录对象
|
* @param imsOutInventory 出库记录对象
|
||||||
*/
|
*/
|
||||||
public int insertImsOutInventoryDetail(List<ImsOutInventoryDetailAdd> imsOutInventoryDetailAddList, ImsOutInventory imsOutInventory)
|
public ImsOutInventory insertImsOutInventoryDetail(List<ImsOutInventoryDetailAdd> imsOutInventoryDetailAddList, ImsOutInventory imsOutInventory)
|
||||||
{
|
{
|
||||||
Long outId = imsOutInventory.getOutId();
|
Long outId = imsOutInventory.getOutId();
|
||||||
if (StringUtils.isNotNull(imsOutInventoryDetailAddList))
|
if (StringUtils.isNotNull(imsOutInventoryDetailAddList))
|
||||||
|
|
@ -261,6 +262,11 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
|
||||||
throw new ServiceException("出口失败,库存不足");
|
throw new ServiceException("出口失败,库存不足");
|
||||||
}
|
}
|
||||||
totalPriceSum += totalPrice;
|
totalPriceSum += totalPrice;
|
||||||
|
BigDecimal outUnitPrice = BigDecimal.ZERO;
|
||||||
|
if(imsOutInventoryDetail.getFetchNum().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
outUnitPrice = new BigDecimal(totalPrice).divide(imsOutInventoryDetail.getFetchNum(), 2, RoundingMode.HALF_UP);
|
||||||
|
}
|
||||||
|
imsOutInventoryDetail.setOutUnitPrice(outUnitPrice);
|
||||||
}else {
|
}else {
|
||||||
ImsIntoInventoryDetailVO imsIntoInventoryDetail = imsIntoInventoryMapper
|
ImsIntoInventoryDetailVO imsIntoInventoryDetail = imsIntoInventoryMapper
|
||||||
.selectImsIntoInventoryDetailListByIntoDetailId(imsOutInventoryDetail.getIntoDetailId());
|
.selectImsIntoInventoryDetailListByIntoDetailId(imsOutInventoryDetail.getIntoDetailId());
|
||||||
|
|
@ -297,8 +303,10 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
|
||||||
imsOutInventoryMapper.batchImsOutInventoryDetail(list);
|
imsOutInventoryMapper.batchImsOutInventoryDetail(list);
|
||||||
imsOutInventory.setTotalAmount(totalPriceSum);
|
imsOutInventory.setTotalAmount(totalPriceSum);
|
||||||
}
|
}
|
||||||
|
imsOutInventory.setImsOutInventoryDetailList(list);
|
||||||
}
|
}
|
||||||
return imsOutInventoryMapper.updateImsOutInventory(imsOutInventory);
|
imsOutInventoryMapper.updateImsOutInventory(imsOutInventory);
|
||||||
|
return imsOutInventory;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateFetchMaterialOrderStatus(ImsOutInventory imsOutInventory) {
|
private void updateFetchMaterialOrderStatus(ImsOutInventory imsOutInventory) {
|
||||||
|
|
|
||||||
|
|
@ -172,7 +172,7 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
|
||||||
for(String orderGoodId : orderGoodsIds) {
|
for(String orderGoodId : orderGoodsIds) {
|
||||||
ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder();
|
ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder();
|
||||||
productionPurchaseOrder.setGoodsOrderId(orderGoodId);
|
productionPurchaseOrder.setGoodsOrderId(orderGoodId);
|
||||||
productionPurchaseOrder.setInspectGoodsId(String.valueOf(inspectGoods.getInspectGoodsId()));
|
productionPurchaseOrder.setInspectGoodsId(inspectGoodsVO.getInspectGoodsCode());
|
||||||
productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PURCHASE_TO_INSPECT.getKey());
|
productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PURCHASE_TO_INSPECT.getKey());
|
||||||
productionPurchaseOrderService.insertProductionPurchaseOrder(productionPurchaseOrder);
|
productionPurchaseOrderService.insertProductionPurchaseOrder(productionPurchaseOrder);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,19 @@ public class OrderGoodsServiceImpl implements IOrderGoodsService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
orderGoodsVO.setOrderGoodsDetailList(orderGoodsDetails);
|
orderGoodsVO.setOrderGoodsDetailList(orderGoodsDetails);
|
||||||
|
ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder();
|
||||||
|
productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PURCHASE_TO_ORDER.getKey());
|
||||||
|
productionPurchaseOrder.setGoodsOrderId(String.valueOf(orderGoodsVO.getOrderGoodsCode()));
|
||||||
|
List<ProductionPurchaseOrder> productionPurchaseOrderList = productionPurchaseOrderService.selectProductionPurchaseOrderList(productionPurchaseOrder);
|
||||||
|
if(CollUtil.isNotEmpty(productionPurchaseOrderList)) {
|
||||||
|
List<String> purchaseCodeList = productionPurchaseOrderList.stream()
|
||||||
|
.map(ProductionPurchaseOrder::getPurchasePlanId)
|
||||||
|
.distinct()
|
||||||
|
.sorted()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
orderGoodsVO.setPurchasePlanCodeList(purchaseCodeList);
|
||||||
|
orderGoodsVO.setPurchasePlanCode(String.join(",", purchaseCodeList));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return orderGoodsVO;
|
return orderGoodsVO;
|
||||||
}
|
}
|
||||||
|
|
@ -108,6 +121,7 @@ public class OrderGoodsServiceImpl implements IOrderGoodsService {
|
||||||
|
|
||||||
if(CollUtil.isNotEmpty(purchaseCodeList)) {
|
if(CollUtil.isNotEmpty(purchaseCodeList)) {
|
||||||
for (String purchaseCode : purchaseCodeList) {
|
for (String purchaseCode : purchaseCodeList) {
|
||||||
|
productionPurchaseOrder = new ProductionPurchaseOrder();
|
||||||
productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PRODUCTION_TO_PURCHASE.getKey());
|
productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PRODUCTION_TO_PURCHASE.getKey());
|
||||||
productionPurchaseOrder.setPurchasePlanId(purchaseCode);
|
productionPurchaseOrder.setPurchasePlanId(purchaseCode);
|
||||||
productionPurchaseOrderList = productionPurchaseOrderService.selectProductionPurchaseOrderList(productionPurchaseOrder);
|
productionPurchaseOrderList = productionPurchaseOrderService.selectProductionPurchaseOrderList(productionPurchaseOrder);
|
||||||
|
|
@ -224,7 +238,7 @@ public class OrderGoodsServiceImpl implements IOrderGoodsService {
|
||||||
for(String purchasePlanCode : purchasePlanCodes) {
|
for(String purchasePlanCode : purchasePlanCodes) {
|
||||||
ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder();
|
ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder();
|
||||||
productionPurchaseOrder.setPurchasePlanId(purchasePlanCode);
|
productionPurchaseOrder.setPurchasePlanId(purchasePlanCode);
|
||||||
productionPurchaseOrder.setGoodsOrderId(orderGoods.getOrderGoodsCode());
|
productionPurchaseOrder.setGoodsOrderId(orderGoodsVO.getOrderGoodsCode());
|
||||||
productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PURCHASE_TO_ORDER.getKey());
|
productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PURCHASE_TO_ORDER.getKey());
|
||||||
productionPurchaseOrderService.insertProductionPurchaseOrder(productionPurchaseOrder);
|
productionPurchaseOrderService.insertProductionPurchaseOrder(productionPurchaseOrder);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -226,7 +226,7 @@ public class PurchasePlanServiceImpl implements IPurchasePlanService {
|
||||||
for(String productionPlanCode : productionPlanCodes) {
|
for(String productionPlanCode : productionPlanCodes) {
|
||||||
ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder();
|
ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder();
|
||||||
productionPurchaseOrder.setProductionPlanId(productionPlanCode);
|
productionPurchaseOrder.setProductionPlanId(productionPlanCode);
|
||||||
productionPurchaseOrder.setPurchasePlanId(purchasePlan.getPlanCode());
|
productionPurchaseOrder.setPurchasePlanId(purchasePlanVO.getPlanCode());
|
||||||
productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PRODUCTION_TO_PURCHASE.getKey());
|
productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PRODUCTION_TO_PURCHASE.getKey());
|
||||||
productionPurchaseOrderService.insertProductionPurchaseOrder(productionPurchaseOrder);
|
productionPurchaseOrderService.insertProductionPurchaseOrder(productionPurchaseOrder);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,13 +28,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="areaName" column="area_name" />
|
<result property="areaName" column="area_name" />
|
||||||
<result property="areaId" column="area_id" />
|
<result property="areaId" column="area_id" />
|
||||||
<result property="materialCode" column="material_code" />
|
<result property="materialCode" column="material_code" />
|
||||||
|
<result property="unitPrice" column="unit_price" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectImsInventoryVo">
|
<sql id="selectImsInventoryVo">
|
||||||
select ii.inventory_id, ii.warehouse_id, ii.material_id, ii.unit_id, min_num, max_num,
|
select ii.inventory_id, ii.warehouse_id, ii.material_id, ii.unit_id, min_num, max_num,
|
||||||
material_num, inventory_status, remark, ii.del_flag, ii.create_by, ii.create_time,
|
material_num, inventory_status, remark, ii.del_flag, ii.create_by, ii.create_time,
|
||||||
ii.update_by, ii.update_time, iwi.warehouse_name, cm.material_name, cmt.material_type_name,
|
ii.update_by, ii.update_time, iwi.warehouse_name, cm.material_name, cmt.material_type_name,
|
||||||
iu.unit_name, cm.bar_code, cm.size, ba.area_name, ba.area_id, cm.material_code
|
iu.unit_name, cm.bar_code, cm.size, ba.area_name, ba.area_id, cm.material_code, cm.unit_price
|
||||||
from ims_inventory ii
|
from ims_inventory ii
|
||||||
left join ims_warehouse_info iwi on ii.warehouse_id = iwi.warehouse_id
|
left join ims_warehouse_info iwi on ii.warehouse_id = iwi.warehouse_id
|
||||||
left join cook_material cm on ii.material_id = cm.material_id
|
left join cook_material cm on ii.material_id = cm.material_id
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
and ippd.detail_date <![CDATA[ <= ]]> #{endDateTime} )
|
and ippd.detail_date <![CDATA[ <= ]]> #{endDateTime} )
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
order by ipp.plan_id desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectProductionPlanByPlanId" parameterType="Long" resultMap="ProductionPlanResult">
|
<select id="selectProductionPlanByPlanId" parameterType="Long" resultMap="ProductionPlanResult">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue