Commit 7a61f633 authored by 刘学辉's avatar 刘学辉

非产品物料维护申请后台调整和专项任务跳转页面

parent c4b201a1
......@@ -40,7 +40,7 @@ function initializate() {
$("#buttonBox").show();
break;
}
businessPersonnelListGrid
// let isInitiator = ($("#isInitiator").val() === "true");
// if (isInitiator) {
// //创建或审核人
......@@ -95,6 +95,18 @@ function initializate() {
* 初始化对应的分发部门
*/
function loadGrid() {
//alert($("#businessCode").val());
// if ($("#businessCode").val()!=''){
$("#genericName").attr("disabled",true);
$("#applicableStandard").attr("disabled",true);
$("#baseUnit").attr("disabled",true);
$("#size").attr("disabled",true);
$("#material").attr("disabled",true);
$("#design").attr("disabled",true);
$("#brand").attr("disabled",true);
$("#specifications").attr("disabled",true);
$("#materialUsage").attr("disabled",true);
//}
let coRowNum = $("#businessUsage").val().replace(/,/g, '') + 1;
// let length = dept.length;
// let dept=$("#businessUsage").val().split(",");
......@@ -138,7 +150,7 @@ function loadGrid() {
],
dataAction: "server",
url: web_app.name + '/sapNonProdApplyNext/slicedDeptList.ajax',
parms: {dept: $("#businessUsage").val(), id: $("#applyDeptId").val()},
parms: {dept: $("#businessUsage").val(),id: $("#applyDeptId").val(),businessCode:$("#businessCode").val()},
pageSize: 20,
usePager: false,
enabledEdit: true,
......@@ -157,6 +169,7 @@ function loadGrid() {
* @returns {boolean}
*/
function saveForm() {
// alert($("#businessCode").val());
let extendedData = getExtendedData();
if (!extendedData) return false;
var _self = this;
......
......@@ -13,7 +13,7 @@
<x:hidden name="active" value=""/> <!--状态-->
<x:hidden name="meId" value=""/> <!--状态-->
<div class="container-fluid" style="padding: 10px;">
<x:billTitle title="非产品/非本成品类物料主数据维护申请表" needStatus="false" needPerson="true"/>
<x:billTitle title="非产品/非本成品类物料基本信息维护" needStatus="false" needPerson="true"/>
<form class="hg-form" method="post" action="" id="submitForm">
......@@ -41,6 +41,7 @@
<x:hidden name="applyDeptId"/>
<x:hidden name="id"/>
<x:hidden name="businessCode"/>
<x:title title="基本信息" name="group"/>
<div class="hg-form-cols">
<div class="hg-form-row">
......@@ -54,10 +55,26 @@
<x:radioC name="maintenanceType" label="维护类型" labelCol="1" fieldCol="11" dictionary="maintainType"/>
</div>
</div>
<x:title title="物品总体内容" name="group"/>
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="genericName" label="通用品名" labelCol="1" fieldCol="2"/>
<x:inputC name="applicableStandard" label="适用标准" labelCol="1" fieldCol="2"/>
<x:selectC name="baseUnit" label="基本计量单位" labelCol="1" fieldCol="2" dictionary="measuringUnit"/>
<x:inputC name="specifications" label="规格" labelCol="1" fieldCol="2"/>
<x:inputC name="material" label="材质" labelCol="1" fieldCol="2"/>
<x:inputC name="design" label="版式" labelCol="1" fieldCol="2"/>
<x:inputC name="size" label="尺码" labelCol="1" fieldCol="2"/>
<x:inputC name="brand" label="品牌" labelCol="1" fieldCol="2"/>
<x:selectC name="itemAttributes" label="物品属性" labelCol="1" fieldCol="2" dictionary="suppliesType"/>
<x:inputC name="materialUsage" label="用途" labelCol="1" fieldCol="8"/>
</div>
</div>
<x:title title="维护基本信息" name="group"/>
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="matnr" label="物品编码" labelCol="1" fieldCol="5"/>
<x:inputC name="matnr" label="物品编码" labelCol="1" fieldCol="2"/>
<x:selectC name="mtart" label="物品类型" labelCol="1" fieldCol="2" dictionary="suppliesType"/>
<x:inputC name="matkl" label="物料组" labelCol="1" fieldCol="2"/>
<x:inputC name="lvorm" label="集团级删除" labelCol="1" fieldCol="2"/>
......@@ -66,7 +83,7 @@
<x:inputC name="maktx" label="汉语品名" labelCol="1" fieldCol="2"/>
<x:inputC name="xchpf" label="批次管理" labelCol="1" fieldCol="2"/>
<x:inputC name="magrv" label="包装物料组" labelCol="1" fieldCol="2"/>
<x:inputC name="applicableStandard" label="适用标准" labelCol="1" fieldCol="5"/>
<x:inputC name="maktxEn" label="英语品名" labelCol="1" fieldCol="2"/>
<x:selectC name="meins" label="基本计量单位" labelCol="1" fieldCol="2" dictionary="measuringUnit"/>
<x:inputC name="raube" label="存储条件" labelCol="1" fieldCol="2"/>
......@@ -77,18 +94,18 @@
<x:inputC name="iprkz" label="有效时间标识" labelCol="1" fieldCol="2"/>
<x:inputC name="mhdhb" label="总有效期" labelCol="1" fieldCol="2"/>
<x:inputC name="" label="旧料号" labelCol="1" fieldCol="2"/>
<x:inputC name="design" label="版式" labelCol="1" fieldCol="2"/>
<x:inputC name="size" label="尺码" labelCol="1" fieldCol="2"/>
<x:inputC name="brand" label="品牌" labelCol="1" fieldCol="2"/>
<x:inputC name="materialUsage" label="用途" labelCol="1" fieldCol="2"/>
<x:inputC name="mhdrz" label="最小货架寿命" labelCol="1" fieldCol="2"/>
<x:inputC name="werks" label="工厂" labelCol="1" fieldCol="2"/>
<x:inputC name="lgort" label="库存地点" labelCol="1" fieldCol="2"/>
<x:inputC name="vkorg" label="销售组织" labelCol="1" fieldCol="2"/>
<x:inputC name="vtweg" label="分销渠道" labelCol="1" fieldCol="2"/>
<x:inputC name="lgnum" label="仓库号" labelCol="1" fieldCol="2"/>
<x:inputC name="lgtyp" label="存储类型" labelCol="1" fieldCol="2"/>
<x:inputC name="" label="文本说明" labelCol="1" fieldCol="2"/>
<x:inputC name="normt" label="适用标准" labelCol="1" fieldCol="11"/>
<div class="hg-form-row">
<x:inputC name="werks" label="工厂" labelCol="1" fieldCol="1"/>
<x:inputC name="lgort" label="库存地点" labelCol="1" fieldCol="1"/>
<x:inputC name="vkorg" label="销售组织" labelCol="1" fieldCol="1"/>
<x:inputC name="vtweg" label="分销渠道" labelCol="1" fieldCol="1"/>
<x:inputC name="lgnum" label="仓库号" labelCol="1" fieldCol="1"/>
<x:inputC name="lgtyp" label="存储类型" labelCol="1" fieldCol="1"/>
</div>
</div>
</div>
......
......@@ -9,9 +9,11 @@ import com.huigou.topsun.base.bsnMessage.domain.*;
import com.huigou.topsun.sap.nonProdApply.application.NonProdApplyDeptApplication;
import com.huigou.topsun.sap.nonProdApply.domain.SapNonProdApplyDept;
import com.huigou.topsun.sap.nonProdApply.domain.vo.*;
import com.huigou.topsun.sap.nonProdApply.repository.NonProdApplyDeptRepository;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import com.huigou.util.ClassHelper;
import com.huigou.util.SDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -29,10 +31,65 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
@Override
public Map<String,Object> saveSapNonProdApplyDept(SDO sdo){
Map<String,Object> map = new HashMap<>();
SapNonProdApplyDept nonProdApplyDept = sdo.toObject(SapNonProdApplyDept.class);
nonProdApplyDept.setBaseInfoId(sdo.getId());
String businessCode=sdo.getString("businessCode");
NonProdApplyDeptVo deptVo=null;
switch (businessCode) {
case "K":
deptVo = sdo.toObject(NonProdApplyBasicVo.class);
break;
case "C":
deptVo = sdo.toObject(NonProdApplyClassVo.class);
break;
case "V":
deptVo = sdo.toObject(NonProdApplySaleVo.class);
break;
case "E":
deptVo = sdo.toObject(NonProdApplyPurchaseVo.class);
break;
case "D":
deptVo = sdo.toObject(NonProdApplyMRPVo.class);
break;
case "A":
deptVo = sdo.toObject(NonProdApplyProduceVo.class);
break;
case "L":
deptVo = sdo.toObject(NonProdApplyStoreVo.class);
break;
case "S":
deptVo = sdo.toObject(NonProdApplyWarehouseVo.class);
break;
case "Q":
deptVo = sdo.toObject(NonProdApplyMassVo.class);
break;
case "B":
deptVo = sdo.toObject(NonProdApplyFinancialVo.class);
break;
case "G":
deptVo = sdo.toObject(NonProdApplyCostVo.class);
break;
}
// SapNonProdApplyDept nonProdApplyDeptObj = sdo.toObject(SapNonProdApplyDept.class);
//nonProdApplyDeptObj.setBaseInfoId(sdo.getId());
deptVo.setBaseInfoId(sdo.getId());
SapNonProdApplyDept nonProdApplyDept=nonProdApplyDeptRepository.findByBaseInfoId(sdo.getId());
ClassHelper.copyProperties(deptVo,nonProdApplyDept);
nonProdApplyDept = nonProdApplyDeptRepository.save(nonProdApplyDept);
map.put("applyDeptId",nonProdApplyDept.getApplyDeptId());
return map;
}
/**
* 发布任务
* @param sdo
*/
@Override
public void distributeSapNonProdApplyDept(SDO sdo) {
//将状态为保存未分发的全部修改为分发未完成
Map<String, Object> map = this.saveSapNonProdApplyDept(sdo);
//获取分发的部门与人员信息
ObjectMapper objectMapper = new ObjectMapper();
String deptStaffJSON = sdo.getString("deptStaff");
......@@ -49,7 +106,7 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
bsnMessageSponsor.setTaskSponsor(this.getOperator().getUserId());
bsnMessageSponsor.setTitle("非产品/非本成品类物料");
bsnMessageSponsor.setExecutorUrl("sapNonProdApplyNext/fillInNonProdApplyDept.do");
bsnMessageSponsor.setBusinessId(nonProdApplyDept.getApplyDeptId());
bsnMessageSponsor.setBusinessId(map.get("applyDeptId").toString());
bsnMessageSponsor.setCreateDate(new Date());
bsnMessageSponsor.setStatus(0);
......@@ -68,18 +125,7 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
}
//保存任务
bsnMessageApplication.keepTasks(bsnMessageSponsor);
map.put("applyDeptId",nonProdApplyDept.getApplyDeptId());
return map;
}
/**
* 发布任务
* @param sdo
*/
@Override
public void distributeSapNonProdApplyDept(SDO sdo) {
//将状态为保存未分发的全部修改为分发未完成
Map<String, Object> map = this.saveSapNonProdApplyDept(sdo);
//发布任务
bsnMessageApplication.publishTasks((String) map.get("applyDeptId"));
}
......
......@@ -18,9 +18,11 @@ import com.huigou.uasp.bmp.opm.application.OrgApplication;
import com.huigou.uasp.bmp.opm.domain.model.org.Org;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.SDO;
import com.huigou.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import javax.persistence.Transient;
import java.util.*;
import java.util.stream.Collectors;
......@@ -50,8 +52,10 @@ public class NonProdApplyNextController extends CommonController {
String id = sdo.getBizId();
// this.putAttribute("active", ActiveStatus.UNFINISHED.getValue() );//定义流程环节的id
NonProdApplyBaseInfo nonProdApplyBaseInfo = nonProdApplyApplication.loadNonProdApplyBaseInfoById(id);
SapNonProdApplyDept nonProdApplyDept = nonProdApplyDeptApplication.getNonProdApplyDeptByBaseInfoId(id);
getBaseInfoAttrs(nonProdApplyBaseInfo,nonProdApplyDept);
return forward("nonProdApplyNext", nonProdApplyBaseInfo);
return forward("nonProdApplyNext", nonProdApplyDept);
}
//部门相关
......@@ -65,7 +69,7 @@ public class NonProdApplyNextController extends CommonController {
String deptId=sdo.getString("id");
BsnMessageSponsor sponsor = bsnMessageSponsorRepository.findByBusinessId(deptId);
List<BsnMessageExecute> executeLists=bsnMessageExecuteRepository.findAllByMessageSponsorId(sponsor.getId());
String businessCode=sdo.getString("businessCode");
// 用于存储结果的字典
Map<String, List<HashMap<String, String>>> map = new HashMap<>(); // 用于存储结果的字典
List<HashMap<String, String>> list = new ArrayList<>();
......@@ -76,10 +80,10 @@ public class NonProdApplyNextController extends CommonController {
resultMap.put("deptName", value);
for (BsnMessageExecute executor:executeLists){
if (key.equals(executor.getBusinessCode())){
resultMap.put("userCode", executor.getTaskExecute());
resultMap.put("userCode", executor.getTaskExecute());
Org org=orgApplication.loadMainOrgByPersonId(executor.getTaskExecute());
resultMap.put("userName",org.getName());
break;
break;
}
}
list.add(resultMap);
......@@ -119,7 +123,39 @@ public class NonProdApplyNextController extends CommonController {
Map<String, Object> circulate = bsnMessageApplication.circulate(meId);
this.putAttribute(circulate);
SapNonProdApplyDept nonProdApplyDept = nonProdApplyDeptApplication.getNonProdApplyDeptById(bizId);
return forward("nonProdApplyNext", nonProdApplyDept);
if (nonProdApplyDept == null) {
throw new RuntimeException("不存在该业务!");
}
NonProdApplyBaseInfo baseInfo = nonProdApplyApplication.loadNonProdApplyBaseInfoById(nonProdApplyDept.getBaseInfoId());
nonProdApplyDept.setBusinessCode(circulate.get("deptCode").toString());
getBaseInfoAttrs(baseInfo,nonProdApplyDept);
String businessCode=circulate.get("deptCode").toString();
switch (businessCode) {
case "K":
return forward("nonProdApplyNext", nonProdApplyDept);
case "C":
return forward("nonProdApplyClass", nonProdApplyDept);
case "V":
return forward("nonProdApplySale", nonProdApplyDept);
case "E":
return forward("nonProdApplyPurchase", nonProdApplyDept);
case "D":
return forward("nonProdApplyNext", nonProdApplyDept);
case "A":
return forward("nonProdApplyNext", nonProdApplyDept);
case "L":
return forward("nonProdApplyNext", nonProdApplyDept);
case "S":
return forward("nonProdApplyNext", nonProdApplyDept);
case "Q":
return forward("nonProdApplyNext", nonProdApplyDept);
case "B":
return forward("nonProdApplyNext", nonProdApplyDept);
case "G":
return forward("nonProdApplyNext", nonProdApplyDept);
}
return null;
}
public String slicedRejectCauseList(){
......@@ -129,7 +165,28 @@ public class NonProdApplyNextController extends CommonController {
return toResult(rejectAll);
}
public void getBaseInfoAttrs(NonProdApplyBaseInfo baseInfo,SapNonProdApplyDept nonProdApplyDept){
nonProdApplyDept.setBillCode(baseInfo.getBillCode());
nonProdApplyDept.setStatusId(baseInfo.getStatusId());
nonProdApplyDept.setPersonMemberName(baseInfo.getPersonMemberName());
nonProdApplyDept.setFillinDate(baseInfo.getFillinDate());
nonProdApplyDept.setMaintenanceType(baseInfo.getMaintenanceType());
nonProdApplyDept.setBusinessUsage(baseInfo.getBusinessUsage());
nonProdApplyDept.setId(nonProdApplyDept.getBaseInfoId());
//物品总属性
nonProdApplyDept.setGenericName(baseInfo.getGenericName());
nonProdApplyDept.setApplicableStandard(baseInfo.getApplicableStandard());
nonProdApplyDept.setBaseUnit(baseInfo.getBaseUnit());
nonProdApplyDept.setSpecifications(baseInfo.getSpecifications());
nonProdApplyDept.setMaterial(baseInfo.getMaterial());
nonProdApplyDept.setDesign(baseInfo.getDesign());
nonProdApplyDept.setSize(baseInfo.getSize());
nonProdApplyDept.setBrand(baseInfo.getBrand());
nonProdApplyDept.setMaterialUsage(baseInfo.getMaterialUsage());
nonProdApplyDept.setItemAttributes(baseInfo.getItemAttributes());
}
// @EasySearch(queryName = "userNameSelect")
// public Map<String, Object> queryResourceNameGroup(SDO sdo){
......
......@@ -6,6 +6,7 @@ import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
*
......@@ -756,5 +757,44 @@ public class SapNonProdApplyDept implements Serializable {
@Column(name = "AWSLS")
private String awsls;
@Transient
private String billCode;
@Transient
private Integer statusId;
@Transient
private String personMemberName;
@Transient
private Date fillinDate;
@Transient
private String maintenanceType;
@Transient
private String businessUsage;
@Transient
private String businessCode;
@Transient
private String id; //baseInfoId
//物品总属性
@Transient
private String genericName;
@Transient
private String applicableStandard;
@Transient
private String baseUnit;
@Transient
private String specifications;
@Transient
private String material;
@Transient
private String design;
@Transient
private String size;
@Transient
private String brand;
@Transient
private String materialUsage;
@Transient
private String itemAttributes;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.huigou.topsun.sap.nonProdApply.domain.vo;
import lombok.Data;
import javax.persistence.Column;
@Data
public class NonProdApplyBasicVo extends NonProdApplyDeptVo {
/**
* 物料编码
*/
private String matnr;
/**
* 物料类型
*/
private String mtart;
/**
* 物料组
*/
private String matkl;
/**
* 集团删除
*/
private String lvorm;
/**
* 产品组
*/
private String spart;
/**
* 一般销售项次组
*/
private String mtposMara;
/**
* 汉语品名
*/
private String maktx;
/**
* 汉语语言
*/
private String spars;
/**
* 英语品名
*/
private String maktxEn;
/**
* 英语语言码
*/
private String sparsEn;
/**
* 适用标准
*/
private String normt;
/**
* 批次管理
*/
private String xchpf;
/**
* 包装物料组
*/
private String magrv;
/**
* 基本计量单位
*/
private String meins;
/**
* 毛重
*/
private String brgew;
/**
* 净重
*/
private String ntgew;
/**
* 重量单位
*/
private String gewei;
/**
* 体积
*/
private String volum;
/**
* 体积单位
*/
private String voleh;
/**
* 存储条件
*/
private String raube;
/**
* 有效期标识
*/
private String iprkz;
/**
* 最小货架寿命
*/
private String mhdrz;
/**
* 总有效期
*/
private String mhdhb;
private String werks; //工厂
private String lgort; //库存地点
private String vkorg; //销售组织
private String vtweg; //分销渠道
private String lgnum; //仓库号
private String lgtyp; //存储类型
}
package com.huigou.topsun.sap.nonProdApply.domain.vo;
import lombok.Data;
import javax.persistence.Column;
@Data
public class NonProdApplyClassVo extends NonProdApplyDeptVo {
/**
* 类型
*/
private String klart;
/**
* 分类
*/
private String classify;
}
package com.huigou.topsun.sap.nonProdApply.domain.vo;
import lombok.Data;
@Data
public class NonProdApplyCostVo extends NonProdApplyDeptVo {
}
package com.huigou.topsun.sap.nonProdApply.domain.vo;
import lombok.Data;
@Data
public class NonProdApplyDeptVo {
private String id;
private String baseInfoId;
}
package com.huigou.topsun.sap.nonProdApply.domain.vo;
import lombok.Data;
@Data
public class NonProdApplyFinancialVo extends NonProdApplyDeptVo {
}
package com.huigou.topsun.sap.nonProdApply.domain.vo;
import lombok.Data;
@Data
public class NonProdApplyMRPVo extends NonProdApplyDeptVo {
}
package com.huigou.topsun.sap.nonProdApply.domain.vo;
import lombok.Data;
@Data
public class NonProdApplyMassVo extends NonProdApplyDeptVo {
}
package com.huigou.topsun.sap.nonProdApply.domain.vo;
import lombok.Data;
@Data
public class NonProdApplyProduceVo extends NonProdApplyDeptVo {
}
package com.huigou.topsun.sap.nonProdApply.domain.vo;
import lombok.Data;
import javax.persistence.Column;
@Data
public class NonProdApplyPurchaseVo extends NonProdApplyDeptVo {
/**
* 采购计量单位
*/
private String bstme;
/**
* 转换分母(采购)
*/
private String umrenPurch;
/**
* 转换分子(采购)
*/
private String umrezPurch;
/**
* 默认采购组
*/
private String ekgrp;
/**
* MPN参数
*/
private String mprof;
}
package com.huigou.topsun.sap.nonProdApply.domain.vo;
import lombok.Data;
import javax.persistence.Column;
@Data
public class NonProdApplySaleVo extends NonProdApplyDeptVo {
/**
* 销售组织
*/
private String vkorg;
/**
* 分销渠道
*/
private String vtweg;
/**
* 销售计量单位
*/
private String vrkme;
/**
* 转换分母
*/
private String umren;
/**
* 转换分子
*/
private String umrez;
/**
* 交货工厂
*/
private String dwerk;
/**
* 税收发运国
*/
private String aland;
/**
* 税分类
*/
private String taxkm;
/**
* 统计组
*/
private String versg;
/**
* 物料定价组
*/
private String kondm;
/**
* 会计科目组
*/
private String ktgrm;
/**
* 产品层级
*/
private String prodh;
/**
* 版式
*/
private String mvgr1;
/**
* 品牌
*/
private String mvgr2;
/**
* 用途
*/
private String mvgr3;
/**
* 备用
*/
private String mvgr4;
/**
* 备用
*/
private String mvgr5;
/**
* 销售项次组
*/
private String mtpos;
/**
* 运输组
*/
private String tragr;
/**
* 装载组
*/
private String ladgr;
}
package com.huigou.topsun.sap.nonProdApply.domain.vo;
import lombok.Data;
@Data
public class NonProdApplyStoreVo extends NonProdApplyDeptVo {
}
package com.huigou.topsun.sap.nonProdApply.domain.vo;
import lombok.Data;
@Data
public class NonProdApplyWarehouseVo extends NonProdApplyDeptVo {
}
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