Commit d9c5180b authored by 1650842865's avatar 1650842865

工序外协报价增加税码选择;工序外协时自动带出

parent 023ce088
......@@ -95,7 +95,9 @@ function loadOrderItemGrid() {
{
},function (data){
orderItemGridManager.updateRow(item.record,{
kbetr:data
kbetr:data.unitPrice,
purchaseMwskzTextView:data.purchaseMwskzTextView,
purchaseMwskz:data.purchaseMwskz
})
})
}
......
......@@ -113,6 +113,17 @@ function loadItemGrid() {
ok: function(d){
var _self = this;
var datas = itemNumberGridManager.getData();
for (let i = 0; i < datas.length; i++) {
var row = datas[i];
if (Public.isBlank(row.unitPrice) || row.unitPrice ==0){
Public.tip("请填写含税单价");
return false;
}
if (Public.isBlank(row.purchaseMwskz)){
Public.tip("请填写税码");
return false;
}
}
//如果没保存过,需要主表单保存按钮
if (Public.isBlank(id)){
updateItemGridManager(datas,productCode,outProcess);
......@@ -129,6 +140,7 @@ function loadItemGrid() {
})
}
_self.close();
queryProcessQuotedPriceItemNumber(id);
},
});
return false;
......@@ -310,6 +322,7 @@ function loadClickItemGrid() {
{display: "数量区间", name: "numberSection", width: 200, minWidth: 60, type: "String", align: "left"},
{display: "备注", name: "remark", width: 200, minWidth: 60, type: "String", align: "left"},
{display: "含税单价", name: "unitPrice", width: 100, minWidth: 60, type: "String", align: "left"},
{display: "税码", name: "purchaseMwskzTextView", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "不含税单价", name: "excludeTaxPrice", width: 100, minWidth: 60, type: "String", align: "left"},
{display: "运输费", name: "freight", width: 100, minWidth: 60, type: "String", align: "left"},
{display: "包装费", name: "packMoney", width: 100, minWidth: 60, type: "String", align: "left"},
......
......@@ -60,6 +60,19 @@ function loadItemNumberGrid() {
required: true, type: "text",mask: '9999999.999'
}
},
{
display: "税码", name: "purchaseMwskzTextView", width: 140, minWidth: 60, type: "string", align: "left",
editor: {
type: 'dictionary',
data: {name: 'purchaseMwskz'},
textField: 'purchaseMwskzTextView',
valueField: 'purchaseMwskz',
required: true,
render: function (item) {
return item.purchaseMwskzTextView;
}
},
},
{
display: "不含税单价", name: "excludeTaxPrice", width: 100, minWidth: 60, type: "String", align: "left",
editor: {
......
......@@ -15,5 +15,5 @@ public interface ProcessOutsourceOrderItemRepository extends JpaRepository<Proce
List<ProcessOutsourceOrderItem> findByAufnrAndWempf(String aufnr,String wempf);
ProcessOutsourceOrderItem findByEbeln(String ebeln);
List<ProcessOutsourceOrderItem> findByEbeln(String ebeln);
}
......@@ -3,6 +3,7 @@ package com.huigou.topsun.sap.processQuotedPrice.application;
import com.huigou.topsun.sap.processQuotedPrice.domain.ProcessQuotedPriceItem;
import com.huigou.topsun.sap.processQuotedPrice.domain.ProcessQuotedPriceItemNumber;
import com.huigou.topsun.sap.processQuotedPrice.domain.query.ProcessQuotedPriceQueryRequest;
import com.huigou.topsun.sap.processQuotedPrice.domain.vo.ProcessQuotedPriceAndMwskzVo;
import java.math.BigDecimal;
import java.util.List;
......@@ -34,7 +35,7 @@ public interface ProcessQuotedPriceItemApplication {
* @param number
* @return
*/
BigDecimal findPriceByProductAndProcess(String productCode, String outProcess, BigDecimal number,String lifnr);
ProcessQuotedPriceAndMwskzVo findPriceByProductAndProcess(ProcessQuotedPriceAndMwskzVo data,String productCode, String outProcess, BigDecimal number, String lifnr);
ProcessQuotedPriceItemNumber findQuotedPriceByProductAndProcess(String productCode, String outProcess, BigDecimal number, String lifnr);
}
package com.huigou.topsun.sap.processQuotedPrice.application.impl;
import com.huigou.cache.DictUtil;
import com.huigou.data.domain.model.AbstractEntity;
import com.huigou.data.domain.query.QueryPageRequest;
import com.huigou.data.query.model.QueryDescriptor;
......@@ -10,6 +11,7 @@ import com.huigou.topsun.sap.processQuotedPrice.domain.ProcessQuotedPrice;
import com.huigou.topsun.sap.processQuotedPrice.domain.ProcessQuotedPriceItem;
import com.huigou.topsun.sap.processQuotedPrice.domain.ProcessQuotedPriceItemNumber;
import com.huigou.topsun.sap.processQuotedPrice.domain.query.ProcessQuotedPriceQueryRequest;
import com.huigou.topsun.sap.processQuotedPrice.domain.vo.ProcessQuotedPriceAndMwskzVo;
import com.huigou.topsun.sap.processQuotedPrice.domain.vo.ProcessQuotedPricePrintVo;
import com.huigou.topsun.sap.processQuotedPrice.repository.ProcessQuotedPriceItemRepository;
import com.huigou.topsun.sap.processQuotedPrice.repository.ProcessQuotedPriceRepository;
......@@ -126,22 +128,22 @@ public class ProcessQuotedPriceItemApplicationImpl extends BaseApplication imple
}
@Override
public BigDecimal findPriceByProductAndProcess(String productCode, String outProcess, BigDecimal number,String lifnr) {
public ProcessQuotedPriceAndMwskzVo findPriceByProductAndProcess(ProcessQuotedPriceAndMwskzVo data,String productCode, String outProcess, BigDecimal number,String lifnr) {
List<ProcessQuotedPriceItem> quotedPriceItemList = processQuotedPriceItemRepository.findByProductCodeAndOutProcess(productCode, outProcess);
BigDecimal price = BigDecimal.ZERO;
if (!CollectionUtils.isEmpty(quotedPriceItemList)){
for (ProcessQuotedPriceItem quotedPriceItem : quotedPriceItemList) {
ProcessQuotedPrice quotedPrice = processQuotedPriceRepository.findOne(quotedPriceItem.getProcessQuotedPriceId());
//审批完成的;已启用的;对应供应商
if (quotedPrice.getStatusId() == BizBillStatus.COMPLETED.getId() && lifnr.equals(quotedPrice.getSupplier()) && "1".equals(quotedPriceItem.getStatus())){
List<ProcessQuotedPriceItemNumber> numberList = processQuotedPriceItemNumberApplication.findByProcessQuotedPriceItemId(quotedPriceItem.getId());
List<BigDecimal> decimals = numberList
List<ProcessQuotedPriceAndMwskzVo> processQuotedPriceAndMwskzVoList = numberList
.stream()
.filter(processQuotedPriceItemNumber ->
(processQuotedPriceItemNumber.getNumberFrom().compareTo(number) < 0
&& processQuotedPriceItemNumber.getNumberTo().compareTo(number) >= 0))
.map(
processQuotedPriceItemNumber -> {
ProcessQuotedPriceAndMwskzVo processQuotedPriceAndMwskzVo = new ProcessQuotedPriceAndMwskzVo();
//返回含税单价+运输费
BigDecimal unitPrice = processQuotedPriceItemNumber.getUnitPrice();
BigDecimal freight = processQuotedPriceItemNumber.getFreight();
......@@ -152,16 +154,20 @@ public class ProcessQuotedPriceItemApplicationImpl extends BaseApplication imple
if (packMoney != null){
unitPrice = unitPrice.add(packMoney);
}
return unitPrice;
processQuotedPriceAndMwskzVo.setUnitPrice(unitPrice);
processQuotedPriceAndMwskzVo.setPurchaseMwskz(processQuotedPriceItemNumber.getPurchaseMwskz());
String detailText = DictUtil.getDictionaryDetailText("purchaseMwskz", processQuotedPriceAndMwskzVo.getPurchaseMwskz());
processQuotedPriceAndMwskzVo.setPurchaseMwskzTextView(detailText);
return processQuotedPriceAndMwskzVo;
}
).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(decimals)){
price = decimals.get(0);
if (!CollectionUtils.isEmpty(processQuotedPriceAndMwskzVoList)){
data = processQuotedPriceAndMwskzVoList.get(0);
}
}
}
}
return price;
return data;
}
@Override
......
......@@ -9,6 +9,7 @@ import com.huigou.topsun.sap.processQuotedPrice.application.ProcessQuotedPriceIt
import com.huigou.topsun.sap.processQuotedPrice.domain.ProcessQuotedPrice;
import com.huigou.topsun.sap.processQuotedPrice.domain.ProcessQuotedPriceItemNumber;
import com.huigou.topsun.sap.processQuotedPrice.domain.query.ProcessQuotedPriceQueryRequest;
import com.huigou.topsun.sap.processQuotedPrice.domain.vo.ProcessQuotedPriceAndMwskzVo;
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.client.CommonController;
......@@ -18,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
......@@ -154,10 +156,10 @@ public class ProcessQuotedPriceController extends CommonController {
String outProcess = sdo.getString("outProcess");
String number = sdo.getString("number");
String lifnr = sdo.getString("lifnr");
BigDecimal price = BigDecimal.ZERO;
ProcessQuotedPriceAndMwskzVo data = new ProcessQuotedPriceAndMwskzVo();
if (StringUtil.isNotBlank(number)){
price = this.processQuotedPriceItemApplication.findPriceByProductAndProcess(productCode, outProcess, new BigDecimal(number),lifnr);
data = this.processQuotedPriceItemApplication.findPriceByProductAndProcess(data,productCode, outProcess, new BigDecimal(number),lifnr);
}
return success(price);
return success(data);
}
}
......@@ -83,4 +83,10 @@ public class ProcessQuotedPriceItemNumber extends AbstractEntity {
@Column(name = "pack_money")
private BigDecimal packMoney;
/**
* 税码
*/
@Column(name = "purchase_mwskz")
private String purchaseMwskz;
}
package com.huigou.topsun.sap.processQuotedPrice.domain.vo;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Auther: xin.lu
* @Date: 2024/11/01/11:20
* @Description:
*/
@Data
public class ProcessQuotedPriceAndMwskzVo implements Serializable {
/**
* 含税单价
*/
private BigDecimal unitPrice;
/**
* 税码
*/
private String purchaseMwskz;
private String purchaseMwskzTextView;
}
package com.huigou.topsun.sap.purchaseOrder.domain.vo;
import lombok.Data;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/2/2114:20
*/
@Data
public class ProductKey {
private final String productCode;
private final String wempf;
public ProductKey(String productCode, String wempf) {
this.productCode = productCode;
this.wempf = wempf;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ProductKey that = (ProductKey) o;
return productCode.equals(that.productCode) && wempf.equals(that.wempf);
}
@Override
public int hashCode() {
return java.util.Objects.hash(productCode, wempf);
}
}
......@@ -41,7 +41,7 @@
<easy-search name="selectQuotedSuppliers" desc="已报价供应商">
<sql>
SELECT
SELECT distinct
p.supplier,
p.supplier_name
FROM
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment