Commit b8444365 authored by 鲁鑫's avatar 鲁鑫

生产类供应商准入评审表

parent c45dd41d
......@@ -3704,7 +3704,7 @@
var info = g._getTotalInfo(column, data);
if (column.totalSummary.render)
{
var renderhtml = column.totalSummary.render(info, column, g.data);
var renderhtml = column.totalSummary.render(info, column, g.data, data);
totalsummaryArr.push(renderhtml);
}
else if (column.totalSummary.type && info)
......@@ -3713,7 +3713,7 @@
if (isExist('sum'))
totalsummaryArr.push("<div>Sum=" + info.sum.toFixed(2) + "</div>");
if (isExist('tsum'))
totalsummaryArr.push("<div>" + sum.toFixed(0) + "</div>");
totalsummaryArr.push("<div>" + info.sum.toFixed(0) + "</div>");
if (isExist('count'))
totalsummaryArr.push("<div>Count=" + info.count + "</div>");
if (isExist('max'))
......
......@@ -30,6 +30,7 @@
<x:hidden name="positionName"/>
<x:hidden name="personMemberId"/>
<x:hidden name="personMemberName"/>
<x:hidden name="menge"/>
<x:hidden name="statusId"/>
<div class="hg-form-row">
<x:inputC name="bukrs" required="true" label="公司代码" labelCol="2" maxLength="64" fieldCol="4" wrapper="select"/>
......@@ -38,7 +39,7 @@
<x:inputC name="txt50" required="true" label="文本" labelCol="2" maxLength="64" fieldCol="4"/>
<x:inputC name="txa50" required="true" label="规格型号" labelCol="2" maxLength="64" fieldCol="4"/>
<x:inputC name="invnr" required="false" label="存货号" labelCol="2" maxLength="64" fieldCol="4" />
<x:inputC name="menge" required="true" label="数量" labelCol="2" maxLength="64" fieldCol="4" />
<%--<x:inputC name="menge" required="true" label="数量" labelCol="2" maxLength="64" fieldCol="4" />--%>
<x:inputC name="meins" required="true" label="基本计量单位" labelCol="2" maxLength="64" fieldCol="4" wrapper="select"/>
<x:inputC name="kostl" required="true" label="成本中心" labelCol="2" wrapper="select" fieldCol="4"/>
<x:inputC name="kostlv" required="false" label="责任成本中心" labelCol="2" maxLength="64" fieldCol="4" wrapper="select"/>
......
......@@ -31,7 +31,7 @@ function loadCostCenterListGrid() {
{display: "文本", name: "txt50", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "规格型号", name: "txa50", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "存货号", name: "invnr", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "数量", name: "menge", width: 140, minWidth: 60, type: "string", align: "left"},
//{display: "数量", name: "menge", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "基本计量单位", name: "meins", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "成本中心", name: "kostl", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "责任成本中心", name: "kostlv", width: 140, minWidth: 60, type: "string", align: "left"},
......
var gridManager = null;
$(document).ready(function () {
initUI();
loadGrid();
})
function initUI() {
UICtrl.initDefaultLayout();
}
function loadGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: addHandler,
});
gridManager = UICtrl.grid("#maingrid", {
columns: [
{display: "单据编号", name: "billCode", width: 150, minWidth: 60, type: "string", align: "left"},
{display: "创建日期", name: "fillinDate", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "申请人", name: "personMemberName", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "申请部门", name: "deptName", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "用途", name: "purposeTextView", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "原由", name: "reason", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "需求描述", name: "requireDes", width: 300, minWidth: 60, type: "string", align: "left"},
],
dataAction: "server",
url: web_app.name + '/produceSupplierReview/slicedProduceSupplierReviewList.ajax',
pageSize: 20,
usePager: true,
toolbar: toolbarOptions,
width: "100%",
height: "100%",
heightDiff: -8,
checkbox: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
onDblClickRow: function (data, rowindex, rowobj) {
doView(data.id);
},
});
UICtrl.setSearchAreaToggle(gridManager);
}
function query(obj) {
var param = $(obj).formToJSON();
UICtrl.gridSearch(gridManager, param);
}
function reloadGrid() {
gridManager.loadData();
}
function resetForm(obj) {
$(obj).formClean();
}
function addHandler() {
UICtrl.addTabItem({
tabid: 'produceSupplierReview',
text: "新增生产类货源开发申请表",
url: web_app.name + '/produceSupplierReview/forwardProduceSupplierReviewDetail.job'
});
}
function doView(id) {
UICtrl.addTabItem({
tabid: 'produceSupplierReview'+id,
text: "查看生产类货源开发申请表",
url: web_app.name + '/produceSupplierReview/showProduceSupplierReviewDetail.job?bizId='+id+"&isReadOnly=true"
});
}
<%@ page contentType="text/html; charset=utf-8" language="java" %>
<%@ taglib uri="/WEB-INF/taglib.tld" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<x:base include="layout,dialog,grid,tree,combox,commonTree"/>
<x:script src='/biz/topsun/sap/produceSupplierReview/produceSupplierReviewList.js'/>
</head>
<body>
<div class="container-fluid">
<div class="ui-hide">
</div>
<div id="layout">
<div position="center" title="生产类供应商准入评审表">
<x:title title="common.button.search" hideTable="queryMainForm" isHide="true"/>
<form class="hg-form ui-hide" method="post" action="" id="queryMainForm">
<x:inputC name="billCode" required="false" label="申请单号" labelCol="1"/>
<x:searchButtons/>
</form>
<div class="blank_div clearfix"></div>
<div id="maingrid" style="margin: 2px;"></div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
package com.huigou.topsun.sap.produceSupplierReview.application;
/**
* @Auther: xin.lu
* @Date: 2024/06/03/16:09
* @Description:
*/
public interface NewSupplierReviewApplication {
}
package com.huigou.topsun.sap.produceSupplierReview.application;
import com.huigou.topsun.sap.produceSupplierReview.domain.NewSupplierReviewItem;
import java.util.List;
/**
* @Auther: xin.lu
* @Date: 2024/06/03/16:09
* @Description:
*/
public interface NewSupplierReviewItemApplication {
void saveNewSupplierReviewItems(String newSupplierReviewId, List<NewSupplierReviewItem> newSupplierReviewItems);
}
package com.huigou.topsun.sap.produceSupplierReview.application;
import com.huigou.topsun.sap.produceSupplierReview.domain.ProduceSupplierReview;
import com.huigou.topsun.sap.produceSupplierReview.domain.query.ProduceSupplierReviewQueryRequest;
import java.util.List;
import java.util.Map;
/**
* @Auther: xin.lu
* @Date: 2024/06/03/11:02
* @Description:
*/
public interface ProduceSupplierReviewApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/sap/produceSupplierReview/produceSupplierReview.xml";
String PROCESS_DEFINITION_KEY = "produceSupplierReviewProc";
Map<String, Object> slicedProduceSupplierReviewList(ProduceSupplierReviewQueryRequest queryRequest);
void deleteByIds(List<String> ids);
ProduceSupplierReview findProduceSupplierReviewById(String id);
Map<String, Object> slicedNewSupplierReviewItemTypeList(ProduceSupplierReviewQueryRequest queryRequest);
Map<String, Object> slicedProduceSupplierReviewItemList(ProduceSupplierReviewQueryRequest queryRequest);
}
package com.huigou.topsun.sap.produceSupplierReview.application.impl;
import com.huigou.topsun.sap.produceSupplierReview.application.NewSupplierReviewItemApplication;
import com.huigou.topsun.sap.produceSupplierReview.domain.NewSupplierReviewItem;
import com.huigou.topsun.sap.produceSupplierReview.repository.NewSupplierReviewItemRepository;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Auther: xin.lu
* @Date: 2024/06/05/15:47
* @Description:
*/
@Service("newSupplierReviewItemApplication")
public class NewSupplierReviewItemApplicationImpl extends BaseApplication implements NewSupplierReviewItemApplication {
@Autowired
private NewSupplierReviewItemRepository supplierReviewItemRepository;
@Override
public void saveNewSupplierReviewItems(String newSupplierReviewId, List<NewSupplierReviewItem> newSupplierReviewItems) {
for (NewSupplierReviewItem newSupplierReviewItem : newSupplierReviewItems) {
newSupplierReviewItem.setNewSupplierReviewId(newSupplierReviewId);
}
supplierReviewItemRepository.save(newSupplierReviewItems);
}
}
package com.huigou.topsun.sap.produceSupplierReview.application.impl;
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.sap.produceSupplierReview.application.NewSupplierReviewItemApplication;
import com.huigou.topsun.sap.produceSupplierReview.domain.NewSupplierReviewItem;
import com.huigou.topsun.sap.produceSupplierReview.domain.ProduceSupplierReview;
import com.huigou.topsun.sap.produceSupplierReview.repository.ProduceSupplierReviewRepository;
import com.huigou.topsun.sap.produceSupplierReview.application.ProduceSupplierReviewApplication;
import com.huigou.topsun.sap.produceSupplierReview.domain.query.ProduceSupplierReviewQueryRequest;
import com.huigou.topsun.sap.purchase.domain.SapPurchaseItem;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.util.ClassHelper;
import com.huigou.util.SDO;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.List;
import java.util.Map;
/**
* @Auther: xin.lu
* @Date: 2024/06/03/11:02
* @Description:
*/
@Service("produceSupplierReviewApplication")
public class ProduceSupplierReviewApplicationImpl extends FlowBroker implements ProduceSupplierReviewApplication {
@Autowired
private ProduceSupplierReviewRepository produceSupplierReviewRepository;
@Autowired
private NewSupplierReviewItemApplication newSupplierReviewItemApplication;
@Override
protected String saveBizAndApprovalData() {
super.saveBizAndApprovalData();
ProduceSupplierReview produceSupplierReview = getBizEntity(ProduceSupplierReview.class);
List<NewSupplierReviewItem> newSupplierReviewItems = getBizEntities(NewSupplierReviewItem.class, "resultList");
if (produceSupplierReview.isNew()) {
produceSupplierReview.setStatusId(BizBillStatus.APPLYING.getId());
} else {
produceSupplierReview = (ProduceSupplierReview) commonDomainService.loadAndFillinProperties(produceSupplierReview);
}
produceSupplierReview = produceSupplierReviewRepository.save(produceSupplierReview);
newSupplierReviewItemApplication.saveNewSupplierReviewItems(produceSupplierReview.getId(),newSupplierReviewItems);
return produceSupplierReview.getId();
}
@Override
protected Map<String, Object> getProcessBizParams(String bizId) {
// 返回业务数据给流程实例,
return ClassHelper.toMap(produceSupplierReviewRepository.getOne(bizId));
}
/**
* 任务完成前执行
*/
@Override
protected void onBeforeComplete(DelegateTask delegateTask) {
super.onBeforeComplete(delegateTask);
String bizId = delegateTask.getExecution().getProcessBusinessKey();
if (this.isApplyProcUnit(delegateTask) && this.getApprovalParameter().isAdvanceProcessAction()) {// 校验及预算
updateStatus(bizId, BizBillStatus.APPROVING);
}
}
@Transactional
protected void updateStatus(String bizId, BizBillStatus status) {
Assert.hasText(bizId, CommonDomainConstants.ID_NOT_BLANK);
this.commonDomainService.updateStatus(ProduceSupplierReview.class, bizId, status.getId());
}
/**
* 流程撤销事件
**/
@Override
protected void onRecallProcessInstance(DelegateExecution delegateExecution) {
String bizId = delegateExecution.getProcessBusinessKey();
// 修改单据状态为申请
updateStatus(bizId, BizBillStatus.APPLYING);
}
/**
* 回收事件
**/
@Override
protected void onWithdraw(DelegateTask delegateTask, String destActivityId) {
super.onWithdraw(delegateTask, destActivityId);
String bizId = delegateTask.getExecution().getProcessBusinessKey();
if (destActivityId.equalsIgnoreCase("apply")) {
updateStatus(bizId, BizBillStatus.APPLYING);
}
}
@Override
protected void onEnd(DelegateExecution delegateExecution) {
super.onEnd(delegateExecution);
String bizId = delegateExecution.getProcessBusinessKey();
BizBillStatus status = approvePassed() ? BizBillStatus.COMPLETED : BizBillStatus.ABORTED;
ProduceSupplierReview produceSupplierReview = produceSupplierReviewRepository.findOne(bizId);
produceSupplierReview.setStatusId(status.getId());
produceSupplierReviewRepository.save(produceSupplierReview);
}
@Override
protected void onAbortProcessInstance(DelegateExecution delegateExecution) {
super.onAbortProcessInstance(delegateExecution);
String bizId = delegateExecution.getProcessBusinessKey();
ProduceSupplierReview produceSupplierReview = produceSupplierReviewRepository.findOne(bizId);
produceSupplierReview.setStatusId(BizBillStatus.ABORTED.getId());
produceSupplierReviewRepository.save(produceSupplierReview);
}
/**
* @param delegateTask
* @param destActivityId 回退到的目标节点id
*/
@Override
protected void onBack(DelegateTask delegateTask, String destActivityId) {
super.onBack(delegateTask, destActivityId);
if ("Apply".equalsIgnoreCase(destActivityId)) {
String bizId = delegateTask.getExecution().getProcessBusinessKey();
ProduceSupplierReview produceSupplierReview = produceSupplierReviewRepository.findOne(bizId);
produceSupplierReview.setStatusId(BizBillStatus.APPLYING.getId());
produceSupplierReviewRepository.save(produceSupplierReview);
}
}
@Override
public Map<String, Object> slicedProduceSupplierReviewList(ProduceSupplierReviewQueryRequest queryRequest) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "produceSupplierReview");
QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
Map<String, Object> map = this.sqlExecutorDao.executeSlicedQuery(queryModel);
return map;
}
@Override
public void deleteByIds(List<String> ids) {
for (String id : ids) {
produceSupplierReviewRepository.delete(id);
}
}
@Override
public ProduceSupplierReview findProduceSupplierReviewById(String id) {
return produceSupplierReviewRepository.findOne(id);
}
@Override
public Map<String, Object> slicedNewSupplierReviewItemTypeList(ProduceSupplierReviewQueryRequest queryRequest) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "newSupplierReviewItemType");
QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
Map<String, Object> map = this.sqlExecutorDao.executeSlicedQuery(queryModel);
return map;
}
@Override
public Map<String, Object> slicedProduceSupplierReviewItemList(ProduceSupplierReviewQueryRequest queryRequest) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "newSupplierReviewItemList");
QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
Map<String, Object> map = this.sqlExecutorDao.executeSlicedQuery(queryModel);
return map;
}
}
package com.huigou.topsun.sap.produceSupplierReview.controller;
import com.huigou.context.Operator;
import com.huigou.context.OrgUnit;
import com.huigou.data.domain.query.QueryPageRequest;
import com.huigou.topsun.sap.produceSupplierReview.application.ProduceSupplierReviewApplication;
import com.huigou.topsun.sap.produceSupplierReview.domain.ProduceSupplierReview;
import com.huigou.topsun.sap.produceSupplierReview.domain.query.ProduceSupplierReviewQueryRequest;
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bmp.doc.attachment.application.AttachmentApplication;
import com.huigou.uasp.bmp.doc.attachment.domain.model.Attachment;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.Constants;
import com.huigou.util.SDO;
import com.huigou.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Auther: xin.lu
* @Date: 2024/06/03/14:33
* @Description:
*/
@Controller
@ControllerMapping("/produceSupplierReview")
public class ProduceSupplierReviewController extends CommonController {
@Override
protected String getPagePath() {
return "/biz/topsun/sap/produceSupplierReview/";
}
@Resource
private ProduceSupplierReviewApplication produceSupplierReviewApplication;
@Autowired
private AttachmentApplication attachmentApplication;
public String forwardProduceSupplierReviewList(){
return forward("produceSupplierReviewList");
}
public String slicedProduceSupplierReviewList(){
SDO sdo = this.getSDO();
ProduceSupplierReviewQueryRequest queryRequest = sdo.toQueryRequest(ProduceSupplierReviewQueryRequest.class);
Map<String, Object> map = produceSupplierReviewApplication.slicedProduceSupplierReviewList(queryRequest);
return toResult(map);
}
public String slicedNewSupplierReviewItemList(){
SDO sdo = this.getSDO();
ProduceSupplierReviewQueryRequest queryRequest = sdo.toQueryRequest(ProduceSupplierReviewQueryRequest.class);
QueryPageRequest pageModel = queryRequest.getPageModel();
pageModel.setPageSize(200);
queryRequest.setPageModel(pageModel);
Map<String, Object> map = new HashMap<>();
if (StringUtil.isNotBlank(queryRequest.getNewSupplierReviewId())){
map = produceSupplierReviewApplication.slicedProduceSupplierReviewItemList(queryRequest);
}else {
map = produceSupplierReviewApplication.slicedNewSupplierReviewItemTypeList(queryRequest);
}
return toResult(map);
}
public String forwardProduceSupplierReviewDetail(){
this.putAttribute("processDefinitionKey", ProduceSupplierReviewApplication.PROCESS_DEFINITION_KEY);
// 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态
this.putAttribute("procUnitId", "Apply");
ProduceSupplierReview produceSupplierReview = new ProduceSupplierReview();
produceSupplierReview.setStatusId(BizBillStatus.APPLYING.getId());
/**
* 设置jsp页面初始化填充数据,如果不设置, 那么在jsp页面上填写完表单之后立即提交申请TaskDescription获取不到时间和相关人员信息
*/
Operator operator = getOperator();
produceSupplierReview.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
return forward("produceSupplierReviewDetail",produceSupplierReview);
}
public String showProduceSupplierReviewDetail(){
SDO sdo = this.getSDO();
String id = sdo.getBizId();
ProduceSupplierReview produceSupplierReview = produceSupplierReviewApplication.findProduceSupplierReviewById(id);
List<Attachment> businessLicenses = attachmentApplication.queryAttachments("businessLicensePicture", id);
if (businessLicenses.size() > 0) {
Attachment attachment = businessLicenses.get(0);
produceSupplierReview.setBusinessLicense(StringUtil.encode(attachment.getPath()));
}
List<Attachment> taxLicenses = attachmentApplication.queryAttachments("taxLicensePicture", id);
if (taxLicenses.size() > 0) {
Attachment attachment = taxLicenses.get(0);
produceSupplierReview.setTaxLicense(StringUtil.encode(attachment.getPath()));
}
return forward("produceSupplierReviewDetail",produceSupplierReview);
}
}
package com.huigou.topsun.sap.produceSupplierReview.domain;
import com.huigou.data.domain.model.AbstractEntity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
* @Auther: xin.lu
* @Date: 2024/06/03/15:44
* @Description: 新供应商评审表
*/
@Entity
@Data
@Table(name = "sap_new_supplier_review")
public class NewSupplierReview extends AbstractEntity {
/**
* 供方调查表id
*/
@Column(name = "produce_supplier_review_id")
private String produceSupplierReviewId;
/**
* 供应商名称
*/
@Column(name = "name")
private String name;
/**
* 产品名称及类别
*/
@Column(name = "product_name_and_type")
private String productNameAndType;
/**
* 公司地址
*/
@Column(name = "address")
private String address;
/**
* 评审日期
*/
@Column(name = "review_date")
private Date reviewDate;
/**
* 联系人
*/
@Column(name = "business_contact")
private String businessContact;
/**
* 联系电话
*/
@Column(name = "tel")
private String tel;
/**
* 传真号码
*/
@Column(name = "fax")
private String fax;
}
package com.huigou.topsun.sap.produceSupplierReview.domain;
import com.huigou.data.domain.model.AbstractEntity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
* @Auther: xin.lu
* @Date: 2024/06/03/15:44
* @Description: 新供应商评审表评估项目
*/
@Entity
@Data
@Table(name = "sap_new_supplier_review_item")
public class NewSupplierReviewItem extends AbstractEntity {
/**
* 新供应商评审表id
*/
@Column(name = "new_supplier_review_id")
private String newSupplierReviewId;
/**
* 评估项目所属类型
* 1.品质管理体系:2.文件控制:3.供应商品质控制:4.产品质量控制:5.不合格品控制:7.量测仪器管制:8.产品包装与防护:
* 'quality','file','supplier','product','unqualified','mark','measure','package',
*
* 1.生产设备及工治具评估:2.工程变更管制:3.产能评估:
* 'device','change','produce','
*
* 1.价格评估:2.交期评估:3.付款周期评估:
* price','giveDate','payDate'
*/
@Column(name = "item_type")
private String itemType;
/**
* 评估项目
*/
@Column(name = "review_item")
private String reviewItem;
/**
* 自评分
*/
@Column(name = "self_rate")
private String selfRate;
/**
* SG评分
*/
@Column(name = "sg_rate")
private String sgRate;
/**
* 不合格现象描述
*/
@Column(name = "no_qualified_des")
private String noQualifiedDes;
}
package com.huigou.topsun.sap.produceSupplierReview.domain;
import com.huigou.data.domain.model.FlowBillAbstractEntity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
* @Auther: xin.lu
* @Date: 2024/06/03/10:43
* @Description: 生产类供应商准入评审表-供方调查表
*/
@Entity
@Data
@Table(name = "sap_produce_supplier_review")
public class ProduceSupplierReview extends FlowBillAbstractEntity {
/**
* 供应商名称
*/
@Column(name = "name")
private String name;
/**
* 电话号码
*/
@Column(name = "tel")
private String tel;
/**
* 公司地址
*/
@Column(name = "address")
private String address;
/**
* 传真号码
*/
@Column(name = "fax")
private String fax;
/**
* 公司性质
*/
@Column(name = "company_nature")
private String companyNature;
/**
* 业务联系人
*/
@Column(name = "business_contact")
private String businessContact;
/**
* 公司负责人
*/
@Column(name = "responsible_person")
private String responsiblePerson;
/**
* 公司占地面积
*/
@Column(name = "occupied_area")
private String occupiedArea;
/**
* 生产能力
*/
@Column(name = "capacity")
private String capacity;
/**
* 公司总人数
*/
@Column(name = "total_employees")
private String totalEmployees;
/**
* 管理总人数
*/
@Column(name = "management_persons")
private String managementPersons;
/**
* 品管总人数
*/
@Column(name = "qc_persons")
private String qcPersons;
/**
* 公司营业执照
*/
@Column(name = "business_license")
private String businessLicense;
/**
* 税务登记证
*/
@Column(name = "tax_license")
private String taxLicense;
/**
* 公司主要产品
*/
@Column(name = "main_products")
private String mainProducts;
/**
* 取得何种管理体系认证(□ISO9001 □ISO14001 □其它 Others)
*/
@Column(name = "management_system_certifications")
private String managementSystemCertifications;
/**
* 综合评价1
*/
@Column(name = "comprehensive_assessment1")
private String comprehensiveAssessment1;
/**
* 生产及检测设备
*/
@Column(name = "production_test_machines")
private String productionTestMachines;
/**
* 生产能力
*/
@Column(name = "production_capacity")
private String productionCapacity;
/**
* 交货能力
*/
@Column(name = "deliver_capacity")
private String deliverCapacity;
/**
* 代理资格及代理品牌(贸易型)
*/
@Column(name = "agent_rights_brands")
private String agentRightsBrands;
/**
* 样品的评估结果
*/
@Column(name = "sample_evaluation_result")
private String sampleEvaluationResult;
/**
* 部门/评估人1
*/
@Column(name = "dept_evaluator1")
private String deptEvaluator1;
/**
* 单价及合理性
*/
@Column(name = "price_reasonability")
private String priceReasonability;
/**
* 部门/评估人
*/
@Column(name = "dept_evaluator2")
private String deptEvaluator2;
/**
* 综合评估
*/
@Column(name = "comprehensive_assessment")
private String comprehensiveAssessment;
/**
* 是否试用月份
*/
@Column(name = "is_trial_for_month")
private String isTrialForMonth;
/**
* 试用月份数量
*/
@Column(name = "trial_for_month")
private String trialForMonth;
/**
* 是否安排实地考察
*/
@Column(name = "is_onsite_audit")
private String isOnsiteAudit;
/**
* 是否录入合格供方
*/
@Column(name = "is_approved_supplier")
private String isApprovedSupplier;
/**
* 产品名称及类别
*/
@Column(name = "product_name_and_type")
private String productNameAndType;
/**
* 评审日期
*/
@Column(name = "review_date")
private Date reviewDate;
/**
* 总得分
*/
@Column(name = "quality_sum")
private String qualitySum;
/**
* 品质得分=(总得分/110)*100
*/
@Column(name = "quality_total")
private String qualityTotal;
/**
* 稽核人/日期:
*/
@Column(name = "quality_review")
private String qualityReview;
/**
* 总得分
*/
@Column(name = "project_sum")
private String projectSum;
/**
* 工程评分=(总得分/18)*100
*/
@Column(name = "project_total")
private String projectTotal;
/**
* 稽核人/日期
*/
@Column(name = "project_review")
private String projectReview;
/**
* 采购评分=以上三项目总和/3=
*/
@Column(name = "purchase_sum")
private String purchaseSum;
/**
* 最终得分=品管评分*35%+工程评分子量35%+采购评分*30%=
*/
@Column(name = "final_sum")
private String finalSum;
/**
* 最终评审结果
*/
@Column(name = "final_result")
private String finalResult;
/**
* 最终评审处理决定
*/
@Column(name = "final_review_deal_result")
private String finalReviewDealResult;
@Override
protected String getCodeRuleId() {
return "produceSupplierReview";
}
}
package com.huigou.topsun.sap.produceSupplierReview.domain.query;
import com.huigou.data.domain.query.QueryAbstractRequest;
import lombok.Data;
/**
* @Auther: xin.lu
* @Date: 2024/06/03/11:04
* @Description:
*/
@Data
public class ProduceSupplierReviewQueryRequest extends QueryAbstractRequest {
private String billCode;
private String newSupplierReviewId;
}
package com.huigou.topsun.sap.produceSupplierReview.repository;
import com.huigou.topsun.sap.produceSupplierReview.domain.NewSupplierReviewItem;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* @Auther: xin.lu
* @Date: 2024/06/03/16:08
* @Description:
*/
public interface NewSupplierReviewItemRepository extends JpaRepository<NewSupplierReviewItem,String> {
}
package com.huigou.topsun.sap.produceSupplierReview.repository;
import com.huigou.topsun.sap.produceSupplierReview.domain.NewSupplierReview;
import lombok.Data;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* @Auther: xin.lu
* @Date: 2024/06/03/16:07
* @Description:
*/
public interface NewSupplierReviewRepository extends JpaRepository<NewSupplierReview,String> {
}
package com.huigou.topsun.sap.produceSupplierReview.repository;
import com.huigou.topsun.sap.produceSupplierReview.domain.ProduceSupplierReview;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* @Auther: xin.lu
* @Date: 2024/06/03/11:02
* @Description:
*/
public interface ProduceSupplierReviewRepository extends JpaRepository<ProduceSupplierReview,String> {
}
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
<process id="produceSupplierReviewProc" name="生产类供应商准入评审表" isExecutable="true">
<extensionElements>
<activiti:executionListener event="start" delegateExpression="#{produceSupplierReviewApplication}"></activiti:executionListener>
<activiti:executionListener event="end" delegateExpression="#{produceSupplierReviewApplication}"></activiti:executionListener>
</extensionElements>
<startEvent id="startevent1" name="Start"></startEvent>
<endEvent id="endevent1" name="End"></endEvent>
<userTask id="Apply" name="生产类供应商准入评审表申请" activiti:formKey="produceSupplierReview/showProduceSupplierReviewDetail.job">
<extensionElements>
<activiti:taskListener event="all" delegateExpression="#{produceSupplierReviewApplication}"></activiti:taskListener>
<activiti:taskListener event="saveBizData" delegateExpression="#{produceSupplierReviewApplication}"></activiti:taskListener>
</extensionElements>
</userTask>
<userTask id="Approve" name="生产类供应商准入评审表审批" activiti:assignee="${assignee} " activiti:formKey="produceSupplierReview/showProduceSupplierReviewDetail.job">
<extensionElements>
<activiti:taskListener event="all" delegateExpression="#{produceSupplierReviewApplication}"></activiti:taskListener>
<activiti:taskListener event="saveBizData" delegateExpression="#{produceSupplierReviewApplication}"></activiti:taskListener>
</extensionElements>
<multiInstanceLoopCharacteristics isSequential="false" activiti:collection="handlerList" activiti:elementVariable="assignee">
<completionCondition>${chiefApprovePassed}</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
<sequenceFlow id="flow1" sourceRef="startevent1" targetRef="Apply"></sequenceFlow>
<sequenceFlow id="flow2" sourceRef="Apply" targetRef="Approve"></sequenceFlow>
<exclusiveGateway id="ApproveFinished" name="审批结束"></exclusiveGateway>
<sequenceFlow id="flow3" name="审批通过" sourceRef="ApprovePassed" targetRef="ApproveFinished">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${approvePassed}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow4" name="审批结束" sourceRef="ApproveFinished" targetRef="endevent1">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${approveFinished}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow5" name="审批未结束" sourceRef="ApproveFinished" targetRef="Approve">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${!approveFinished}]]></conditionExpression>
</sequenceFlow>
<exclusiveGateway id="ApprovePassed" name="审批通过"></exclusiveGateway>
<sequenceFlow id="flow6" sourceRef="Approve" targetRef="ApprovePassed"></sequenceFlow>
<sequenceFlow id="flow9" name="审批未通过" sourceRef="ApprovePassed" targetRef="Apply">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${!approvePassed}]]></conditionExpression>
</sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_produceSupplierReviewProc">
<bpmndi:BPMNPlane bpmnElement="produceSupplierReviewProc" id="BPMNPlane_produceSupplierReviewProc">
<bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
<omgdc:Bounds height="35.0" width="35.0" x="355.0" y="50.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
<omgdc:Bounds height="35.0" width="35.0" x="355.0" y="550.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Apply" id="BPMNShape_Apply">
<omgdc:Bounds height="55.0" width="161.0" x="292.0" y="140.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Approve" id="BPMNShape_Approve">
<omgdc:Bounds height="55.0" width="161.0" x="292.0" y="240.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="ApproveFinished" id="BPMNShape_ApproveFinished">
<omgdc:Bounds height="40.0" width="40.0" x="352.0" y="440.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="ApprovePassed" id="BPMNShape_ApprovePassed">
<omgdc:Bounds height="40.0" width="40.0" x="352.0" y="349.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
<omgdi:waypoint x="372.0" y="85.0"></omgdi:waypoint>
<omgdi:waypoint x="372.0" y="140.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
<omgdi:waypoint x="372.0" y="195.0"></omgdi:waypoint>
<omgdi:waypoint x="372.0" y="240.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
<omgdi:waypoint x="372.0" y="389.0"></omgdi:waypoint>
<omgdi:waypoint x="372.0" y="440.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="48.0" x="320.0" y="396.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
<omgdi:waypoint x="372.0" y="480.0"></omgdi:waypoint>
<omgdi:waypoint x="372.0" y="550.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="48.0" x="382.0" y="489.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
<omgdi:waypoint x="392.0" y="460.0"></omgdi:waypoint>
<omgdi:waypoint x="519.0" y="459.0"></omgdi:waypoint>
<omgdi:waypoint x="519.0" y="317.0"></omgdi:waypoint>
<omgdi:waypoint x="519.0" y="267.0"></omgdi:waypoint>
<omgdi:waypoint x="489.0" y="267.0"></omgdi:waypoint>
<omgdi:waypoint x="453.0" y="267.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="60.0" x="459.0" y="411.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
<omgdi:waypoint x="372.0" y="295.0"></omgdi:waypoint>
<omgdi:waypoint x="372.0" y="349.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
<omgdi:waypoint x="352.0" y="369.0"></omgdi:waypoint>
<omgdi:waypoint x="231.0" y="369.0"></omgdi:waypoint>
<omgdi:waypoint x="231.0" y="167.0"></omgdi:waypoint>
<omgdi:waypoint x="292.0" y="167.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="60.0" x="257.0" y="376.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<query-mappings>
<query name="produceSupplierReview" label="生产类供应商准入评审表-供方调查表" table="sap_produce_supplier_review">
<sql-query>
select
t.*
from sap_produce_supplier_review t where 1=1
</sql-query>
<condition column="bill_code" name="billCode" type="java.lang.String" symbol="like" alias="t"/>
</query>
<query name="newSupplierReviewItemType" label="初始化查询评审项目">
<sql-query>
select item_type,name as review_item from sap_new_supplier_review_item_type where 1=1
</sql-query>
</query>
<query name="newSupplierReviewItemList" label="查询评审项目">
<sql-query>
select t.* from sap_new_supplier_review_item t where 1=1
</sql-query>
<condition column="new_supplier_review_id" name="newSupplierReviewId" type="java.lang.String" symbol="like" alias="t"/>
</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