Commit e07ebc52 authored by 1650842865's avatar 1650842865

客供料计划订单查询接口和删除功能

parent 351f1e2d
......@@ -12,23 +12,24 @@ function initUI() {
function loadGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: addHandler,
deleteHandler: deleteHandler
// exportExcelHandler:exportExcelHandler,
// exportModelHandler:{id:'exportModelHandler',img:'fa-cloud-download',text:'导出模板',click:exportModelHandler},
deleteHandler:{id:'deleteHandler',img:'fa-cloud-delete',text:'删除订单',click:deleteHandler},
});
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: "departName", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "人员", name: "applyPersonName", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "用途", name: "usedTextView", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "情况说明", name: "remark", width: 260, minWidth: 60, type: "string", align: "left"},
{display: "客供料", name: "matnr", width: 150, minWidth: 60, type: "string", align: "left"},
{display: "客供料名称", name: "maktx", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "期初日期", name: "pertr", width: 150, minWidth: 60, type: "string", align: "left"},
{display: "订单开始日期", name: "psttr", width: 150, minWidth: 60, type: "string", align: "left"},
{display: "订单完成日期", name: "pedtr", width: 150, minWidth: 60, type: "string", align: "left"},
{display: "订货数量", name: "gsmng", width: 150, minWidth: 60, type: "string", align: "left"},
{display: "单位", name: "meins", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "计划订单", name: "plnum", width: 60, minWidth: 60, type: "string", align: "left"},
{display: "销售订单", name: "kdauf", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "行项次", name: "kdpos", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "生产订单", name: "aufnr", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "是否删除", name: "closedTextView", width: 100, minWidth: 60, type: "string", align: "left"},
],
dataAction: "server",
url: web_app.name + '/clientMaterials/slicedClientMaterialsList.ajax',
......@@ -41,9 +42,6 @@ function loadGrid() {
checkbox: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
onDblClickRow: function (data, rowindex, rowobj) {
doView(data.id);
},
});
UICtrl.setSearchAreaToggle(gridManager);
}
......@@ -60,42 +58,20 @@ function resetForm(obj) {
$(obj).formClean();
}
//删除按钮
function deleteHandler() {
let result=DataUtil.getUpdateRow(gridManager);
if(result.status!==0){
Public.tip("请选择申请状态的数据!")
return false;
function deleteHandler(){
var row = gridManager.getSelectedRow();
if (!row) {
return;
}
// var message = "您确认要删除选择的数据?";
// UICtrl.confirm(message, function () {
DataUtil.del({
action: 'clientMaterials/deleteClientMaterials.ajax',
gridManager: gridManager, idFieldName: 'id',
onSuccess: function () {
reloadGrid();
}
});
// });
}
function addHandler() {
UICtrl.addTabItem({
tabid: 'addClientMaterials',
text: "新增客户供料通知",
url: web_app.name + '/clientMaterials/forwardClientMaterialsDetail.job'
if (row.closed == '1') {
Public.tip('订单已删除!');
return;
}
Public.ajax(web_app.name + '/clientMaterials/deleteClientMaterials.ajax', {row:$.toJSON(row)}, function () {
});
}
function doView(id) {
UICtrl.addTabItem({
tabid: 'viewClientMaterials'+id,
text: "客户供料通知",
url: web_app.name + '/clientMaterials/showClientMaterials.job?bizId='+id+"&isReadOnly=true"
});
}
......@@ -15,12 +15,9 @@
<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:hidden name="templetId" value=""/>
<x:hidden name="batchNumber" value=""/>
<x:hidden name="fullId"/>
<x:inputC name="billCode" required="false" label="申请单号" labelCol="1"/>
<x:selectC name="used" label="用途" labelCol="1" fieldCol="2" dictionary="materialUse"/>
<x:selectC name="status" label="审批状态" labelCol="1" fieldCol="2" dictionary="bizBillStatus"/>
<x:inputC name="matnr" required="false" label="客供料" labelCol="1"/>
<x:inputC name="plnum" label="计划订单" labelCol="1" fieldCol="2"/>
<x:selectC name="closed" label="查询删除订单" labelCol="1" fieldCol="2" dictionary="yesorno"/>
<x:searchButtons/>
</form>
<div class="blank_div clearfix"></div>
......
......@@ -3,9 +3,6 @@ package com.huigou.topsun.sap.clientMaterials.application;
import com.huigou.topsun.sap.clientMaterials.domain.ClientMaterials;
import com.huigou.topsun.sap.clientMaterials.domain.query.ClientMaterialsQueryRequest;
import com.huigou.topsun.sap.clientMaterials.vo.ClientMaterialsVo;
import com.huigou.topsun.sap.componentSupply.domain.ComponentSupply;
import com.huigou.topsun.sap.componentSupply.domain.query.ComponentSupplyQueryRequest;
import com.huigou.topsun.sap.componentSupply.vo.ComponentSupplyVo;
import java.util.List;
import java.util.Map;
......@@ -22,11 +19,11 @@ public interface ClientMaterialsApplication {
Map<String, Object> getClientMaterialsList(ClientMaterialsQueryRequest sapPermitVo);
ClientMaterials getClientMaterialsById(String id);
Map<String, Object> getClientMaterialsListFromSap(ClientMaterialsQueryRequest queryRequest);
void deleteByIds(List<String> ids);
ClientMaterials getClientMaterialsById(String id);
void saveClientMaterialsVo(ClientMaterialsVo clientMaterialsVoVo);
void deleteFromSap(ClientMaterials clientMaterials);
// ByteArrayOutputStream printInfo(HttpServletResponse response, String id);
// ByteArrayOutputStream printInfo(HttpServletResponse response, String id);
}
package com.huigou.topsun.sap.clientMaterials.application;
import com.huigou.topsun.sap.clientMaterials.domain.ClientMaterialsItem;
import com.huigou.topsun.sap.clientMaterials.domain.query.ClientMaterialsQueryRequest;
import com.huigou.topsun.sap.componentSupply.domain.ComponentSupplyItem;
import com.huigou.topsun.sap.componentSupply.domain.query.ComponentSupplyQueryRequest;
import java.util.List;
import java.util.Map;
/**
* @Auther: LXH
* @Date: 2024/07/25/10:35
* @Description:
*/
public interface ClientMaterialsItemApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/sap/clientMaterials/clientMaterialsItem.xml";
void saveClientMaterialsItems(String clientMaterialsId, List<ClientMaterialsItem> items);
Map<String,Object> queryClientMaterialsItems(ClientMaterialsQueryRequest queryRequest);
void deleteByIds(List<String> ids);
List<ClientMaterialsItem> findByClientMaterialsId(String clientMaterialsId);
}
package com.huigou.topsun.sap.clientMaterials.application.impl;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.sap.clientMaterials.application.ClientMaterialsItemApplication;
import com.huigou.topsun.sap.clientMaterials.domain.ClientMaterialsItem;
import com.huigou.topsun.sap.clientMaterials.domain.query.ClientMaterialsQueryRequest;
import com.huigou.topsun.sap.clientMaterials.repository.ClientMaterialsItemRepository;
import com.huigou.topsun.sap.componentSupply.application.ComponentSupplyItemApplication;
import com.huigou.topsun.sap.componentSupply.domain.ComponentSupplyItem;
import com.huigou.topsun.sap.componentSupply.domain.query.ComponentSupplyQueryRequest;
import com.huigou.topsun.sap.componentSupply.repository.ComponentSupplyItemRepository;
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/07/25/10:16
* @Description:
*/
@Service("clientMaterialsItemApplication")
public class ClientMaterialsItemApplicationImpl extends BaseApplication implements ClientMaterialsItemApplication {
@Autowired
private ClientMaterialsItemRepository clientMaterialsItemRepository;
@Override
public void saveClientMaterialsItems(String clientMaterialsId, List<ClientMaterialsItem> items){
for (ClientMaterialsItem item : items) {
item.setClientMaterialsId(clientMaterialsId);
clientMaterialsItemRepository.save(item);
}
}
@Override
public Map<String, Object> queryClientMaterialsItems(ClientMaterialsQueryRequest queryRequest){
Map<String, Object> map = new HashMap<>();
if (StringUtil.isNotBlank(queryRequest.getClientMaterialsId())){
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "clientMaterialsItems");
QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
if (queryRequest.getClientMaterialsId() != null) {
queryModel.addCriteria(" and t.client_materials_id =:clientMaterialsId");
queryModel.putParam("clientMaterialsId", queryRequest.getClientMaterialsId());
}
// queryModel.putDictionary("unit", DictUtil.getDictionary("ComponentSupplyUnit"));
map = this.sqlExecutorDao.executeSlicedQuery(queryModel);
}
return map;
}
@Override
public void deleteByIds(List<String> ids) {
ids.forEach(id->{
clientMaterialsItemRepository.delete(id);
});
}
@Override
public List<ClientMaterialsItem> findByClientMaterialsId(String clientMaterialsId) {
return clientMaterialsItemRepository.findByClientMaterialsId(clientMaterialsId);
}
}
package com.huigou.topsun.sap.clientMaterials.controller;
import com.huigou.context.Operator;
import com.huigou.context.OrgUnit;
import com.huigou.topsun.sap.clientMaterials.application.ClientMaterialsApplication;
import com.huigou.topsun.sap.clientMaterials.domain.ClientMaterials;
import com.huigou.topsun.sap.clientMaterials.domain.query.ClientMaterialsQueryRequest;
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.JSONUtil;
import com.huigou.util.SDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import javax.annotation.Resource;
import java.util.List;
import java.util.Date;
import java.util.Map;
/**客户供料通知
......@@ -25,6 +23,7 @@ import java.util.Map;
@Controller
@ControllerMapping("/clientMaterials")
public class ClientMaterialsController extends CommonController {
private final static Logger LOG = LoggerFactory.getLogger(ClientMaterialsController.class);
@Override
protected String getPagePath() {
return "/biz/topsun/sap/clientMaterials/";
......@@ -33,7 +32,6 @@ public class ClientMaterialsController extends CommonController {
@Resource
private ClientMaterialsApplication clientMaterialsApplication;
public String forwardClientMaterialsList(){
return forward("clientMaterialsList");
}
......@@ -45,37 +43,19 @@ public class ClientMaterialsController extends CommonController {
return toResult(map);
}
public String forwardClientMaterialsDetail(){
// 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态
this.putAttribute("processDefinitionKey", ClientMaterialsApplication.PROCESS_DEFINITION_KEY);
this.putAttribute("procUnitId", "Apply");
ClientMaterials clientMaterials = new ClientMaterials();
clientMaterials.setStatusId(BizBillStatus.APPLYING.getId());
/**c
* 设置jsp页面初始化填充数据,如果不设置, 那么在jsp页面上填写完表单之后立即提交申请TaskDescription获取不到时间和相关人员信息
*/
Operator operator = getOperator();
clientMaterials.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
clientMaterials.setAttbizId(CommonUtil.createGUID()); // 自动生成附件id
// ExcelImportTemplate excelImportTemplate=excelImportApplication.loadExcelImportTemplateByCode("ClientMaterialsData");
return forward("clientMaterialsDetail",clientMaterials);
}
public String showClientMaterials(){
SDO sdo = this.getSDO();
String id = sdo.getBizId();
// this.putAttribute("attbizId", id); // 设置附件id
ClientMaterials clientMaterials = clientMaterialsApplication.getClientMaterialsById(id);
// sapRetirement.setAttbizId(id);
return forward("clientMaterialsDetail",clientMaterials);
}
/**
* 删除组件补充发料
*/
public String deleteClientMaterials() {
List<String> ids = this.getSDO().getIds();
clientMaterialsApplication.deleteByIds(ids);
SDO sdo = this.getSDO();
String row = sdo.getString("row");
ClientMaterials materials = JSONUtil.toBean(row, ClientMaterials.class);
String personMemberName = sdo.getOperator().getPersonMemberName();
String personMemberId = sdo.getOperator().getPersonMemberId();
materials.setDeleteTime(new Date());
materials.setPersonMemberId(personMemberId);
materials.setPersonMemberName(personMemberName);
clientMaterialsApplication.deleteFromSap(materials);
return success();
}
......
package com.huigou.topsun.sap.clientMaterials.controller;
import com.huigou.topsun.sap.clientMaterials.application.ClientMaterialsItemApplication;
import com.huigou.topsun.sap.clientMaterials.domain.query.ClientMaterialsQueryRequest;
import com.huigou.topsun.sap.componentSupply.application.ComponentSupplyItemApplication;
import com.huigou.topsun.sap.componentSupply.domain.query.ComponentSupplyQueryRequest;
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/07/25 10:10
* @Description:
*/
@Controller
@ControllerMapping("/clientMaterials")
public class ClientMaterialsItemController extends CommonController {
@Autowired
private ClientMaterialsItemApplication clientMaterialsItemApplication;
public String queryClientMaterialsItems(){
SDO sdo = this.getSDO();
ClientMaterialsQueryRequest queryRequest = sdo.toQueryRequest(ClientMaterialsQueryRequest.class);
Map<String, Object> map = clientMaterialsItemApplication.queryClientMaterialsItems(queryRequest);
return toResult(map);
}
public String deleteClientMaterialsItems(){
SDO sdo = this.getSDO();
List<String> ids = sdo.getIds();
clientMaterialsItemApplication.deleteByIds(ids);
return success();
}
}
package com.huigou.topsun.sap.clientMaterials.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.huigou.data.domain.model.AbstractEntity;
import com.huigou.data.domain.model.FlowBillAbstractEntity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Auther: LXH
* @Date: 2024/06/05/10:45
* @Description:客户供料通知
*/
@JsonInclude(JsonInclude.Include.ALWAYS)
@JsonIgnoreProperties(ignoreUnknown = true)
@Table(name = "sap_client_materials")
@Entity
@Data
public class ClientMaterials extends FlowBillAbstractEntity {
public class ClientMaterials extends AbstractEntity {
/**
* 工厂
*/
@Column(name = "werks")
private String werks;
/**
* 责任部门
* 客供料
*/
@Column(name = "depart")
private String depart;
@Column(name = "matnr")
private String matnr;
@Column(name = "depart_name")
private String departName;
/**
* 客供料名称
*/
@Column(name = "maktx")
private String maktx;
/**
* 人员
* 期初日期
*/
@Column(name = "apply_person")
private String applyPerson;
@Column(name = "pertr")
private String pertr;
@Column(name = "apply_person_name")
private String applyPersonName;
/**
* 订单开始日期
*/
@Column(name = "psttr")
private String psttr;
/**
* 订单完成日期
*/
@Column(name = "pedtr")
private String pedtr;
/*
* 用途
/**
* 订货数量
*/
@Column(name = "used")
private String used;
@Column(name = "gsmng")
private BigDecimal gsmng;
/**
* 单位
*/
@Column(name = "meins")
private String meins;
/*
* 供应商名称
/**
* 计划订单
*/
//// @Column(name = "suppliers_name")
// private String suppliersName;
@Column(name = "plnum")
private String plnum;
@Column(name = "remark")
private String remark;
/**
* 销售订单
*/
@Column(name = "kdauf")
private String kdauf;
/**
* 行项次
*/
@Column(name = "kdpos")
private String kdpos;
/**
* 生产订单
*/
@Column(name = "aufnr")
private String aufnr;
@Column(name = "attbiz_id")
private String attbizId;
/**
* 已关单
*/
@Column(name = "closed")
private String closed;
@Column(name = "person_member_name")
private String personMemberName;
@Column(name = "sale_order")
private String saleOrder;
@Column(name = "person_member_id")
private String personMemberId;
@Column(name = "produce_order")
private String produceOrder;
@Column(name = "delete_time")
private Date deleteTime;
@Override
protected String getCodeRuleId() {
return "clientMaterials";
}
}
package com.huigou.topsun.sap.clientMaterials.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.math.BigDecimal;
/**
* SAP客户供料通知明细
*
* @TableName sap_client_materials_item
*/
@Table(name = "sap_client_materials_item")
@Entity
@Data
public class ClientMaterialsItem extends AbstractEntity {
/**
* SAP客户供料通知id
*/
@Column(name = "client_materials_id")
private String clientMaterialsId;
/**
* 产品物料
*/
@Column(name = "product_material")
private String productMaterial;
/**
* 产品物料名称
*/
@Column(name = "product_material_name")
private String productMaterialName;
/**
* 供给物料
*/
@Column(name = "supply_material")
private String supplyMaterial;
/**
* 供给物料名称
*/
@Column(name = "supply_material_name")
private String supplyMaterialName;
/**
* 补发数量
*/
@Column(name = "quantity")
private BigDecimal quantity;
/**
* 提货方式
*/
@Column(name = "delivery_method")
private String deliveryMethod;
/**
* 备注
*/
@Column(name = "remark")
private String remark;
}
\ No newline at end of file
......@@ -10,9 +10,5 @@ import lombok.Data;
*/
@Data
public class ClientMaterialsQueryRequest extends QueryAbstractRequest {
private String used;
private String billCode;
private String remark;
private String status;
private String clientMaterialsId;
private String closed;
}
package com.huigou.topsun.sap.clientMaterials.repository;
import com.huigou.topsun.sap.clientMaterials.domain.ClientMaterialsItem;
import com.huigou.topsun.sap.componentSupply.domain.ComponentSupplyItem;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
* @Auther: LXH
* @Date: 2024/07/25 16:33
* @Description:
*/
public interface ClientMaterialsItemRepository extends JpaRepository<ClientMaterialsItem,String> {
List<ClientMaterialsItem> findByClientMaterialsId(String clientMaterialsId);
}
package com.huigou.topsun.sap.clientMaterials.vo;
import com.huigou.topsun.sap.componentSupply.vo.ComponentSupplyItemVo;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Auther: lxh
* @Date: 2024/06/05/14:08
* @Description:
*/
@Data
public class ClientMaterialsVo {
public class ClientMaterialsVo implements Serializable {
/**
* 工厂
*/
@JsonProperty("WERKS")
private String werks;
/**
* 客供料
*/
@JsonProperty("MATNR")
private String matnr;
/**
* 客供料名称
*/
@JsonProperty("MAKTX")
private String maktx;
/**
* 公司
* 期初日期
*/
private String company;
@JsonProperty("PERTR")
private String pertr;
/**
* 责任部门
* 订单开始日期
*/
private String dutyDepart;
@JsonProperty("PSTTR")
private String psttr;
private String dutyDepartName;
/**
* 订单完成日期
*/
@JsonProperty("PEDTR")
private String pedtr;
/**
* 订货数量
*/
@JsonProperty("GSMNG")
private BigDecimal gsmng;
/**
* 申请人
* 单位
*/
private String applyPerson;
@JsonProperty("MEINS")
private String meins;
private String applyPersonName;
/**
* 携出人
* 计划订单
*/
private String belongPerson;
@JsonProperty("PLNUM")
private String plnum;
/**
* 日期
* 销售订单
*/
private Date permitDate;
@JsonProperty("KDAUF")
private String kdauf;
/**
* 行项次
*/
@JsonProperty("KDPOS")
private String kdpos;
/**
* 生产订单
*/
@JsonProperty("AUFNR")
private String aufnr;
public String getWerks() {
return werks;
}
public void setWerks(String werks) {
this.werks = werks;
}
public String getMatnr() {
return matnr;
}
public void setMatnr(String matnr) {
this.matnr = matnr;
}
public String getMaktx() {
return maktx;
}
public void setMaktx(String maktx) {
this.maktx = maktx;
}
public String getPertr() {
return pertr;
}
public void setPertr(String pertr) {
this.pertr = pertr;
}
public String getPsttr() {
return psttr;
}
public void setPsttr(String psttr) {
this.psttr = psttr;
}
public String getPedtr() {
return pedtr;
}
public void setPedtr(String pedtr) {
this.pedtr = pedtr;
}
public BigDecimal getGsmng() {
return gsmng;
}
public void setGsmng(BigDecimal gsmng) {
this.gsmng = gsmng;
}
public String getMeins() {
return meins;
}
public void setMeins(String meins) {
this.meins = meins;
}
public String getPlnum() {
return plnum;
}
public void setPlnum(String plnum) {
this.plnum = plnum;
}
public String getKdauf() {
return kdauf;
}
public void setKdauf(String kdauf) {
this.kdauf = kdauf;
}
public String getKdpos() {
return kdpos;
}
public void setKdpos(String kdpos) {
this.kdpos = kdpos;
}
public String getAufnr() {
return aufnr;
}
List<ComponentSupplyItemVo> itemVos;
public void setAufnr(String aufnr) {
this.aufnr = aufnr;
}
}
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