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

master
yinq 2 days ago
parent b8fb790ee3
commit f722b78068

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

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

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

@ -66,6 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="supplierCode" column="supplier_code" /> <result property="supplierCode" column="supplier_code" />
<result property="projectNo" column="project_no" /> <result property="projectNo" column="project_no" />
<result property="projectName" column="project_name"/> <result property="projectName" column="project_name"/>
<result property="actLandAmount" column="act_land_amount"/>
</resultMap> </resultMap>
@ -527,4 +528,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where a.purchase_order_id = #{purchaseOrderId} where a.purchase_order_id = #{purchaseOrderId}
</select> </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> </mapper>

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

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

Loading…
Cancel
Save