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 javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.apache.commons.lang.StringUtils;
|
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.CMDB_CI_CATEGORY;
|
import cn.ksource.beans.GG_RECORD;
|
import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO;
|
import cn.ksource.beans.SC_PARTNER_CUSTOMER_SUB;
|
import cn.ksource.beans.SC_WORKFLOW_INCIDENT_LOCAL;
|
import cn.ksource.beans.SC_WORKFLOW_RELEASE;
|
import cn.ksource.beans.SPARE_PART;
|
import cn.ksource.beans.SPARE_PART_APPLY;
|
import cn.ksource.beans.SPARE_PART_APPLY_CATE;
|
import cn.ksource.beans.SPARE_PART_APPLY_ENTITY;
|
import cn.ksource.beans.SPARE_PART_DELIVERY;
|
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.JsonUtil;
|
import cn.ksource.core.util.OrderCodeUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.util.TwoDimensionCode;
|
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("DeliveryApplyFacade")
|
public class DeliveryApplyFacadeImpl implements DeliveryApplyFacade {
|
@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_APPLY where STATE=1 ");
|
}
|
/**
|
* 项目查询
|
* @return
|
*/
|
@Override
|
public List<Map> getCustomerList() {
|
String sql = "SELECT * FROM SC_PARTNER_CUSTOMER_INFO WHERE CUSTOMER_STATE = 1 ";
|
return baseDao.queryForList(sql);
|
}
|
/**
|
* 出库列表信息
|
* @param pageInfo
|
* @param params
|
* @return
|
*/
|
@Override
|
public PageInfo getDeliveryListData(HttpServletRequest request,PageInfo pageInfo){
|
StringBuilder sql = new StringBuilder();
|
Map paramMap = new HashMap();
|
sql.append("SELECT\n" +
|
" D.*, A.ORDER_CODE ORDER_CODE_A\n" +
|
"FROM\n" +
|
" SPARE_PART_DELIVERY D\n" +
|
"LEFT JOIN SPARE_PART_APPLY A ON D.APPLY_ORDER_ID = A.ID WHERE 1=1 and D.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");
|
String order_code_A=request.getParameter("order_code_A");
|
Map user = WebUtil.getLoginUser(request).getLoginUser();
|
String userId = user.get("Id").toString();
|
paramMap.put("create_id",userId );
|
//关联工单
|
if (StringUtil.isNotBlank(order_code_A)) {
|
sql.append(" and D.APPLY_ORDER_ID in(select id from SPARE_PART_APPLY where order_code like :order_code_A) ");
|
paramMap.put("order_code_A", "%"+order_code_A.trim()+"%");
|
}
|
//出库类型KEY
|
String delivery_type_keys=request.getParameter("delivery_type_keys");
|
if (StringUtil.notEmpty(delivery_type_keys)) {
|
String[] keys = delivery_type_keys.split(",");
|
if (keys.length == 1) {
|
sql.append(" AND D.DELIVERY_TYPE_KEY = :delivery_type_key");
|
paramMap.put("delivery_type_key", keys[0]);
|
} else {
|
sql.append(" AND D.DELIVERY_TYPE_KEY IN (");
|
for (int i = 0; i < keys.length; i++) {
|
sql.append(" :pri" + i);
|
sql.append(",");
|
paramMap.put("pri" + i, keys[i]);
|
}
|
sql.deleteCharAt(sql.lastIndexOf(","));
|
sql.append(")");
|
}
|
}
|
//工单编号
|
if (StringUtil.isNotBlank(order_code)) {
|
sql.append(" and D.order_code like :order_code ");
|
paramMap.put("order_code", "%"+ order_code.trim()+"%");
|
}
|
|
//工单名称
|
if (StringUtil.isNotBlank(order_name)) {
|
sql.append(" and D.order_name like :order_name ");
|
paramMap.put("order_name", "%"+ order_name.trim()+"%");
|
}
|
//工单状态
|
if (StringUtil.isNotBlank(state)) {
|
sql.append(" and D.state=:state ");
|
paramMap.put("state", state);
|
}
|
//开始时间
|
if(StringUtil.isNotBlank(start_time)){
|
sql.append(" AND D.gmt_create>=:start_time");
|
paramMap.put("start_time", start_time+"000000");
|
}
|
//结束时间
|
if(StringUtil.isNotBlank(end_time)){
|
sql.append(" and D.gmt_create<=:end_time");
|
paramMap.put("end_time", end_time+"235959");
|
}
|
|
//出库类型
|
String pri =request.getParameter("pri");
|
if (StringUtil.notEmpty(pri)) {
|
String[] pris = pri.split(",");
|
if (pris.length == 1) {
|
sql.append(" AND D.DELIVERY_TYPE_KEY = :delivery_type_key");
|
paramMap.put("delivery_type_key", pris[0]);
|
} else {
|
sql.append(" AND D.DELIVERY_TYPE_KEY IN (");
|
for (int i = 0; i < pris.length; i++) {
|
sql.append(" :pri" + i);
|
sql.append(",");
|
paramMap.put("pri" + i, pris[i]);
|
}
|
sql.deleteCharAt(sql.lastIndexOf(","));
|
sql.append(")");
|
}
|
}
|
sql.append(" order by gmt_create desc ");
|
return baseDao.queryforSplitPageInfo(pageInfo,sql.toString(), paramMap);
|
}
|
/**
|
* 出库申请列表数量信息
|
* @param pageInfo
|
* @param params
|
* @return
|
*/
|
@Override
|
public int getDeliveryListCount(HttpServletRequest request) {
|
StringBuilder sql = new StringBuilder();
|
Map paramMap = new HashMap();
|
sql.append("SELECT\n" +
|
" count(D.id)\n" +
|
"FROM\n" +
|
" SPARE_PART_DELIVERY D\n" +
|
"LEFT JOIN SPARE_PART_APPLY A ON D.APPLY_ORDER_ID = A.ID WHERE D.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");
|
String order_code_A=request.getParameter("order_code_A");
|
Map user = WebUtil.getLoginUser(request).getLoginUser();
|
String userId = user.get("Id").toString();
|
paramMap.put("create_id",userId );
|
//关联工单
|
if (StringUtil.isNotBlank(order_code_A)) {
|
sql.append(" and D.APPLY_ORDER_ID in(select id from SPARE_PART_APPLY where order_code like :order_code_A) ");
|
paramMap.put("order_code_A", "%"+order_code_A.trim()+"%");
|
}
|
//出库类型KEY
|
String delivery_type_keys=request.getParameter("delivery_type_keys");
|
if (StringUtil.notEmpty(delivery_type_keys)) {
|
String[] keys = delivery_type_keys.split(",");
|
if (keys.length == 1) {
|
sql.append(" AND D.DELIVERY_TYPE_KEY = :delivery_type_key");
|
paramMap.put("delivery_type_key", keys[0]);
|
} else {
|
sql.append(" AND D.DELIVERY_TYPE_KEY IN (");
|
for (int i = 0; i < keys.length; i++) {
|
sql.append(" :pri" + i);
|
sql.append(",");
|
paramMap.put("pri" + i, keys[i]);
|
}
|
sql.deleteCharAt(sql.lastIndexOf(","));
|
sql.append(")");
|
}
|
}
|
//工单编号
|
if (StringUtil.isNotBlank(order_code)) {
|
sql.append(" and D.order_code like :order_code ");
|
paramMap.put("order_code", "%"+ order_code.trim()+"%");
|
}
|
|
//工单名称
|
if (StringUtil.isNotBlank(order_name)) {
|
sql.append(" and D.order_name like :order_name ");
|
paramMap.put("order_name", "%"+ order_name.trim()+"%");
|
}
|
//工单状态
|
if (StringUtil.isNotBlank(state)) {
|
sql.append(" and D.state=:state ");
|
paramMap.put("state", state);
|
}
|
//开始时间
|
if(StringUtil.isNotBlank(start_time)){
|
sql.append(" AND D.gmt_create>=:start_time");
|
paramMap.put("start_time", start_time+"000000");
|
}
|
//结束时间
|
if(StringUtil.isNotBlank(end_time)){
|
sql.append(" and D.gmt_create<=:end_time");
|
paramMap.put("end_time", end_time+"235959");
|
}
|
|
//出库类型
|
String pri = request.getParameter("pri");
|
if (StringUtil.notEmpty(pri)) {
|
String[] pris = pri.split(",");
|
if (pris.length == 1) {
|
sql.append(" AND D.DELIVERY_TYPE_KEY = :delivery_type_key");
|
paramMap.put("delivery_type_key", pris[0]);
|
} else {
|
sql.append(" AND D.DELIVERY_TYPE_KEY IN (");
|
for (int i = 0; i < pris.length; i++) {
|
sql.append(" :pri" + i);
|
sql.append(",");
|
paramMap.put("pri" + i, pris[i]);
|
}
|
sql.deleteCharAt(sql.lastIndexOf(","));
|
sql.append(")");
|
}
|
}
|
sql.append(" order by D.gmt_create desc ");
|
int count = baseDao.queryForInteger(sql.toString(), paramMap);
|
return count;
|
|
}
|
|
/**
|
* 查询备件信息
|
* @param request
|
* @return
|
*/
|
@Override
|
public List querySpareDevice(HttpServletRequest request) {
|
String cate_id = request.getParameter("cate_id");
|
String id = request.getParameter("id");
|
String name = request.getParameter("name");
|
String entity_no = request.getParameter("entity_no");
|
String spart_ids = request.getParameter("spart_ids");
|
//查询关联设备
|
StringBuilder builder = new StringBuilder("SELECT\n" +
|
" SPARE_PART.*, cmdb.LV1_NAME,\n" +
|
" cmdb.LV2_NAME,\n" +
|
" (select code from CMDB_CI_CATEGORY where id=cmdb.LV1_id) code1,\n" +
|
" (select code from CMDB_CI_CATEGORY where id=cmdb.LV2_id) code2,\n" +
|
" cmdb.LV3_NAME\n" +
|
"FROM\n" +
|
" SPARE_PART,\n" +
|
" CMDB_CI_CATEGORY cmdb\n" +
|
"WHERE\n" +
|
" SPARE_PART.CATE_ID = cmdb.ID and SPARE_PART.state ='1'");
|
|
Map paramMap = new HashMap();
|
if (StringUtil.notEmpty(cate_id)) {
|
builder.append(" AND SPARE_PART.CATE_ID =:cate_id ");
|
paramMap.put("cate_id", cate_id);
|
}
|
String spart_id[] = spart_ids.split("-");
|
if (!StringUtil.isEmpty(spart_ids)) {
|
String para = "";
|
for (int i = 0; i < spart_id.length; i++) {
|
if (i < spart_id.length - 1) {
|
para += spart_id[i] + "','";
|
} else if (i == spart_id.length - 1) {
|
para += spart_id[i];
|
}
|
}
|
builder.append(" and SPARE_PART.ID NOT IN ('");
|
builder.append(para);
|
builder.append("') ");
|
}
|
|
if (StringUtil.notEmpty(name)) {
|
builder.append(" AND SPARE_PART.NAME like :name ");
|
paramMap.put("name", "%"+name.trim()+"%");
|
}
|
|
if (StringUtil.notEmpty(entity_no)) {
|
builder.append(" AND SPARE_PART.entity_no like :entity_no ");
|
paramMap.put("entity_no", "%"+entity_no+"%");
|
}
|
builder.append(" ORDER BY SPARE_PART.GMT_CREATE desc ");
|
List<Map> devices = baseDao.queryForList(builder.toString(), paramMap);
|
return devices;
|
}
|
|
/**
|
* 查询备件分类明细表信息
|
* @param request
|
* @return
|
*/
|
public List queryApplyCateList(HttpServletRequest request) {
|
String orderId = request.getParameter("orderId");
|
String cate_id = request.getParameter("cate_id");
|
String id_test = request.getParameter("id_test");
|
//查询关联设备
|
StringBuilder builder = new StringBuilder("SELECT\n" +
|
" c.id,\n" +
|
" c.CATE_ID,\n" +
|
" c.CATE_NUM,\n" +
|
" P.LV1_NAME,\n" +
|
" P.LV2_NAME,\n" +
|
" P.LV3_NAME\n" +
|
"FROM\n" +
|
" SPARE_PART_APPLY_CATE c,\n" +
|
" CMDB_CI_CATEGORY p\n" +
|
"WHERE\n" +
|
" c.CATE_ID = p.ID\n" +
|
"AND c.DELIVERY_ORDER_ID =:orderId");
|
Map paramMap = new HashMap();
|
if(StringUtil.isNotBlank(cate_id)){
|
builder.append(" and c.CATE_ID=:cate_id");
|
paramMap.put("cate_id", cate_id);
|
}
|
if(StringUtil.isNotBlank(orderId)){
|
paramMap.put("orderId", orderId);
|
}else if(StringUtil.isNotBlank(id_test)){
|
paramMap.put("orderId", id_test);
|
}
|
|
List<Map> devices = baseDao.queryForList(builder.toString(), paramMap);
|
|
Map cateSetMap = new HashMap();
|
if(devices!=null&&devices.size()>0){
|
for(Map cateMap:devices){
|
cateSetMap.put(ConvertUtil.obj2StrBlank(cateMap.get("id")), cateMap);
|
|
}
|
}
|
builder.setLength(0);
|
|
builder.append("SELECT\n" +
|
" ENTITY.ID,\n" +
|
" ENTITY.LINK_ID,\n" +
|
" ENTITY.CI_ID,\n" +
|
" SPARE.ENTITY_NO,\n" +
|
" SPARE.ASSET_NO,\n" +
|
" SPARE.MODEL_NO,\n" +
|
" SPARE.ID SPART_ID,\n" +
|
" SPARE.SUPPLIER_NAME,\n" +
|
" SPARE.SALE_PRICE,\n" +
|
" SPARE.NAME,\n" +
|
" CMDB.LV1_NAME,\n" +
|
" CMDB.LV2_NAME,\n" +
|
" (select CINAME from CMDB_CI_BASE where id=ENTITY.CI_ID) CINAME,\n" +
|
" CMDB.LV3_NAME\n" +
|
"FROM\n" +
|
" SPARE_PART_APPLY_ENTITY ENTITY,\n" +
|
" SPARE_PART SPARE,\n" +
|
" CMDB_CI_CATEGORY CMDB\n" +
|
"WHERE\n" +
|
" ENTITY.ENTITY_ID = SPARE.id\n" +
|
" AND (ENTITY.state ='1'or ENTITY.state='2')\n" +
|
"AND CMDB.ID = SPARE.CATE_ID AND ENTITY.DELIVERY_ORDER_ID=:orderId");
|
|
if(StringUtil.isNotBlank(cate_id)){
|
builder.append(" and CMDB.id=:cate_id");
|
paramMap.put("cate_id", cate_id);
|
}
|
|
List<Map> dataList = baseDao.queryForList(builder.toString(),paramMap);
|
|
if(dataList!=null&&dataList.size()>0){
|
for(Map data:dataList){
|
String link_id = ConvertUtil.obj2StrBlank(data.get("LINK_ID"));
|
if(StringUtil.isNotBlank(link_id)){
|
if(cateSetMap.get(link_id)!=null){
|
Map cateMap = (Map)cateSetMap.get(link_id);
|
if(cateMap.get("children")==null){
|
cateMap.put("children", new ArrayList<Map>());
|
}
|
((List<Map>)cateMap.get("children")).add(data);
|
}
|
}
|
}
|
}
|
return devices;
|
}
|
/**
|
* 保存备件实体明细表信息
|
* @param request
|
* @return
|
*/
|
@Override
|
public String doSpareAssign(HttpServletRequest request) {
|
String orderId = request.getParameter("orderId");
|
String cate_id = request.getParameter("cate_id");
|
String spare_part_ids= request.getParameter("spare_part_ids");
|
String order_name= request.getParameter("order_name");
|
String apply_reason= request.getParameter("apply_reason");
|
String id_test = request.getParameter("id_test");
|
String[] spare_part_id_s = spare_part_ids.split(",");
|
if(StringUtil.isNotBlank(orderId) && StringUtil.isNotBlank(cate_id)){
|
String sql="select * from SPARE_PART_APPLY_CATE where CATE_ID=:cate_id and DELIVERY_ORDER_ID=:orderId";
|
Map paramMap = new HashMap();
|
paramMap.put("orderId", orderId);
|
paramMap.put("cate_id", cate_id);
|
List<Map> dataList = baseDao.queryForList(sql,paramMap);
|
if(dataList!=null && dataList.size()>0){
|
String id=ConvertUtil.obj2StrBlank(dataList.get(0).get("id"));
|
//申领工单id
|
String apply_order_id=ConvertUtil.obj2StrBlank(dataList.get(0).get("APPLY_ORDER_ID"));
|
SPARE_PART_APPLY_CATE spare_part_apply_cate=new SPARE_PART_APPLY_CATE(id).getInstanceById();
|
for (int i = 0; i < spare_part_id_s.length; i++) {
|
String spare_part_id= spare_part_id_s[i];
|
SPARE_PART_APPLY_ENTITY SPARE_PART_APPLY_ENTITY=new SPARE_PART_APPLY_ENTITY();
|
SPARE_PART_APPLY_ENTITY.setOrder_id(apply_order_id);
|
SPARE_PART_APPLY_ENTITY.setLink_id(id);
|
SPARE_PART_APPLY_ENTITY.setEntity_id(spare_part_id);
|
SPARE_PART_APPLY_ENTITY.setDelivery_order_id(orderId);
|
SPARE_PART_APPLY_ENTITY.setState(1);
|
SPARE_PART_APPLY_ENTITY.insert();
|
/* SPARE_PART spare_part=new SPARE_PART(spare_part_id).getInstanceById();
|
spare_part.setState(Constants.SPARE_PART_STATE_D);
|
spare_part.update();*/
|
}
|
}
|
}else{
|
for (int i = 0; i < spare_part_id_s.length; i++) {
|
String spare_part_id= spare_part_id_s[i];
|
SPARE_PART spare_part=new SPARE_PART(spare_part_id).getInstanceById();
|
String cateId=spare_part.getCate_id();
|
String sqlString="select * from SPARE_PART_APPLY_CATE where CATE_ID=:cateId and DELIVERY_ORDER_ID=:delivery_order_id";
|
Map paramMap = new HashMap();
|
if(StringUtil.isNotBlank(id_test)){
|
paramMap.put("delivery_order_id", id_test);
|
}else{
|
paramMap.put("delivery_order_id", orderId);
|
}
|
paramMap.put("cateId", cateId);
|
List<Map> dataList = baseDao.queryForList(sqlString,paramMap);
|
if(dataList!=null && dataList.size()>0){
|
String spare_part_apply_cate_id=ConvertUtil.obj2StrBlank(dataList.get(0).get("id"));
|
SPARE_PART_APPLY_ENTITY spare_part_apply_entity=new SPARE_PART_APPLY_ENTITY();
|
spare_part_apply_entity.setLink_id(spare_part_apply_cate_id);
|
spare_part_apply_entity.setEntity_id(spare_part_id);
|
if(StringUtil.isNotBlank(id_test)){
|
spare_part_apply_entity.setDelivery_order_id(id_test);
|
}else{
|
spare_part_apply_entity.setDelivery_order_id(orderId);
|
}
|
spare_part_apply_entity.setState(1);
|
spare_part_apply_entity.insert();
|
Integer num=Integer.valueOf(ConvertUtil.obj2StrBlank(dataList.get(0).get("CATE_NUM")));
|
String cate="update SPARE_PART_APPLY_CATE set CATE_NUM=:num where id=:spare_part_apply_cate_id";
|
paramMap.put("spare_part_apply_cate_id", spare_part_apply_cate_id);
|
paramMap.put("num", num+1);
|
baseDao.execute(cate, paramMap);
|
}else{
|
SPARE_PART_APPLY_CATE spare_part_apply_cate=new SPARE_PART_APPLY_CATE();
|
if(StringUtil.isNotBlank(id_test)){
|
spare_part_apply_cate.setDelivery_order_id(id_test);
|
}else{
|
spare_part_apply_cate.setDelivery_order_id(orderId);
|
}
|
spare_part_apply_cate.setCate_id(cateId);
|
spare_part_apply_cate.setCate_num(1);
|
spare_part_apply_cate.insert();
|
SPARE_PART_APPLY_ENTITY spare_part_apply_entity=new SPARE_PART_APPLY_ENTITY();
|
spare_part_apply_entity.setLink_id(spare_part_apply_cate.getId());
|
spare_part_apply_entity.setEntity_id(spare_part_id);
|
if(StringUtil.isNotBlank(id_test)){
|
spare_part_apply_entity.setDelivery_order_id(id_test);
|
}else{
|
spare_part_apply_entity.setDelivery_order_id(orderId);
|
}
|
spare_part_apply_entity.setState(1);
|
spare_part_apply_entity.insert();
|
}
|
}
|
|
}
|
return "";
|
}
|
/**
|
* 保存出库信息
|
* @param request
|
* @param release
|
* @return
|
*/
|
@Override
|
public String saveDelivery(HttpServletRequest request, SPARE_PART_DELIVERY spare_part_delivery) {
|
String orderId = request.getParameter("orderId");
|
String id_test = request.getParameter("id_test");
|
String order_name = request.getParameter("order_name");
|
String delivery_reason = request.getParameter("delivery_reason");
|
Map user = WebUtil.getLoginUser(request).getLoginUser();
|
String userName = user.get("ZSXM").toString();
|
String userId = user.get("Id").toString();
|
String type = request.getParameter("type");
|
String customer_id = request.getParameter("customer_id");
|
String customer_name = request.getParameter("customer_name");
|
String dealId = request.getParameter("dealId");
|
String dealName = request.getParameter("dealName");
|
String bz = request.getParameter("bz");
|
|
spare_part_delivery.setOrder_name(order_name);
|
spare_part_delivery.setDelivery_reason(delivery_reason);
|
//新增
|
if(StringUtil.isNotBlank(id_test)){
|
spare_part_delivery.setId(id_test);
|
//工单编号
|
String order_code = workOrderCodeService.getSpareDeliveryOrderCode();
|
spare_part_delivery.setOrder_code(order_code);
|
spare_part_delivery.setCreate_id(userId);
|
spare_part_delivery.setState(Constants.SPARE_PART_DELIVERY_STATE_X);
|
spare_part_delivery.setCreate_name(userName);
|
spare_part_delivery.setGmt_create(DateUtil.getCurrentDate14());
|
spare_part_delivery.setDelivery_type_key("2");
|
spare_part_delivery.setDelivery_type_name("其他");
|
spare_part_delivery.insert();
|
orderId=id_test;
|
|
/*String sqlString="update SPARE_PART set STATE=:state where id in(select ENTITY_ID from SPARE_PART_APPLY_ENTITY where DELIVERY_ORDER_ID=:delivery_order_id)";
|
Map paramMap = new HashMap();
|
paramMap.put("state", Constants.SPARE_PART_STATE_D);
|
paramMap.put("delivery_order_id", id_test);
|
baseDao.execute(sqlString, paramMap);*/
|
}else{
|
SPARE_PART_DELIVERY spare_part_delivery_old=new SPARE_PART_DELIVERY(orderId).getInstanceById();
|
spare_part_delivery_old.setOrder_name(order_name);
|
spare_part_delivery_old.setDelivery_reason(delivery_reason);
|
spare_part_delivery_old.setState(Constants.SPARE_PART_DELIVERY_STATE_X);
|
spare_part_delivery_old.update();
|
|
}
|
if(StringUtil.isNotBlank(dealId)){
|
List<Map> userList = new ArrayList<Map>();
|
Map dealer = new HashMap();
|
dealer.put("USER_ID",dealId);
|
dealer.put("USER_NAME",dealName);
|
dealer.put("IS_ADMIN","1");
|
userList.add(dealer);
|
WorkFlowSupportEntity support = new WorkFlowSupportEntity();
|
support.setNote(bz);
|
support.setNextUserList(userList);
|
support.setOrderId(orderId);
|
support.setNextNodeTemplateId(Constants.CKSH);
|
support.setUserName(userId);
|
support.setUserId(userName);
|
support.setWorkFlowType(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CKLC);
|
SysInfoMsg msg = workFlowSupportService.doOrderFlow(support);
|
SPARE_PART_DELIVERY spare_part_delivery_old=new SPARE_PART_DELIVERY(orderId).getInstanceById();
|
spare_part_delivery_old.setOrder_name(order_name);
|
spare_part_delivery_old.setDelivery_reason(delivery_reason);
|
spare_part_delivery_old.setState(Constants.SPARE_PART_DELIVERY_STATE_S);
|
spare_part_delivery_old.update();
|
}
|
|
return "";
|
}
|
|
/**
|
* 提交出库信息
|
* @param request
|
* @return
|
*/
|
@Override
|
public String doApproveAssign(HttpServletRequest request) {
|
String orderId = request.getParameter("orderId");
|
String type = request.getParameter("type");
|
String executeUserId = request.getParameter("dealId");
|
String executeUserName = request.getParameter("dealName");
|
String bz= request.getParameter("bz");
|
Map user = WebUtil.getLoginUser(request).getLoginUser();
|
String userId =user.get("ID").toString();
|
String userName=user.get("ZSXM").toString();
|
|
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.CKSH);
|
support.setUserName(userId);
|
support.setUserId(userName);
|
support.setWorkFlowType(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CKLC);
|
SysInfoMsg msg = workFlowSupportService.doOrderFlow(support);
|
|
if(StringUtil.isNotBlank(orderId)){
|
SPARE_PART_DELIVERY SPARE_PART_DELIVERY=new SPARE_PART_DELIVERY(orderId).getInstanceById();
|
SPARE_PART_DELIVERY.setState(Constants.SPARE_PART_DELIVERY_STATE_S);
|
SPARE_PART_DELIVERY.update();
|
}
|
return "";
|
}
|
/**
|
* 删除出库工单(SPARE_PART_APPLY_ENTITY)
|
* @param request
|
* @return
|
*/
|
@Override
|
public String deleteDeliveryItem(HttpServletRequest request) {
|
String orderId = request.getParameter("id");
|
String delivery="delete from SPARE_PART_DELIVERY where id=:orderId";
|
String cate="delete from SPARE_PART_APPLY_CATE where DELIVERY_ORDER_ID=:orderId";
|
String entity="update SPARE_PART_APPLY_ENTITY set state='1' where DELIVERY_ORDER_ID=:orderId";
|
String spare_part="update SPARE_PART set state='1' where id in (select ENTITY_ID from SPARE_PART_APPLY_ENTITY where DELIVERY_ORDER_ID=:orderId)";
|
Map paramMap = new HashMap();
|
paramMap.put("orderId", orderId);
|
baseDao.execute(delivery, paramMap);
|
baseDao.execute(cate, paramMap);
|
baseDao.execute(entity, paramMap);
|
baseDao.execute(spare_part, paramMap);
|
return "";
|
}
|
/**
|
* 删除配置下的备件实体明细(SPARE_PART_APPLY_ENTITY)
|
* @param request
|
* @return
|
*/
|
@Override
|
public String deleteTree(HttpServletRequest request) {
|
String cate_id = request.getParameter("id");
|
String orderId = request.getParameter("orderId");
|
String id_test = request.getParameter("id_test");
|
String sqlString="select * from spare_part_apply_entity where LINK_ID in(:cate_id) and DELIVERY_ORDER_ID=:orderId";
|
Map paramMap = new HashMap();
|
if(StringUtil.isNotBlank(orderId)){
|
paramMap.put("orderId", orderId);
|
}else{
|
paramMap.put("orderId", id_test);
|
}
|
paramMap.put("cate_id", cate_id);
|
List<Map> apply_entity_list=baseDao.queryForList(sqlString, paramMap);
|
//更新备件实体表状态
|
if(apply_entity_list!=null &&apply_entity_list.size()>0){
|
for(Map apply_entity_map:apply_entity_list){
|
String entity_id=ConvertUtil.obj2StrBlank(apply_entity_map.get("ENTITY_ID"));
|
SPARE_PART SPARE_PART=new SPARE_PART(entity_id).getInstanceById();
|
SPARE_PART.setState(Constants.SPARE_PART_STATE_Z);
|
SPARE_PART.update();
|
}
|
}
|
|
String entity="update spare_part_apply_entity set STATE='0' where LINK_ID in(:cate_id) and DELIVERY_ORDER_ID=:orderId";
|
baseDao.execute(entity, paramMap);
|
SPARE_PART_DELIVERY spare_part_delivery=new SPARE_PART_DELIVERY();
|
String delivery_type_key="";
|
if(StringUtil.isNotBlank(orderId)){
|
spare_part_delivery=new SPARE_PART_DELIVERY(orderId).getInstanceById();
|
delivery_type_key=spare_part_delivery.getDelivery_type_key();
|
}else{
|
delivery_type_key="2";
|
}
|
if(StringUtil.isNotBlank(delivery_type_key)){
|
if(delivery_type_key.equals("2")){
|
String cate="delete from SPARE_PART_APPLY_CATE where id=:cate_id";
|
baseDao.execute(cate, paramMap);
|
}
|
}
|
return "";
|
}
|
|
/**
|
* 校验提交前信息
|
* @param request
|
* @return
|
*/
|
@Override
|
public String initDelivery(HttpServletRequest request) {
|
String orderId = request.getParameter("orderId");
|
String id_test = request.getParameter("id_test");
|
//查询关联设备
|
StringBuilder builder = new StringBuilder("SELECT\n" +
|
" c.id,\n" +
|
" c.CATE_ID,\n" +
|
" c.CATE_NUM\n" +
|
"FROM\n" +
|
" SPARE_PART_APPLY_CATE c\n" +
|
"WHERE\n" +
|
" c.DELIVERY_ORDER_ID =:orderId");
|
Map paramMap = new HashMap();
|
if(StringUtil.isNotBlank(orderId)){
|
paramMap.put("orderId", orderId);
|
}else if(StringUtil.isNotBlank(id_test)){
|
paramMap.put("orderId", id_test);
|
}
|
|
List<Map> devices = baseDao.queryForList(builder.toString(), paramMap);
|
|
Map cateSetMap = new HashMap();
|
if(devices!=null&&devices.size()>0){
|
for(Map cateMap:devices){
|
String id=ConvertUtil.obj2StrBlank(cateMap.get("id"));
|
Integer cate_num=Integer.valueOf(ConvertUtil.obj2StrBlank(cateMap.get("CATE_NUM")));
|
String sqlString="select count(*) from SPARE_PART_APPLY_ENTITY where LINK_ID=:link_id AND state='1'";
|
paramMap.put("link_id", id);
|
Integer aInteger=baseDao.queryForInteger(sqlString, paramMap);
|
if(aInteger<cate_num){
|
return "2";
|
}else if(aInteger>cate_num){
|
return "3";
|
}
|
}
|
}else{
|
return "0";
|
}
|
return "1";
|
}
|
}
|