diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/PersonController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/PersonController.java index cb186bbd..d084ca68 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/PersonController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/PersonController.java @@ -48,17 +48,18 @@ public class PersonController { /** * 根据Id获取经手人信息 - * @param personIDs + * @param personIds * @param request * @return */ @GetMapping(value = "/getPersonByIds") - public BaseResponseInfo getPersonByIds(@RequestParam("personIDs") String personIDs, + public BaseResponseInfo getPersonByIds(@RequestParam("personIds") String personIds, HttpServletRequest request)throws Exception { BaseResponseInfo res = new BaseResponseInfo(); Map map = new HashMap(); try { - String names = personService.getPersonByIds(personIDs); + Map personMap = personService.getPersonMap(); + String names = personService.getPersonByMapAndIds(personMap, personIds); map.put("names", names); res.code = 200; res.data = map; diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/vo/DepotHeadVo4List.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/vo/DepotHeadVo4List.java index e513ebb2..ac7708f7 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/vo/DepotHeadVo4List.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/vo/DepotHeadVo4List.java @@ -19,6 +19,8 @@ public class DepotHeadVo4List extends DepotHead{ private String materialsList; + private String salesManStr; + private String operTimeStr; public String getProjectName() { @@ -69,6 +71,14 @@ public class DepotHeadVo4List extends DepotHead{ this.materialsList = materialsList; } + public String getSalesManStr() { + return salesManStr; + } + + public void setSalesManStr(String salesManStr) { + this.salesManStr = salesManStr; + } + public String getOperTimeStr() { return operTimeStr; } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/account/AccountService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/account/AccountService.java index 349c9bb6..36e4d11f 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/account/AccountService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/account/AccountService.java @@ -514,6 +514,28 @@ public class AccountService { return result; } + public Map getAccountMap() throws Exception { + List accountList = getAccount(); + Map accountMap = new HashMap<>(); + for(Account account : accountList){ + accountMap.put(account.getId(), account.getName()); + } + return accountMap; + } + + public String getAccountStrByIdAndMoney(Map accountMap, String accountIdList, String accountMoneyList){ + StringBuffer sb = new StringBuffer(); + accountIdList = accountIdList.replace("[", "").replace("]", "").replace("\"", ""); + accountMoneyList = accountMoneyList.replace("[", "").replace("]", "").replace("\"", ""); + List idList = StringUtil.strToLongList(accountIdList); + List moneyList = StringUtil.strToLongList(accountMoneyList); + for (int i = 0; i < idList.size(); i++) { + Long id = idList.get(i); + sb.append(accountMap.get(id) + "(" + moneyList.get(i) + "元) "); + } + return sb.toString(); + } + public Map getStatistics(String name, String serialNo) { Map map = new HashMap<>(); try { diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java index 76f3c15d..7e515ec6 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java @@ -13,9 +13,11 @@ import com.jsh.erp.datasource.vo.DepotHeadVo4List; import com.jsh.erp.datasource.vo.DepotHeadVo4StatementAccount; import com.jsh.erp.exception.BusinessRunTimeException; import com.jsh.erp.exception.JshException; +import com.jsh.erp.service.account.AccountService; import com.jsh.erp.service.depotItem.DepotItemService; import com.jsh.erp.service.log.LogService; import com.jsh.erp.service.orgaUserRel.OrgaUserRelService; +import com.jsh.erp.service.person.PersonService; import com.jsh.erp.service.redis.RedisService; import com.jsh.erp.service.serialNumber.SerialNumberService; import com.jsh.erp.service.supplier.SupplierService; @@ -32,9 +34,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import static com.jsh.erp.utils.Tools.getCenternTime; @@ -57,6 +57,10 @@ public class DepotHeadService { @Resource private OrgaUserRelService orgaUserRelService; @Resource + private PersonService personService; + @Resource + private AccountService accountService; + @Resource DepotItemMapperEx depotItemMapperEx; @Resource private LogService logService; @@ -88,40 +92,45 @@ public class DepotHeadService { public List select(String type, String subType, String roleType, String status, String number, String beginTime, String endTime, String materialParam, String depotIds, int offset, int rows)throws Exception { List resList = new ArrayList(); - List list=null; + List list=new ArrayList<>(); try{ String [] creatorArray = getCreatorArray(roleType); + Map personMap = personService.getPersonMap(); + Map accountMap = accountService.getAccountMap(); list=depotHeadMapperEx.selectByConditionDepotHead(type, subType, creatorArray, status, number, beginTime, endTime, materialParam, depotIds, offset, rows); + if (null != list) { + for (DepotHeadVo4List dh : list) { + if(accountMap!=null && StringUtil.isNotEmpty(dh.getAccountIdList()) && StringUtil.isNotEmpty(dh.getAccountMoneyList())) { + String accountStr = accountService.getAccountStrByIdAndMoney(accountMap, dh.getAccountIdList(), dh.getAccountMoneyList()); + dh.setAccountName(accountStr); + } + if(dh.getAccountIdList() != null) { + String accountidlistStr = dh.getAccountIdList().replace("[", "").replace("]", "").replaceAll("\"", ""); + dh.setAccountIdList(accountidlistStr); + } + if(dh.getAccountMoneyList() != null) { + String accountmoneylistStr = dh.getAccountMoneyList().replace("[", "").replace("]", "").replaceAll("\"", ""); + dh.setAccountMoneyList(accountmoneylistStr); + } + if(dh.getChangeAmount() != null) { + dh.setChangeAmount(dh.getChangeAmount().abs()); + } + if(dh.getTotalPrice() != null) { + dh.setTotalPrice(dh.getTotalPrice().abs()); + } + if(StringUtil.isNotEmpty(dh.getSalesMan())) { + dh.setSalesManStr(personService.getPersonByMapAndIds(personMap,dh.getSalesMan())); + } + if(dh.getOperTime() != null) { + dh.setOperTimeStr(getCenternTime(dh.getOperTime())); + } + dh.setMaterialsList(findMaterialsListByHeaderId(dh.getId())); + resList.add(dh); + } + } }catch(Exception e){ JshException.readFail(logger, e); } - if (null != list) { - for (DepotHeadVo4List dh : list) { - if(dh.getAccountIdList() != null) { - String accountidlistStr = dh.getAccountIdList().replace("[", "").replace("]", "").replaceAll("\"", ""); - dh.setAccountIdList(accountidlistStr); - } - if(dh.getAccountMoneyList() != null) { - String accountmoneylistStr = dh.getAccountMoneyList().replace("[", "").replace("]", "").replaceAll("\"", ""); - dh.setAccountMoneyList(accountmoneylistStr); - } - if(dh.getOtherMoneyList() != null) { - String otherMoneyListStr = dh.getOtherMoneyList().replace("[", "").replace("]", "").replaceAll("\"", ""); - dh.setOtherMoneyList(otherMoneyListStr); - } - if(dh.getChangeAmount() != null) { - dh.setChangeAmount(dh.getChangeAmount().abs()); - } - if(dh.getTotalPrice() != null) { - dh.setTotalPrice(dh.getTotalPrice().abs()); - } - if(dh.getOperTime() != null) { - dh.setOperTimeStr(getCenternTime(dh.getOperTime())); - } - dh.setMaterialsList(findMaterialsListByHeaderId(dh.getId())); - resList.add(dh); - } - } return resList; } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/person/PersonService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/person/PersonService.java index a0b54170..c483d3e0 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/person/PersonService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/person/PersonService.java @@ -23,9 +23,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Service public class PersonService { @@ -198,24 +196,22 @@ public class PersonService { return list==null?0:list.size(); } - public String getPersonByIds(String personIDs)throws Exception { - List ids = StringUtil.strToLongList(personIDs); - PersonExample example = new PersonExample(); - example.createCriteria().andIdIn(ids).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED); - example.setOrderByClause("id asc"); - List list =null; - try{ - list=personMapper.selectByExample(example); - }catch(Exception e){ - JshException.readFail(logger, e); + public Map getPersonMap() throws Exception { + List personList = getPerson(); + Map personMap = new HashMap<>(); + for(Person person : personList){ + personMap.put(person.getId(), person.getName()); } + return personMap; + } + + public String getPersonByMapAndIds(Map personMap, String personIds)throws Exception { + List ids = StringUtil.strToLongList(personIds); StringBuffer sb = new StringBuffer(); - if (null != list) { - for (Person person : list) { - sb.append(person.getName() + " "); - } + for(Long id: ids){ + sb.append(personMap.get(id) + " "); } - return sb.toString(); + return sb.toString(); } public List getPersonByType(String type)throws Exception {