package cn.ksource.web.service.order;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import cn.ksource.core.dao.BaseDao;
|
import cn.ksource.core.dao.SqlParameter;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.web.Constants;
|
|
@Service("orderService")
|
public class OrderServiceImpl implements OrderService {
|
|
@Autowired
|
private BaseDao baseDao;
|
|
/**
|
* 所有工单提交时,添加的关联工单
|
* @param flowId 流程编号
|
* @param orderId 关联工单id数组
|
*/
|
@Override
|
public boolean saveLinkOrders(String flowId, String[] orderId,HttpServletRequest request) {
|
if(null!=orderId && orderId.length>0) {
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
for(String str : orderId) {
|
SqlParameter sqlParameter = new SqlParameter();
|
sqlParameter.put("id", StringUtil.getUUID());
|
sqlParameter.put("businessId", flowId);
|
sqlParameter.put("relateFlowId", str);
|
paramList.add(sqlParameter);
|
}
|
|
String insertSql = "INSERT INTO ORDER_REF_ORDER(ID,BUSINESS_ID,RELATE_FLOW_ID) VALUES (:id,:businessId,:relateFlowId)";
|
baseDao.executeBatch(insertSql, paramList);
|
return true;
|
}
|
return false;
|
}
|
|
@Override
|
public List<Map> queryLinkOrders(String flowId) {
|
String selectSql = "SELECT A.*,B.ID AS LINK_ID,B.USER_ID FROM ORDER_REF_ORDER B,WORKFLOW_BASE A WHERE A.ID = B.RELATE_FLOW_ID AND A.WFSTATE != :wfstate AND B.BUSINESS_ID = :businessId ";
|
List<Map> orders = baseDao.queryForList(selectSql,new SqlParameter("businessId",flowId).addValue("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE));
|
return orders;
|
}
|
|
@Override
|
public boolean deleteLinkOrder(String linkId) {
|
String deleteSql = "DELETE FROM ORDER_REF_ORDER WHERE ID = :id";
|
baseDao.execute(deleteSql, new SqlParameter("id",linkId));
|
return true;
|
}
|
}
|