package cn.ksource.web.facade.bpbj;
|
|
import java.util.ArrayList;
|
import java.util.Collections;
|
import java.util.Comparator;
|
import java.util.HashMap;
|
import java.util.LinkedList;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Stack;
|
|
import javassist.expr.NewArray;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
import cn.ksource.beans.SPARE_PART_STORAGE;
|
import cn.ksource.beans.WORKFLOW_BASE;
|
import cn.ksource.beans.WORKFLOW_NODE;
|
import cn.ksource.core.dao.BaseDao;
|
import cn.ksource.core.dao.SqlParameter;
|
import cn.ksource.core.page.PageInfo;
|
import cn.ksource.core.util.AjaxUtil;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.core.util.DateUtil;
|
import cn.ksource.core.util.OrderCodeUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.SysInfoMsg;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.core.workflow.NodeDealEntity;
|
import cn.ksource.core.workflow.NodeFinishEntity;
|
import cn.ksource.core.workflow.WorkflowBusinessService;
|
import cn.ksource.core.workflow.WorkflowCoreService;
|
import cn.ksource.web.Constants;
|
import cn.ksource.web.entity.WorkFlowSupportEntity;
|
import cn.ksource.web.service.WorkOrderCodeService;
|
import cn.ksource.web.service.record.RecordService;
|
import cn.ksource.web.service.workFlowSupport.WorkFlowSupportService;
|
|
@Service("StockApplyFacade")
|
public class StockApplyFacadeImpl implements StockApplyFacade {
|
|
@Resource
|
private BaseDao baseDao;
|
@Autowired
|
private WorkflowBusinessService workflowBusinessService;
|
@Autowired
|
private WorkOrderCodeService workOrderCodeService;
|
@Autowired
|
private WorkFlowSupportService workFlowSupportService;
|
@Autowired
|
private RecordService recordService;
|
@Resource
|
private WorkflowCoreService workflowCoreService;
|
/**
|
* 入库申请列表信息
|
* @return
|
*/
|
@Override
|
public List<Map> getStockList() {
|
return baseDao.queryForList(" select * from SPARE_PART where STATE=1 ");
|
}
|
/**
|
* 入库申请列表信息
|
* @param pageInfo
|
* @param params
|
* @return
|
*/
|
@Override
|
public PageInfo getStockListData(HttpServletRequest request,PageInfo pageInfo) {
|
StringBuilder sql = new StringBuilder();
|
Map paramMap = new HashMap();
|
sql.append(" select * from spare_part_storage where CREATE_ID=:create_id");
|
String order_code=request.getParameter("order_code");
|
String order_name=request.getParameter("order_name");
|
String state=request.getParameter("state");
|
String start_time=request.getParameter("start_time");
|
String end_time=request.getParameter("end_time");
|
Map user = WebUtil.getLoginUser(request).getLoginUser();
|
String userId = user.get("Id").toString();
|
paramMap.put("create_id",userId );
|
//工单编号
|
if (StringUtil.isNotBlank(order_code)) {
|
sql.append(" and order_code like:order_code ");
|
paramMap.put("order_code", "%"+order_code.trim()+"%");
|
}
|
//工单名称
|
if (StringUtil.isNotBlank(order_name)) {
|
sql.append(" and order_name like:order_name ");
|
paramMap.put("order_name", "%"+order_name.trim()+"%");
|
}
|
//工单状态
|
if (StringUtil.isNotBlank(state)) {
|
sql.append(" and state=:state ");
|
paramMap.put("state", state);
|
}
|
//开始时间
|
if(StringUtil.isNotBlank(start_time)){
|
sql.append(" AND gmt_create>=:start_time");
|
paramMap.put("start_time", start_time+"000000");
|
}
|
//结束时间
|
if(StringUtil.isNotBlank(end_time)){
|
sql.append(" and gmt_create<=:end_time");
|
paramMap.put("end_time", end_time+"235959");
|
}
|
sql.append(" order by gmt_create desc ");
|
|
return baseDao.queryforSplitPageInfo(pageInfo,sql.toString(), paramMap);
|
}
|
/**
|
* 入库申请列表数量信息
|
* @param pageInfo
|
* @param params
|
* @return
|
*/
|
@Override
|
public int getStockListCount(HttpServletRequest request) {
|
StringBuilder sql = new StringBuilder();
|
Map paramMap = new HashMap();
|
sql.append(" select count(*) from spare_part_storage where CREATE_ID=:create_id");
|
String order_code=request.getParameter("order_code");
|
String order_name=request.getParameter("order_name");
|
String state=request.getParameter("state");
|
String start_time=request.getParameter("start_time");
|
String end_time=request.getParameter("end_time");
|
Map user = WebUtil.getLoginUser(request).getLoginUser();
|
String userId = user.get("Id").toString();
|
paramMap.put("create_id",userId );
|
//工单编号
|
if (StringUtil.isNotBlank(order_code)) {
|
sql.append(" and order_code like:order_code ");
|
paramMap.put("order_code", "%"+order_code.trim()+"%");
|
}
|
//工单名称
|
if (StringUtil.isNotBlank(order_name)) {
|
sql.append(" and order_name like:order_name ");
|
paramMap.put("order_name", "%"+order_name.trim()+"%");
|
}
|
//工单状态
|
if (StringUtil.isNotBlank(state)) {
|
sql.append(" and state=:state ");
|
paramMap.put("state", state);
|
}
|
//开始时间
|
if(StringUtil.isNotBlank(start_time)){
|
sql.append(" AND gmt_create>=:start_time");
|
paramMap.put("start_time", start_time+"000000");
|
}
|
//结束时间
|
if(StringUtil.isNotBlank(end_time)){
|
sql.append(" and gmt_create<=:end_time");
|
paramMap.put("end_time", end_time+"235959");
|
}
|
sql.append(" order by gmt_create desc ");
|
int count = baseDao.queryForInteger(sql.toString(), paramMap);
|
return count;
|
|
}
|
|
/**
|
* 删除入库工单信息
|
* @param pageInfo
|
* @param params
|
* @return
|
*/
|
@Override
|
public void delStockStorage(String id) {
|
String sql=" delete from SPARE_PART_STORAGE where id=:id ";
|
String sqlString=" delete from SPARE_PART where LINK_STORAGE_ID=:id ";
|
baseDao.execute(sql, new SqlParameter().addValue("id", id));
|
baseDao.execute(sqlString, new SqlParameter().addValue("id", id));
|
|
}
|
/**
|
* 删除备件信息
|
* @param pageInfo
|
* @param params
|
* @return
|
*/
|
@Override
|
public void deleteSpare_part(String id) {
|
String sql=" delete from SPARE_PART where id=:id ";
|
String sqlString=" delete from PROP_DATA where BUS_ID=:id ";
|
baseDao.execute(sql, new SqlParameter().addValue("id", id));
|
baseDao.execute(sqlString, new SqlParameter().addValue("id", id));
|
|
}
|
|
@Override
|
public void deleteSpareOverage_part(String id) {
|
String sql=" delete from SPARE_PART where id=:id ";
|
String sqlString=" delete from PROP_DATA where BUS_ID=:id ";
|
String overageSql = "delete from overage_loss_detail where ENTITY_ID=:id ";
|
baseDao.execute(sql, new SqlParameter().addValue("id", id));
|
baseDao.execute(sqlString, new SqlParameter().addValue("id", id));
|
baseDao.execute(overageSql, new SqlParameter().addValue("id", id));
|
|
}
|
|
|
|
/**
|
* 按分类删除备件信息
|
* @param pageInfo
|
* @param params
|
* @return
|
*/
|
@Override
|
public void deleteSpare_part(String id,String storage_id) {
|
String sqlString="select id from SPARE_PART where CATE_ID=:id and LINK_STORAGE_ID=:storage_id";
|
List<Map> dataList = baseDao.queryForList(sqlString.toString(), new SqlParameter().addValue("id", id).addValue("storage_id", storage_id));
|
|
if(dataList!=null&&dataList.size()>0){
|
for(Map cateMap:dataList){
|
String spare_id=ConvertUtil.obj2StrBlank(cateMap.get("id"));
|
String sqlStr=" delete from PROP_DATA where BUS_ID=:id";
|
baseDao.execute(sqlStr, new SqlParameter().addValue("id", spare_id));
|
}
|
}
|
String sql=" delete from SPARE_PART where CATE_ID=:id and LINK_STORAGE_ID=:storage_id";
|
baseDao.execute(sql, new SqlParameter().addValue("id", id).addValue("storage_id", storage_id));
|
|
}
|
/**
|
* 校验资产编码是否重复
|
* @param pageInfo
|
* @param params
|
* @return
|
*/
|
@Override
|
public String initAsset_no(HttpServletRequest request) {
|
String asset_no = request.getParameter("asset_no");
|
String sqlString="select count(*) from SPARE_PART where ASSET_NO=:asset_no ";
|
|
Integer num= baseDao.queryForInteger(sqlString, new SqlParameter().addValue("asset_no", asset_no));
|
String asset_no_num="";
|
if(num>0){
|
asset_no_num="1";
|
}else{
|
asset_no_num="0";
|
}
|
return asset_no_num;
|
}
|
/**
|
* 查询该工单下的备件信息
|
* @param id
|
* @return
|
*/
|
public List<Map> getEditStockApply(String id) {
|
StringBuilder sql = new StringBuilder();
|
Map paramMap = new HashMap();
|
sql.append(" select * from SPARE_PART where LINK_STORAGE_ID=:id ");
|
paramMap.put("id", id);
|
List<Map> queryForList = baseDao.queryForList(sql.toString(), paramMap);
|
return queryForList;
|
}
|
/**
|
* 发起流程
|
* @param spare_part_storage
|
*/
|
public String addSpare_part_storage(SPARE_PART_STORAGE spare_part_storage,String type){
|
if(type.equals("1")){
|
SPARE_PART_STORAGE spare_part_storage_old=new SPARE_PART_STORAGE(spare_part_storage.getId()).getInstanceById();
|
Integer state=spare_part_storage_old.getState();
|
if(state==Constants.SPARE_PART_STORAGE_STATE_N){
|
spare_part_storage.setState(Constants.SPARE_PART_STORAGE_STATE_N);
|
}else{
|
spare_part_storage.setState(Constants.SPARE_PART_STORAGE_STATE_Z);
|
}
|
spare_part_storage.setGmt_create(spare_part_storage_old.getGmt_create());
|
spare_part_storage.setGmt_modified(DateUtil.getCurrentDate14());
|
spare_part_storage.update();
|
}else{
|
spare_part_storage.setGmt_create(DateUtil.getCurrentDate14());
|
spare_part_storage.setState(Constants.SPARE_PART_STORAGE_STATE_Z);
|
//工单编号
|
String order_code = workOrderCodeService.getStockOrderCode();
|
spare_part_storage.setOrder_code(order_code);
|
spare_part_storage.insert();
|
}
|
return "";
|
}
|
public String addSpare_part_storagePl(SPARE_PART_STORAGE spare_part_storage){
|
spare_part_storage.setState(Constants.SPARE_PART_STORAGE_STATE_T);
|
String order_code = workOrderCodeService.getStockOrderCode();
|
spare_part_storage.setOrder_code(order_code);
|
spare_part_storage.insert();
|
return spare_part_storage.getId();
|
}
|
@Override
|
public List getCfgcateList(Map<String, String> params){
|
StringBuilder sql = new StringBuilder();
|
sql.append(" select id,name from cmdb_ci_category where state=1 and cate_type=2");
|
if(StringUtil.isNotBlank(params.get("lv"))){
|
sql.append(" and lv = :lv ");
|
}
|
if(StringUtil.isNotBlank(params.get("pid"))){
|
sql.append(" and pid = :pid ");
|
}
|
return baseDao.queryForList(sql.toString(), params);
|
}
|
/**
|
* 保存配置项
|
* @param params
|
* @param request
|
*/
|
@Override
|
public void saveCfg(Map<String, String> params, HttpServletRequest request) {
|
StringBuilder sql = new StringBuilder();
|
if (StringUtil.isNotBlank(params.get("full_cate_id"))) {
|
String[] cateIdArr = params.get("full_cate_id").split("-");
|
String[] cateNameArr = params.get("full_cate_name").split("-");
|
params.put("lv1_id", cateIdArr[0]);
|
params.put("lv1_name", cateNameArr[0]);
|
params.put("lv2_id", cateIdArr[1]);
|
params.put("lv2_name", cateNameArr[1]);
|
params.put("lv3_id", cateIdArr[2]);
|
params.put("lv3_name", cateNameArr[2]);
|
}
|
|
|
String searchcode = OrderCodeUtil.getUUIDCode("SH");
|
params.put("searchcode", searchcode);
|
params.put("create_time", DateUtil.getCurrentDate14().toString());
|
params.put("busId", params.get("id"));
|
params.put("linkId", params.get("lv3_id"));
|
saveProp(params);
|
}
|
|
|
|
private void saveProp(Map<String, String> params) {
|
String linkId = ConvertUtil.obj2StrBlank(params.get("linkId"));
|
String busId = ConvertUtil.obj2StrBlank(params.get("busId"));
|
//删除所有的属性配置信息
|
String delSql = "delete from prop_data where bus_id = :busId ";
|
baseDao.execute(delSql, new SqlParameter("busId", busId));
|
List<Map> glist = getPropTemplate(linkId, null);
|
if (glist != null && glist.size() > 0) {
|
List<SqlParameter> pList = new ArrayList<SqlParameter>();
|
for (Map g : glist) {
|
if (g.get("props") != null) {
|
List<Map> plist = (List<Map>) g.get("props");
|
for (Map p : plist) {
|
String key = "p_" + ConvertUtil.obj2StrBlank(p.get("columncode").toString());
|
if (params.get(key) != null) {
|
SqlParameter sqlParameter = new SqlParameter();
|
sqlParameter.addValue("id", StringUtil.getUUID())
|
.addValue("column_id", p.get("pid"))
|
.addValue("column_code", p.get("columncode"))
|
.addValue("column_name", p.get("columnname"))
|
.addValue("busId", busId)
|
.addValue("column_text", ConvertUtil.obj2StrBlank(params.get(key + "_text")))
|
.addValue("column_value", ConvertUtil.obj2StrBlank(params.get(key)));
|
pList.add(sqlParameter);
|
}
|
}
|
}
|
}
|
String insertSql = "insert into prop_data(id,bus_id,column_id,column_code,column_name,column_value,column_text) VALUES (:id,:busId,:column_id,:column_code,:column_name,:column_value,:column_text)";
|
baseDao.executeBatch(insertSql, pList);
|
}
|
}
|
|
|
|
|
@Override
|
public List<Map> getPropTemplate(String linkId ,String busId) {
|
StringBuilder sql = new StringBuilder();
|
Map propSet = new HashMap();
|
if(StringUtil.isNotBlank(busId)){
|
sql.append(" select * from prop_data where bus_id=:busId ");
|
List<Map> propList = baseDao.queryForList(sql.toString(),new SqlParameter("busId",busId));
|
if(propList!=null&&propList.size()>0){
|
for(Map p:propList){
|
propSet.put(p.get("column_id"), p);
|
}
|
}
|
sql.setLength(0);
|
}
|
|
SqlParameter param = new SqlParameter();
|
param.addValue("linkId", linkId);
|
Map cate = baseDao.queryForMap("select * from CMDB_CI_CATEGORY where id = :linkId ",param);
|
String lv = ConvertUtil.obj2StrBlank(cate.get("lv"));
|
String pid = ConvertUtil.obj2StrBlank(cate.get("pid"));
|
param.addValue("pid", pid);
|
List<Map> list = new ArrayList<Map>();
|
|
sql.append(" select g.serial gserial,g.id gid,g.group_name,p.id pid,p.* from ( ");
|
sql.append(" select g.id,g.group_name,g.serial from prop_group g,cmdb_ci_category c where g.link_id=c.id and c.state=1 ");
|
if(lv.equals("3")){
|
sql.append(" and (c.id = :linkId or c.id = :pid) ");
|
}else{
|
sql.append(" and c.id = :linkId ");
|
}
|
/*sql.append(" union select -1 as id,'通用属性' as group_name,0 as serial from prop_group g ");*/
|
sql.append(" ) g ,prop_column p ");
|
sql.append(" where g.id = p.group_id and p.state=1 order by gid,p.serial desc ");
|
List<Map> glist = baseDao.queryForList(sql.toString(),param);
|
sql.setLength(0);
|
sql.append(" select * from prop_sel where column_id = :pid ");
|
if(glist!=null&&glist.size()>0){
|
Stack<Map> stack= new Stack<Map>();
|
for(int i=0;i<=glist.size();i++){
|
if(i!=glist.size()){
|
int datatype = ConvertUtil.obj2Int(glist.get(i).get("DATATYPE"));
|
if(datatype==Constants.PROP_TYPE_SEL
|
||datatype==Constants.YSY_TYPE_MULTI_SEL) {
|
List sList = baseDao.queryForList(sql.toString(),new SqlParameter("pid",glist.get(i).get("pid")));
|
glist.get(i).put("items", sList);
|
}
|
}
|
if(stack.isEmpty()){
|
stack.push(glist.get(i));
|
}else{
|
if(i==glist.size()||!stack.peek().get("gid").toString().equals(glist.get(i).get("gid").toString())){
|
Map temp = stack.peek();
|
List plist = new ArrayList();
|
while(!stack.isEmpty()){
|
Map p = stack.pop();
|
if(!propSet.isEmpty()){
|
if(propSet.containsKey(p.get("pid").toString())){
|
Map prop = (Map)propSet.get(p.get("pid").toString());
|
String def_val = ConvertUtil.obj2StrBlank(prop.get("column_value"));
|
String def_text = ConvertUtil.obj2StrBlank(prop.get("column_text"));
|
p.put("default_val", def_val);
|
p.put("default_ext", def_text);
|
}
|
}
|
plist.add(p);
|
}
|
temp.put("props", plist);
|
list.add(temp);
|
}
|
if(i!=glist.size()){
|
stack.push(glist.get(i));
|
}
|
}
|
}
|
}
|
Collections.sort(list, new Comparator<Map>(){
|
@Override
|
public int compare(Map o1, Map o2) {
|
return ConvertUtil.obj2Integer(o1.get("gserial")).compareTo(ConvertUtil.obj2Integer(o2.get("gserial")));
|
}
|
});
|
return list;
|
}
|
|
@Override
|
public List<Map> getMftList(String cusId, String type) {
|
String sql = "select * from SUPPLIER_INFO where state=1 and customer_id = :cusId and type = :type";
|
return baseDao.queryForList(sql, new SqlParameter().addValue("cusId", cusId).addValue("type", type));
|
}
|
@Override
|
public List<Map> getCusList() {
|
return baseDao.queryForList(" select * from SUPPLIER_INFO where STATE=1 ");
|
}
|
|
/**
|
* 备件信息
|
*/
|
@Override
|
public Map getCfgById(String id) {
|
return baseDao.queryForMap("select SPARE_PART.*,CMDB_CI_CATEGORY.CODE CODE,CMDB_CI_CATEGORY.LV1_ID,CMDB_CI_CATEGORY.LV2_ID,CMDB_CI_CATEGORY.LV3_ID, CMDB_CI_CATEGORY.LV1_NAME,CMDB_CI_CATEGORY.LV2_NAME,CMDB_CI_CATEGORY.LV3_NAME from SPARE_PART,CMDB_CI_CATEGORY where SPARE_PART.id=:id and SPARE_PART.CATE_ID= CMDB_CI_CATEGORY.LV3_ID", new SqlParameter("id", id));
|
}
|
/**
|
* 查询备件列表信息
|
*/
|
@Override
|
public PageInfo stockListData(PageInfo pageInfo, Map<String, String> params) {
|
Map paramMap = new HashMap();
|
String storage_id=params.get("storage_id");
|
StringBuilder sql = new StringBuilder();
|
sql.append(" SELECT PATH.*,CMDB.LV1_NAME,CMDB.LV2_NAME,CMDB.LV3_NAME FROM SPARE_PART PATH,CMDB_CI_CATEGORY CMDB where PATH.LINK_STORAGE_ID=:link_storage_id and CMDB.LV3_ID=PATH.CATE_ID");
|
SqlParameter param = new SqlParameter();
|
paramMap.put("link_storage_id", storage_id);
|
return baseDao.queryforSplitPageInfo(pageInfo,sql.toString(), paramMap);
|
}
|
|
|
@Override
|
public PageInfo stockOverageListData(PageInfo pageInfo, Map<String, String> params) {
|
Map paramMap = new HashMap();
|
String partId =params.get("partId");
|
StringBuilder sql = new StringBuilder();
|
sql.append(" SELECT D.ID,path.ID as PATHID,d.ORDER_ID,PATH.ENTITY_NO,PATH.NAME,PATH.ASSET_NO,PATH.MODEL_NO,PATH.LOCATION,CMDB.LV1_NAME,CMDB.LV2_NAME,CMDB.LV3_NAME,d.REASON FROM overage_loss_detail d "+
|
" left join SPARE_PART path on d.ENTITY_ID = PATH.ID left join overage_loss c on c.id = d.ORDER_ID left join CMDB_CI_CATEGORY CMDB on CMDB.LV3_ID= PATH.CATE_ID "+
|
" where d.ORDER_ID =:partId ");
|
|
SqlParameter param = new SqlParameter();
|
paramMap.put("partId", partId);
|
return baseDao.queryforSplitPageInfo(pageInfo,sql.toString(), paramMap);
|
}
|
|
|
|
|
|
|
/**
|
* 查询备件树列表信息
|
* @param pageInfo
|
* @param params
|
* @return
|
*/
|
@Override
|
public List<Map> stockListTreeData(Map<String, String> params) {
|
Map paramMap = new HashMap();
|
String storage_id=params.get("storage_id");
|
StringBuilder sql = new StringBuilder();
|
|
sql.append(" select b.id,b.lv1_name,b.lv2_name,b.lv3_id,b.lv3_name,count(*) cate_num from spare_part a,cmdb_ci_category b "
|
+ " where a.cate_id=b.id and a.link_storage_id =:storage_id group by a.cate_id ");
|
|
List<Map> cateList = baseDao.queryForList(sql.toString(),params);
|
Map cateSetMap = new HashMap();
|
if(cateList!=null&&cateList.size()>0){
|
for(Map cateMap:cateList){
|
cateSetMap.put(ConvertUtil.obj2StrBlank(cateMap.get("id")), cateMap);
|
|
}
|
}
|
sql.setLength(0);
|
sql.append(" select a.* from spare_part a where a.link_storage_id =:storage_id ");
|
List<Map> dataList = baseDao.queryForList(sql.toString(),params);
|
|
if(dataList!=null&&dataList.size()>0){
|
for(Map data:dataList){
|
String cateId = ConvertUtil.obj2StrBlank(data.get("cate_id"));
|
if(StringUtil.isNotBlank(cateId)){
|
if(cateSetMap.get(cateId)!=null){
|
Map cateMap = (Map)cateSetMap.get(cateId);
|
if(cateMap.get("children")==null){
|
cateMap.put("children", new ArrayList<Map>());
|
}
|
((List<Map>)cateMap.get("children")).add(data);
|
}
|
}
|
}
|
}
|
|
|
|
/*sql.append(" SELECT PATH.*,CMDB.LV1_NAME,CMDB.LV2_NAME,CMDB.LV3_NAME FROM SPARE_PART PATH,CMDB_CI_CATEGORY CMDB where PATH.LINK_STORAGE_ID=:link_storage_id and CMDB.LV3_ID=PATH.CATE_ID order by PATH.CATE_ID");
|
SqlParameter param = new SqlParameter();
|
paramMap.put("link_storage_id", storage_id);
|
List<Map> partlist = baseDao.queryForList(sql.toString(),paramMap);
|
List<Map> resultList = new LinkedList<Map>();
|
Map<String, Map> CacheMap = new HashMap<String, Map>();
|
Map cate = new HashMap();
|
for (Map map : partlist) {
|
String cate_id = map.get("CATE_ID").toString();
|
|
if(cate.get(cate_id)==null){
|
Map cateMap = new HashMap();
|
cateMap.put("cate_id", cate_id);
|
cateMap.put("cate_name", "");
|
cateMap.put("children", new ArrayList<Map>());
|
|
cate.put(cate_id,cateMap );
|
}
|
|
((List<Map>)((Map)cate.get(cate_id)).get("children")).add(map);
|
|
*/
|
|
/*if (cate.get(cate_id)!=null && !"".equals(cate.get(cate_id))) {
|
list.put(cate.get(cate_id), map);
|
resultList.add(map);
|
continue;
|
}else{
|
List<Map> list = new LinkedList<Map>();
|
map.put("ejTree", ejgnList);
|
cate.put(cate_id, cate_id);
|
List<Map> list = new LinkedList<Map>();
|
list.add(map);
|
}
|
if (cate.get(cate_id)!=null && !"".equals(cate.get(cate_id))) {
|
Map yjgnMap = CacheMap.get(map.get("SJBH").toString());
|
List<Map> list = (List<Map>)yjgnMap.get("ejTree");
|
CacheMap.put(cate_id, map);
|
}else{
|
List<Map> list = new LinkedList<Map>();
|
cate.put(cate_id, cate_id);
|
CacheMap.put(cate_id, map);
|
}*/
|
return cateList;
|
}
|
|
|
|
@Override
|
public int stockListCount(Map<String, String> params) {
|
Map paramMap = new HashMap();
|
String storage_id=params.get("storage_id");
|
StringBuilder sql = new StringBuilder();
|
sql.append(" select count(*) from SPARE_PART where LINK_STORAGE_ID=:link_storage_id ");
|
SqlParameter param = new SqlParameter();
|
paramMap.put("link_storage_id", storage_id);
|
return baseDao.queryForInteger(sql.toString(), paramMap);
|
}
|
|
@Override
|
public int stockOverageListCount(Map<String, String> params) {
|
Map paramMap = new HashMap();
|
StringBuilder sql = new StringBuilder();
|
String partId =params.get("partId");
|
sql.append(" select count(*) from overage_loss_detail t where t.ENTITY_ID=:partId ");
|
SqlParameter param = new SqlParameter();
|
param.put("partId", partId);
|
return baseDao.queryForInteger(sql.toString(),param);
|
}
|
|
/**
|
* 查询供应商信息
|
* @param request
|
* @return
|
*/
|
@Override
|
public List querySupplier(HttpServletRequest request) {
|
StringBuilder builder = new StringBuilder("SELECT A.* FROM SUPPLIER_INFO A WHERE A.STATE = 1 ");
|
String supplier_name = request.getParameter("supplier_name");
|
String contacts = request.getParameter("contacts");
|
Map paramMap = new HashMap();
|
if(StringUtil.isNotBlank(supplier_name)){
|
builder.append(" and SUPPLIER_NAME like:supplier_name ");
|
paramMap.put("supplier_name", "%"+supplier_name.trim()+"%");
|
|
}
|
if(StringUtil.isNotBlank(contacts)){
|
builder.append(" and contacts like:contacts ");
|
paramMap.put("contacts", "%"+contacts.trim()+"%");
|
|
}
|
List<Map> devices = baseDao.queryForList(builder.toString(),paramMap);
|
return devices;
|
}
|
|
/**
|
* 提交申请入库
|
* @param request
|
* @return
|
*/
|
@Override
|
public void doApproveAssign(HttpServletRequest request) {
|
String type = request.getParameter("type");
|
String storage_id = request.getParameter("storage_id");
|
String order_name = AjaxUtil.decode(request.getParameter("order_name"));
|
String storage_reason = AjaxUtil.decode(request.getParameter("storage_reason"));
|
String orderId = request.getParameter("orderId");
|
String executeUserId = request.getParameter("dealId");
|
String executeUserName = request.getParameter("dealName");
|
String flowId ="";
|
SPARE_PART_STORAGE spare_part_storage=new SPARE_PART_STORAGE();
|
Map user = WebUtil.getLoginUser(request).getLoginUser();
|
if(type!=null && !"".equals(type)){
|
if(type.equals("0")){
|
//工单编号
|
String order_code = workOrderCodeService.getStockOrderCode();
|
spare_part_storage.setOrder_code(order_code);
|
spare_part_storage.setId(storage_id);
|
spare_part_storage.setOrder_name(order_name);
|
spare_part_storage.setStorage_reason(storage_reason);
|
spare_part_storage.setCreate_id(user.get("ID").toString());
|
spare_part_storage.setCreate_name( user.get("ZSXM").toString());
|
spare_part_storage.setGmt_create(DateUtil.getCurrentDate14());
|
spare_part_storage.setState(Constants.SPARE_PART_STORAGE_STATE_Z);
|
spare_part_storage.insert();
|
}else if(storage_id!=null & !"".equals(storage_id)){
|
spare_part_storage=new SPARE_PART_STORAGE(storage_id).getInstanceById();
|
}
|
}
|
|
String bz= request.getParameter("bz");
|
orderId = storage_id;
|
|
String sqlString="SELECT\n" +
|
" WORKFLOW_BASE.id flowid,\n" +
|
" WORKFLOW_NODE.CURRENT_DEALER_ID userid,\n" +
|
" WORKFLOW_NODE.CURRENT_DEALER_NAME username,\n" +
|
" WORKFLOW_NODE.ID nodeid\n" +
|
"FROM\n" +
|
" WORKFLOW_BASE,\n" +
|
" WORKFLOW_NODE\n" +
|
"WHERE\n" +
|
" WORKFLOW_BASE.BUSINESS_ID =:business_id\n" +
|
"AND WORKFLOW_BASE.id = WORKFLOW_NODE.FLOWID\n" +
|
"AND WORKFLOW_NODE.FLOWSTATE = 1 and WORKFLOW_NODE.CURRENT_DEALER_ID=:userid";
|
Map paramMap = new HashMap();
|
paramMap.put("business_id",orderId);
|
paramMap.put("userid",user.get("ID").toString());
|
List<Map> queryForList = baseDao.queryForList(sqlString, paramMap);
|
if(queryForList!=null && queryForList.size()>0){
|
String NodeId=queryForList.get(0).get("nodeid").toString();
|
String FlowId=queryForList.get(0).get("flowid").toString();
|
String UserName=queryForList.get(0).get("username").toString();
|
String Userid=queryForList.get(0).get("userid").toString();
|
NodeFinishEntity finishEntity = new NodeFinishEntity();
|
finishEntity.setDeal_result(0);
|
finishEntity.setDeal_note_title(UserName+"完成了节点");
|
finishEntity.setDeal_note(bz);
|
WORKFLOW_NODE node = new WORKFLOW_NODE(NodeId).getInstanceById();
|
WORKFLOW_BASE base=new WORKFLOW_BASE(FlowId).getInstanceById();
|
workflowCoreService.finishNode(base, node, finishEntity);
|
WORKFLOW_NODE node_no = new WORKFLOW_NODE(NodeId).getInstanceById();
|
node_no.setAnswer_time(DateUtil.getCurrentDate14());
|
node_no.update();
|
|
NodeDealEntity entity = new NodeDealEntity();
|
entity.setDealer_type(2);
|
List<Map> userList = new ArrayList<Map>();
|
Map dealer = new HashMap();
|
dealer.put("USER_ID",executeUserId);
|
dealer.put("USER_NAME",executeUserName);
|
dealer.put("IS_ADMIN","1");
|
userList.add(dealer);
|
entity.setDealerList(userList);
|
workflowCoreService.toNode(base, Constants.RKSP, entity);
|
}else{
|
List<Map> userList = new ArrayList<Map>();
|
Map dealer = new HashMap();
|
dealer.put("USER_ID",executeUserId);
|
dealer.put("USER_NAME",executeUserName);
|
dealer.put("IS_ADMIN","1");
|
userList.add(dealer);
|
WorkFlowSupportEntity support = new WorkFlowSupportEntity();
|
support.setNote(bz);
|
support.setNextUserList(userList);
|
support.setOrderId(orderId);
|
support.setNextNodeTemplateId(Constants.RKSP);
|
support.setUserName(spare_part_storage.getCreate_name());
|
support.setUserId(spare_part_storage.getCreate_id());
|
support.setWorkFlowType(Constants.WORKFLOW_BASE_BUSINESS_TYPE_STOCK);
|
SysInfoMsg msg = workFlowSupportService.doOrderFlow(support);
|
}
|
spare_part_storage=new SPARE_PART_STORAGE(storage_id).getInstanceById();
|
|
spare_part_storage.setState(Constants.SPARE_PART_STORAGE_STATE_D);
|
spare_part_storage.update();
|
}
|
/**
|
* 提交申请入库
|
* @param request
|
* @return
|
*/
|
@Override
|
public void doApproveAssignPl(SPARE_PART_STORAGE spare_part_storage) {
|
String flowId ="";
|
String orderId = spare_part_storage.getId();
|
List<Map> userList = new ArrayList<Map>();
|
Map dealer = new HashMap();
|
dealer.put("USER_ID",spare_part_storage.getId());
|
dealer.put("USER_NAME",spare_part_storage.getCreate_name());
|
dealer.put("IS_ADMIN","1");
|
userList.add(dealer);
|
WorkFlowSupportEntity support = new WorkFlowSupportEntity();
|
support.setNote("批量入库");
|
support.setNextUserList(userList);
|
support.setOrderId(orderId);
|
support.setNextNodeTemplateId("");
|
support.setUserName(spare_part_storage.getCreate_name());
|
support.setUserId(spare_part_storage.getCreate_id());
|
support.setWorkFlowType(Constants.WORKFLOW_BASE_BUSINESS_TYPE_STOCK);
|
workFlowSupportService.doOrderFlow(support);
|
}
|
|
|
/**
|
* 查询报损报溢信息
|
* @param linkId
|
* @param busId
|
* @return
|
*/
|
@Override
|
public List<Map> getOverage_loss_detail(String orderId ,String bjId) {
|
String sqlString="select * from OVERAGE_LOSS_DETAIL WHERE ORDER_ID=:order_id and ENTITY_ID=:entity_id";
|
return baseDao.queryForList(sqlString, new SqlParameter().addValue("order_id", orderId).addValue("entity_id", bjId));
|
}
|
}
|