Commit ff7718bf authored by 刘学辉's avatar 刘学辉

固定资产报废

parent 5d1819aa
var gridManager = null;
$(document).ready(function () {
initialize();
loadGrid();
bindEvent();
});
function initialize(){
var mainFileTable = $('#sapRetirementInfoList').fileList();
mainFileTable.find('table').css({
borderTopWidth : 0
});
$('#sapRetirementInfoList').fileList({
bizId : $("#attbizId").val()
});
UICtrl.layout("#layout", {leftWidth: 3});
}
function bindEvent(){
}
function loadGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () {
UICtrl.addGridRow(gridManager);
},
deleteHandler: function () {
var _grid = UICtrl.getGridManager('#maingrid');
DataUtil.delSelectedRows({
action: 'sapFixedRetirementItem/deleteSapFixedRetirementItems.ajax',
param: {},
gridManager: _grid,
idFieldName: 'id',
onSuccess: function () {
reloadGrid();
}
});
}
});
gridManager = UICtrl.grid("#maingrid", {
columns: [
{
display: "主资产号", name: "anln1", width: 140, minWidth: 60, type: "string", align: "left",
/*editor: {
required: true, type: "select",
data: {
type: 'system',
name: "querySapFixedAssets",
back: {
anln1: "anln1",
}
},
}*/
editor: {
type: "text"
}
},
{
display: "公司代码", name: "bukrs", width: 140, minWidth: 60, type: "string", align: "left",
editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {paramValue: "BUKRS"}
},
back: {
BUKRS: "bukrs",
}
},
}
},
{
display: "成本中心", name: "kostl", width: 140, minWidth: 60, type: "string", align: "left",
editor: {
required: false, type: "select",
data: {
type: 'system',
name: "queryCostCenter",
back: {
kostl: "kostl",
}
},
}
},
{
display: "凭证日期", name: "bldat", width: 120, minWidth: 60, type: "date", align: "left",
editor: {required: false, type: "date"}
},
{
display: "过账日期", name: "budat", width: 120, minWidth: 60, type: "date", align: "left",
editor: {required: false, type: "date"}
},
{
display: "资产起息日", name: "bzdat", width: 120, minWidth: 60, type: "date", align: "left",
editor: {required: false, type: "date"}
},
{
display: "文本", name: "sgtxt", width: 180, minWidth: 60, type: "string", align: "left",
editor: {required: false, type: "text"}
},
{
display: "报废金额", name: "anbtr", width: 100, minWidth: 60, type: "string", align: "left",
editor: {required: false, mask: 'nnnnnnnn.nn',type:"text"}
},
{
display: "百分比(%)", name: "prozs", width: 100, minWidth: 60, type: "string", align: "left",
editor: {required: false, mask: 'nn',type: "text"}
},
{
display: "购置业务年度", name: "xa", width: 160, minWidth: 60, type: "string", align: "left",
editor: {required: false, type: "text"}
},
],
dataAction: "server",
url: web_app.name + '/sapFixedRetirementItem/querySapFixedRetirementItems.ajax',
pageSize: 10,
usePager: true,
parms:{sapRetirementId:getId()},
toolbar: toolbarOptions,
enabledEdit: true,
width: "100%",
height: "80%",
heightDiff: -8,
checkbox: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
});
UICtrl.setSearchAreaToggle(gridManager);
}
/**
* 流程引擎回调设置打样的id
* @param value 打样申请的id
*/
function setId(id) {
$("#id").val(id);
var _grid=UICtrl.getGridManager('#maingrid');
_grid.options.parms.sapRetirementId = id;
$('#sapRetirementInfoList').fileList({
bizId : id
});
}
/**
* 流程引擎获取打样申请id的回掉方法。
* @return 打样申请的id
*/
function getId() {
return $("#id").val() || "";
}
function reloadGrid() {
gridManager.loadData();
}
function getExtendedData(processAction) {
//回退、打回、转交时,不需要验证必填项是否已经填写;
if (processAction == ProcessAction.BACK
|| processAction == ProcessAction.REPLENISH
|| processAction == ProcessAction.TRANSMIT) {
//不验证
$('#submitForm').attr('check', false);
}
var extendedData = {};
var _grid = UICtrl.getGridManager('#maingrid');
if (_grid) {
var datas = DataUtil.getGridData({
gridManager: _grid,
isAllData: true
});
if (!datas) {
return false;
}
extendedData.items = Public.encodeJSONURI(datas);
}
return extendedData;
}
<%@ page language="java" contentType="text/html; charset=utf-8" %>
<%@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,date,attachment"/>
<x:script src='/biz/topsun/sap/fixedAssets/sapFixedRetirement/sapFixedRetirementDetail.js'/>
</head>
<body>
<x:billTitle title="固定资产报废" needStatus="false" needPerson="true"/>
<form class="hg-form" method="post" action="" id="submitForm">
<x:hidden name="id"/>
<x:hidden name="billCode"/>
<x:hidden name="attbizId"/>
<x:hidden name="fillinDate" type="datetime"/>
<x:hidden name="fullId"/>
<x:hidden name="organId"/>
<x:hidden name="organName"/>
<x:hidden name="deptId"/>
<x:hidden name="deptName"/>
<x:hidden name="positionId"/>
<x:hidden name="positionName"/>
<x:hidden name="personMemberId"/>
<x:hidden name="personMemberName"/>
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="tel" required="true" label="联系方式" labelCol="2" maxLength="64" fieldCol="2"/>
<x:inputC name="reason" required="true" label="原因" labelCol="2" fieldCol="6"/>
</div>
</div>
<div class="blank_div clearfix"></div>
<div id="maingrid" style="margin: 2px;">
</div>
<div style="padding-top: 15px;">
<x:fileList bizCode="sapRetirementInfo" bizId="attbizId" id="sapRetirementInfoList" title="相关资料" />
</div>
</form>
</body>
</html>
var gridManager = null;
$(document).ready(function () {
initUI();
loadGrid();
})
function initUI() {
UICtrl.initDefaultLayout();
}
function loadGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: addHandler,
// exportExcelHandler:exportExcelHandler,
// exportModelHandler:{id:'exportModelHandler',img:'fa-cloud-download',text:'导出模板',click:exportModelHandler},
// impExcelDataHandler:{id:'impExcelDataHandler',img:'fa-table',text:'导入数据',click:impExcelDataHandler}
});
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: "statusTextView", width: 60, 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: "tel", width: 150, minWidth: 60, type: "string", align: "left"},
{display: "原因", name: "reason", width: 300, minWidth: 60, type: "string", align: "left"},
{display: "资产编号", name: "anln1", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "公司代码", name: "bukrs", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "成本中心", name: "kostl", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "凭证日期", name: "bldat", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "过账日期", name: "budat", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "资产起息日", name: "bzdat", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "报废金额", name: "anbtr", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "百分比", name: "prozs", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "购置业务年度", name: "xa", width: 120, minWidth: 60, type: "string", align: "left"},
],
dataAction: "server",
url: web_app.name + '/sapFixedRetirement/slicedSapFixedRetirementList.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.sapRetirementId);
},
});
UICtrl.setSearchAreaToggle(gridManager);
}
function query(obj) {
var param = $(obj).formToJSON();
UICtrl.gridSearch(gridManager, param);
}
function reloadGrid() {
gridManager.loadData();
}
function resetForm(obj) {
$(obj).formClean();
}
//删除按钮
function deleteHandler() {
DataUtil.del({
action: 'sapFixedRetirement/deleteSapFixedRetirement.ajax',
gridManager: gridManager, idFieldName: 'id',
onSuccess: function () {
reloadGrid();
}
});
}
function addHandler() {
UICtrl.addTabItem({
tabid: 'addSapFixedRetirement',
text: "固定资产报废",
url: web_app.name + '/sapFixedRetirement/forwardSapFixedRetirementDetail.job'
});
}
function doView(id) {
UICtrl.addTabItem({
tabid: 'viewSapFixedRetirement'+id,
text: "固定资产报废",
url: web_app.name + '/sapFixedRetirement/showFixedRetirement.job?bizId='+id+"&isReadOnly=true"
});
}
//导出模板
function exportModelHandler() {
// if(getTemplateId() == ''){
// Public.tip('请选择数据模板。');
// return;
// }
var templetName='固定资产报废';
var templateId="ea17de07deae11eeb82b00ffd30dba71";
var url=web_app.name+'/excelImport/exportExcelTemplate.ajax';
UICtrl.downFileByAjax(url,{id:" ",templateCode:"sapFixedRetirementData"},templetName);
}
//从EXCEL导入数据
function impExcelDataHandler(){
UICtrl.showAjaxDialog({
title: '导入Excel',
width: getDefaultDialogWidth(),
top:20,
height: 450,
parent:options.parent,
url: web_app.name + '/excelImport/forwardAssignCodeImpPage.load',
param:{code:"sapFixedRetirementData",batchNumber:""},
init:function(div){
var _manager = new ExcelImpManager(div,{code:"sapFixedRetirementData"});
_manager.init();
},
ok:false,
close: function () {
// if ($.isFunction(options.closeFunction)) {
// options.closeFunction.call(this)
// }
}
})
}
\ No newline at end of file
<%@ 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/fixedAssets/sapFixedRetirement/sapFixedRetirementList.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:inputC name="reason" required="false" label="原因" labelCol="1"/>
<x:selectC name="status" label="审批状态" labelCol="1" fieldCol="2" dictionary="bizBillStatus"/>
<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.common;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import java.util.Objects;
/**
* @author lxh
*/
@MappedSuperclass
@Getter
@Setter
public class AbstractPortalOrg {
@Id
@Column(name = "TMP_ID")
private String id;
@Column(name = "BATCH_NUMBER")
private String batchNumber;
/**
* 导入状态
*/
@Column(name = "status")
private Integer importStatus;
@Column
private String message;
@Column
private String name;
@Column
private String code;
/**
* 排序号
*/
@Column(name = "SORT_ID")
private Integer sortId;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
AbstractPortalOrg that = (AbstractPortalOrg) o;
return id.equals(that.id);
}
@Override
public int hashCode() {
return Objects.hash(id);
}
}
package com.huigou.topsun.sap.fixedAssets.application;
import com.huigou.topsun.sap.fixedAssets.domain.SapFixedAssetsMove;
import com.huigou.topsun.sap.fixedAssets.domain.SapRetirement;
import com.huigou.topsun.sap.fixedAssets.domain.query.SapFixedAssetsMoveQueryRequest;
import com.huigou.topsun.sap.fixedAssets.domain.query.SapFixedRetirementQueryRequest;
import java.util.List;
import java.util.Map;
/**
* @Auther:LXH
* @Date: 2024/03/08/16:35
* @Description:
*/
public interface SapFixedRetirementApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/sap/fixedAssets/fixedRetirement.xml";
String PROCESS_DEFINITION_KEY = "sapFixedRetirementProc";
Map<String, Object> getFixedRetirementList(SapFixedRetirementQueryRequest sapRetirementVo);
SapRetirement getFixedRetirementById(String id);
void deleteByIds(List<String> ids);
}
package com.huigou.topsun.sap.fixedAssets.application;
import com.huigou.topsun.sap.fixedAssets.domain.SapFixedAssetsMoveItem;
import com.huigou.topsun.sap.fixedAssets.domain.SapRetirementItem;
import com.huigou.topsun.sap.fixedAssets.domain.query.SapFixedAssetsMoveQueryRequest;
import com.huigou.topsun.sap.fixedAssets.domain.query.SapFixedRetirementQueryRequest;
import java.util.List;
import java.util.Map;
/**
* @Auther: LXH
* @Date: 2024/03/08/16:35
* @Description:
*/
public interface SapFixedRetirementItemApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/sap/fixedAssets/fixedRetirementItem.xml";
void saveSapFixedRetirementItems(String sapRetirementId, List<SapRetirementItem> items);
Map<String,Object> querySapFixedRetirementItems(SapFixedRetirementQueryRequest queryRequest);
void deleteByIds(List<String> ids);
List<SapRetirementItem> findBySapFixedRetirementId(String sapFixedRetirementId);
}
package com.huigou.topsun.sap.fixedAssets.application.impl;
import com.huigou.cache.DictUtil;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.sap.fixedAssets.application.SapFixedAssetsMoveApplication;
import com.huigou.topsun.sap.fixedAssets.application.SapFixedAssetsMoveItemApplication;
import com.huigou.topsun.sap.fixedAssets.application.SapFixedRetirementApplication;
import com.huigou.topsun.sap.fixedAssets.application.SapFixedRetirementItemApplication;
import com.huigou.topsun.sap.fixedAssets.domain.SapFixedAssetsMove;
import com.huigou.topsun.sap.fixedAssets.domain.SapFixedAssetsMoveItem;
import com.huigou.topsun.sap.fixedAssets.domain.SapRetirement;
import com.huigou.topsun.sap.fixedAssets.domain.SapRetirementItem;
import com.huigou.topsun.sap.fixedAssets.domain.query.SapFixedAssetsMoveQueryRequest;
import com.huigou.topsun.sap.fixedAssets.domain.query.SapFixedRetirementQueryRequest;
import com.huigou.topsun.sap.fixedAssets.repository.SapFixedAssetsMoveRepository;
import com.huigou.topsun.sap.fixedAssets.repository.SapFixedRetirementRepository;
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.bpm.FlowBroker;
import com.huigou.util.ClassHelper;
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 java.util.List;
import java.util.Map;
/**
* @Auther: Lxh
* @Date: 2024/03/08/16:35
* @Description:
*/
@Service("sapFixedRetirementApplication")
public class SapFixedRetirementApplicationImpl extends FlowBroker implements SapFixedRetirementApplication {
@Autowired
private SapFixedRetirementRepository sapFixedRetirementRepository;
@Autowired
private SapFixedRetirementItemApplication sapFixedRetirementItemApplication;
@Autowired
private AttachmentApplication attachmentApplication;
@Override
public Map<String, Object> getFixedRetirementList(SapFixedRetirementQueryRequest queryRequest) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "sapFixedRetirement");
QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
if (queryRequest.getStatus() != null) {
queryModel.addCriteria(" and t.status =:status");
queryModel.putParam("status", queryRequest.getStatus());
}
if (queryRequest.getBillCode() != null) {
queryModel.addCriteria(" and t.bill_code =:billCode");
queryModel.putParam("billCode", queryRequest.getBillCode());
}
if (queryRequest.getReason() != null) {
queryModel.addCriteria(" and t.reason like:reason");
queryModel.putLikeParam("reason", queryRequest.getReason());
}
queryModel.putDictionary("status", DictUtil.getDictionary("bizBillStatus"));
queryModel.addCriteria(" order by bill_code desc ");
Map<String, Object> map = this.sqlExecutorDao.executeSlicedQuery(queryModel);
return map;
}
@Override
public SapRetirement getFixedRetirementById(String id) {
return sapFixedRetirementRepository.findOne(id);
}
@Override
public void deleteByIds(List<String> ids) {
ids.forEach(id->{
sapFixedRetirementRepository.delete(id);
});
}
@Override
protected void onEnd(DelegateExecution delegateExecution) {
super.onEnd(delegateExecution);
String bizId = delegateExecution.getProcessBusinessKey();
BizBillStatus status = approvePassed() ? BizBillStatus.COMPLETED : BizBillStatus.ABORTED;
SapRetirement fixedRetirement = sapFixedRetirementRepository.findOne(bizId);
fixedRetirement.setStatusId(status.getId());
sapFixedRetirementRepository.save(fixedRetirement);
}
@Override
protected void onAbortProcessInstance(DelegateExecution delegateExecution) {
super.onAbortProcessInstance(delegateExecution);
String bizId = delegateExecution.getProcessBusinessKey();
SapRetirement fixedRetirement = sapFixedRetirementRepository.findOne(bizId);
fixedRetirement.setStatusId(BizBillStatus.ABORTED.getId());
sapFixedRetirementRepository.save(fixedRetirement);
}
@Override
protected void onBack(DelegateTask delegateTask, String destActivityId) {
super.onBack(delegateTask, destActivityId);
if ("Apply".equalsIgnoreCase(destActivityId)) {
String bizId = delegateTask.getExecution().getProcessBusinessKey();
SapRetirement fixedRetirement = sapFixedRetirementRepository.findOne(bizId);
fixedRetirement.setStatusId(BizBillStatus.APPLYING.getId());
sapFixedRetirementRepository.save(fixedRetirement);
}
}
@Override
protected Map<String, Object> getProcessBizParams(String bizId) {
return ClassHelper.toMap(sapFixedRetirementRepository.getOne(bizId));
}
@Override
protected String saveBizAndApprovalData() {
super.saveBizAndApprovalData();
SapRetirement fixedRetirement = getBizEntity(SapRetirement.class);
if (fixedRetirement.isNew()) {
fixedRetirement.setStatusId(BizBillStatus.APPLYING.getId());
} else {
fixedRetirement = (SapRetirement) commonDomainService.loadAndFillinProperties(fixedRetirement);
}
fixedRetirement = sapFixedRetirementRepository.save(fixedRetirement);
List<SapRetirementItem> items = getBizEntities(SapRetirementItem.class, "items");
sapFixedRetirementItemApplication.saveSapFixedRetirementItems(fixedRetirement.getId(),items);
//更新附件ID为主键ID
// if (!(fixedRetirement.getId().equals(fixedRetirement.getAttbizId()))) {
// List<Attachment> attachmentList = attachmentApplication.queryAttachments("sapRetirementInfo", fixedRetirement.getAttbizId());
// for (Attachment attachment : attachmentList) {
// attachment.setBizId(fixedRetirement.getId());
// attachmentApplication.saveAttachment(attachment);
// }
// }
return fixedRetirement.getId();
}
}
package com.huigou.topsun.sap.fixedAssets.application.impl;
import com.huigou.topsun.sap.fixedAssets.domain.TmpFixedRetirementData;
import com.huigou.topsun.sap.fixedAssets.repository.TmpFixedRetirementDataRepository;
import com.huigou.uasp.tool.dataimport.application.ExcelImportInterface;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("sapFixedRetirementExcelImport")
public class SapFixedRetirementExcelImport implements ExcelImportInterface {
@Autowired
private TmpFixedRetirementDataRepository tmpFixedRetirementDataRepository;
@Override
public void executeImport(String batchNumber) {
List<TmpFixedRetirementData> tmpFixedRetirementDataList = tmpFixedRetirementDataRepository.findByBatchNumber(batchNumber);
System.out.println("=========================");
// orgSyncApplication.sync(SyncKind.PSM, portalPeoples);
}
}
package com.huigou.topsun.sap.fixedAssets.application.impl;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.sap.fixedAssets.application.SapFixedAssetsMoveItemApplication;
import com.huigou.topsun.sap.fixedAssets.application.SapFixedRetirementItemApplication;
import com.huigou.topsun.sap.fixedAssets.domain.SapFixedAssetsMoveItem;
import com.huigou.topsun.sap.fixedAssets.domain.SapRetirementItem;
import com.huigou.topsun.sap.fixedAssets.domain.query.SapFixedAssetsMoveQueryRequest;
import com.huigou.topsun.sap.fixedAssets.domain.query.SapFixedRetirementQueryRequest;
import com.huigou.topsun.sap.fixedAssets.repository.SapFixedAssetsMoveItemRepository;
import com.huigou.topsun.sap.fixedAssets.repository.SapFixedRetirementItemRepository;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import com.huigou.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Auther: LXH
* @Date: 2024/03/09/10:16
* @Description:
*/
@Service("sapFixedRetirementItemApplication")
public class SapFixedRetirementItemApplicationImpl extends BaseApplication implements SapFixedRetirementItemApplication {
@Autowired
private SapFixedRetirementItemRepository sapFixedRetirementItemRepository;
@Override
public void saveSapFixedRetirementItems(String sapFixedRetirementId, List<SapRetirementItem> items) {
for (SapRetirementItem item : items) {
item.setSapRetirementId(sapFixedRetirementId);
sapFixedRetirementItemRepository.save(item);
}
}
@Override
public Map<String, Object> querySapFixedRetirementItems(SapFixedRetirementQueryRequest queryRequest) {
Map<String, Object> map = new HashMap<>();
if (StringUtil.isNotBlank(queryRequest.getSapRetirementId())){
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "sapFixedRetirementItems");
QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
if (queryRequest.getSapRetirementId() != null) {
queryModel.addCriteria(" and t.sap_retirement_id =:sapRetirementId");
queryModel.putParam("sapRetirementId", queryRequest.getSapRetirementId());
}
map = this.sqlExecutorDao.executeSlicedQuery(queryModel);
}
return map;
}
@Override
public void deleteByIds(List<String> ids) {
ids.forEach(id->{
sapFixedRetirementItemRepository.delete(id);
});
}
@Override
public List<SapRetirementItem> findBySapFixedRetirementId(String sapRetirementId) {
return sapFixedRetirementItemRepository.findBySapRetirementId(sapRetirementId);
}
}
package com.huigou.topsun.sap.fixedAssets.controller;
import com.huigou.context.Operator;
import com.huigou.context.OrgUnit;
import com.huigou.topsun.sap.fixedAssets.application.SapFixedAssetsMoveApplication;
import com.huigou.topsun.sap.fixedAssets.application.SapFixedRetirementApplication;
import com.huigou.topsun.sap.fixedAssets.domain.SapFixedAssetsMove;
import com.huigou.topsun.sap.fixedAssets.domain.SapRetirement;
import com.huigou.topsun.sap.fixedAssets.domain.query.SapFixedAssetsMoveQueryRequest;
import com.huigou.topsun.sap.fixedAssets.domain.query.SapFixedRetirementQueryRequest;
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.CommonUtil;
import com.huigou.util.SDO;
import org.springframework.stereotype.Controller;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* @Auther: LXH
* @Date: 2024/03/08/15:34
* @Description:
*/
@Controller
@ControllerMapping("/sapFixedRetirement")
public class SapFixedRetirementController extends CommonController {
@Override
protected String getPagePath() {
return "/biz/topsun/sap/fixedAssets/sapFixedRetirement/";
}
@Resource
private SapFixedRetirementApplication sapFixedRetirementApplication;
public String forwardSapFixedRetirementList(){
return forward("sapFixedRetirementList");
}
public String slicedSapFixedRetirementList(){
SDO sdo = this.getSDO();
SapFixedRetirementQueryRequest queryRequest = sdo.toQueryRequest(SapFixedRetirementQueryRequest.class);
Map<String, Object> map = sapFixedRetirementApplication.getFixedRetirementList(queryRequest);
return toResult(map);
}
public String forwardSapFixedRetirementDetail(){
this.putAttribute("processDefinitionKey", SapFixedRetirementApplication.PROCESS_DEFINITION_KEY);
// 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态
this.putAttribute("procUnitId", "Apply");
SapRetirement sapRetirement = new SapRetirement();
sapRetirement.setStatusId(BizBillStatus.APPLYING.getId());
/**
* 设置jsp页面初始化填充数据,如果不设置, 那么在jsp页面上填写完表单之后立即提交申请TaskDescription获取不到时间和相关人员信息
*/
sapRetirement.setAttbizId(CommonUtil.createGUID()); // 自动生成附件id
Operator operator = getOperator();
sapRetirement.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
return forward("sapFixedRetirementDetail",sapRetirement);
}
public String showFixedRetirement(){
SDO sdo = this.getSDO();
String id = sdo.getBizId();
// this.putAttribute("attbizId", id); // 设置附件id
SapRetirement sapRetirement = sapFixedRetirementApplication.getFixedRetirementById(id);
// sapRetirement.setAttbizId(id);
return forward("sapFixedRetirementDetail",sapRetirement);
}
/**
* 删除固定资产报废
*/
public String deleteSapFixedRetirement() {
List<String> ids = this.getSDO().getIds();
sapFixedRetirementApplication.deleteByIds(ids);
return success();
}
}
package com.huigou.topsun.sap.fixedAssets.controller;
import com.huigou.topsun.sap.fixedAssets.application.SapFixedAssetsMoveItemApplication;
import com.huigou.topsun.sap.fixedAssets.application.SapFixedRetirementItemApplication;
import com.huigou.topsun.sap.fixedAssets.domain.query.SapFixedAssetsMoveQueryRequest;
import com.huigou.topsun.sap.fixedAssets.domain.query.SapFixedRetirementQueryRequest;
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.SDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import java.util.List;
import java.util.Map;
/**
* @Auther: LXH
* @Date: 2024/03/09/10:34
* @Description:
*/
@Controller
@ControllerMapping("/sapFixedRetirementItem")
public class SapFixedRetirementItemController extends CommonController {
@Autowired
private SapFixedRetirementItemApplication sapFixedRetirementItemApplication;
public String querySapFixedRetirementItems(){
SDO sdo = this.getSDO();
SapFixedRetirementQueryRequest queryRequest = sdo.toQueryRequest(SapFixedRetirementQueryRequest.class);
Map<String, Object> map = sapFixedRetirementItemApplication.querySapFixedRetirementItems(queryRequest);
return toResult(map);
}
public String deleteSapFixedRetirementItems(){
SDO sdo = this.getSDO();
List<String> ids = sdo.getIds();
sapFixedRetirementItemApplication.deleteByIds(ids);
return success();
}
}
......@@ -6,6 +6,7 @@ import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
/**
* @Auther: xin.lu
......@@ -26,7 +27,12 @@ public class SapRetirement extends FlowBillAbstractEntity {
* 原因
*/
@Column(name = "reason")
private Integer reason;
private String reason;
//@Transient
@Column(name = "attbiz_id")
private String attbizId;
@Override
protected String getCodeRuleId() {
return "sapRetirement";
......
......@@ -21,7 +21,7 @@ public class SapRetirementItem extends AbstractEntity {
/**
* SAP资产报废id
*/
@Column(name = "sap_retirement_item_id")
@Column(name = "sap_retirement_id")
private String sapRetirementId;
/**
......
package com.huigou.topsun.sap.fixedAssets.domain;
import com.huigou.topsun.common.AbstractPortalOrg;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
/**
* 门户人员信息导入临时表。
*
* @author lxh
*/
@Table(name = "tmp_fixed_retirement_data")
@Entity
@Getter
@Setter
public class TmpFixedRetirementData extends AbstractPortalOrg {
/**
* 主资产号
*/
@Column(name = "anln1")
private String anln1;
/**
* 公司代码(必填)
*/
@Column(name = "bukrs")
private String bukrs;
/**
* 凭证日期
*/
@Column(name = "bldat")
private Date bldat;
/**
* 过账日期
*/
@Column(name = "BUDAT")
private Date budat;
/**
* 资产起息日
*/
@Column(name = "BZDAT")
private Date bzdat;
/**
* 文本
*/
@Column(name = "SGTXT")
private String sgtxt;
/**
* 报废金额
*/
@Column(name = "anbtr")
private BigDecimal anbtr;
/**
* 百分比
*/
@Column(name = "PROZS")
private BigDecimal prozs;
/**
* 购置业务年度
* 数据字典,可选:
* 上一年度购置的业务
* 当前年度购置的业务
*/
@Column(name = "xa")
private String xa;
}
package com.huigou.topsun.sap.fixedAssets.domain.query;
import com.huigou.data.domain.query.QueryAbstractRequest;
import lombok.Data;
/**
* @Auther: lxh
* @Date: 2024/03/08/16:38
* @Description:
*/
@Data
public class SapFixedRetirementQueryRequest extends QueryAbstractRequest {
private String sapRetirementId;
private String billCode;
private String reason;
private String status;
}
package com.huigou.topsun.sap.fixedAssets.repository;
import com.huigou.topsun.sap.fixedAssets.domain.SapFixedAssetsMoveItem;
import com.huigou.topsun.sap.fixedAssets.domain.SapRetirementItem;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
* @Auther: xin.lu
* @Date: 2024/03/02/16:33
* @Description:
*/
public interface SapFixedRetirementItemRepository extends JpaRepository<SapRetirementItem,String> {
List<SapRetirementItem> findBySapRetirementId(String sapRetirementId);
}
package com.huigou.topsun.sap.fixedAssets.repository;
import com.huigou.topsun.sap.fixedAssets.domain.SapFixedAssetsMove;
import com.huigou.topsun.sap.fixedAssets.domain.SapRetirement;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* @Auther: LXH
* @Date: 2024/03/08/16:33
* @Description:
*/
public interface SapFixedRetirementRepository extends JpaRepository<SapRetirement,String> {
}
package com.huigou.topsun.sap.fixedAssets.repository;
import com.huigou.topsun.sap.fixedAssets.domain.SapRetirement;
import com.huigou.topsun.sap.fixedAssets.domain.TmpFixedRetirementData;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
* @Auther: LXH
* @Date: 2024/03/10/16:33
* @Description:
*/
public interface TmpFixedRetirementDataRepository extends JpaRepository<TmpFixedRetirementData,String> {
List<TmpFixedRetirementData> findByBatchNumber(String batchNumber);
void deleteByBatchNumber(String batchNumber);
}
<?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="sapFixedRetirementProc" name="固定资产报废" isExecutable="true">
<extensionElements>
<activiti:executionListener event="start" delegateExpression="#{sapFixedRetirementApplication}"></activiti:executionListener>
<activiti:executionListener event="end" delegateExpression="#{sapFixedRetirementApplication}"></activiti:executionListener>
</extensionElements>
<startEvent id="startevent1" name="Start"></startEvent>
<endEvent id="endevent1" name="End"></endEvent>
<userTask id="Apply" name="固定资产报废申请" activiti:formKey="sapFixedRetirement/showFixedRetirement.job">
<extensionElements>
<activiti:taskListener event="all" delegateExpression="#{sapFixedRetirementApplication}"></activiti:taskListener>
<activiti:taskListener event="saveBizData" delegateExpression="#{sapFixedRetirementApplication}"></activiti:taskListener>
</extensionElements>
</userTask>
<userTask id="Approve" name="固定资产报废审批" activiti:assignee="${assignee} " activiti:formKey="sapFixedRetirement/showFixedRetirement.job">
<extensionElements>
<activiti:taskListener event="all" delegateExpression="#{sapFixedRetirementApplication}"></activiti:taskListener>
<activiti:taskListener event="saveBizData" delegateExpression="#{sapFixedRetirementApplication}"></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_sapFixedRetirementProc">
<bpmndi:BPMNPlane bpmnElement="sapFixedRetirementProc" id="BPMNPlane_sapFixedRetirementProc">
<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
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