feat: 폐기결과의 폐기장소 일괄 변경 적용

main
Jonguk. Lim 3 weeks ago
parent ebbf803a1e
commit c96cfd8def

@ -44,6 +44,9 @@ public interface BizNimsMapper extends AbstractMapper {
int insertDsuseMgtReceipt(final BizNimsRequest.DsuseMgtReceiptReq dto);
int updateDsuseMgtReceipt(final BizNimsRequest.DsuseMgtReceiptReq dto);
Optional<String> selectCheckDsuseLocBydscdmngId(final String dscdmngId);
void updateDsuseLocOfDsuseMgt(final BizNimsRequest.DsuseMgtRsltReq dto);
int updateDsuseMgtRslt(final BizNimsRequest.DsuseMgtRsltReq dto);
int insertDsuseMgtDtl(final BizNimsDto.DsuseMgtDtl dto);

@ -190,8 +190,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
if(isEmpty(reqDto.getK())){
reqDto.setK(getApiInfInfo(reqDto.getUserId()).get("apiKey"));
}
reqDto.setFg("1"); // 조회범위(1-전체,2-내거래처품목,3-청구코드매핑)
reqDto.setPg("1"); // 조회페이지
reqDto.setFg2(""); // 중점일반구분(all, 1:중점, 2:일반)
// 제품코드로 제품정보 조회
@ -201,10 +199,10 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
if(isEmpty(curList)) return curList;
//FIXME: 신규 API 적용 - 조회 결과 저장 skip
for (NimsApiDto.ProductInfoKd d : curList) {
d.setRgtr(reqDto.getUserId());
bizNimsMapper.mergeProductInfoKd(d);
}
// for (NimsApiDto.ProductInfoKd d : curList) {
// d.setRgtr(reqDto.getUserId());
// bizNimsMapper.mergeProductInfoKd(d);
// }
// 제조 번호, 일련번호, 유효기간 정보 목록 추가
if(isMnfSeqInfo) productInfoaddMnfSeqs(curList, reqDto.getBc(), reqDto.getK());
@ -362,6 +360,21 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
ApiUtil.validate(reqDto, null, validator);
reqDto.setRgtr(reqDto.getUserId());
// ------------------------------------------------------------------------------------------------
// 폐기장소 변경 여부 체크 - 폐기 결과를 공유하는 데이타
// 폐기구분, 폐기일자, 폐기방법이 동일한 건에 대하여 폐기장소 일괄 변경
// ------------------------------------------------------------------------------------------------
// 폐기장소가 null인 경우 - request 데이타로 set
final String dsuseLoc = bizNimsMapper.selectCheckDsuseLocBydscdmngId(reqDto.getDscdmngId())
.orElse(reqDto.getDsuseLoc());
// 1. 폐기장소가 null(또는 "")인 경우 - 신규 저장 -> 폐기장소 저장으로 이동
// 2. 1이 아니고, 저장된 폐기장소와 request 폐기장소가 다르면 해당 데이타를 공유하는 모든건 변경
if(!isEmpty(dsuseLoc) && !reqDto.getDsuseLoc().equals(dsuseLoc)){
bizNimsMapper.updateDsuseLocOfDsuseMgt(reqDto);
}
// ------------------------------------------------------------------------------------------------
if(bizNimsMapper.updateDsuseMgtRslt(reqDto) == 1){
if("Y".equals(fileChangeYn)) {
Map<String, String> map = Map.of("infType", Constants.FILE_INF_TYPE.DSUSE_IMG.getCode(), "infKey", reqDto.getDscdmngId());

@ -295,6 +295,28 @@
WHERE dscdmng_id = #{dscdmngId}
</update>
<select id="selectCheckDsuseLocBydscdmngId" parameterType="string" resultType="string">
/** nims-mysql-mapper|selectCheckDsuseLocBydscdmngId-폐기관리 결과의 폐기장소 조회|julim */
SELECT dsuse_loc
FROM tb_dsuse_mgt
WHERE dscdmng_id = #{dscdmngId}
</select>
<update id="updateDsuseLocOfDsuseMgt" parameterType="cokr.xit.adds.biz.nims.model.BizNimsRequest$DsuseMgtRsltReq">
/** nims-mysql-mapper|updateDsuseLocOfDsuseMgt-폐기관리 결과의 폐기장소 변경|julim */
UPDATE tb_dsuse_mgt
SET dsuse_loc = #{dsuseLoc}
, mdfcn_dt = DATE_FORMAT(now(), '%Y%m%d%H%i%s')
, mdfr = #{rgtr}
WHERE use_yn = 'Y'
AND dept_cd = (SELECT dept_cd FROM tb_user WHERE user_acnt = #{userId})
AND dsuse_mth_cd = #{dsuseMthCd}
AND dsuse_se_cd = #{dsuseSeCd}
AND dsuse_de = #{dsuseDe}
AND tb_dsuse_mgt.dscdmng_id != #{dscdmngId}
</update>
<update id="updateDsuseMgtRslt" parameterType="cokr.xit.adds.biz.nims.model.BizNimsRequest$DsuseMgtRsltReq">
/** nims-mysql-mapper|updateDsuseMgtRslt-폐기관리 정보 변경|julim */
UPDATE tb_dsuse_mgt

Loading…
Cancel
Save