1、pad接口-请领单-出库:如果请领的物品数量大于库房库存数量则返回失败结果

2、pad接口-请领单-提交请领车:在请领单物料详情表中增加物料信息
3、pad接口-请领单-确认收货:在护理单元出入库日志表中增加物料信息
4、pad接口-请领单-查询对应(一个/多个)请领单物料信息接口:修改物料信息来源
This commit is contained in:
1378012178@qq.com 2025-12-11 09:20:13 +08:00
parent 4272480855
commit 18dce129e7
7 changed files with 154 additions and 55 deletions

View File

@ -40,8 +40,6 @@ public class InvoicingQldInfoEntity implements Serializable {
private String kfId;
/**物料id nu_config_material_info.id*/
private String wlId;
/**物料id nu_config_material_info.id*/
private String materialName;
/**请领数量*/
private Integer qlNum;
/**nuid nu_base_info.nu_id*/
@ -57,4 +55,23 @@ public class InvoicingQldInfoEntity implements Serializable {
private String categoryName;
/**服务类型名称*/
private String typeName;
/**物料类别名称*/
private java.lang.String materialCategoryName;
/**物料类型名称*/
private java.lang.String materialTypeName;
/**用药类型名称*/
private java.lang.String materialMedicationName;
/**物料名称*/
private java.lang.String materialName;
/**物料单位*/
private java.lang.String materialUnits;
/**物料编码*/
private java.lang.String materialNo;
/**规格型号*/
private java.lang.String specificationModel;
/**物料图片*/
private java.lang.String materialImg;
/**物料销售单价*/
private java.math.BigDecimal salesUnitPrice;
}

View File

@ -16,7 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 物料信息
* @Author: jeecg-boot
* @Date: 2025-03-13
* @Date: 2025-03-13
* @Version: V1.0
*/
public interface ConfigMaterialInfoMapper extends BaseMapper<ConfigMaterialInfo> {
@ -25,7 +25,7 @@ public interface ConfigMaterialInfoMapper extends BaseMapper<ConfigMaterialInfo>
IPage<ConfigMaterialInfo> getConfiguredList(Page<ConfigMaterialInfo> page, @Param("param") ConfigMaterialInfo configMaterialInfo);
ConfigMaterialInfo queryWlInfoByWlId(@Param("wlId") String wlId,@Param("nuId") String nuId);
ConfigMaterialInfo queryWlInfoByWlId(@Param("wlId") String wlId, @Param("nuId") String nuId);
List<ConfigMaterialInfo> getTreeDataWlnum(@Param(Constants.WRAPPER) QueryWrapper<ConfigMaterialInfo> queryWrapper);
@ -38,4 +38,6 @@ public interface ConfigMaterialInfoMapper extends BaseMapper<ConfigMaterialInfo>
ConfigMaterialInfo queryMaterialInfo(InvoicingQldQueryEntity queryDto);
void updateOneTwoPrice(@Param("params") ConfigMaterialInfo configMaterialInfo);
List<ConfigMaterialInfo> queryByWlids(@Param("ids") List<String> ids);
}

View File

@ -109,4 +109,18 @@
two_unit_price = #{params.twoUnitPrice}
where id = #{params.id}
</update>
<select id="queryByWlids" resultType="com.nu.modules.ConfigMaterial.entity.ConfigMaterialInfo">
select a.*,f.category_name,g.type_name,h.medication_name
from nu_config_material_info a
left join nu_config_material_category f on a.category_id = f.id
left join nu_config_material_type g on a.type_id = g.id
left join nu_config_material_medication h on a.medication_id = h.id
<where>
a.id
<foreach collection="ids" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</where>
</select>
</mapper>

View File

@ -82,4 +82,41 @@ public class NuInvoicingNuCrkLog implements Serializable {
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private java.lang.String content;
/**物料类别名称*/
@Excel(name = "物料类别名称", width = 15)
@ApiModelProperty(value = "物料类别名称")
private java.lang.String materialCategoryName;
/**物料类型名称*/
@Excel(name = "物料类型名称", width = 15)
@ApiModelProperty(value = "物料类型名称")
private java.lang.String materialTypeName;
/**用药类型名称*/
@Excel(name = "用药类型名称", width = 15)
@ApiModelProperty(value = "用药类型名称")
private java.lang.String materialMedicationName;
/**物料名称*/
@Excel(name = "物料名称", width = 15)
@ApiModelProperty(value = "物料名称")
private java.lang.String materialName;
/**物料单位*/
@Excel(name = "物料单位", width = 15)
@ApiModelProperty(value = "物料单位")
private java.lang.String materialUnits;
/**物料编码*/
@Excel(name = "物料编码", width = 15)
@ApiModelProperty(value = "物料编码")
private java.lang.String materialNo;
/**规格型号*/
@Excel(name = "规格型号", width = 15)
@ApiModelProperty(value = "规格型号")
private java.lang.String specificationModel;
/**物料图片*/
@Excel(name = "物料图片", width = 15)
@ApiModelProperty(value = "物料图片")
private java.lang.String materialImg;
/**物料销售单价*/
@Excel(name = "物料销售单价", width = 15)
@ApiModelProperty(value = "物料销售单价")
private java.math.BigDecimal salesUnitPrice;
}

View File

@ -79,6 +79,43 @@ public class NuInvoicingQldInfo implements Serializable {
@ApiModelProperty(value = "长者id nu_biz_elder_info.id")
private java.lang.String elderId;
/**物料类别名称*/
@Excel(name = "物料类别名称", width = 15)
@ApiModelProperty(value = "物料类别名称")
private java.lang.String materialCategoryName;
/**物料类型名称*/
@Excel(name = "物料类型名称", width = 15)
@ApiModelProperty(value = "物料类型名称")
private java.lang.String materialTypeName;
/**用药类型名称*/
@Excel(name = "用药类型名称", width = 15)
@ApiModelProperty(value = "用药类型名称")
private java.lang.String materialMedicationName;
/**物料名称*/
@Excel(name = "物料名称", width = 15)
@ApiModelProperty(value = "物料名称")
private java.lang.String materialName;
/**物料单位*/
@Excel(name = "物料单位", width = 15)
@ApiModelProperty(value = "物料单位")
private java.lang.String materialUnits;
/**物料编码*/
@Excel(name = "物料编码", width = 15)
@ApiModelProperty(value = "物料编码")
private java.lang.String materialNo;
/**规格型号*/
@Excel(name = "规格型号", width = 15)
@ApiModelProperty(value = "规格型号")
private java.lang.String specificationModel;
/**物料图片*/
@Excel(name = "物料图片", width = 15)
@ApiModelProperty(value = "物料图片")
private java.lang.String materialImg;
/**物料销售单价*/
@Excel(name = "物料销售单价", width = 15)
@ApiModelProperty(value = "物料销售单价")
private java.math.BigDecimal salesUnitPrice;
//物料信息
@TableField(exist = false)
private BlWarehouseMaterialInfo meterialInfo;

View File

@ -7,60 +7,22 @@
info.wl_id,
MAX(info.create_time) AS create_time,
SUM(info.ql_num) AS ql_num,
material.id AS "materialInfo.id",
material.category_id AS "materialInfo.categoryId",
material.type_id AS "materialInfo.typeId",
material.medication_id AS "materialInfo.medicationId",
material.material_name AS "materialInfo.materialName",
material.material_no AS "materialInfo.materialNo",
material.specification_model AS "materialInfo.specificationModel",
material.sales_unit_price AS "materialInfo.salesUnitPrice",
material.reference_unit_price AS "materialInfo.referenceUnitPrice",
material.material_units AS "materialInfo.materialUnits",
material.multi_unit_switch AS "materialInfo.multiUnitSwitch",
material.one_unit AS "materialInfo.oneUnit",
material.one_unit_proportion AS "materialInfo.oneUnitProportion",
material.one_unit_price AS "materialInfo.oneUnitPrice",
material.two_unit AS "materialInfo.twoUnit",
material.two_unit_proportion AS "materialInfo.twoUnitProportion",
material.two_unit_price AS "materialInfo.twoUnitPrice",
material.multi_unit_type AS "materialInfo.multiUnitType",
material.suppliers AS "materialInfo.suppliers",
material.material_img AS "materialInfo.materialImg",
material.material_ident AS "materialInfo.materialIdent",
material.iz_enabled AS "materialInfo.izEnabled",
material.del_flag AS "materialInfo.delFlag",
material.create_by AS "materialInfo.createBy",
material.create_time AS "materialInfo.createTime",
material.update_by AS "materialInfo.updateBy",
material.update_time AS "materialInfo.updateTime",
material.sys_org_code AS "materialInfo.sysOrgCode",
material.pinyin AS "materialInfo.pinyin",
material.upper_limit AS "materialInfo.upperLimit",
material.lower_limit AS "materialInfo.lowerLimit",
material.tag_type AS "materialInfo.tagType",
material.iz_ybbx AS "materialInfo.izYbbx",
material.iz_jgyh AS "materialInfo.izJgyh",
maca.category_name as "materialInfo.categoryName",
maty.type_name as "materialInfo.typeName"
FROM
nu_invoicing_qld_info info
LEFT JOIN
nu_config_material_info material ON info.wl_id = material.id
LEFT JOIN nu_config_material_category maca ON material.category_id = maca.id
LEFT JOIN nu_config_material_type maty ON material.type_id = maty.id
ANY_VALUE(info.material_name) AS "materialInfo.materialName",
ANY_VALUE(info.material_no) AS "materialInfo.materialNo",
ANY_VALUE(info.specification_model) AS "materialInfo.specificationModel",
ANY_VALUE(info.sales_unit_price) AS "materialInfo.salesUnitPrice",
ANY_VALUE(info.material_units) AS "materialInfo.materialUnits",
ANY_VALUE(info.material_img) AS "materialInfo.materialImg",
ANY_VALUE(info.material_category_name) as "materialInfo.categoryName",
ANY_VALUE(info.material_type_name) as "materialInfo.typeName"
FROM nu_invoicing_qld_info info
WHERE
info.qld_no IN
<foreach collection="qldNo.split(',')" item="no" open="(" close=")" separator=",">
#{no}
</foreach>
GROUP BY
info.wl_id,
material.id,
maca.id,
maty.id
ORDER BY
MAX(info.create_time) DESC
GROUP BY info.wl_id
ORDER BY MAX(info.create_time) DESC
</select>
<select id="pages" resultType="com.nu.modules.qld.entity.NuInvoicingQldInfo">
@ -101,10 +63,16 @@
</select>
<delete id="deleteQldWl">
delete from nu_invoicing_qld_info where qld_no = #{qldNo} and wl_id = #{wlId}
delete
from nu_invoicing_qld_info
where qld_no = #{qldNo}
and wl_id = #{wlId}
</delete>
<update id="updateQldWlSl">
update nu_invoicing_qld_info set ql_num = #{qlNum} where qld_no = #{qldNo} and wl_id = #{wlId}
update nu_invoicing_qld_info
set ql_num = #{qlNum}
where qld_no = #{qldNo}
and wl_id = #{wlId}
</update>
</mapper>

View File

@ -351,6 +351,11 @@ public class QingLingServiceImpl implements IQinglingApi {
//可以正常提交
String status = "1";//待出库已提交
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//查出对应物料信息存储到info表和日志表中
List<String> gwcWlStrs = gwcList.stream().map(NuInvoicingQldGwc::getWlId).collect(Collectors.toList());
List<ConfigMaterialInfo> maList = configMaterialInfoMapper.queryByWlids(gwcWlStrs);
Map<String, ConfigMaterialInfo> maMap = maList.stream().collect(Collectors.toMap(ConfigMaterialInfo::getId, item -> item));
//存储主表数据
NuInvoicingQldMain saveData = new NuInvoicingQldMain();
@ -411,6 +416,15 @@ public class QingLingServiceImpl implements IQinglingApi {
item.setCreateTime(null);
item.setUpdateBy(null);
item.setUpdateTime(null);
item.setMaterialCategoryName(maMap.get(item.getWlId()).getCategoryName());//物料类别名称
item.setMaterialTypeName(maMap.get(item.getWlId()).getTypeName());//物料类型名称
item.setMaterialMedicationName(maMap.get(item.getWlId()).getMedicationName());//物料类型名称
item.setMaterialName(maMap.get(item.getWlId()).getMaterialName());//物料名称
item.setMaterialUnits(maMap.get(item.getWlId()).getMaterialUnits());//物料单位
item.setMaterialNo(maMap.get(item.getWlId()).getMaterialNo());//物料编码
item.setSpecificationModel(maMap.get(item.getWlId()).getSpecificationModel());//规格型号
item.setMaterialImg(maMap.get(item.getWlId()).getMaterialImg());//物料图片
item.setSpecificationModel(maMap.get(item.getWlId()).getSpecificationModel());//物料销售单价
});
invoicingQldInfoService.saveBatch(infoList);
@ -622,6 +636,16 @@ public class QingLingServiceImpl implements IQinglingApi {
nuInvoicingNuCrkLog.setOrderNumber(item.getQldNo());//单号
nuInvoicingNuCrkLog.setOrderType("qld");//单子类型 qld请领单
nuInvoicingNuCrkLog.setContent("请领单:" + item.getQldNo());//备注
nuInvoicingNuCrkLog.setMaterialCategoryName(item.getMaterialCategoryName());//物料类别名称
nuInvoicingNuCrkLog.setMaterialTypeName(item.getMaterialTypeName());//物料类型名称
nuInvoicingNuCrkLog.setMaterialMedicationName(item.getMaterialMedicationName());//物料类型名称
nuInvoicingNuCrkLog.setMaterialName(item.getMaterialName());//物料名称
nuInvoicingNuCrkLog.setMaterialUnits(item.getMaterialUnits());//物料单位
nuInvoicingNuCrkLog.setMaterialNo(item.getMaterialNo());//物料编码
nuInvoicingNuCrkLog.setSpecificationModel(item.getSpecificationModel());//规格型号
nuInvoicingNuCrkLog.setMaterialImg(item.getMaterialImg());//物料图片
nuInvoicingNuCrkLog.setSpecificationModel(item.getSpecificationModel());//物料销售单价
nuCrkLogList.add(nuInvoicingNuCrkLog);
});
invoicingNuCrkLogService.saveBatch(nuCrkLogList);