| | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.hibernate.Session; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.transaction.Transactional; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | |
| | | @Component |
| | | public class HInoutCustomerService extends HibernateDao { |
| | | |
| | | public List<InoutCustomer> queryList(Map<String, Object> parameter) { |
| | | public List<InoutCustomer> queryList(Map<String, Object> parameter) { |
| | | |
| | | String hql = " from " + InoutCustomer.class.getName() |
| | | + " where companyId =:companyId and deptId =:deptId"; |
| | | String hql = " from " + InoutCustomer.class.getName() |
| | | + " where companyId =:companyId and deptId =:deptId"; |
| | | |
| | | Map<String, Object> args = new HashMap<String, Object>(); |
| | | args.put("companyId", ContextUtil.getCompanyId()); |
| | | args.put("deptId", ContextUtil.subDeptId(null)); |
| | | Map<String, Object> args = new HashMap<String, Object>(); |
| | | args.put("companyId", ContextUtil.getCompanyId()); |
| | | args.put("deptId", ContextUtil.subDeptId(null)); |
| | | |
| | | if (null != parameter) { |
| | | String str = (String) parameter.get("id"); |
| | | if (StringUtils.isNoneEmpty(str)) { |
| | | hql += " and id like:id"; |
| | | args.put("id", "%" + str + "%"); |
| | | } |
| | | if (null != parameter) { |
| | | String str = (String) parameter.get("id"); |
| | | if (StringUtils.isNotEmpty(str)) { |
| | | hql += " and id like:id"; |
| | | args.put("id", "%" + str + "%"); |
| | | } |
| | | |
| | | str = (String) parameter.get("type"); |
| | | if (StringUtils.isNoneEmpty(str)) { |
| | | hql += " and type =:type"; |
| | | args.put("type", str); |
| | | } |
| | | str = (String) parameter.get("type"); |
| | | if (StringUtils.isNotEmpty(str)) { |
| | | hql += " and type =:type"; |
| | | args.put("type", str); |
| | | } |
| | | |
| | | str = (String) parameter.get("name"); |
| | | if (StringUtils.isNoneEmpty(str)) { |
| | | hql += " and name like:name"; |
| | | args.put("name", "%" + str + "%"); |
| | | } |
| | | str = (String) parameter.get("name"); |
| | | if (StringUtils.isNotEmpty(str)) { |
| | | hql += " and name like:name"; |
| | | args.put("name", "%" + str + "%"); |
| | | } |
| | | |
| | | str = (String) parameter.get("key"); |
| | | if (StringUtils.isNoneEmpty(str)) { |
| | | hql += " and (name like:name or id like:id) "; |
| | | args.put("name", "%" + str + "%"); |
| | | args.put("id", "%" + str + "%"); |
| | | } |
| | | } |
| | | str = (String) parameter.get("key"); |
| | | if (StringUtils.isNotEmpty(str)) { |
| | | hql += " and (name like:name or id like:id) "; |
| | | args.put("name", "%" + str + "%"); |
| | | args.put("id", "%" + str + "%"); |
| | | } |
| | | } |
| | | |
| | | hql += " order by name "; |
| | | hql += " order by name "; |
| | | |
| | | return this.query(hql, args); |
| | | } |
| | | return this.query(hql, args); |
| | | } |
| | | |
| | | @Transactional |
| | | public String saveOrUpdateData(InoutCustomer data) { |
| | | @Transactional |
| | | public String saveOrUpdateData(InoutCustomer data) { |
| | | |
| | | Session session = this.getSessionFactory().openSession(); |
| | | Session session = this.getSessionFactory().openSession(); |
| | | |
| | | try { |
| | | if (StringUtils.isEmpty(data.getDeptId())) { |
| | | data.setDeptId(ContextUtil.subDeptId(null)); |
| | | } |
| | | if (StringUtils.isEmpty(data.getCompanyId())) { |
| | | data.setCompanyId(ContextUtil.getCompanyId()); |
| | | } |
| | | try { |
| | | if (StringUtils.isEmpty(data.getDeptId())) { |
| | | data.setDeptId(ContextUtil.subDeptId(null)); |
| | | } |
| | | if (StringUtils.isEmpty(data.getCompanyId())) { |
| | | data.setCompanyId(ContextUtil.getCompanyId()); |
| | | } |
| | | |
| | | if (StringUtils.isEmpty(data.getId())) { |
| | | String customerId = getCustomerId(data.getCompanyId()); |
| | | data.setId(customerId); |
| | | session.save(data); |
| | | } else { |
| | | session.update(data); |
| | | } |
| | | } finally { |
| | | session.flush(); |
| | | session.close(); |
| | | } |
| | | return null; |
| | | } |
| | | if (StringUtils.isEmpty(data.getId())) { |
| | | String customerId = getCustomerId(data.getCompanyId()); |
| | | data.setId(customerId); |
| | | session.save(data); |
| | | } else { |
| | | session.saveOrUpdate(data); |
| | | } |
| | | } finally { |
| | | session.flush(); |
| | | session.close(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 获取客户编码 |
| | | * @param companyId |
| | | * @return |
| | | */ |
| | | private String getCustomerId(String companyId) { |
| | | /** |
| | | * 获取客户编码 |
| | | * |
| | | * @param companyId |
| | | * @return |
| | | */ |
| | | private String getCustomerId(String companyId) { |
| | | |
| | | String hql = " from " + InoutCustomer.class.getName() |
| | | + " where companyId =:companyId"; |
| | | Map<String, Object> args = new HashMap<String, Object>(); |
| | | args.put("companyId", companyId); |
| | | String hql = " from " + InoutCustomer.class.getName() |
| | | + " where companyId =:companyId"; |
| | | Map<String, Object> args = new HashMap<String, Object>(); |
| | | args.put("companyId", companyId); |
| | | |
| | | hql += " order by id + 0 "; |
| | | List<InoutCustomer> list = this.query(hql, args); |
| | | hql += " order by id + 0 "; |
| | | List<InoutCustomer> list = this.query(hql, args); |
| | | |
| | | int endNum = 0; |
| | | int endNum = 0; |
| | | |
| | | if(list != null && list.size() > 0){ |
| | | InoutCustomer inoutCustomer = list.get(list.size() - 1); |
| | | endNum = Integer.valueOf(inoutCustomer.getId()); |
| | | } |
| | | return ("" + (endNum + 100000 + 1)).substring(1); |
| | | } |
| | | if (list != null && list.size() > 0) { |
| | | InoutCustomer inoutCustomer = list.get(list.size() - 1); |
| | | endNum = Integer.valueOf(inoutCustomer.getId()); |
| | | } |
| | | return ("" + (endNum + 100000 + 1)).substring(1); |
| | | } |
| | | |
| | | @Transactional |
| | | public String delData(InoutCustomer data) { |
| | | Session session = this.getSessionFactory().openSession(); |
| | | try { |
| | | session.delete(data); |
| | | } finally { |
| | | session.flush(); |
| | | session.close(); |
| | | } |
| | | return null; |
| | | } |
| | | @Transactional |
| | | public String delData(InoutCustomer data) { |
| | | Session session = this.getSessionFactory().openSession(); |
| | | try { |
| | | session.delete(data); |
| | | } finally { |
| | | session.flush(); |
| | | session.close(); |
| | | } |
| | | return null; |
| | | } |
| | | } |