Commit e94cdbb0 authored by 1650842865's avatar 1650842865

1、物料主数据批量修改物料状态(货源专员权限)

2、物料汉语品名命名规则开发(货源专员填报页面)
3、品质异常报告:供应商异常,带出采购订单类型
4、质量异常评审表审批完成后,抄送给采购订单(已审批完成)的采购员和审批人、质量异常评审表创建人和审批人、仓库(未确定抄送人员)
parent 31c09700
......@@ -50,6 +50,8 @@ function loadGrid() {
url: web_app.name + '/unqualifiedMaterials/slicedUnqualifiedMaterialsList.ajax',
pageSize: 20,
usePager: true,
sortName: "fillinDate",
sortOrder: "desc",
toolbar: toolbarOptions,
width: "100%",
height: "100%",
......
......@@ -540,9 +540,11 @@ function resetForm(obj) {
function countSumChange() {
if ($('#exceptionReasonType').val() == "1") {
countSum(purchaseGridManager.rows);
} else if ($('#exceptionReasonType').val() == "2") {
countSum(produceGridManager.rows);
} else {
}
// else if ($('#exceptionReasonType').val() == "2") {
// countSum(produceGridManager.rows);
// }
else {
countSum(clientGridManager.rows);
}
}
......@@ -862,15 +864,15 @@ function getPurchaseGridColumns() {
return {fieldName: "EKKO"}
},
back: {
EBELN: "produceNo"
// MSEHL: "unitName"
EBELN: "produceNo",
BSART: "bsart",
BATXT: "batxt"
}
}
}
},
// {display: "产品类别", name: "productType", width: "160", align: "left", type: "string"
// ,editor: {type: 'text',required:true}
// },
{display: "采购订单类型", name: "bsart", width: "80", align: "left", type: "string"},
{display: "采购订单类型描述", name: "batxt", width: "200", align: "left", type: "string"},
{
display: "产品名称", name: "productName", width: "200", align: "left", type: "string"
// , editor: {type: 'text', required: true}
......@@ -1098,7 +1100,7 @@ function setId(value) {
function reloadGrid() {
clientGridManager.loadData();
produceGridManager.loadData();
//produceGridManager.loadData();
purchaseGridManager.loadData();
dutyPersonGridManager.loadData();
countSumChange();
......
......@@ -662,47 +662,40 @@ function bindEvent() {
}
});
// $("#maktx").click(function () {
// if ($('#maktx').prop('readonly')) {
// return;
// }
// UICtrl.showAjaxDialog({
// title: '汉语品名维护',
// width: 400,
// height: 400,
// url: web_app.name + '/sapNonProdApply/showMaterialNameElement.load',
// param:{billCode:$("#submitForm #billCode").val()},
// init: function (){
// //initExceptionClient();
// },
// ok: function () {
// let formValues = [];
//
// $('#materialNameElement input').each(function() {
// let inputName = $(this).attr('name');
// if (inputName === 'id' || inputName === 'billCode') {
// return;
// }
// let inputValue = $(this).val();
//
// if (inputValue) {
// formValues.push(inputValue);
// }
// });
// let result = formValues.join('_');
// //限定40个字符
// result = result.substring(0,40);
// $('#materialNameElement').ajaxSubmit({
// url: web_app.name + '/sapNonProdApply/saveMaterialNameElement.ajax',
// param: "",
// success: function (data) {
// $("#maktx").val(result);
// }
// });
// this.close();
// }
// })
// })
$("#maktx").click(function () {
if ($('#maktx').prop('readonly')) {
return;
}
UICtrl.showAjaxDialog({
title: '汉语品名维护',
width: 700,
height: 400,
url: web_app.name + '/sapNonProdApply/showMaterialNameElement.load',
param:{billCode:$("#submitForm #billCode").val()},
init: function (){
},
ok: function () {
var result = $("#materialNameElement #maktx").val();
var specifications = $("#materialNameElement #specifications").val();
var thickness = $("#materialNameElement #thickness").val();
var weight = $("#materialNameElement #weight").val();
var maktxRemZh = $("#materialNameElement #maktxRemZh").val();
$('#materialNameElement').ajaxSubmit({
url: web_app.name + '/sapNonProdApply/saveMaterialNameElement.ajax',
param: "",
success: function (data) {
$("#maktx").val(result);
$("#groes").val(specifications);
$("#thickness").val(thickness);
$("#weight").val(weight);
$("#maktxRemZh").val(maktxRemZh);
this.close();
}
});
}
})
})
}
function bindEvent_raube(werks,lgort){
......
......@@ -119,13 +119,13 @@
<x:hidden name="matklType"/>
<x:inputC name="matklName" label="物料组小类" required="true" labelCol="1" fieldCol="2" wrapper="select"/>
<x:hidden name="matkl"/>
<x:inputC name="groes" label="规格" required="true" labelCol="1" fieldCol="2"/>
<%-- <x:inputC name="spartName" value="通用产品组" label="产品组" required="true" labelCol="1" fieldCol="2" wrapper="select"/>--%>
<x:hidden name="spartName" value="通用产品组"/>
<x:hidden name="spart"/>
<%--<x:selectC name="mtposMara" label="项目类别组" labelCol="1" fieldCol="2" dictionary="mtposMara"/>--%>
<x:hidden name="mtposMara"/>
<x:inputC name="maktx" label="汉语品名" required="true" labelCol="1" fieldCol="5" maxLength="40"/>
<x:inputC name="groes" label="规格" required="true" labelCol="1" fieldCol="2"/>
<x:hidden name="xchpf"/>
<!--x:inputC name="magrv" label="包装物料组" labelCol="1" fieldCol="2"/-->
......
$(document).ready(function () {
initialize();
bindEvent();
});
function initialize() {
bindMaktx();
}
function bindEvent() {
$('#materialNameElement input').each(function() {
let inputName = $(this).attr('name');
if (inputName === 'id' || inputName === 'billCode' || inputName === 'maktx' || inputName ==='length') {
return;
}
$('#materialNameElement #' + inputName).on('input', function() {
bindMaktx();
});
});
}
function bindMaktx(){
let formValues = [];
$('#materialNameElement input').each(function() {
let inputName = $(this).attr('name');
if (inputName === 'id' || inputName === 'billCode' || inputName === 'maktx' || inputName ==='length') {
return;
}
let inputValue = $(this).val();
if (inputValue) {
formValues.push(inputValue);
}
});
let result = formValues.join('_');
//限定40个字符
result = result.substring(0,40);
$("#materialNameElement #maktx").val(result);
$("#materialNameElement #length").val(result.length);
}
\ No newline at end of file
......@@ -4,7 +4,7 @@
<html>
<head>
<x:base include="layout,dialog,grid,tree,combox,commonTree"/>
<%--<x:script src='/biz/topsun/sap/purchaseInfoRecord/addPurchaseInfoRecordDetail.js'/>--%>
<x:script src='/biz/topsun/sap/nonProdApply/materialNameElement.js'/>
</head>
<body>
<form class="hg-form" method="post" action="" id="materialNameElement">
......@@ -12,16 +12,22 @@
<x:hidden name="billCode"/>
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="baseName" label="基础信息" labelCol="4" fieldCol="8" required="true" maxLength="40"/>
<%-- <x:inputC name="ekorgName" label="采购组织" labelCol="1" fieldCol="2"/>--%>
<%-- <x:inputC name="lifnr" label="供应商" labelCol="1" fieldCol="2"/>--%>
<%-- <x:inputC name="name1" label="供应商名称" labelCol="1" fieldCol="2" />--%>
<%-- <x:inputC name="idnlf" label="供应商物料" labelCol="1" fieldCol="2"/>--%>
<%-- <x:inputC name="matnr" label="物料编码" labelCol="1" fieldCol="2" />--%>
<%-- <x:inputC name="maktx" label="物料描述" labelCol="1" fieldCol="2"/>--%>
</div>
<div class="hg-form-row">
<x:inputC name="size" label="尺寸" labelCol="4" fieldCol="8" maxLength="40"/>
<x:hidden name="brand"/>
<x:inputC name="code" label="代号" labelCol="2" fieldCol="10" maxlength="40"/>
<x:inputC name="brandName" label="品牌" labelCol="2" fieldCol="10" maxlength="40"/>
<x:inputC name="industry" label="行业" labelCol="2" fieldCol="10" maxlength="40"/>
<x:inputC name="functionDesc" label="功能" labelCol="2" fieldCol="10" maxlength="40"/>
<x:inputC name="shape" label="形状(角)" labelCol="2" fieldCol="10" maxlength="40"/>
<x:inputC name="baseName" label="品名" labelCol="2" fieldCol="10" required="true" maxlength="40"/>
<x:inputC name="quarter" label="季度" labelCol="2" fieldCol="10" maxlength="40"/>
<x:inputC name="material" label="材质" labelCol="2" fieldCol="10" maxlength="40"/>
<x:inputC name="color" label="颜色" labelCol="2" fieldCol="10" maxlength="40"/>
<x:inputC name="specifications" label="规格mm" labelCol="2" fieldCol="10" maxlength="40"/>
<x:inputC name="thickness" label="厚度cm" labelCol="2" fieldCol="10" maxlength="40" mask="nnnnnnnn.nnnn"/>
<x:inputC name="weight" label="克重g" labelCol="2" fieldCol="10" maxlength="40" mask="nnnnnnnn.nnnn"/>
<x:textareaC name="maktxRemZh" label="物料描述" labelCol="2" fieldCol="10" rows="4"/>
<x:inputC name="maktx" label="SAP品名" labelCol="2" fieldCol="10" readonly="true" maxlength="40"/>
<x:inputC name="length" label="字数" labelCol="2" fieldCol="10" readonly="true"/>
</div>
</div>
</form>
......
......@@ -68,18 +68,27 @@ function loadNonProdApplyListGrid() {
}
},
impExcelDataHandler:{id:'impExcelData',img:'fa-table',text:'导入数据',click:impExcelDataHandler},
/* publishHandler: {id: 'publishData', text: '数据发布', img: 'fa-map', className: 'btn-gray',
unfreezeHandler: {id: 'unfreeze', text: '解冻', img: 'fa-map', className: 'btn-gray',
click: function () {
let result=DataUtil.getUpdateRow(gridManager);
if(result.status!==3){
Public.tip("请选择一条已审核后数据!")
let results = gridManager.getSelectedRows();
var ids = [];
for (var i = 0; i < results.length; i++) {
var item = results[i];
if (item.distribute != "2"){
Public.tip("请选择一条已办结的数据!")
return false;
}
publishDatas('确实要发布数据吗?', result.id);
ids.push(item.id);
}
UICtrl.confirm('您确定要解冻吗?', function () {
Public.ajax(web_app.name + '/sapNonProdApplyNext/markMaterialStatus.ajax',
{ids: $.toJSON(ids)},
function () {
reloadGrid();
});
});
}
}
}*/
});
gridManager = UICtrl.grid("#nonProdApplyListGrid", {
columns: [
......@@ -169,12 +178,14 @@ function loadNonProdApplyListGrid() {
}
function initBasicInfoMaintenance(){
//如果是货源专员角色,显示信息填报按钮
//如果是货源专员角色,显示信息填报、解冻按钮
var roleCode = $("#roleCode").val();
if (roleCode.indexOf('hyzy') > -1){
$("#toolbar_menubasicInfoMaintenance").show()
$("#toolbar_menuunfreeze").show()
}else {
$("#toolbar_menubasicInfoMaintenance").hide()
$("#toolbar_menuunfreeze").hide()
}
}
......
......@@ -1426,6 +1426,41 @@ function bindEvent() {
return {bizCode: 'backPicture', bizId: $("#id").val(), flag: 'false', deleteOld: 'true', returnPath: 'true'};
}
});
$("#maktx").click(function () {
if ($('#maktx').prop('readonly')) {
return;
}
UICtrl.showAjaxDialog({
title: '汉语品名维护',
width: 700,
height: 400,
url: web_app.name + '/sapNonProdApply/showMaterialNameElement.load',
param:{billCode:$("#submitForm #billCode").val()},
init: function (){
},
ok: function () {
var result = $("#materialNameElement #maktx").val();
var specifications = $("#materialNameElement #specifications").val();
var thickness = $("#materialNameElement #thickness").val();
var weight = $("#materialNameElement #weight").val();
var maktxRemZh = $("#materialNameElement #maktxRemZh").val();
$('#materialNameElement').ajaxSubmit({
url: web_app.name + '/sapNonProdApply/saveMaterialNameElement.ajax',
param: "",
success: function (data) {
$("#maktx").val(result);
$("#groes").val(specifications);
$("#thickness").val(thickness);
$("#weight").val(weight);
$("#maktxRemZh").val(maktxRemZh);
this.close();
}
});
}
})
})
}
function bindEvent_sale() {
......
......@@ -66,7 +66,7 @@ function getGridColumns() {
{display: "科目分配类别", name: "knttp", width: "100", align: "left", type: "string",},
{display: "科目分配类别描述", name: "knttx", width: "100", align: "left", type: "string"},
{display: "发货工厂", name: "reswk", width: "100", align: "left", type: "string",},
{display: "工厂", name: "werks", width: "100", align: "left", type: "string",},
{display: "收货工厂", name: "werks", width: "100", align: "left", type: "string",},
{display: "工厂名称", name: "name1", width: "200", align: "left", type: "string"},
{display: "物料编号", name: "matnr", width: "200", align: "left", type: "string",},
{display: "物料描述", name: "txz01", width: "300", align: "left", type: "string",},
......
......@@ -43,7 +43,7 @@ function initPurchaseListGrid() {
{display: "科目分配类别", name: "knttp", width: "100", align: "left", type: "string"},
{display: "科目分配类别描述", name: "knttx", width: "100", align: "left", type: "string"},
{display: "发货工厂", name: "reswk", width: "100", align: "left", type: "string",},
{display: "工厂", name: "werks", width: "100", align: "left", type: "string",},
{display: "收货工厂", name: "werks", width: "100", align: "left", type: "string",},
{display: "工厂名称", name: "name1", width: "200", align: "left", type: "string"},
{display: "物料编号", name: "matnr", width: "200", align: "left", type: "string",},
{display: "物料描述", name: "txz01", width: "300", align: "left", type: "string",},
......
......@@ -42,6 +42,7 @@
<x:hidden name="werks"/>
<x:inputC name="werksName" required="true" label="收货工厂" labelCol="2" fieldCol="2" wrapper="select"/>
<x:inputC name="message" required="false" label="凭证编号" labelCol="2" fieldCol="2" readonly="true"/>
<x:inputC name="banfn" required="false" label="采购申请号" labelCol="2" fieldCol="2" readonly="true"/>
</div>
</div>
......
package com.huigou.topsun.base.task;
import java.util.List;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/3/2811:18
*/
public interface BaseTask {
String QUERY_TASK_XML_FILE_PATH="config/topsun/base/task.xml";
String queryTaskByBizId(String bizId);
//自定义抄送任务
void makeACopyFor(String bizId,String personMemberId, List<String> executorIds, String title);
//根据业务ID查询审批人
List<String> queryHandlersByBizId(String bizId);
}
package com.huigou.topsun.base.task.impl;
import com.huigou.context.Operator;
import com.huigou.context.ThreadLocalUtil;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.topsun.base.task.BaseTask;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import com.huigou.uasp.bmp.operator.OperatorApplication;
import com.huigou.uasp.bpm.engine.application.WorkflowApplication;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/3/2811:17
*/
@Service("baseTask")
public class BaseTaskImpl extends BaseApplication implements BaseTask {
@Autowired
private OperatorApplication operatorApplication;
@Autowired
private WorkflowApplication workflowService;
@Override
public String queryTaskByBizId(String bizId) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_TASK_XML_FILE_PATH, "queryTaskByBizId");
String sql = queryDescriptor.getSql();
String taskId = this.sqlExecutorDao.queryToString(sql, bizId);
return taskId;
}
@Override
public void makeACopyFor(String bizId, String personMemberId, List<String> executorIds, String title) {
String taskId = this.queryTaskByBizId(bizId);
Operator operator = operatorApplication.createOperatorByPersonMemberId(personMemberId);
ThreadLocalUtil.putOperator(operator);
this.workflowService.makeACopyFor(taskId, executorIds,title);
}
@Override
public List<String> queryHandlersByBizId(String bizId) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_TASK_XML_FILE_PATH, "queryHandlersByBizId");
String sql = queryDescriptor.getSql();
return this.sqlExecutorDao.queryToList(sql, String.class, bizId);
}
}
......@@ -11,6 +11,7 @@ import com.huigou.data.domain.model.CommonDomainConstants;
import com.huigou.data.domain.query.CodeAndNameQueryRequest;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.base.task.BaseTask;
import com.huigou.topsun.mes.unqualifiedMaterials.application.UnqualifiedMaterialsApplication;
import com.huigou.topsun.mes.unqualifiedMaterials.domain.UnqualifiedMaterials;
import com.huigou.topsun.mes.unqualifiedMaterials.domain.UnqualifiedMaterialsItem;
......@@ -22,6 +23,9 @@ import com.huigou.topsun.mes.unqualifiedMaterials.repository.UnqualifiedMaterial
import com.huigou.topsun.sap.common.HttpClient;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.common.domain.MesResult;
import com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder;
import com.huigou.topsun.sap.purchaseOrder.repository.SapPurchaseOrderRepository;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bmp.operator.OperatorApplication;
import com.huigou.uasp.bmp.opm.domain.model.org.Org;
......@@ -62,6 +66,10 @@ public class UnqualifiedMaterialsApplicationImpl extends FlowBroker implements U
SapMutualEpLogApplication sapMutualEpLogApplication;
@Autowired
private UnqualifiedMaterialsItemRepository unqualifiedMaterialsItemRepository;
@Autowired
BaseTask baseTask;
@Autowired
private SapPurchaseOrderRepository sapPurchaseOrderRepository;
@Override
protected String saveBizAndApprovalData() {
......@@ -161,6 +169,9 @@ public class UnqualifiedMaterialsApplicationImpl extends FlowBroker implements U
unqualifiedMaterials.setStatusId(status.getId());
//发送审批结果到MES
this.feedBackSaleOrder(unqualifiedMaterials);
//抄送任务
buildMakeACopyFor(unqualifiedMaterials);
}
public void feedBackSaleOrder(UnqualifiedMaterials unqualifiedMaterials){
......@@ -310,4 +321,27 @@ public class UnqualifiedMaterialsApplicationImpl extends FlowBroker implements U
String businessKey = processInstance.getBusinessKey();
return businessKey;
}
public void buildMakeACopyFor(UnqualifiedMaterials unqualifiedMaterials){
String bizId = unqualifiedMaterials.getId();
String personMemberId = unqualifiedMaterials.getPersonMemberId();
String title ="抄送任务:" + this.getApprovalSubjectName(bizId);
//质量异常评审表审批完成后:抄送给采购订单的采购员和审批人、仓库、质量异常评审表创建人和审批人
List<String> handlers = baseTask.queryHandlersByBizId(bizId);
List<String> executorIds = new ArrayList<>(handlers);
//获取采购订单的采购员和审批人
SapPurchaseOrder order = sapPurchaseOrderRepository.findByEbelnAndStatusId(unqualifiedMaterials.getPurchaseOrderNo(),BizBillStatus.COMPLETED.getId());
if (order == null){
throw new RuntimeException("采购订单:" + unqualifiedMaterials.getPurchaseOrderNo() + " 未审批完成");
}
List<String> orderHandlers = baseTask.queryHandlersByBizId(order.getId());
executorIds.add(order.getPersonMemberId());
executorIds.addAll(orderHandlers);
//TODO 获取仓库人员
baseTask.makeACopyFor(bizId,personMemberId,executorIds,title);
}
}
......@@ -31,7 +31,6 @@ public interface SapCostReimbursementApplication {
void endTask(SapCostReimbursement reimbursement);
String queryTaskByBizId(String bizId);
Integer checkzyl06(String zyl06);
......
......@@ -11,6 +11,7 @@ import com.huigou.context.ThreadLocalUtil;
import com.huigou.data.domain.model.CommonDomainConstants;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.base.task.BaseTask;
import com.huigou.topsun.sap.common.DefaultHttpClient;
import com.huigou.topsun.sap.common.domain.SapResult;
import com.huigou.topsun.sap.costReimbursement.application.SapCostReimbursementApplication;
......@@ -60,8 +61,8 @@ public class SapCostReimbursementApplicationImpl extends FlowBroker implements S
DefaultHttpClient defaultHttpClient;
@Autowired
private WorkflowApplication workflowApplication;
// @Autowired
// MessageCodec messageCodec;
@Autowired
BaseTask baseTask;
@SneakyThrows
......@@ -357,14 +358,6 @@ public class SapCostReimbursementApplicationImpl extends FlowBroker implements S
this.workflowApplication.advance(approvalParameter.getTaskId(),variables);
}
@Override
public String queryTaskByBizId(String bizId) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "queryTaskByBizId");
String sql = queryDescriptor.getSql();
String taskId = this.sqlExecutorDao.queryToString(sql, bizId);
return taskId;
}
@Override
public Integer checkzyl06(String zyl06) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "checkzyl06");
......@@ -384,7 +377,7 @@ public class SapCostReimbursementApplicationImpl extends FlowBroker implements S
// 流程结束给申请人发送抄送
List<String> executorIds = new ArrayList<>(1);
executorIds.add(reimbursement.getPersonMemberId());
String taskId = this.queryTaskByBizId(reimbursement.getId());
String taskId = this.baseTask.queryTaskByBizId(reimbursement.getId());
Operator operator = operatorApplication.createOperatorByPersonMemberId(reimbursement.getPersonMemberId());
ThreadLocalUtil.putOperator(operator);
this.workflowService.makeACopyFor(taskId, executorIds,"付款完成、sap回执:"+reimbursement.getZepFtypename()+"-"+reimbursement.getBillCode());
......
......@@ -141,4 +141,17 @@ public class ExceptionReportItem extends AbstractEntity {
*/
@Column(name = "startup_fee")
private BigDecimal startupFee;
/**
* 采购订单类型
*/
@Column(name = "bsart")
private String bsart;
/**
* 采购订单类型描述
*/
@Column(name = "batxt")
private String batxt;
}
......@@ -49,4 +49,6 @@ public interface NonProdApplyDeptApplication {
//保存待办消息
void saveBsnMessageData(NonProdApplyBaseInfo baseInfo,Map<String,Object> backMap);
//冻结或解冻物料状态
void unfreezeMaterialStatus(List<String> ids);
}
\ No newline at end of file
......@@ -542,4 +542,14 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
}
}
@Override
public void unfreezeMaterialStatus(List<String> ids) {
List<NonProdApplyBaseInfo> baseInfoList = nonProdApplyBaseInfoRepository.findAll(ids);
for (NonProdApplyBaseInfo baseInfo : baseInfoList) {
SapNonProdApplyDept prodApplyDept = nonProdApplyDeptRepository.findByBaseInfoId(baseInfo.getId());
prodApplyDept.setMmsta("");//解冻
this.sendSapMaterialData(baseInfo,prodApplyDept);
}
}
}
......@@ -217,6 +217,13 @@ public void getBaseInfoAttrs(NonProdApplyBaseInfo baseInfo,SapNonProdApplyDept n
nonProdApplyDeptApplication.rejectNonProdApplyDept(sdo);
return success();
}
public String markMaterialStatus(){
SDO sdo = this.getSDO();
List<String> ids = sdo.getIds();
nonProdApplyDeptApplication.unfreezeMaterialStatus(ids);
return success();
}
}
......@@ -6,6 +6,7 @@ import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;
/**
* @author xin.lu
......@@ -17,12 +18,93 @@ import javax.persistence.Table;
@Table(name = "sap_material_name_element")
public class MaterialNameElement extends AbstractEntity {
/**
* 单据编号
*/
@Column(name = "bill_code")
private String billCode;
/**
* 代号
*/
@Column(name = "code")
private String code;
/**
* 品牌
*/
@Column(name = "brand")
private String brand;
/**
* 品牌名称
*/
@Column(name = "brand_name")
private String brandName;
/**
* 行业
*/
@Column(name = "industry")
private String industry;
/**
* 功能
*/
@Column(name = "function_desc")
private String functionDesc;
/**
* 形状(角)
*/
@Column(name = "shape")
private String shape;
/**
* 品名
*/
@Column(name = "base_name")
private String baseName;
@Column(name = "size")
private String size;
/**
* 季度
*/
@Column(name = "quarter")
private String quarter;
/**
* 材质
*/
@Column(name = "material")
private String material;
/**
* 颜色
*/
@Column(name = "color")
private String color;
/**
* 规格mm
*/
@Column(name = "specifications")
private String specifications;
/**
* 厚度cm
*/
@Column(name = "thickness")
private BigDecimal thickness;
/**
* 克重g
*/
@Column(name = "weight")
private BigDecimal weight;
/**
* 长文本内容
*/
@Column(name = "maktx_rem_zh")
private String maktxRemZh;
}
......@@ -13,4 +13,6 @@ import java.util.List;
public interface SapPurchaseOrderRepository extends JpaRepository<SapPurchaseOrder,String> {
List<SapPurchaseOrder> findAllByEbeln(String ebeln);
SapPurchaseOrder findByEbelnAndStatusId(String ebeln,Integer statusId);
}
......@@ -3,6 +3,8 @@ package com.huigou.topsun.sap.transfers.domain.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class SapStockTransfersItemVO {
......@@ -21,7 +23,7 @@ public class SapStockTransfersItemVO {
//数量
@JsonProperty("MENGE")
private Integer menge;
private BigDecimal menge;
//基本计量单位
@JsonProperty("MEINS")
......
<?xml version="1.0" encoding="UTF-8" ?>
<query-mappings>
<query name="queryTaskByBizId" table="act_hi_taskinst">
<sql-query>
SELECT t.ID_ as task_id
FROM act_hi_taskinst t
WHERE t.PROC_INST_ID_ = ( SELECT DISTINCT te.proc_inst_id_ proc_inst_id FROM act_hi_taskinst_extension te WHERE te.BUSINESS_KEY_ = ? AND te.kind_id_ = 'task' AND te.TASK_DEF_KEY_ = 'Apply' )
AND t.TASK_DEF_KEY_ = 'Apply' ORDER BY t.START_TIME_ desc LIMIT 1
</sql-query>
</query>
<query name="queryHandlersByBizId" table="wf_procunithandler">
<sql-query>
SELECT handler_id FROM wf_procunithandler t WHERE t.biz_id = ?
</sql-query>
</query>
</query-mappings>
\ No newline at end of file
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