解决零售单据没有赋值采购价的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(
@Param("meId") Long meId,
@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()) &&
BusinessConstants.SUB_TYPE_SALES.equals(depotHead.getSubType())) {
//如果是销售出库、销售退货、零售出库、零售退货则给采购单价字段赋值(如果是批次商品,则要根据批号去找之前的入库价)
if(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());
if(StringUtil.isNotEmpty(depotItem.getBatchNumber())) {
depotItem.setPurchaseUnitPrice(getDepotItemByBatchNumber(depotItem.getBatchNumber()).getUnitPrice());
@@ -707,14 +709,12 @@ public class DepotItemService {
* @return
*/
public DepotItem getDepotItemByBatchNumber(String batchNumber) {
DepotItem depotItem = new DepotItem();
DepotItemExample example = new DepotItemExample();
example.createCriteria().andBatchNumberEqualTo(batchNumber).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED);
List<DepotItem> depotItemList = depotItemMapper.selectByExample(example);
List<DepotItem> depotItemList = depotItemMapperEx.getDepotItemByBatchNumber(batchNumber);
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)

View File

@@ -742,4 +742,13 @@
and di.material_extend_id=#{meId}
and di.batch_number=#{batchNumber}
</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>