合同优化

jg-waiwang-pro
mhsnet 6 months ago
parent 4506d951b3
commit 4f03c43c06

@ -38,6 +38,39 @@
<result column="input_tax_rate" property="inputTaxRate"/>
<result column="output_tax_rate" property="outputTaxRate"/>
</resultMap>
<resultMap id="getProductWhListMap" type="jnpf.entity.ProductWarehouseEntity">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="code" property="code"/>
<result column="spec" property="spec"/>
<result column="inventory_unit_id" property="inventoryUnitId"/>
<result column="inventory_unit_name" property="inventoryUnitName"/>
<result column="order_main_unit_id" property="orderMainUnitId"/>
<result column="order_main_unit_name" property="orderMainUnitName"/>
<result column="sales_main_unit_id" property="salesMainUnitId"/>
<result column="sales_main_unit_name" property="salesMainUnitName"/>
<result column="input_tax_rate" property="inputTaxRate"/>
<result column="output_tax_rate" property="outputTaxRate"/>
</resultMap>
<select id="getProductWhList" resultMap="getProductWhListMap">
SELECT
a.id,
a.name,
a.code,
a.photo,
a.spec,
a.inventory_unit_id,
JgFnUnitName(a.inventory_unit_id) as inventory_unit_name,
a.order_main_unit_id, JgFnUnitArrName(a.order_main_unit_id) as order_main_unit_name,
a.sales_main_unit_id, JgFnUnitArrName(a.sales_main_unit_id) as sales_main_unit_name,
a.input_tax_rate,
a.output_tax_rate
FROM jg_product a ${ew.customSqlSegment}
<if test="productWarehousePagination.sidx != null and productWarehousePagination.sidx != ''">
ORDER BY ${productWarehousePagination.sidx} ${productWarehousePagination.sort}
</if>
</select>
<select id="getProductWarehouseList" resultMap="getProductWarehouseMap">
SELECT

@ -22,6 +22,8 @@ import java.util.List;
*/
public interface ProductWarehouseMapper extends BaseMapper<ProductWarehouseEntity> {
IPage<ProductWarehouseEntity> getProductWhList(@Param("page") Page<ProductWarehouseEntity> page, @Param("productWarehousePagination") ProductWarehousePagination productWarehousePagination, @Param("ew") Wrapper<ProductWarehouseEntity> bomQueryWrapper);
IPage<ProductWarehouseEntity> getProductWarehouseList(@Param("page") Page<ProductWarehouseEntity> page, @Param("productWarehousePagination") ProductWarehousePagination productWarehousePagination, @Param("ew") Wrapper<ProductWarehouseEntity> bomQueryWrapper);
//凭证关联商品

@ -42,6 +42,8 @@ public interface ProductWarehouseService extends IService<ProductWarehouseEntity
List<ProductWarehouseEntity> getProductList(ProductWarehousePagination productWarehousePagination);
List<ProductWarehouseEntity> getProductWhList(ProductWarehousePagination productWarehousePagination);
List<ProductWarehouseEntity> getProductTypeList(ProductWarehousePagination productWarehousePagination,String dataType);
List<ProductWarehouseEntity> getProductByVoucherInfo(String id);

@ -537,6 +537,14 @@ public class ProductWarehouseServiceImpl extends ServiceImpl<ProductWarehouseMap
return getProductTypeList(productWarehousePagination,productWarehousePagination.getDataType());
}
@Override
public List<ProductWarehouseEntity> getProductWhList(ProductWarehousePagination productWarehousePagination) {
QueryWrapper<ProductWarehouseEntity> productWarehouseQueryWrapper=new QueryWrapper<>();
Page<ProductWarehouseEntity> page=new Page<>(productWarehousePagination.getCurrentPage(), productWarehousePagination.getPageSize());
IPage<ProductWarehouseEntity> userIPage = productWarehouseMapper.getProductWhList(page, productWarehousePagination, productWarehouseQueryWrapper);
return productWarehousePagination.setData(userIPage.getRecords(),userIPage.getTotal());
}
@Override
public List<ProductWarehouseEntity> getProductTypeList(ProductWarehousePagination productWarehousePagination, String dataType) {
String userId=userProvider.get().getUserId();

@ -114,7 +114,28 @@ public class ProductWarehouseController {
vo.setPagination(page);
return ActionResult.success(vo);
}
/**
*
*
* @param productWarehousePagination
* @return
*/
@Operation(summary = "获取商品列表")
@PostMapping("/getProductlist")
public ActionResult productlist(@RequestBody ProductWarehousePagination productWarehousePagination)throws IOException{
List<ProductWarehouseEntity> list= productWarehouseService.getProductWhList(productWarehousePagination);
List<Map<String, Object>> realList=new ArrayList<>();
for (ProductWarehouseEntity entity : list) {
Map<String, Object> productWarehouseMap=JsonUtil.entityToMap(entity);
realList.add(productWarehouseMap);
}
//返回对象
PageListVO vo = new PageListVO();
vo.setList(realList);
PaginationVO page = JsonUtil.getJsonToBean(productWarehousePagination, PaginationVO.class);
vo.setPagination(page);
return ActionResult.success(vo);
}
/**
*
*

@ -283,4 +283,12 @@ public class ProductWarehouseEntity {
@TableField(exist = false)
private String batchNumber;
@TableField(exist = false)
private String inventoryUnitName;
@TableField(exist = false)
private String orderMainUnitName;
@TableField(exist = false)
private String salesMainUnitName;
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,174 @@
<template>
<el-dialog
title="选择商品"
:close-on-click-modal="false"
:visible.sync="visible"
class="JNPF-dialog JNPF-dialog_center"
lock-scroll
append-to-body
width="800px"
>
<el-row class="JNPF-common-search-box" :gutter="16">
<el-form @submit.native.prevent>
<el-col :span="10">
<el-form-item label="关键词">
<el-input
v-model="keyword"
placeholder="请输入关键词查询"
clearable
@keyup.enter.native="search()"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search()"
>{{ $t("common.search") }}
</el-button>
<el-button icon="el-icon-refresh-right" @click="refresh()"
>{{ $t("common.reset") }}
</el-button>
</el-form-item>
</el-col>
</el-form>
<div class="JNPF-common-search-box-right">
<el-tooltip
effect="dark"
:content="$t('common.refresh')"
placement="top"
>
<el-link
icon="icon-ym icon-ym-Refresh JNPF-common-head-icon"
:underline="false"
@click="search()"
/>
</el-tooltip>
</div>
</el-row>
<JNPF-table
v-loading="listLoading"
:data="list"
hasC
@selection-change="handleSelectionChange"
:border="false"
>
<el-table-column prop="id" label="商品ID" align="left"> </el-table-column>
<el-table-column prop="name" label="商品名称" align="left">
</el-table-column>
<el-table-column prop="code" label="商品编码" align="left">
</el-table-column>
<el-table-column prop="spec" label="商品规格" align="left">
</el-table-column>
<el-table-column prop="inventoryUnitName" label="库存单位" align="left">
</el-table-column>
<el-table-column prop="orderMainUnitName" label="采购单位" align="left">
</el-table-column>
<el-table-column prop="salesMainUnitName" label="销售单位" align="left">
</el-table-column>
</JNPF-table>
<pagination
:total="total"
:page.sync="listQuery.currentPage"
:limit.sync="listQuery.pageSize"
@pagination="init"
/>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">{{
$t("common.cancelButton")
}}</el-button>
<el-button type="primary" @click="select()">{{
$t("common.confirmButton")
}}</el-button>
</span>
</el-dialog>
</template>
<script>
import request from "@/utils/request";
import { GoodsList } from "@/api/extend/order";
export default {
data() {
return {
visible: false,
listLoading: true,
keyword: "",
list: [],
total: 0,
listQuery: {
superQueryJson: "",
currentPage: 1,
pageSize: 20,
sort: "desc",
sidx: ""
},
excludeIdList: [],
checked: []
};
},
methods: {
init(excludeIdList, val) {
this.visible = true;
this.listLoading = true;
if (excludeIdList) {
this.excludeIdList = excludeIdList;
}
let query = {
...this.listQuery,
dataType: 0,
keyword: this.keyword,
type: 1
};
request({
url: `/api/scm/ProductWarehouse/getProductlist`,
method: "post",
data: query
}).then(res => {
this.list = res.data.list;
this.listLoading = false;
this.total = res.data.pagination.total;
});
},
refresh() {
this.keyword = "";
this.listQuery.currentPage = 1;
this.listQuery.pageSize = 20;
this.listQuery.sort = "desc";
this.listQuery.sidx = "";
this.init();
},
search() {
this.listQuery.currentPage = 1;
this.listQuery.pageSize = 20;
this.listQuery.sort = "desc";
this.listQuery.sidx = "";
this.init();
},
select() {
if (!this.checked.length) return;
this.visible = false;
this.$emit("refreshDataList", this.checked);
},
handleSelectionChange(val) {
console.log(val);
this.checked = val;
}
}
};
</script>
<style lang="scss" scoped>
>>> .el-dialog__body {
height: 70vh;
padding: 0 0 10px !important;
display: flex;
flex-direction: column;
overflow: hidden;
.JNPF-common-search-box {
margin-bottom: 0;
.JNPF-common-search-box-right {
padding: 10px 10px 0 0;
}
}
}
</style>
Loading…
Cancel
Save