Merge remote-tracking branch 'origin/master'
# Conflicts: # src/main/java/com/syjiaer/clinic/server/service/social/SocialReconciliationService.java
This commit is contained in:
commit
26c222bd40
|
|
@ -3,8 +3,10 @@ package com.syjiaer.clinic.server;
|
||||||
import org.mybatis.spring.annotation.MapperScan;
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
|
@EnableScheduling
|
||||||
@MapperScan("com.syjiaer.clinic.server.mapper.*")
|
@MapperScan("com.syjiaer.clinic.server.mapper.*")
|
||||||
public class ServerApplication {
|
public class ServerApplication {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
package com.syjiaer.clinic.server.common.task;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.syjiaer.clinic.server.common.util.CacheUtil;
|
||||||
|
import com.syjiaer.clinic.server.common.util.DateUtil;
|
||||||
|
import com.syjiaer.clinic.server.entity.social.dto.ReconciliationItemDto;
|
||||||
|
import com.syjiaer.clinic.server.entity.social.vo.ReconciliationItemVo;
|
||||||
|
import com.syjiaer.clinic.server.service.social.SocialReconciliationService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class SocialReconciliationManager {
|
||||||
|
@Autowired
|
||||||
|
private SocialReconciliationService socialReconciliationService;
|
||||||
|
@Autowired
|
||||||
|
private CacheUtil cacheUtil;
|
||||||
|
@Scheduled(cron = "0 0 10,16 * * ? ")
|
||||||
|
public void everyDayReconciliation() {
|
||||||
|
|
||||||
|
//最后一次自动对账时间
|
||||||
|
socialReconciliationService.auto();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -20,6 +20,12 @@ public class CacheUtil {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void set(String key, Object value) {
|
||||||
|
String s = JSONObject.toJSONString(value);
|
||||||
|
redisTemplate.opsForValue().set(key, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public <T> T get(String key, Class<T> clazz) {
|
public <T> T get(String key, Class<T> clazz) {
|
||||||
String json = (String) redisTemplate.opsForValue().get(key);
|
String json = (String) redisTemplate.opsForValue().get(key);
|
||||||
if (json == null) return null;
|
if (json == null) return null;
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
public class DateUtil {
|
public class DateUtil {
|
||||||
public static final String DATE_FORMAT = "yyyy-MM-dd";
|
public static final String DATE_FORMAT = "yyyy-MM-dd";
|
||||||
|
|
@ -70,4 +71,9 @@ public class DateUtil {
|
||||||
}
|
}
|
||||||
return dates;
|
return dates;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<LocalDate> getDatesBetween(LocalDate startDate, LocalDate endDate) {
|
||||||
|
return Stream.iterate(startDate, date -> date.plusDays(1))
|
||||||
|
.limit(java.time.temporal.ChronoUnit.DAYS.between(startDate, endDate) + 1).toList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3,6 +3,7 @@ package com.syjiaer.clinic.server.controller.organization;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
|
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
|
||||||
import com.syjiaer.clinic.server.common.exception.MessageException;
|
import com.syjiaer.clinic.server.common.exception.MessageException;
|
||||||
|
import com.syjiaer.clinic.server.common.util.StringUtil;
|
||||||
import com.syjiaer.clinic.server.common.vo.Page;
|
import com.syjiaer.clinic.server.common.vo.Page;
|
||||||
import com.syjiaer.clinic.server.common.vo.Result;
|
import com.syjiaer.clinic.server.common.vo.Result;
|
||||||
import com.syjiaer.clinic.server.controller.BaseController;
|
import com.syjiaer.clinic.server.controller.BaseController;
|
||||||
|
|
@ -33,6 +34,9 @@ public class OrganizationSectionController extends BaseController {
|
||||||
@RequestMapping("/add")
|
@RequestMapping("/add")
|
||||||
public Result<?> add() {
|
public Result<?> add() {
|
||||||
OrganizationSection organizationSection = parmsUtil.getObjectWithCheck("data", OrganizationSection.class);
|
OrganizationSection organizationSection = parmsUtil.getObjectWithCheck("data", OrganizationSection.class);
|
||||||
|
|
||||||
|
organizationSection.setCode(StringUtil.getCode("os"));
|
||||||
|
|
||||||
organizationSectionService.add(organizationSection);
|
organizationSectionService.add(organizationSection);
|
||||||
return success("添加成功");
|
return success("添加成功");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ public class SocialReconciliationController extends BaseController {
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/pageHistory")
|
@RequestMapping("/pageHistory")
|
||||||
public Result<Page<SocialReconciliationLog>> pageHistory(){
|
public Result<Page<SocialReconciliationLog>> pageHistory(){
|
||||||
ReconciliationLogQuery query = parmsUtil.getObject("data", ReconciliationLogQuery.class);
|
ReconciliationLogQuery query = parmsUtil.getObject("query", ReconciliationLogQuery.class);
|
||||||
return success(socialReconciliationService.pageLogs(query));
|
return success(socialReconciliationService.pageLogs(query));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|
@ -69,7 +69,7 @@ public class SocialReconciliationController extends BaseController {
|
||||||
@RequestMapping("/totalDo")
|
@RequestMapping("/totalDo")
|
||||||
public Result<OM3201> totalDo(){
|
public Result<OM3201> totalDo(){
|
||||||
ReconciliationItemDto dto = parmsUtil.getObject("data", ReconciliationItemDto.class);
|
ReconciliationItemDto dto = parmsUtil.getObject("data", ReconciliationItemDto.class);
|
||||||
return success( socialReconciliationService.totalDo(dto));
|
return success( socialReconciliationService.totalDo(dto,false));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 明细对账
|
* 明细对账
|
||||||
|
|
|
||||||
|
|
@ -118,6 +118,9 @@ public class OrganizationMemberService extends BaseService {
|
||||||
}
|
}
|
||||||
organizationMember.setSectionNames(String.join("/", sectionNameList));
|
organizationMember.setSectionNames(String.join("/", sectionNameList));
|
||||||
organizationMemberMapper.insertOrUpdate(organizationMember);
|
organizationMemberMapper.insertOrUpdate(organizationMember);
|
||||||
|
for (OrganizationMemberSection section : sectionList){
|
||||||
|
section.setOrganizationMemberId(organizationMember.getId());
|
||||||
|
}
|
||||||
organizationMemberSectionMapper.insert(sectionList);
|
organizationMemberSectionMapper.insert(sectionList);
|
||||||
|
|
||||||
ManagerUser user = dto.getUserInfo();
|
ManagerUser user = dto.getUserInfo();
|
||||||
|
|
|
||||||
|
|
@ -82,31 +82,6 @@ public class OrganizationSectionService extends BaseService {
|
||||||
String processing = getString(caty);
|
String processing = getString(caty);
|
||||||
organizationSection.setCaty(processing);
|
organizationSection.setCaty(processing);
|
||||||
organizationSectionMapper.insert(organizationSection);
|
organizationSectionMapper.insert(organizationSection);
|
||||||
try {
|
|
||||||
socialRequest.call3401(new com.syjiaer.clinic.server.common.api.input.IM3401()
|
|
||||||
.setHospDeptCodg(organizationSection.getCode())
|
|
||||||
.setHospDeptName(organizationSection.getName())
|
|
||||||
.setCaty(organizationSection.getCaty())
|
|
||||||
.setBegntime(organizationSection.getBeginDate())
|
|
||||||
.setEndtime(organizationSection.getEndDate())
|
|
||||||
.setItro(organizationSection.getInfo())
|
|
||||||
.setDeptResperName(organizationSection.getResperName())
|
|
||||||
.setDeptResperTel(organizationSection.getResperTel())
|
|
||||||
.setDeptMedServScp(organizationSection.getMedServScp())
|
|
||||||
.setDeptEstbdat(organizationSection.getCreationDate())
|
|
||||||
.setAprvBedCnt(organizationSection.getBedCnt())
|
|
||||||
.setHiCrtfBedCnt(organizationSection.getSocialBedCnt())
|
|
||||||
.setPoolareaNo(socialInsuplcAdmdvs)
|
|
||||||
.setDrPsncnt(organizationSection.getDrPsncnt())
|
|
||||||
.setPharPsncnt(organizationSection.getPharPsncnt())
|
|
||||||
.setNursPsncnt(organizationSection.getNursPsncnt())
|
|
||||||
.setTecnPsncnt(organizationSection.getTecnPsncnt())
|
|
||||||
.setMemo(organizationSection.getMemo()));
|
|
||||||
} catch (MessageException messageException) {
|
|
||||||
log.error("科室添加失败", messageException);
|
|
||||||
throw new MessageException("科室添加失败");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void edit(OrganizationSection organizationSection) {
|
public void edit(OrganizationSection organizationSection) {
|
||||||
|
|
@ -114,34 +89,9 @@ public class OrganizationSectionService extends BaseService {
|
||||||
String processing = getString(caty);
|
String processing = getString(caty);
|
||||||
organizationSection.setCaty(processing);
|
organizationSection.setCaty(processing);
|
||||||
organizationSectionMapper.updateById(organizationSection);
|
organizationSectionMapper.updateById(organizationSection);
|
||||||
// try {
|
|
||||||
// socialRequest.call3402(new com.syjiaer.clinic.server.modules.social.api.input.IM3402()
|
|
||||||
// .setHospDeptCodg(organizationSection.getCode())
|
|
||||||
// .setHospDeptName(organizationSection.getName())
|
|
||||||
// .setBegntime(organizationSection.getBeginDate())
|
|
||||||
// .setEndtime(organizationSection.getEndDate())
|
|
||||||
// .setItro(organizationSection.getInfo())
|
|
||||||
// .setDeptResperName(organizationSection.getResperName())
|
|
||||||
// .setDeptResperTel(organizationSection.getResperTel())
|
|
||||||
// .setDeptMedServScp(organizationSection.getMedServScp())
|
|
||||||
// .setCaty(organizationSection.getCaty())
|
|
||||||
// .setDeptEstbdat(organizationSection.getCreationDate())
|
|
||||||
// .setAprvBedCnt(organizationSection.getBedCnt())
|
|
||||||
// .setHiCrtfBedCnt(organizationSection.getSocialBedCnt())
|
|
||||||
// .setDrPsncnt(organizationSection.getDrPsncnt())
|
|
||||||
// .setPharPsncnt(organizationSection.getPharPsncnt())
|
|
||||||
// .setNursPsncnt(organizationSection.getNursPsncnt())
|
|
||||||
// .setTecnPsncnt(organizationSection.getTecnPsncnt())
|
|
||||||
// .setMemo(organizationSection.getMemo())
|
|
||||||
// );
|
|
||||||
// } catch (MessageException messageException) {
|
|
||||||
// log.error("科室修改失败", messageException);
|
|
||||||
// throw new MessageException("科室修改失败");
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void delete(Integer id) {
|
public void delete(Integer id) {
|
||||||
OrganizationSection organizationSection = organizationSectionMapper.selectById(id);
|
OrganizationSection organizationSection = organizationSectionMapper.selectById(id);
|
||||||
|
|
@ -150,16 +100,6 @@ public class OrganizationSectionService extends BaseService {
|
||||||
}
|
}
|
||||||
organizationSection.setDelFlag(1);
|
organizationSection.setDelFlag(1);
|
||||||
organizationSectionMapper.updateById(organizationSection);
|
organizationSectionMapper.updateById(organizationSection);
|
||||||
// try {
|
|
||||||
// socialRequest.call3403(new com.syjiaer.clinic.server.modules.social.api.input.IM3403()
|
|
||||||
// .setHospDeptCodg(organizationSection.getCode())
|
|
||||||
// .setHospDeptName(organizationSection.getName())
|
|
||||||
// .setBegntime(organizationSection.getBeginDate())
|
|
||||||
// );
|
|
||||||
// } catch (MessageException messageException) {
|
|
||||||
// log.error("科室删除失败", messageException);
|
|
||||||
// throw new MessageException("科室删除失败");
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
public OrganizationSection get(int id) {
|
public OrganizationSection get(int id) {
|
||||||
QueryWrapper<OrganizationSection> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<OrganizationSection> queryWrapper = new QueryWrapper<>();
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import com.syjiaer.clinic.server.common.config.Config;
|
||||||
import com.syjiaer.clinic.server.common.constants.Constants;
|
import com.syjiaer.clinic.server.common.constants.Constants;
|
||||||
import com.syjiaer.clinic.server.common.enums.ChargeTypeEnum;
|
import com.syjiaer.clinic.server.common.enums.ChargeTypeEnum;
|
||||||
import com.syjiaer.clinic.server.common.exception.MessageException;
|
import com.syjiaer.clinic.server.common.exception.MessageException;
|
||||||
import com.syjiaer.clinic.server.common.util.DebugUtil;
|
import com.syjiaer.clinic.server.common.util.DateUtil;
|
||||||
import com.syjiaer.clinic.server.common.util.FileUtil;
|
import com.syjiaer.clinic.server.common.util.FileUtil;
|
||||||
import com.syjiaer.clinic.server.common.util.HttpUtil;
|
import com.syjiaer.clinic.server.common.util.HttpUtil;
|
||||||
import com.syjiaer.clinic.server.common.vo.Page;
|
import com.syjiaer.clinic.server.common.vo.Page;
|
||||||
|
|
@ -36,6 +36,7 @@ import java.io.File;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
@ -129,7 +130,7 @@ public class SocialReconciliationService extends BaseService {
|
||||||
* @param dto
|
* @param dto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public OM3201 totalDo(ReconciliationItemDto dto) {
|
public OM3201 totalDo(ReconciliationItemDto dto,Boolean isRecordLog) {
|
||||||
IM3201 im3201 = new IM3201();
|
IM3201 im3201 = new IM3201();
|
||||||
IM3201.Data inData = new IM3201.Data();
|
IM3201.Data inData = new IM3201.Data();
|
||||||
inData.setInsutype(dto.getInsuranceType());
|
inData.setInsutype(dto.getInsuranceType());
|
||||||
|
|
@ -143,7 +144,9 @@ public class SocialReconciliationService extends BaseService {
|
||||||
inData.setFixmedins_setl_cnt(new BigDecimal(dto.getSettlementCount()));
|
inData.setFixmedins_setl_cnt(new BigDecimal(dto.getSettlementCount()));
|
||||||
im3201.setData(inData);
|
im3201.setData(inData);
|
||||||
OM3201 om3201 = socialRequest.call3201(im3201);
|
OM3201 om3201 = socialRequest.call3201(im3201);
|
||||||
recordTotalReconciliationLog(dto, om3201);
|
if (isRecordLog){
|
||||||
|
recordTotalReconciliationLog(dto, om3201);
|
||||||
|
}
|
||||||
return om3201;
|
return om3201;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -293,7 +296,7 @@ public class SocialReconciliationService extends BaseService {
|
||||||
voList.add(vo);
|
voList.add(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
DebugUtil.out(voList);
|
System.out.println(voList);
|
||||||
return voList;
|
return voList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -329,4 +332,45 @@ public class SocialReconciliationService extends BaseService {
|
||||||
}
|
}
|
||||||
return pageHelper(query.getPageNum(), query.getPageSize(), queryWrapper, socialReconciliationLogMapper);
|
return pageHelper(query.getPageNum(), query.getPageSize(), queryWrapper, socialReconciliationLogMapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自动对账
|
||||||
|
*/
|
||||||
|
public void auto() {
|
||||||
|
//最后一次自动对账的时间
|
||||||
|
QueryWrapper<SocialReconciliationLog> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.orderByDesc("create_time");
|
||||||
|
queryWrapper.last("limit 1");
|
||||||
|
LocalDate lastTime = LocalDate.now();
|
||||||
|
SocialReconciliationLog socialReconciliationLog = socialReconciliationLogMapper.selectOne(queryWrapper);
|
||||||
|
if (socialReconciliationLog != null){
|
||||||
|
lastTime = socialReconciliationLog.getCreateTime().toLocalDate();
|
||||||
|
}
|
||||||
|
|
||||||
|
List<LocalDate> dateList = DateUtil.getDatesBetween(lastTime, LocalDate.now());
|
||||||
|
for (LocalDate date : dateList) {
|
||||||
|
LocalDateTime beginTime = date.atStartOfDay();
|
||||||
|
LocalDateTime endTime = date.atTime(23, 59, 59);
|
||||||
|
List<ReconciliationItemVo> list = getList(beginTime,endTime);
|
||||||
|
for (ReconciliationItemVo vo : list){
|
||||||
|
System.out.println(vo.toString());
|
||||||
|
ReconciliationItemDto dto = new ReconciliationItemDto();
|
||||||
|
dto.setReconciliationType(vo.getReconciliationType());
|
||||||
|
dto.setInsuranceType(vo.getInsuranceType());
|
||||||
|
dto.setHandlingInstitution(vo.getHandlingInstitution());
|
||||||
|
dto.setTotalMedicalCost(vo.getTotalMedicalCost());
|
||||||
|
dto.setTotalFundPayment(vo.getTotalFundPayment());
|
||||||
|
dto.setTotalPersonalAccountPayment(vo.getTotalPersonalAccountPayment());
|
||||||
|
dto.setSettlementCount(vo.getSettlementCount());
|
||||||
|
dto.setBeginTime(beginTime);
|
||||||
|
dto.setEndTime(endTime);
|
||||||
|
try {
|
||||||
|
totalDo(dto,true);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("对账失败",e);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -243,9 +243,10 @@ public class StatisticsService extends BaseService {
|
||||||
",sum(purchase_unit_price*inventory_whole_number) as total_cost");
|
",sum(purchase_unit_price*inventory_whole_number) as total_cost");
|
||||||
goodsWrapper.eq("status", true);
|
goodsWrapper.eq("status", true);
|
||||||
Map<String, Object> costAndPriceMap = goodsMapper.selectMaps(goodsWrapper).get(0);
|
Map<String, Object> costAndPriceMap = goodsMapper.selectMaps(goodsWrapper).get(0);
|
||||||
|
if(costAndPriceMap!=null){
|
||||||
goodsStatistics.setTotalCost(new BigDecimal(costAndPriceMap.get("total_cost").toString()));
|
goodsStatistics.setTotalCost(new BigDecimal(costAndPriceMap.get("total_cost").toString()));
|
||||||
goodsStatistics.setTotalPrice(new BigDecimal(costAndPriceMap.get("total_price").toString()));
|
goodsStatistics.setTotalPrice(new BigDecimal(costAndPriceMap.get("total_price").toString()));
|
||||||
|
}
|
||||||
|
|
||||||
QueryWrapper<Goods> socialWrapper = new QueryWrapper<>();
|
QueryWrapper<Goods> socialWrapper = new QueryWrapper<>();
|
||||||
socialWrapper.eq("status", true);
|
socialWrapper.eq("status", true);
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,10 @@ spring:
|
||||||
host: dev.jizhiweb.cn
|
host: dev.jizhiweb.cn
|
||||||
port: 6379
|
port: 6379
|
||||||
datasource:
|
datasource:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
url: jdbc:mysql://dev.jizhiweb.cn:3306/syjiaer_clinic
|
url: jdbc:mysql://dev.jizhiweb.cn:3306/syjiaer_clinic
|
||||||
username: root
|
username: root
|
||||||
password: i7L0BS91pADGuy7z
|
password: i7L0BS91pADGuy7z
|
||||||
config:
|
config:
|
||||||
import: optional:classpath:developer-config.yml
|
import: optional:classpath:developer-config.yml
|
||||||
server:
|
server:
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
</sql>
|
</sql>
|
||||||
<select id="listPurchaseCodesByGoodsName" resultType="java.lang.String">
|
<select id="listPurchaseCodesByGoodsName" resultType="java.lang.String">
|
||||||
SELECT code
|
SELECT code
|
||||||
FROM "public"."inventory" as i
|
FROM inventory as i
|
||||||
Left JOIN inventory_purchase as ip ON i.inventory_purchase_code = ip.code
|
Left JOIN inventory_purchase as ip ON i.inventory_purchase_code = ip.code
|
||||||
<include refid="purchaseQueryCondition"/>
|
<include refid="purchaseQueryCondition"/>
|
||||||
GROUP BY ip.code
|
GROUP BY ip.code
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
SELECT COUNT(*) AS total_count
|
SELECT COUNT(*) AS total_count
|
||||||
FROM (
|
FROM (
|
||||||
SELECT code
|
SELECT code
|
||||||
FROM "public"."inventory" AS i
|
FROM inventory AS i
|
||||||
LEFT JOIN inventory_purchase AS ip ON i.inventory_purchase_code = ip.code
|
LEFT JOIN inventory_purchase AS ip ON i.inventory_purchase_code = ip.code
|
||||||
<include refid="purchaseQueryCondition"/>
|
<include refid="purchaseQueryCondition"/>
|
||||||
GROUP BY ip.code
|
GROUP BY ip.code
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue