change - 新增原材料条码:取消采购订单和销售订单绑定

master
yinq 1 day ago
parent b8fb790ee3
commit f722b78068

@ -305,6 +305,19 @@ public class MesPurchaseOrder extends BaseEntity {
private String projectName;//项目名称
/**
*
*/
private BigDecimal actLandAmount;
public BigDecimal getActLandAmount() {
return actLandAmount;
}
public void setActLandAmount(BigDecimal actLandAmount) {
this.actLandAmount = actLandAmount;
}
public Long getSerialNumber() {
return serialNumber;
}

@ -229,14 +229,15 @@ public class MesPurchaseOrderController extends BaseController
/**
* ,Join order_bind
* ,Join order_bind
*/
// @RequiresPermissions("mes:purchaseOrder:list")
@GetMapping("/getPurchaseOrdersWithBind")
public TableDataInfo getPurchaseOrdersWithBind(MesPurchaseOrder mesPurchaseOrder)
{
startPage();
List<MesPurchaseOrder> list = mesPurchaseOrderService.selectPurchaseOrderJoinList(mesPurchaseOrder);
// List<MesPurchaseOrder> list = mesPurchaseOrderService.selectPurchaseOrderJoinList(mesPurchaseOrder);
List<MesPurchaseOrder> list = mesPurchaseOrderService.selectPurchaseOrdersWithBindJoinList(mesPurchaseOrder);
return getDataTable(list);
}

@ -159,6 +159,10 @@ public interface MesPurchaseOrderMapper
*/
public MesPurchaseOrder selectMesPurchaseOrderJoinMaterialByPurchaseOrderId(Long purchaseOrderId);
/**
* ,Join order_bind
* @param mesPurchaseOrder
* @return
*/
List<MesPurchaseOrder> selectPurchaseOrdersWithBindJoinList(MesPurchaseOrder mesPurchaseOrder);
}

@ -179,4 +179,11 @@ public interface IMesPurchaseOrderService
*
*/
public void purchaseOrderOverTimeAlarm();
/**
* ,Join order_bind
* @param mesPurchaseOrder
* @return
*/
List<MesPurchaseOrder> selectPurchaseOrdersWithBindJoinList(MesPurchaseOrder mesPurchaseOrder);
}

@ -203,37 +203,37 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
BigDecimal barcodeAmount = mesBaseBarcodeInfo.getBarcodeAmount();//要生成的条码数量
String poNo = StringUtils.isEmpty(mesBaseBarcodeInfo.getPoNo()) ? "0" : mesBaseBarcodeInfo.getPoNo();
String batchCode = this.getRawBatchCode(poNo);
// if (!mesBaseMaterialInfo.getAlwaysFlag().equals(MesConstants.MES_MATERIAL_ALWAYS_FLAG_YES)) {
Long orderBindId = mesBaseBarcodeInfo.getOrderBindId();
if (orderBindId == null) {
throw new ServiceException("请选择绑定销售订单信息的采购订单");
}
MesOrderBind mesOrderBind = mesOrderBindMapper.selectMesOrderBindByOrderBindId(orderBindId);
BigDecimal bindAmount = mesOrderBind.getBindAmount();
BigDecimal bindBarcodeAmount = mesOrderBind.getBarcodeAmount();//已经生成的条码数量
BigDecimal availableAmount = bindAmount.subtract(bindBarcodeAmount).setScale(0, RoundingMode.CEILING);;//可用数量向上取整
if (barcodeAmount.compareTo(availableAmount) > 0) {
throw new ServiceException("条码数量不能大于可用数量");
}
//// if (!mesBaseMaterialInfo.getAlwaysFlag().equals(MesConstants.MES_MATERIAL_ALWAYS_FLAG_YES)) {
// Long orderBindId = mesBaseBarcodeInfo.getOrderBindId();
// if (orderBindId == null) {
// throw new ServiceException("请选择绑定销售订单信息的采购订单");
// }
//
// MesOrderBind mesOrderBind = mesOrderBindMapper.selectMesOrderBindByOrderBindId(orderBindId);
// BigDecimal bindAmount = mesOrderBind.getBindAmount();
// BigDecimal bindBarcodeAmount = mesOrderBind.getBarcodeAmount();//已经生成的条码数量
// BigDecimal availableAmount = bindAmount.subtract(bindBarcodeAmount).setScale(0, RoundingMode.CEILING);;//可用数量向上取整
// if (barcodeAmount.compareTo(availableAmount) > 0) {
// throw new ServiceException("条码数量不能大于可用数量");
// }
MesBaseBarcodeInfo toInsertedBarcodeInfo;
for (long i = 0; i < barcodeAmount.intValue(); i++) {
// 生成条码数量的不同条码内容
toInsertedBarcodeInfo = getInsertedBarcodeInfo(mesBaseBarcodeInfo, Seq.getId(Seq.mesBarcodeSeqType, Seq.mesBarcodeCode), batchCode, userName, currentDate);
toInsertedBarcodeInfo.setSaleOrderId(mesOrderBind.getSaleOrderId());
toInsertedBarcodeInfo.setSaleorderCode(mesOrderBind.getSaleOrderCode());
toInsertedBarcodeInfo.setSafeFlag(MesConstants.MES_ORDER_BIND_SAFE_FLAG_NO);
toInsertedBarcodeInfo.setSaleOrderId(0L);
// toInsertedBarcodeInfo.setSaleorderCode(mesOrderBind.getSaleOrderCode());
toInsertedBarcodeInfo.setSafeFlag(MesConstants.MES_ORDER_BIND_SAFE_FLAG_YES);
mesBaseBarcodeInfoMapper.insertMesBaseBarcodeInfo(toInsertedBarcodeInfo);
}
//更新订单绑定的条码已绑定数量
mesOrderBind.setBarcodeAmount(bindBarcodeAmount.add(barcodeAmount));
mesOrderBind.setUpdateBy(userName);
mesOrderBind.setUpdateTime(currentDate);
mesOrderBindMapper.updateMesOrderBind(mesOrderBind);
// mesOrderBind.setBarcodeAmount(bindBarcodeAmount.add(barcodeAmount));
// mesOrderBind.setUpdateBy(userName);
// mesOrderBind.setUpdateTime(currentDate);
// mesOrderBindMapper.updateMesOrderBind(mesOrderBind);
// } else {

@ -653,6 +653,16 @@ public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService {
}
/**
* ,Join order_bind
* @param mesPurchaseOrder
* @return
*/
@Override
public List<MesPurchaseOrder> selectPurchaseOrdersWithBindJoinList(MesPurchaseOrder mesPurchaseOrder) {
return mesPurchaseOrderMapper.selectPurchaseOrdersWithBindJoinList(mesPurchaseOrder);
}
private static SysPointRouter getSysPointRouter(Long purchaseOrderId, Date currentDate) {
SysPointRouter sysPointRouter = new SysPointRouter();

@ -66,6 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="supplierCode" column="supplier_code" />
<result property="projectNo" column="project_no" />
<result property="projectName" column="project_name"/>
<result property="actLandAmount" column="act_land_amount"/>
</resultMap>
@ -527,4 +528,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where a.purchase_order_id = #{purchaseOrderId}
</select>
<select id="selectPurchaseOrdersWithBindJoinList" parameterType="MesPurchaseOrder" resultMap="MesPurchaseOrderResult">
select mpo.purchase_order_id,
mpo.po_no,
mpo.order_amount,
mpo.specification_parameter,
mbmi.always_flag,
mbmi.material_id,
mbmi.material_code,
mbmi.material_name,
mbmi.material_spec,
mbmi.batch_flag,
mbmi.batch_amount,
mprb.act_land_amount
from mes_purchase_receive_bill mprb
join mes_purchase_order mpo on mprb.po_no = mpo.po_no and mprb.material_id = mpo.material_id
join mes_base_material_info mbmi on mprb.material_id = mbmi.erp_id
<where>
<if test="poNo != null and poNo != ''"> and mpo.po_no like concat('%', #{poNo}, '%')</if>
<if test="materialId != null "> and mpo.material_id = #{materialId}</if>
</where>
order by mpo.create_time desc
</select>
</mapper>

@ -18,27 +18,27 @@
/>
</el-form-item>
<el-form-item label="可用标识" v-if="queryParams.mergeFlag!==null" prop="mergeFlag">
<el-radio-group v-model="queryParams.mergeFlag">
<el-radio label="1" value="1" >
</el-radio>
<el-radio label="" value="" >
</el-radio>
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="可用标识" v-if="queryParams.mergeFlag!==null" prop="mergeFlag">-->
<!-- <el-radio-group v-model="queryParams.mergeFlag">-->
<!-- <el-radio label="1" value="1" >-->
<!-- -->
<!-- </el-radio>-->
<!-- <el-radio label="" value="" >-->
<!-- -->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<el-form-item label="可用标识" v-if="queryParams.mergeFlag===null" prop="singleFlag">
<el-radio-group v-model="queryParams.singleFlag">
<el-radio label="1" value="1" >
</el-radio>
<el-radio label="" value="" >
</el-radio>
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="可用标识" v-if="queryParams.mergeFlag===null" prop="singleFlag">-->
<!-- <el-radio-group v-model="queryParams.singleFlag">-->
<!-- <el-radio label="1" value="1" >-->
<!-- -->
<!-- </el-radio>-->
<!-- <el-radio label="" value="" >-->
<!-- -->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
@ -82,13 +82,13 @@
</el-table-column>
<!-- <el-table-column label="绑定数量" align="center" prop="bindAmount" />-->
<!-- <el-table-column label="条码数量" align="center" prop="barcodeAmount" />-->
<el-table-column label="采购数量" align="center" prop="orderAmount" />
<el-table-column label="可用数量" align="center" prop="relateSaleOrderAmount" />
<el-table-column label="销售订单" align="center" prop="saleOrderCode" />
<el-table-column label="成品编码" align="center" prop="productCode" />
<el-table-column label="成品名称" align="center" prop="productName" />
<el-table-column label="成品规格" align="center" prop="productSpec"/>
<el-table-column label="销售数量" align="center" prop="saleOrderAmount" />
<!-- <el-table-column label="采购数量" align="center" prop="orderAmount" />-->
<el-table-column label="收料数量" align="center" prop="relateSaleOrderAmount" />
<!-- <el-table-column label="销售订单" align="center" prop="saleOrderCode" />-->
<!-- <el-table-column label="成品编码" align="center" prop="productCode" />-->
<!-- <el-table-column label="成品名称" align="center" prop="productName" />-->
<!-- <el-table-column label="成品规格" align="center" prop="productSpec"/>-->
<!-- <el-table-column label="销售数量" align="center" prop="saleOrderAmount" />-->
</el-table>
<pagination
@ -235,12 +235,12 @@ export default {
getData() {
if (this.defineData.mergeFlag) {
this.selectionVisible = true;
this.queryParams.mergeFlag = "1";
this.queryParams.mergeFlag = "";
this.queryParams.singleFlag = null;
this.isSingleSelect = false;
}else{
this.selectionVisible = false;
this.queryParams.singleFlag ="1";
this.queryParams.singleFlag ="";
this.queryParams.mergeFlag = null;
this.isSingleSelect = false;
}
@ -254,13 +254,14 @@ export default {
}
this.loading = true;
getPurchaseOrdersWithBind(this.queryParams).then(response => {
response.rows.forEach(e => {
if(e.orderBindId){
e.relateSaleOrderAmount = e.bindAmount - e.barcodeAmount;
}
response.rows.forEach((e, i) => {
// if(e.orderBindId){
// e.relateSaleOrderAmount = e.bindAmount - e.barcodeAmount;
// }
e.relateSaleOrderAmount = e.actLandAmount
e.receiveBillId = this.queryParams.receiveBillId;
// rowKey
e.rowKey = e.purchaseOrderId + '-' + e.orderBindId;
e.rowKey = e.purchaseOrderId + '-' + i;
});
this.orderBindList = response.rows;

@ -72,16 +72,16 @@
</el-radio-group>
</el-form-item>
<el-form-item label="可用标识" v-if="queryParams.mergeFlag===null" prop="singleFlag">
<el-radio-group v-model="queryParams.singleFlag">
<el-radio label="1" value="1" >
</el-radio>
<el-radio label="" value="" >
</el-radio>
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="可用标识" v-if="queryParams.mergeFlag===null" prop="singleFlag" >-->
<!-- <el-radio-group v-model="queryParams.singleFlag">-->
<!-- <el-radio label="1" value="1" >-->
<!-- -->
<!-- </el-radio>-->
<!-- <el-radio label="" value="" >-->
<!-- -->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
@ -114,7 +114,7 @@
:reserve-selection="true"
v-if="!isSingleSelect"
></el-table-column>
<el-table-column label="采购订单ID" align="center" prop="purchaseOrderId" />
<el-table-column label="采购订单ID" align="center" prop="purchaseOrderId" width="90"/>
<el-table-column label="采购订单" align="center" prop="poNo" />
<el-table-column label="物料编码" align="center" prop="materialCode" />
<el-table-column label="物料名称" align="center" prop="materialName" />
@ -127,13 +127,13 @@
</el-table-column>
<!-- <el-table-column label="绑定数量" align="center" prop="bindAmount" />-->
<!-- <el-table-column label="条码数量" align="center" prop="barcodeAmount" />-->
<el-table-column label="采购数量" align="center" prop="orderAmount" />
<el-table-column label="可用数量" align="center" prop="relateSaleOrderAmount" />
<el-table-column label="销售订单" align="center" prop="saleOrderCode" />
<el-table-column label="成品编码" align="center" prop="productCode" />
<el-table-column label="成品名称" align="center" prop="productName" />
<el-table-column label="成品规格" align="center" prop="productSpec"/>
<el-table-column label="销售数量" align="center" prop="saleOrderAmount" />
<!-- <el-table-column label="采购数量" align="center" prop="orderAmount" />-->
<el-table-column label="收料数量" align="center" prop="relateSaleOrderAmount" />
<!-- <el-table-column label="销售订单" align="center" prop="saleOrderCode" />-->
<!-- <el-table-column label="成品编码" align="center" prop="productCode" />-->
<!-- <el-table-column label="成品名称" align="center" prop="productName" />-->
<!-- <el-table-column label="成品规格" align="center" prop="productSpec"/>-->
<!-- <el-table-column label="销售数量" align="center" prop="saleOrderAmount" />-->
</el-table>
<pagination
@ -280,12 +280,12 @@ export default {
getData() {
if (this.defineData.mergeFlag) {
this.selectionVisible = true;
this.queryParams.mergeFlag = "1";
this.queryParams.mergeFlag = "";
this.queryParams.singleFlag = null;
this.isSingleSelect = false;
}else{
this.selectionVisible = false;
this.queryParams.singleFlag ="1";
this.queryParams.singleFlag ="";
this.queryParams.mergeFlag = null;
this.isSingleSelect = true;
}
@ -301,10 +301,10 @@ export default {
this.loading = true;
getPurchaseOrdersWithBind(this.queryParams).then(response => {
response.rows.forEach(e => {
if(e.orderBindId){
e.relateSaleOrderAmount = e.bindAmount - e.barcodeAmount;
}
// if(e.orderBindId){
// e.relateSaleOrderAmount = e.bindAmount - e.barcodeAmount;
// }
e.relateSaleOrderAmount = e.actLandAmount
});
this.orderBindList = response.rows;

Loading…
Cancel
Save