|
|
@@ -14,9 +14,11 @@ import com.usoftchina.saas.commons.po.Status;
|
|
|
import com.usoftchina.saas.context.BaseContextHolder;
|
|
|
import com.usoftchina.saas.document.dto.VendorDTO;
|
|
|
import com.usoftchina.saas.document.dto.VendorListDTO;
|
|
|
+import com.usoftchina.saas.document.entities.Subledger;
|
|
|
import com.usoftchina.saas.document.entities.Vendor;
|
|
|
import com.usoftchina.saas.document.entities.VendorList;
|
|
|
import com.usoftchina.saas.document.entities.Vendorcontact;
|
|
|
+import com.usoftchina.saas.document.mapper.SubledgerMapper;
|
|
|
import com.usoftchina.saas.document.mapper.VendorMapper;
|
|
|
import com.usoftchina.saas.document.mapper.VendorcontactMapper;
|
|
|
import com.usoftchina.saas.document.service.VendorService;
|
|
|
@@ -26,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
@@ -43,6 +46,8 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
private MessageLogService messageLogService;
|
|
|
@Autowired
|
|
|
private MaxnumberService maxnumberService;
|
|
|
+ @Autowired
|
|
|
+ private SubledgerMapper subledgerMapper;
|
|
|
|
|
|
@Override
|
|
|
public PageInfo<VendorDTO> getVendorsByCondition(PageRequest page, ListReqDTO listReqDTO) {
|
|
|
@@ -195,6 +200,51 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
//记录LOG
|
|
|
messageLogService.update(generateMsgObj(main.getId(), code));
|
|
|
}
|
|
|
+
|
|
|
+ //更新应收款余额
|
|
|
+ Double ve_leftamount = (main.getVe_beginapamount() == null ? new Double(0) : main.getVe_beginapamount())
|
|
|
+ - (main.getVe_beginprepayamount() == null ? new Double(0) : main.getVe_beginprepayamount())
|
|
|
+ + (main.getVe_payamount() == null ? new Double(0) : main.getVe_payamount())
|
|
|
+ - (main.getVe_preamount() == null ? new Double(0) : main.getVe_preamount());
|
|
|
+ main.setVe_leftamount(ve_leftamount);
|
|
|
+ getMapper().updateByPrimaryKeySelective(main);
|
|
|
+
|
|
|
+ //插入中间表
|
|
|
+ Double amount = (main.getVe_beginapamount() == null ? new Double(0) : main.getVe_beginapamount())
|
|
|
+ - (main.getVe_beginprepayamount() == null ? new Double(0) : main.getVe_beginprepayamount());
|
|
|
+ if (amount != new Double(0)){
|
|
|
+ Subledger subledger = new Subledger();
|
|
|
+ subledger.setSl_code("期初余额");
|
|
|
+ subledger.setSl_kind("期初余额");
|
|
|
+ subledger.setSl_vendid(Math.toIntExact(main.getId()));
|
|
|
+ subledger.setSl_custid(0);
|
|
|
+ subledger.setCompanyId(BaseContextHolder.getCompanyId());
|
|
|
+ String dates = date2String(main.getVe_begindate(), "yyyy-mm");
|
|
|
+ dates = dates + "-01";
|
|
|
+ Date date = null;
|
|
|
+ try {
|
|
|
+ date = string2Date(dates, "yyyy-mm-dd");
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ subledger.setSl_date(date);
|
|
|
+ if (amount > new Double(0)){
|
|
|
+ subledger.setSl_amount(amount);
|
|
|
+ }else {
|
|
|
+ subledger.setSl_preamount(amount);
|
|
|
+ }
|
|
|
+ subledger.setSl_orderamount(Math.abs(amount));
|
|
|
+ subledger.setSl_namount(amount);
|
|
|
+
|
|
|
+ Subledger subledger1 = subledgerMapper.selectByKindCodeVendid("期初余额","期初余额",
|
|
|
+ Math.toIntExact(main.getId()));
|
|
|
+ if (subledger1 == null) {
|
|
|
+ subledgerMapper.insertSelective(subledger);
|
|
|
+ }else {
|
|
|
+ subledgerMapper.updateByPrimaryKeySelective(subledger);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return generateMsgObj(main.getId(), code);
|
|
|
}
|
|
|
|
|
|
@@ -208,6 +258,9 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
getMapper().deleteByPrimaryKey(id);
|
|
|
vendorcontactMapper.deleteByFK(id);
|
|
|
String code = getMapper().getCodeById(id, BaseContextHolder.getCompanyId());
|
|
|
+
|
|
|
+ //删除中间表
|
|
|
+ subledgerMapper.deleteVendor("期初余额", "期初余额", Math.toIntExact(id));
|
|
|
//记录LOG
|
|
|
messageLogService.delete(generateMsgObj(id, code));
|
|
|
}
|
|
|
@@ -353,4 +406,36 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
getMapper().validateCodeWhenUpdate(code, id, companyId);
|
|
|
return maxnumberService.pushMaxnubmer(count, code, BillCodeSeq.VENDOR.getCaller()).getData();
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * String转Date类型
|
|
|
+ *
|
|
|
+ * @param dateStr
|
|
|
+ * 时间字符串
|
|
|
+ * @return Date类型时间
|
|
|
+ * @throws Exception
|
|
|
+ * 异常
|
|
|
+ */
|
|
|
+ public static Date string2Date(String dateStr, String format) throws Exception {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat(format);
|
|
|
+ if (dateStr == null) {
|
|
|
+ return sdf.parse(dateStr);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Date转String
|
|
|
+ *
|
|
|
+ * @param date
|
|
|
+ * Date类型时间
|
|
|
+ * @return 时间字符串
|
|
|
+ */
|
|
|
+ public static String date2String(Date date, String format) {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat(format);
|
|
|
+ if (date != null) {
|
|
|
+ return sdf.format(date);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|