解决零售单据没有赋值采购价的bug

This commit is contained in:
季圣华
2022-10-07 19:13:22 +08:00
parent 3cb57ada36
commit 9be10625a9
3 changed files with 21 additions and 9 deletions

View File

@@ -183,4 +183,7 @@ public interface DepotItemMapperEx {
Long getCountByMaterialAndBatchNumber( Long getCountByMaterialAndBatchNumber(
@Param("meId") Long meId, @Param("meId") Long meId,
@Param("batchNumber") String batchNumber); @Param("batchNumber") String batchNumber);
List<DepotItem> getDepotItemByBatchNumber(
@Param("batchNumber") String batchNumber);
} }

View File

@@ -525,9 +525,11 @@ public class DepotItemService {
} }
} }
} }
//如果是销售出库则给采购单价字段赋值(如果是批次商品,则要根据批号去找之前的采购价) //如果是销售出库、销售退货、零售出库、零售退货则给采购单价字段赋值(如果是批次商品,则要根据批号去找之前的入库价)
if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType()) && if(BusinessConstants.SUB_TYPE_SALES.equals(depotHead.getSubType()) ||
BusinessConstants.SUB_TYPE_SALES.equals(depotHead.getSubType())) { BusinessConstants.SUB_TYPE_SALES_RETURN.equals(depotHead.getSubType()) ||
BusinessConstants.SUB_TYPE_RETAIL.equals(depotHead.getSubType()) ||
BusinessConstants.SUB_TYPE_RETAIL_RETURN.equals(depotHead.getSubType())) {
depotItem.setPurchaseUnitPrice(materialExtend.getPurchaseDecimal()); depotItem.setPurchaseUnitPrice(materialExtend.getPurchaseDecimal());
if(StringUtil.isNotEmpty(depotItem.getBatchNumber())) { if(StringUtil.isNotEmpty(depotItem.getBatchNumber())) {
depotItem.setPurchaseUnitPrice(getDepotItemByBatchNumber(depotItem.getBatchNumber()).getUnitPrice()); depotItem.setPurchaseUnitPrice(getDepotItemByBatchNumber(depotItem.getBatchNumber()).getUnitPrice());
@@ -707,14 +709,12 @@ public class DepotItemService {
* @return * @return
*/ */
public DepotItem getDepotItemByBatchNumber(String batchNumber) { public DepotItem getDepotItemByBatchNumber(String batchNumber) {
DepotItem depotItem = new DepotItem(); List<DepotItem> depotItemList = depotItemMapperEx.getDepotItemByBatchNumber(batchNumber);
DepotItemExample example = new DepotItemExample();
example.createCriteria().andBatchNumberEqualTo(batchNumber).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED);
List<DepotItem> depotItemList = depotItemMapper.selectByExample(example);
if(null != depotItemList && depotItemList.size() > 0){ if(null != depotItemList && depotItemList.size() > 0){
depotItem = depotItemList.get(0); return depotItemList.get(0);
} else {
return new DepotItem();
} }
return depotItem;
} }
@Transactional(value = "transactionManager", rollbackFor = Exception.class) @Transactional(value = "transactionManager", rollbackFor = Exception.class)

View File

@@ -742,4 +742,13 @@
and di.material_extend_id=#{meId} and di.material_extend_id=#{meId}
and di.batch_number=#{batchNumber} and di.batch_number=#{batchNumber}
</select> </select>
<select id="getDepotItemByBatchNumber" resultType="com.jsh.erp.datasource.entities.DepotItem">
select di.* from jsh_depot_head dh
left join jsh_depot_item di on dh.id=di.header_id and ifnull(di.delete_flag,'0') !='1'
where 1=1
and ifnull(dh.delete_flag,'0') !='1'
and di.batch_number = #{batchNumber}
and dh.type = '入库'
</select>
</mapper> </mapper>