Commit 9fe34c25 authored by 鲁鑫's avatar 鲁鑫

品质异常增加汇率,换算金额 = 异常金额 * 汇率;产成品、半成品根据物料编码选择品牌;工序报价增加运输费,添加报价数量时,保存表单

parent 843c5be3
pub.db.url=jdbc:mysql://192.168.3.91:3406/topsun_dev?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false pub.db.url=jdbc:mysql://192.168.3.91:3406/topsun_dev?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
#pub.db.url=jdbc:mysql://192.168.3.91:3406/topsun_test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
#pub.db.url=jdbc:mysql://192.168.3.91:3406/topsun_320?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
pub.db.user=root pub.db.user=root
pub.db.password=123456 pub.db.password=123456
#pub.db.url=jdbc:mysql://127.0.0.1:3306/topsun?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false #pub.db.url=jdbc:mysql://127.0.0.1:3306/topsun?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
...@@ -9,6 +11,8 @@ pub.db.password=123456 ...@@ -9,6 +11,8 @@ pub.db.password=123456
#log.db.user=topsun #log.db.user=topsun
#log.db.password=topsun #log.db.password=topsun
log.db.url=jdbc:mysql://192.168.3.91:3406/topsun_dev?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false log.db.url=jdbc:mysql://192.168.3.91:3406/topsun_dev?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
#log.db.url=jdbc:mysql://192.168.3.91:3406/topsun_test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
#log.db.url=jdbc:mysql://192.168.3.91:3406/topsun_320?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
log.db.user=root log.db.user=root
log.db.password=123456 log.db.password=123456
......
log4j.rootLogger=INFO, LogFileInfo, LogFileError, LogConsole,stdout log4j.rootLogger=INFO, LogFileInfo, LogFileError, LogConsole,stdout
log4j.appender.LogFileInfo = org.apache.log4j.DailyRollingFileAppender log4j.appender.LogFileInfo = org.apache.log4j.DailyRollingFileAppender
log4j.appender.LogFileInfo.file = /var/project/log/Info.log log4j.appender.LogFileInfo.file = /var/project/log/300/Info.log
#log4j.appender.LogFileInfo.file = /var/project/log/310/Info.log
#log4j.appender.LogFileInfo.file = /var/project/log/320/Info.log
log4j.appender.LogFileInfo.DatePattern = '.'yyyy-MM-dd log4j.appender.LogFileInfo.DatePattern = '.'yyyy-MM-dd
log4j.appender.LogFileInfo.layout = org.apache.log4j.PatternLayout log4j.appender.LogFileInfo.layout = org.apache.log4j.PatternLayout
log4j.appender.LogFileInfo.layout.ConversionPattern = [%p] <%d{yyyy-MM-dd HH:mm:ss:SSS}> %C{1}::%M: %m%n log4j.appender.LogFileInfo.layout.ConversionPattern = [%p] <%d{yyyy-MM-dd HH:mm:ss:SSS}> %C{1}::%M: %m%n
...@@ -8,7 +10,9 @@ log4j.appender.LogFileInfo.threshold=INFO ...@@ -8,7 +10,9 @@ log4j.appender.LogFileInfo.threshold=INFO
log4j.appender.LogFileError = org.apache.log4j.DailyRollingFileAppender log4j.appender.LogFileError = org.apache.log4j.DailyRollingFileAppender
log4j.appender.LogFileError.file = /var/project/log/Error.log log4j.appender.LogFileError.file = /var/project/log/300/Error.log
#log4j.appender.LogFileInfo.file = /var/project/log/310/Info.log
#log4j.appender.LogFileInfo.file = /var/project/log/320/Info.log
log4j.appender.LogFileError.DatePattern = '.'yyyy-MM-dd log4j.appender.LogFileError.DatePattern = '.'yyyy-MM-dd
log4j.appender.LogFileError.layout = org.apache.log4j.PatternLayout log4j.appender.LogFileError.layout = org.apache.log4j.PatternLayout
log4j.appender.LogFileError.layout.ConversionPattern = [%p] <%d{yyyy-MM-dd HH:mm:ss:SSS}> %C{1}::%M: %m%n log4j.appender.LogFileError.layout.ConversionPattern = [%p] <%d{yyyy-MM-dd HH:mm:ss:SSS}> %C{1}::%M: %m%n
...@@ -56,7 +60,9 @@ log4j.logger.log4j.loggingOutInterceptor=INFO,log4jFile,LogConsole ...@@ -56,7 +60,9 @@ log4j.logger.log4j.loggingOutInterceptor=INFO,log4jFile,LogConsole
log4j.additivity.log4j.loggingInInterceptor=false log4j.additivity.log4j.loggingInInterceptor=false
log4j.additivity.log4j.loggingOutInterceptor=false log4j.additivity.log4j.loggingOutInterceptor=false
log4j.appender.log4jFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.log4jFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.log4jFile.File=/var/project/log/log4j.log log4j.appender.log4jFile.File=/var/project/log/300/log4j.log
#log4j.appender.log4jFile.File=/var/project/log/310/log4j.log
#log4j.appender.log4jFile.File=/var/project/log/320/log4j.log
log4j.appender.log4jFile.ImmediateFlush=true log4j.appender.log4jFile.ImmediateFlush=true
log4j.appender.log4jFile.Threshold=INFO log4j.appender.log4jFile.Threshold=INFO
log4j.appender.log4jFile.Append=true log4j.appender.log4jFile.Append=true
...@@ -69,7 +75,9 @@ log4j.logger.cxf.loggingOutInterceptor=INFO,cxfFile,LogConsole ...@@ -69,7 +75,9 @@ log4j.logger.cxf.loggingOutInterceptor=INFO,cxfFile,LogConsole
log4j.additivity.cxf.loggingInInterceptor=false log4j.additivity.cxf.loggingInInterceptor=false
log4j.additivity.cxf.loggingOutInterceptor=false log4j.additivity.cxf.loggingOutInterceptor=false
log4j.appender.cxfFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.cxfFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.cxfFile.File=/var/project/log/cxf.log log4j.appender.cxfFile.File=/var/project/log/300/cxf.log
#log4j.appender.cxfFile.File=/var/project/log/310/cxf.log
#log4j.appender.cxfFile.File=/var/project/log/320/cxf.log
log4j.appender.cxfFile.ImmediateFlush=true log4j.appender.cxfFile.ImmediateFlush=true
log4j.appender.cxfFile.Threshold=INFO log4j.appender.cxfFile.Threshold=INFO
log4j.appender.cxfFile.Append=true log4j.appender.cxfFile.Append=true
...@@ -80,7 +88,9 @@ log4j.appender.cxfFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss, SSS}-%t- ...@@ -80,7 +88,9 @@ log4j.appender.cxfFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss, SSS}-%t-
log4j.logger.tech.egate=INFO,egate,LogConsole log4j.logger.tech.egate=INFO,egate,LogConsole
log4j.additivity.tech.egate=false log4j.additivity.tech.egate=false
log4j.appender.egate=org.apache.log4j.DailyRollingFileAppender log4j.appender.egate=org.apache.log4j.DailyRollingFileAppender
log4j.appender.egate.File=/var/project/log/egate.log log4j.appender.egate.File=/var/project/log/300/egate.log
#log4j.appender.egate.File=/var/project/log/310/egate.log
#log4j.appender.egate.File=/var/project/log/320/egate.log
log4j.appender.egate.ImmediateFlush=true log4j.appender.egate.ImmediateFlush=true
log4j.appender.egate.Threshold=INFO log4j.appender.egate.Threshold=INFO
log4j.appender.egate.Append=true log4j.appender.egate.Append=true
...@@ -91,7 +101,9 @@ log4j.appender.egate.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss, SSS}-%t-%x ...@@ -91,7 +101,9 @@ log4j.appender.egate.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss, SSS}-%t-%x
log4j.logger.tech.message.sender=INFO,messagesender,LogConsole log4j.logger.tech.message.sender=INFO,messagesender,LogConsole
log4j.additivity.tech.message.sender=false log4j.additivity.tech.message.sender=false
log4j.appender.messagesender=org.apache.log4j.DailyRollingFileAppender log4j.appender.messagesender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.messagesender.File=/var/project/log/messagesender.log log4j.appender.messagesender.File=/var/project/log/300/messagesender.log
#log4j.appender.messagesender.File=/var/project/log/310/messagesender.log
#log4j.appender.messagesender.File=/var/project/log/320/messagesender.log
log4j.appender.messagesender.ImmediateFlush=true log4j.appender.messagesender.ImmediateFlush=true
log4j.appender.messagesender.Threshold=INFO log4j.appender.messagesender.Threshold=INFO
log4j.appender.messagesender.Append=true log4j.appender.messagesender.Append=true
...@@ -102,7 +114,9 @@ log4j.appender.messagesender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss, SS ...@@ -102,7 +114,9 @@ log4j.appender.messagesender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss, SS
log4j.logger.tech.webservice=INFO,webservice,LogConsole log4j.logger.tech.webservice=INFO,webservice,LogConsole
log4j.additivity.tech.webservice=false log4j.additivity.tech.webservice=false
log4j.appender.webservice=org.apache.log4j.DailyRollingFileAppender log4j.appender.webservice=org.apache.log4j.DailyRollingFileAppender
log4j.appender.webservice.File=/var/project/log/webservice.log log4j.appender.webservice.File=/var/project/log/300/webservice.log
#log4j.appender.webservice.File=/var/project/log/310/webservice.log
#log4j.appender.webservice.File=/var/project/log/320/webservice.log
log4j.appender.webservice.ImmediateFlush=true log4j.appender.webservice.ImmediateFlush=true
log4j.appender.webservice.Threshold=INFO log4j.appender.webservice.Threshold=INFO
log4j.appender.webservice.Append=true log4j.appender.webservice.Append=true
......
...@@ -154,3 +154,7 @@ ADD COLUMN `PRODUCT_CODE` varchar(32) NULL COMMENT '产品编码' AFTER `PRINT_L ...@@ -154,3 +154,7 @@ ADD COLUMN `PRODUCT_CODE` varchar(32) NULL COMMENT '产品编码' AFTER `PRINT_L
ADD COLUMN `PRODUCT_NAME` varchar(255) NULL COMMENT '产品名称' AFTER `PRODUCT_CODE`, ADD COLUMN `PRODUCT_NAME` varchar(255) NULL COMMENT '产品名称' AFTER `PRODUCT_CODE`,
ADD COLUMN `PRODUCT_TYPE` varchar(32) NULL COMMENT '产品类别' AFTER `PRODUCT_NAME`, ADD COLUMN `PRODUCT_TYPE` varchar(32) NULL COMMENT '产品类别' AFTER `PRODUCT_NAME`,
ADD COLUMN `PRODUCT_TYPE_NAME` varchar(32) NULL COMMENT '产品类别描述' AFTER `PRODUCT_TYPE`; ADD COLUMN `PRODUCT_TYPE_NAME` varchar(32) NULL COMMENT '产品类别描述' AFTER `PRODUCT_TYPE`;
--2024-11-04 品质异常单增加汇率
ALTER TABLE `topsun_dev`.`sap_exception_report_item`
ADD COLUMN `exchange_rate` decimal(10, 2) NULL DEFAULT NULL COMMENT '汇率' AFTER `exception_number`;
...@@ -392,6 +392,13 @@ function initClientGrid() { ...@@ -392,6 +392,13 @@ function initClientGrid() {
countSum(clientGridManager.rows); countSum(clientGridManager.rows);
} }
} }
//换算金额 = 异常金额 * 汇率
if (item.column.name == "money"|| item.column.name == "exchangeRate" ){
if (Public.isNotBlank(item.record.money) && Public.isNotBlank(item.record.exchangeRate)){
clientGridManager.updateRow(item.record, {rmbMoney: MathUtil.mul(item.record.money,item.record.exchangeRate) });
}
}
}, },
onAfterShowData() { onAfterShowData() {
countSum(clientGridManager.rows); countSum(clientGridManager.rows);
...@@ -569,6 +576,10 @@ function getClientGridColumns() { ...@@ -569,6 +576,10 @@ function getClientGridColumns() {
}, },
} }
} ); } );
columns.push(
{display: "汇率", name: "exchangeRate", width: "100", align: "left", type: "string"
,editor: {type: "text",mask: '9999999.999'}
} );
columns.push( columns.push(
{display: "异常金额", name: "money", width: "100", align: "left", type: "string" {display: "异常金额", name: "money", width: "100", align: "left", type: "string"
,editor: {type: "text",mask: '9999999.999'} ,editor: {type: "text",mask: '9999999.999'}
...@@ -641,7 +652,9 @@ function getProcduceGridColumns() { ...@@ -641,7 +652,9 @@ function getProcduceGridColumns() {
function initDutyPersonGridGrid() { function initDutyPersonGridGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({ var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () { addHandler: function () {
UICtrl.addGridRow(dutyPersonGridManager); UICtrl.addGridRow(dutyPersonGridManager,{
dutyRate: 100
});
}, },
deleteHandler: function () { deleteHandler: function () {
var _grid = UICtrl.getGridManager('#dutyPersonGrid'); var _grid = UICtrl.getGridManager('#dutyPersonGrid');
......
...@@ -333,6 +333,12 @@ function saleMustInput(flag) { //销售必输项 ...@@ -333,6 +333,12 @@ function saleMustInput(flag) { //销售必输项
UICtrl.setElRequiredFlag("#umrenSale", flag); UICtrl.setElRequiredFlag("#umrenSale", flag);
UICtrl.setElRequiredFlag("#umrezSale", flag); UICtrl.setElRequiredFlag("#umrezSale", flag);
} }
//产成品、半成品品牌必填
var mtart = $("#mtart").val();
if (mtart == "ZZCP" || mtart == "ZBCP"){
UICtrl.setElRequiredFlag("#mvgr1",flag);
}
mtvfpMustInput(); mtvfpMustInput();
} }
function purchaseMustInput(flag) { //采购必输项 function purchaseMustInput(flag) { //采购必输项
...@@ -1069,6 +1075,16 @@ function bindEvent() { ...@@ -1069,6 +1075,16 @@ function bindEvent() {
} }
} }
}); });
//品牌选择
$('#mvgr1').searchbox({
type: "system", name: "selectEpBrandByItemCode",
getParam: function (item) {
return {itemCode: $("#matnr").val()}
},
onChange: function (value, data) {
$('#mvgr1').val(data.code);
}
});
bindEvent_warehouse(); bindEvent_warehouse();
} }
......
...@@ -218,7 +218,7 @@ ...@@ -218,7 +218,7 @@
<x:selectC name="ktgrm" label="会计科目组" labelCol="1" fieldCol="2" required="false" dictionary="ktgrm"/> <x:selectC name="ktgrm" label="会计科目组" labelCol="1" fieldCol="2" required="false" dictionary="ktgrm"/>
<%--<x:selectC name="prodh" label="产品层级" labelCol="1" fieldCol="2" dictionary="productLevels"/>--%> <%--<x:selectC name="prodh" label="产品层级" labelCol="1" fieldCol="2" dictionary="productLevels"/>--%>
<x:inputC name="prodh" label="产品层级" labelCol="1" fieldCol="2"/> <x:inputC name="prodh" label="产品层级" labelCol="1" fieldCol="2"/>
<x:inputC name="mvgr1" label="品牌" labelCol="1" fieldCol="2"/> <x:inputC name="mvgr1" label="品牌" labelCol="1" fieldCol="2" wrapper="select"/>
<x:selectC name="mvgr2" label="产品经营类型" labelCol="1" fieldCol="2" dictionary="mvgr2"/> <x:selectC name="mvgr2" label="产品经营类型" labelCol="1" fieldCol="2" dictionary="mvgr2"/>
<x:inputC name="mvgr3" label="用途" labelCol="1" fieldCol="2"/> <x:inputC name="mvgr3" label="用途" labelCol="1" fieldCol="2"/>
<x:inputC name="mvgr4" label="备用1" labelCol="1" fieldCol="2"/> <x:inputC name="mvgr4" label="备用1" labelCol="1" fieldCol="2"/>
......
...@@ -116,6 +116,7 @@ function loadItemGrid() { ...@@ -116,6 +116,7 @@ function loadItemGrid() {
//如果没保存过,需要主表单保存按钮 //如果没保存过,需要主表单保存按钮
if (Public.isBlank(id)){ if (Public.isBlank(id)){
updateItemGridManager(datas,productCode,outProcess); updateItemGridManager(datas,productCode,outProcess);
save("SAVE",null);
}else { }else {
//如果是保存过的报价单明细,直接保存 //如果是保存过的报价单明细,直接保存
Public.ajax(web_app.name+"/processQuotedPrice/saveProcessQuotedPriceItemNumber.ajax", Public.ajax(web_app.name+"/processQuotedPrice/saveProcessQuotedPriceItemNumber.ajax",
...@@ -309,7 +310,8 @@ function loadClickItemGrid() { ...@@ -309,7 +310,8 @@ function loadClickItemGrid() {
{display: "数量区间", name: "numberSection", width: 200, minWidth: 60, type: "String", align: "left"}, {display: "数量区间", name: "numberSection", width: 200, minWidth: 60, type: "String", align: "left"},
{display: "备注", name: "remark", 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: "unitPrice", width: 100, minWidth: 60, type: "String", align: "left"},
{display: " 不含税单价", name: "excludeTaxPrice", width: 100, 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: "minimum", width: 100, minWidth: 60, type: "String", align: "left"}, {display: "最低消费", name: "minimum", width: 100, minWidth: 60, type: "String", align: "left"},
{display: "loss数", name: "lossNumber", width: 100, minWidth: 60, type: "String", align: "left"}, {display: "loss数", name: "lossNumber", width: 100, minWidth: 60, type: "String", align: "left"},
], ],
......
...@@ -61,7 +61,13 @@ function loadItemNumberGrid() { ...@@ -61,7 +61,13 @@ function loadItemNumberGrid() {
} }
}, },
{ {
display: " 不含税单价", name: "excludeTaxPrice", width: 100, minWidth: 60, type: "String", align: "left", display: "不含税单价", name: "excludeTaxPrice", width: 100, minWidth: 60, type: "String", align: "left",
editor: {
required: false, type: "text",mask: '9999999.999'
}
},
{
display: "运输费", name: "freight", width: 100, minWidth: 60, type: "String", align: "left",
editor: { editor: {
required: false, type: "text",mask: '9999999.999' required: false, type: "text",mask: '9999999.999'
} }
......
...@@ -51,6 +51,7 @@ function getGridColumns() { ...@@ -51,6 +51,7 @@ function getGridColumns() {
{display: "库存地点", name: "lgort", width: "100", align: "left", type: "string"}, {display: "库存地点", name: "lgort", width: "100", align: "left", type: "string"},
{display: "库存地点的描述", name: "lgobe", width: "200", align: "left", type: "string"}, {display: "库存地点的描述", name: "lgobe", width: "200", align: "left", type: "string"},
{display: "含税单价", name: "netpr", width: "100", align: "left", type: "string"}, {display: "含税单价", name: "netpr", width: "100", align: "left", type: "string"},
{display: "运输费", name: "kbetr2", width: "100", align: "left", type: "string"},
{display: "价格基数", name: "peinh", width: "100", align: "left", type: "string"}, {display: "价格基数", name: "peinh", width: "100", align: "left", type: "string"},
//{display: "税码", name: "mwskz", width: "100", align: "left", type: "string"}, //{display: "税码", name: "mwskz", width: "100", align: "left", type: "string"},
{display: "进项税率(%)", name: "kbetr", width: "100", align: "left", type: "string"}, {display: "进项税率(%)", name: "kbetr", width: "100", align: "left", type: "string"},
......
...@@ -644,4 +644,13 @@ public class ResourceSearchController { ...@@ -644,4 +644,13 @@ public class ResourceSearchController {
return sapDictionaryApplication.initEasySearchModel( mapList, param, sdo); return sapDictionaryApplication.initEasySearchModel( mapList, param, sdo);
} }
@EasySearch(queryName = "selectEpBrandByItemCode")
public Map<String, Object> selectEpBrandByItemCode(SDO sdo) {
String param = sdo.getString("paramValue");
String itemCode = sdo.getString("itemCode");
List<Map<String, String>> mapList = new ArrayList<>();
mapList = epApplication.queryEpBrandByItemCode(itemCode);
return sapDictionaryApplication.initEasySearchModel( mapList, param, sdo);
}
} }
...@@ -30,4 +30,11 @@ public interface EpApplication { ...@@ -30,4 +30,11 @@ public interface EpApplication {
* @return * @return
*/ */
List<Map<String, String>> queryEpProductProcess(String itemCode); List<Map<String, String>> queryEpProductProcess(String itemCode);
/**
* 根据产品编码查询品牌
* @param itemCode
* @return
*/
List<Map<String, String>> queryEpBrandByItemCode(String itemCode);
} }
...@@ -6,8 +6,13 @@ import com.fasterxml.jackson.databind.ObjectMapper; ...@@ -6,8 +6,13 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.huigou.topsun.ep.epApplication.EpApplication; import com.huigou.topsun.ep.epApplication.EpApplication;
import com.huigou.topsun.ep.epApplication.EpVo.EpProductInfoVo; import com.huigou.topsun.ep.epApplication.EpVo.EpProductInfoVo;
import com.huigou.topsun.sap.common.HttpClient; import com.huigou.topsun.sap.common.HttpClient;
import com.huigou.topsun.sap.common.domain.EpResult;
import com.huigou.topsun.sap.common.domain.EpResultValue;
import com.huigou.topsun.util.SAPUtils; import com.huigou.topsun.util.SAPUtils;
import com.huigou.util.ClassHelper;
import com.sun.org.apache.regexp.internal.RE;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -127,4 +132,29 @@ public class EpApplicationImpl implements EpApplication { ...@@ -127,4 +132,29 @@ public class EpApplicationImpl implements EpApplication {
} }
return mapList; return mapList;
} }
@Override
public List<Map<String, String>> queryEpBrandByItemCode(String itemCode) {
String url = "md/mdItem/queryBrandByItemCode/" + itemCode;
List<Map<String, String>> mapList = new ArrayList<>();
Map map = new HashMap();
try {
String result = httpClient.executeForEp(map, url);
EpResult epResult = JSONObject.parseObject(result, EpResult.class);
if ("200".equals(epResult.getCode())) {
if (epResult.getData()!=null){
EpResultValue data = epResult.getData();
Map<String,String> resultMap = new HashMap<>();
resultMap.put("code",data.getCode());
resultMap.put("name",data.getName());
mapList.add(resultMap);
}
} else {
throw new RuntimeException("从EP查询品牌错误:" + epResult.getMsg());
}
} catch (IOException e) {
throw new RuntimeException("EP服务器无响应请稍后手动重试!error:" + e.getMessage());
}
return mapList;
}
} }
...@@ -111,4 +111,10 @@ public class ExceptionReportItem extends AbstractEntity { ...@@ -111,4 +111,10 @@ public class ExceptionReportItem extends AbstractEntity {
*/ */
@Column(name = "exception_number") @Column(name = "exception_number")
private BigDecimal exceptionNumber; private BigDecimal exceptionNumber;
/**
* 汇率
*/
@Column(name = "exchange_rate")
private BigDecimal exchangeRate;
} }
...@@ -608,26 +608,6 @@ public class NonProdApplyApplicationImpl extends FlowBroker implements NonProdA ...@@ -608,26 +608,6 @@ public class NonProdApplyApplicationImpl extends FlowBroker implements NonProdA
nonProdApplyBaseInfo.setMaintenanceType("new"); nonProdApplyBaseInfo.setMaintenanceType("new");
nonProdApplyBaseInfo.setApprovalDate(new Date()); nonProdApplyBaseInfo.setApprovalDate(new Date());
nonProdApplyBaseInfo.setKind("product"); nonProdApplyBaseInfo.setKind("product");
if (StringUtils.isNotBlank(nonProdApplyBaseInfo.getMatnr())) {
String url = "md/mdItem/queryBrandByItemCode/" + nonProdApplyBaseInfo.getMatnr();
Map map = new HashMap();
try {
//{msg:"","code":"",data:{"code":"","name":}}
String result = defaultHttpClient.executeForEp(map, url);
EpResult epResult = JSONObject.parseObject(result, EpResult.class);
if ("200".equals(epResult.getCode())) {
if (epResult.getData()!=null){
nonProdApplyBaseInfo.setBrand(epResult.getData().getCode());
nonProdApplyBaseInfo.setBrandName(epResult.getData().getName());
sapNonProdApplyDept.setMvgr1(epResult.getData().getCode());
}
} else {
throw new RuntimeException("从EP查询品牌错误:" + epResult.getMsg());
}
} catch (IOException e) {
throw new RuntimeException("EP服务器无响应请稍后手动重试!error:" + e.getMessage());
}
}
nonProdApplyBaseInfo = nonProdApplyBaseInfoRepository.save(nonProdApplyBaseInfo); nonProdApplyBaseInfo = nonProdApplyBaseInfoRepository.save(nonProdApplyBaseInfo);
......
...@@ -13,6 +13,7 @@ import com.huigou.topsun.sap.processQuotedPrice.domain.query.ProcessQuotedPriceQ ...@@ -13,6 +13,7 @@ import com.huigou.topsun.sap.processQuotedPrice.domain.query.ProcessQuotedPriceQ
import com.huigou.topsun.sap.processQuotedPrice.domain.vo.ProcessQuotedPricePrintVo; import com.huigou.topsun.sap.processQuotedPrice.domain.vo.ProcessQuotedPricePrintVo;
import com.huigou.topsun.sap.processQuotedPrice.repository.ProcessQuotedPriceItemRepository; import com.huigou.topsun.sap.processQuotedPrice.repository.ProcessQuotedPriceItemRepository;
import com.huigou.topsun.sap.processQuotedPrice.repository.ProcessQuotedPriceRepository; import com.huigou.topsun.sap.processQuotedPrice.repository.ProcessQuotedPriceRepository;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bmp.common.application.BaseApplication; import com.huigou.uasp.bmp.common.application.BaseApplication;
import com.huigou.util.ClassHelper; import com.huigou.util.ClassHelper;
import com.huigou.util.StringUtil; import com.huigou.util.StringUtil;
...@@ -129,18 +130,31 @@ public class ProcessQuotedPriceItemApplicationImpl extends BaseApplication imple ...@@ -129,18 +130,31 @@ public class ProcessQuotedPriceItemApplicationImpl extends BaseApplication imple
ProcessQuotedPriceItem quotedPriceItem = processQuotedPriceItemRepository.findByProductCodeAndOutProcess(productCode, outProcess); ProcessQuotedPriceItem quotedPriceItem = processQuotedPriceItemRepository.findByProductCodeAndOutProcess(productCode, outProcess);
BigDecimal price = BigDecimal.ZERO; BigDecimal price = BigDecimal.ZERO;
if (quotedPriceItem != null){ if (quotedPriceItem != null){
ProcessQuotedPrice quotedPrice = processQuotedPriceRepository.findOne(quotedPriceItem.getProcessQuotedPriceId());
//审批完成的
if (quotedPrice.getStatusId() == BizBillStatus.COMPLETED.getId()){
List<ProcessQuotedPriceItemNumber> numberList = processQuotedPriceItemNumberApplication.findByProcessQuotedPriceItemId(quotedPriceItem.getId()); List<ProcessQuotedPriceItemNumber> numberList = processQuotedPriceItemNumberApplication.findByProcessQuotedPriceItemId(quotedPriceItem.getId());
List<BigDecimal> decimals = numberList List<BigDecimal> decimals = numberList
.stream() .stream()
.filter(processQuotedPriceItemNumber -> .filter(processQuotedPriceItemNumber ->
(processQuotedPriceItemNumber.getNumberFrom().compareTo(number) < 0 (processQuotedPriceItemNumber.getNumberFrom().compareTo(number) < 0
&& processQuotedPriceItemNumber.getNumberTo().compareTo(number) >= 0)) && processQuotedPriceItemNumber.getNumberTo().compareTo(number) >= 0))
.map(ProcessQuotedPriceItemNumber::getUnitPrice).collect(Collectors.toList()); .map(
processQuotedPriceItemNumber -> {
//返回含税单价+运输费
BigDecimal unitPrice = processQuotedPriceItemNumber.getUnitPrice();
BigDecimal freight = processQuotedPriceItemNumber.getFreight();
if (freight != null){
return unitPrice.add(freight);
}
return unitPrice;
}
).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(decimals)){ if (!CollectionUtils.isEmpty(decimals)){
price = decimals.get(0); price = decimals.get(0);
} }
} }
}
return price; return price;
} }
} }
...@@ -59,6 +59,12 @@ public class ProcessQuotedPriceItemNumber extends AbstractEntity { ...@@ -59,6 +59,12 @@ public class ProcessQuotedPriceItemNumber extends AbstractEntity {
@Column(name = "exclude_tax_price") @Column(name = "exclude_tax_price")
private BigDecimal excludeTaxPrice; private BigDecimal excludeTaxPrice;
/**
* 运输费
*/
@Column(name = "freight")
private BigDecimal freight;
/** /**
* 最低消费 * 最低消费
*/ */
......
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